You are on page 1of 2

Data plane is the actual movement of packet data.

On routers, the data plane moves interconnectivity for two or more autonomous systems. It functions as the protocol
packets from the input port to the output port(s) corresponding to the packet. The responsible for the interconnection of networks from different organizations or the
data plane implements the per-router, per-packet forwarding function. Control Internet
plane is figuring out which output port(s) a packet needs to be forwarded. The Internal Border Gateway Protocol (IBGP): IBGP is used inside autonomous
control plane implements the network-wide routing function of mapping out end-to- systems. It is used to provide information to your internal routers. It requires all the
end packet paths whenever the network conditions change. devices in the same autonomous systems to form a full mesh topology or either
Forwarding (data plane): move packets from the router’s input to the appropriate Route reflectors or Confederation for prefix learning.
router output and Routing (control plane): determine the route taken by packets What field in the IP header can be used to ensure that a packet is forwarded through
from source to destination. no more than N routers? IP Time to live (TTL) field.
A global FIFO scheduler will ensure all packets depart in the order they arrive. A NAT gateway routers don’t rewrite the IP identification field. Assuming that each
WFQ, RR, and priority schedulers will ensure packets within a class will depart host picks a random and unique starting IP ID, for its connections, the number of
in the same order in which 1 they arrived, but packets may depart out of order discontinuous ranges of IP ID values in the packets emerging from the router into
across classes. For example, packet 3 of class 2 may depart earlier than packet 2 of the Internet will correspond to the number of hosts in the network
class 1, even though the latter may have arrived earlier than the former because the Inter-domain Routing: Routing approaches so far (LS + DV) are applicable within
weights or priorities of the classes dictate this scheduling order. one autonomous system (AS), e.g., Rutgers • Called intra-domain routing protocols
A router would have at least as many IP addresses as the number of ports (network • The Internet uses Border Gateway Protocol (BGP) • All AS’es speak BGP. It is
interfaces) it interconnects. The router may also have additional IP addresses the glue that holds the Internet together • BGP is a path vector protocol
corresponding to loopback devices and other “virtual” interfaces connecting the BGP Messages: Routing Announcements or Advertisements • “I am here” or “I can
control processor to the data plane. reach here” • Occur over a TCP connection (BGP session) between routers • Route
Route aggregation combines routes to many IP prefixes into a single route that is announcement = destination + attributes • Destination: IP prefix • Route Attributes:
advertised to external networks. It is useful when an Internet Service Provider (ISP) • AS-level path • Next hop • Several others: origin, MED, community, etc. • An AS
can reach many distinct IP prefixes, whose specific routes can be combined into a promises to use advertised path to reach destination • Only route changes are
more general route. Route aggregation can reduce data overheads on the advertised after BGP session established
communication of routing announcements, and also reduce memory space for Will a BGP router always choose the loop-free route with the shortest ASpath
forwarding tables on routers in the rest of the Internet length? It may not. The BGP path selection process first chooses paths with the
Link state protocols propagate information by flooding neighborhood information highest “local preference” attribute. The AS path length is only considered among
over the entire network. Distance vector protocols propagate summarized paths that all have the same (highest) local preference. It is possible for the non-
information (i.e., distance vectors) between neighbors. Each node in a link- the shortest AS path to have a higher local preference than the shortest AS path.
state-routed network has complete information on the network’s topology, but each A best-effort Internet architecture does not offer any guarantees on delay,
node in a distance-vector-routed network only encodes beliefs on the distance bandwidth, and loss • Network may drop, reorder, corrupt packets • Network may
vectors from each node to other nodes, without information on the exact treat traffic randomly regardless of their “importance” • However, apps may require
neighborhood or the nature of the path. Communication in link state protocols is special treatment & guarantees • E.g., voice over IP (phone calls) require strict
more expensive but more complete than distance vector protocols. There is a degree delay guarantees • E.g., HD video requires a reasonable minimum bandwidth • E.g.,
of robustness in link state protocols in the fact that computation is separate per remote surgery with 3D-vision requires strict sync & latency.
router, but incorrect computation in one router can “corrupt” all other routers with Contention: Resource contention occurs in the core of the network • Congestion
distance vector protocols (consider the count to infinity problem). control will react, but may be too little & too late: • Congestion control can’t
The BGP next-hop attribute allows each router to combine information from prevent packet drops “now” • Congestion control won’t prevent high-sending-rate
inter-domain routing messages (BGP announcements) with the intra-domain routing flows from inflicting large delays or recurring drops.
protocol to determine which router interface (port) to send a packet toward an Kinds of Service Guarantees: Strict prioritization: A network operator (e.g.,
external destination. When a border router announces a route to an external Rutgers admin) might choose to prioritize the interactive app strictly over the HTTP
destination (either through eBGP or iBGP), the next-hop attribute of the route is the flow. Rate limiting: An operator might want to limit a flow to a certain max rate
router itself. This information is used in the forwarding table computation both at Isolation: HTTP should not be impacted by the conf call. Weighted fair sharing:
the border router receiving such a route, and internal routers that may be using a An operator might want to partition the link’s rate C into separate allocations for
specific border router within the AS to get to an external destination. The AS path is each class • Partitions may have weights w (example: 2, 1) • Usually, class i gets
used in the BGP best path selection process (the length of the AS path is one of the the illusion of traversing a logical link of rate wi * C / ∑j wj. Customary to think of
top-ranking criteria to choose paths) as well as to remove routing loops from BGP different classes as belonging to different queues • For this reason, weighted fair
announcements. sharing is also called weighted fair queueing (WFQ) • Each queue is first-in-first-
AS chooses its own intra-AS routing protocol because the protocols face different out (FIFO) • The link multiplexes among these queues • Intuitively, packets of one
tradeoffs, and hence the choice of which protocol is “better” becomes a subjective queue should not influence the behavior of other queues • Hence, fair queueing is
one. Fortunately, each AS is its own independently run entity and is free to choose also a form of isolation across traffic classes. Yes! WFQ is work-conserving: a
its own (internal) intra-AS protocol. On the other hand, all ASs uniformly need to router implementing WFQ will allow other classes to use the unused capacity.
speak a single inter-AS protocol to connect to the rest of the Internet. The idea of connecting to the Internet: connecting laptop needs to get its own IP address, addr
“different” inter-AS protocols exists in principle, with many academic researchers of first- hop router, addr of DNS server: use DHCP. DHCP request encapsulated in
proposing innovations in inter-domain routing protocols (e.g., BGP-sec). In UDP, encapsulated in IP, encapsulated in link layer Ethernet § Packet broadcast
practice, new inter-AS routing protocols are difficult to deploy. Some islands of the (dest: FFFFFFFFFFFF) on the local network, received at a router running DHCP
Internet may use more modern inter-AS protocols when the protocols are server § Ethernet decapsulated to IP decapsulated to UDP decapsulated to DHCP.
incrementally deployable. However, for the most part, BGP is fundamental to DHCP server formulates DHCP ACK containing clientʼs IP address, IP address of
today’s Internet since all AS’es need to speak it. first-hop router for client, name & IP address of DNS server. § DHCP client
What two types of ICMP messages are received at the sending host executing the receives DHCP ACK reply
Traceroute program: Time exceeded (from routers) and port unreachable (from ARP (before DNS, before HTTP): before sending HTTP request, need IP address
the destination). of www.google.com: DNS. DNS query created, encapsulated in UDP, encapsulated
Explain how loops in paths can be detected in BGP: BGP exchanges the AS path in IP, encapsulated in Eth. To send frame to router, need MAC address of router
as an attribute in routing announcements. If an AS is repeated twice in the AS path, interface: ARP. ARP query broadcast, received by router, which replies with ARP
there is a routing loop in the AS-level path. reply giving MAC address of router interface
Given IP addresses A and B, and netmask M. 1. Compute logical AND (A & using DNS: IP datagram containing DNS query from client to gateway router. IP
M). 2. Compute logical AND (B & M). 3. If (A & M) == (B & M) then A and B datagram forwarded from campus network into Comcast network, routed (tables
are on the same network. created by EIGRP, OSPF, and/or BGP routing protocols) to DNS server §
Types of fabrics: No. A shared bus can only transmit data between a single pair of decapsulated to DNS server § DNS server replies to client with IP address of
(input, output) ports at one time. Hence, both packets cannot be transmitted. www.google.com.
(b) Yes. Memory fabrics may be designed to allow different output ports to read TCP connection carrying HTTP: to send HTTP request, client first opens TCP
from distinct addresses in the memory. Hence, it is possible to forward two packets socket to web server § TCP packet routed using inter-domain routing (BGP) and
to two different output ports simultaneously on memory-based switch fabrics. intra-domain routing (OSPF, EIGRP) to web server.
(c) No. Even with a crossbar, moving one packet to an output port is typically only HTTP request/reply: HTTP request sent into TCP socket § IP datagram
possible. containing HTTP request routed to www.google.com. web server responds with
Link State Algorithms • Nodes have full visibility into the network’s graph • HTTP reply (containing web page).
Copious message exchange: each LSA is flooded over the whole network • Robust What is the key difference between the functions of the transport and network layer:
to network changes and failures. OSPF Open Shortest Path First. Transport connects applications and networks connect endpoints.
Distance Vector Algorithms • Only distances and neighbors are visible • Sparse Internet software and hardware are arranged in layers because they provide
message exchange: DVs are exchanged among neighbors only • Brittle to router modularity, and each layer performs a specific function and interface to the layer
failures. Incorrect info may propagate all over the net. EIGRP Enhanced Interior above and below it. The functionality of each layer is implemented in the protocols.
Gateway Routing Protocol Explain two benefits of content distribution networks: CNDs helps in improving
External Border Gateway Protocol (EBGP): EBGP is used between autonomous the response time for the user. It does not cost much to maintain it. Caches are
systems. It is used and implemented at the edge or border router, providing
closer to the user than the origin server of content, so serving the content from the
caches incurs a smaller propagation delay.
Why do video clients buffer video before playing it out to a user: video client
buffer video before playing it out because they want the video to run smoothly
without loading so they have playout time, do they could even run the video if there
is no internet and buffer has stored the time to play. The buffer will help the user to
pause, fast forward, rewind, and even jump through the video.
how does the sending mail server help with an email message: the sending mail
server uses a TCP connection based on the application will remember the process of
talking to it and sending the email over.
How big is the MAC address space? The IPv4 address space? The IPv6
address space?: MAC address space is 248 large, IPv4 232, and IPv6 2128.
What is the “count to infinity” problem in distance vector routing: Suppose A
and B are neighboring routers in a DV network. When a failure occurs on a path to
destination D, router A may believe that it has a path to D through its neighbor B,
while B may believe that it has a path to D, directly or indirectly through A.
Unfortunately, A and B may not realize that their paths involve each other (forming
a routing loop). This leads to the DV routing protocol at A and B sending messages
to each other, successively increasing the length of the path to D at both A and B,
until a maximum limit is reached (16 in many real networks, e.g., using the RIP
protocol). This is the count-to-infinity problem, where a problem isn’t discovered
until a path cost reaches the maximum path length limit set by the network
administrator (the ‘infinity’ value for that network).
Is it necessary that every autonomous system use the same intra-AS routing
algorithm? Why or why not: No, each AS is free to use its own intra-AS routing
algorithm.
Consider a general topology (that is, not the specific network shown above)
and a synchronous version of the distance-vector algorithm. Suppose that at
each iteration, a node exchanges its distance vectors with its neighbors and
receives their distance vectors. Assuming that the algorithm begins with each
node knowing only the costs to its immediate neighbors, what is the maximum
number of iterations required before the distributed algorithm converges?
Justify your answer: In a synchronous version of the distance vector protocol
algorithm, each exchange of distance vectors incorporates information from nodes
that are “increasingly far” in terms of the smallest number of links traversed to
reach that point (sometimes called the diameter of an unweighted graph). The
following statement needs rigorous proof but is intuitive to understand: if there are
N nodes in the graph, in at most N 􀀀1 iterations in the worst case, all nodes would
have converged on the shortest distances after seeing information from the entire
rest of the network.
Bellman-Ford algorithm: dx(y) = minv {c(x,v) + dv(y) }
BGP Messages: • Routing Announcements or Advertisements • “I am here” or “I
can reach here” • Occur over a TCP connection (BGP session) between routers •
Route announcement = destination + attributes • Destination: IP prefix • Route
Attributes: • AS-level path • Next hop • Several others: origin, MED, community,
etc. • An AS promises to use advertised path to reach destination • Only route
changes are advertised after BGP session established
Next Hop: Next hop conceptually denotes the first router interface that begins the
AS-level path • The meaning of this attribute is context-dependent • In an
announcement arriving from a different AS (eBGP), next hop is the router in the
next AS which sent the announcement • Example: Next Hop of the eBGP
announcement reaching 1c is 2a
• Federation and scale introduce new requirements for routing on the Internet •
BGP is the protocol that handles Internet routing • Path vector: exchange paths to a
destination with attributes • Policy-based import of routes, route selection, and
export

You might also like