Routing and Router in Internet Hongjoon Jeon I. Routing in the Internet Intra-Autonomous System Routing (routing within an Autonomous Systems by using the routing tables) - RIP : Routing Information Protocol - OSPF : Open Shortest Path First - IGRP : Internal Gateway Routing Protocol Inter-Autonomous System Routing (routing between Autonomous Systems) - BGP : Border Gateway Protocol Differences between Intra-Autonomous System and InterAutonomous System Routing Protocols 1. Intra-Autonomous System Routing RIP : Routing Information Protocol - A distance vector protocol - Hop count as a cost metric - Response message (advertisement) containing that host’s routing table entries for up to 25 destination networks exchanged every 30 seconds between neighbors 1. Intra-Autonomous System Routing A simple example of how RIP (Routing Information Protocol) advertisements work Destination network 1 20 30 Next router A B B Number of hops to destination 2 2 7 Destination network 30 1 10 Next router C --Number of hops to destination 4 1 1 Routing table in router before Receiving advertisement Advertisement from other router A 1. Intra-Autonomous System Routing A simple example of how RIP (Routing Information Protocol) advertisements work Destination network 1 20 30 Next router A B A Number of hops to destination 2 2 5 Routing table after receiving advertisement 1. Intra-Autonomous System Routing 180 seconds waiting for its neighbor with no response - That neighbor considered to be no longer reachable - Modifying its local routing table and propagates this information by sending advertisements to its neighboring routers RIP (Routing Information Protocol) request and response messages to each other over UDP using port number 520 in a standard IP packet 1. Intra-Autonomous System Routing OSPF : Open Shortest Path First - Link-state protocol (using flooding of link state information and a Dijkstra least cost path algorithm) - How it works with OSPF (Open Shortest Path First) a. A router constructs a complete topological map of the entire autonomous system b. The router locally runs Dijkstra’s shortest path algorithm to determine a shortest path tree to all networks c. The routing table is obtained from this shortest path tree - Individual link costs are configured by the network administrator 1. Intra-Autonomous System Routing Advertising techniques of RIP (Router Information Protocol) and OSPF (Open Shortest Path First) are duals of each other - In a RIP (Router Information Protocol) advertisement a. Information about all the networks in the autonomous system b. Sending this information to its neighboring routers - In a OSPF (Open Shortest Path First) advertisement a. Information about the router’s neighbors b. Sending this information to all other routers in the autonomous system 1. Intra-Autonomous System Routing Advances embodied in OSPF (Open Shortest Path First) - Security - Multiple same-cost paths - Different cost metrics for different TOS (Type Of Service) traffic - Integrated support for unicast and multicast routing - Support for hierarchy within a single routing domain 1. Intra-Autonomous System Routing Autonomous system can be configured into area - Each area runs its own OSPF (Open Shortest Path First) link state routing algorithm, with each router in an area broadcasting its link state to all other routers in that area. - The internal details of an area thus remain invisible to all routers outside the area. - Intra-area routing involves only those routers within the same area 1. Intra-Autonomous System Routing 1. Intra-Autonomous System Routing IGRP : Internal Gateway Routing Protocol - Proprietary routing algorithm by Cisco Systems, Inc. - Administrator-defined costs in making route selection - A reliable transport protocol to communicate routing information a. The use of update messages sent only when routing table costs change b. The use of a distributed diffusing update routing algorithm to quickly compute loop free routing paths 2. Inter-Autonomous System Routing BGP : Border Gateway Protocol - A path vector protocol (instead cost information, path information) - The policy for making the actual route selections among the interconnected autonomous systems up to the network administrator - BGP information propagated through the network by exchanges of BGP messages (4 types of messages : Open / Update / Notification / KeepAlive) between peers 2. Inter-Autonomous System Routing A simplified description of BGP (Border Gateway Protocol) work - The whole internet is a graph of Autonomous Systems, each Autonomous Systems identified by an Autonomous Systems number - Autonomous System X has listed in its BGP table such a path X,Y1,Y2,Y3,Z from itself to Z - X sends updates to its BGP neighbors, X actually sends the entire path information X,Y1,Y2,Y3,Z - If W is a neighbor of X, and receives an advertisement X,Y1,Y2,Y3,Z then W list a new entry W,X,Y1,Y2,Y3,Z in its BGP table - If it is a undesirable, for example, loop in the routing (Y2 = W), then it decide not to create this entry for its policy decision 2. Inter-Autonomous System Routing IBGP : Internal BGP (Border Gateway Protocol) - Multiple gateway routers in an Autonomous System - Used inside an Autonomous Systems as a pipe to exchange BGP updates among gateway routers belonging to the same Autonomous System EBGP : External BGP (Border Gateway Protocol) 3. Differences between Intra- and Inter-AS Routing Protocols Differences between the goals of routing within an Autonomous System and among Autonomous Systems - Policy - Scale - Performance II. Inside a router Input ports Switching fabric Output ports Queueing 1. Input ports Line termination function and Data link processing implement the physical and data link layers. Lookup/forwarding function is central to the switching function of the router. 1. Input ports Decentralized switching - The lookup/forwarding function of the input port a. The router determines the output port to which an arriving datagram will be forwarded via the switching fabric. b. The choice of the output port is made using the information contained in the routing table. c. With a “Shadow copy” of the routing table, the switching decision can be made locally, at each input port, without invoking the centralized routing processor. Routers with limited processing capabilities taken when a workstation or server serves as a router. 1. Input ports Given the existence of a routing table, we just search through the routing table, looking for a destination entry that matches the destination address of the datagram, or a default route. The importance of performance requirements for lookup speed. (backbone routers) Today’s high link speeds require more fast and reasonable technique to store the routing table entries. (a tree data structure) A packet for which the output port has been determined and forwarded into the switching fabric may be temporarily blocked from entering it. 2. Switching fabric Switching via memory - Routers, traditional computers, with switching between input and output port being done under direct control of the CPU - Input and output ports functioned as traditional I/O devices - How it works a. An input port with an arriving datagram first signaled the routing processor via an interrupt. 2. Switching fabric Switching via memory b. The packet then copied from the input port intro processor memory. c. The routing processor then extracted the destination address from the header, looked up the appropriate output port in the routing table, and copied the packet to the output port’s buffers. 2. Switching fabric Switching via a bus - The input ports transfer a datagram directly to the output port over a shared bus, without intervention by the routing processor. - Only one packet at a time can be transferred over the bus at a time 2. Switching fabric Switching via an interconnection network - Way to overcome the bandwidth limitation of a single, shared bus 3. Output ports Data link protocol processing and line termination are the send-side link and physical layer functionality. The queuing and buffer management functionality are needed when the switch fabric delivers packets to the output port at a rate that exceeds the output link rate. 4. Queueing The actual location of packet loss will depend on the traffic load, the relative speed of the switching fabric and the line speed. At time t, a packet has arrived at each of the incoming input ports, each destined for the uppermost outgoing port. Identical line speeds and a switch operating at three times the line speed. 4. Queueing One time later, all three original packets have been transferred to the outgoing port and are queued awaiting transmission. In the next time unit, one of these three packets will have been transmitted over the outgoing link, two new packets have arrived at the incoming side of the switch. 4. Queueing A packet scheduler at the output port must choose one packet among those queued for transmission. FCFS (first-come-first-served) WFQ (weighted fair queueing) Packet scheduling plays a crucial role in providing quality of service guarantees.