Wednesday, July 3, 2013

End-to-end vs. Network core

One classic argument in the field of networking is whether to locate functions in the machines at the endpoints or in the network core. In the following paragraphs, we will discuss certain network functions and how they can be implemented in either side, as well as the original answer that we've given in the CS 255 class discussion. 

Addressing/Routing

There are existing schemes such as NAT that at least partially address addressing through network core functions. In the case of NAT, it is provided not as a performance solution but as a workaround for the shortage of IPv4 addresses. NAT, however, does not improve performance and is in many ways a "dirty hack" (it violates the assumption that each node is uniquely addressable and breaks certain functions that rely on this assumption) , but this solution is considered to be "good enough" at least until IPv6 becomes more prevalent. Akella suggests a scheme called "Multihoming Route Control" [1]. In this scheme, each end-network will be connected to multiple ISPs and can dynamically select which network to route packets. Multihoming Route Control is in fact an end-point scheme intended to improve performance by alleviating congestion issues at the ISP level, although it does not assume complete control of routing functions and does not preclude the use of Border Gateway Protocol by the ISPs themselves. Our original answer: Endpoints for addressing, network for routing

Security

Security is widely considered to be a matter to be addressed at the end-points of the network, especially as it is traditionally assumed that the network core itself is insecure and potentially trustworthy. However, certain types of attack such as DDoS rely on overwhelming the capacity of the network connection at the end-point. Techniques such as Reverse Path Forwarding (RPF) are implemented as a network core service can check whether a particular packet coming through is addressable and can ensure that fake packets do not reach the end-points. Aside from protecting against attack, the technique also has the benefit of addressing performance which makes it a good candidate for being implemented as a network core function.
Our original answer: Endpoints

Ethernet collisions

At present, network switches that allow full-speed collision-free communication between two nodes have become very inexpensive. However this was not the case in the past, where networks were divided into segments where each node is connected to an Ethernet hub. Hubs are simple devices that simply broadcast packets to all nodes on the same segment, thus allowing collisions to occur whenever two nodes attempt to communicate at the same time. To address this issue, the carrier sense multiple access with collision detection (CSMA/CD) method is employed. CSMA/CD is still implemented by modern Ethernet devices for backwards compatibility purposes. Our original answer: network

Real-time guarantees

While real-time guarantee techniques commonly involve implementations that reside as network core functions, there are some situations where they will need to reside at the end nodes by necessity. Huges and Cahill describe the challenges with respect to mobile ad-hoc wireless networks, where there is no fixed infrastructure and thus no network core to place functions [2]. Li, Chen, et al. do a survey of various real-time QoS implementations in wireless sensor networks [3].

Multicast

IP multicast operates on the network however there are also multicast that is on the end-to-end like end-host multicast and HMTP. End-host multicast replicate and forward packet on behalf of the group and the multicast functionality is moved from routers to end-hosts. According to Zhang, one problem with end-host multicast is that the end hosts do not have the routing information available to routers and instead rely on end-to-end measurements to infer network metrics. HMTP on the other hand calls for an end-host that does not depend on cooperation from routers, servers, tunnel end-points, and operating systems (Zhang et. al.). HMTP supports IP Multicast service model.
Our Original answer: Network

Reliability

UDP provides checksums for data integrity and port numbers for addressing different functions at the source and destination of datagram but still two end points are more reliable by using end-to-end checksums of the transfered data in the destination.
Our original answer: end-to-end
References [1] A. Akella, "Endpoint-Based Routing Strategies for Improving Internet Performance and Resilience", 2005 [2] B. Hughes and V. Cahill, "Achieving Real-time Guarantees in Mobile Ad Hoc Wireless Networks", 2004 [3] Y. Li, C. Chen, et al. "Real-time QOS support in wireless sensor networks: A survey", 2007 [4]. B. Zhang, S. Jamin and L. Shang. "Host Multicast: A Framework for Delivering Multicast To End Users". IEEE INFOCOM 2002