1 / 56

Spring 2006 EE 5304/EETS 7304 Internet Protocols

Spring 2006 EE 5304/EETS 7304 Internet Protocols. Lecture 5. Routing protocols. Tom Oh Dept of Electrical Engineering taehwan@engr.smu.edu. Administrative Issues. Here are some useful books for learning OPNET.

Download Presentation

Spring 2006 EE 5304/EETS 7304 Internet Protocols

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spring 2006 EE 5304/EETS 7304 Internet Protocols Lecture 5 Routing protocols Tom Oh Dept of Electrical Engineering taehwan@engr.smu.edu

  2. Administrative Issues • Here are some useful books for learning OPNET. • Computer Networks – A Systems Approach--Third Edition by Larry L. Peterson & Bruce S. Davie • Network Simulation Experiments Manual (The Morgan Kaufmann Series in Networking) by Emad Aboelela • Modeling and Simulating Communications Networks: A Hands-on Approach Using OPNET (Textbook Binding) by Irene Katzela

  3. Administrative Issues (cont) • Data and Computer Communications, Seventh Edition Computer Networking with Internet Protocols, Fourth Edition by William Stalling • Data and Computer Communications and Computer Networking with internet Protocols and Technology: Opnet Lab Manual to Accompany the seventh edition and fourth edition (Paperback) • I have posted the second homework solution today.

  4. Outline • Distance-vector routing (Comer: Pg. 213-215) • Examples: RIP( Comer: Pg. 408-410), IGRP • Link-state routing( Comer: Pg. 216) • Example: OSPF (Comer: Pg. 410-412), IS-IS

  5. Distance-Vector Routing Neighbor router B Packet to dest. X Dest. X Should router A forward packet to neighbor B or C? Neighbor router C

  6. Distance-Vector Routing (cont) Neighbor router B Packet to dest. X 4 5 Dest. X Choose router B because 5+4 < 2+9 2 9 Neighbor router C Bellman-Ford’s idea: if routers B and C know their least-cost routes to X, then router A’s least-cost choice is the neighbor offering the least-cost route to X

  7. Distance-Vector Routing (cont) Dest. Next hop Cost Router B advertises part of its routing table X router F 4 Y router G 8 Z router H 5 Packet to dest. X 4 5 Dest. X How does router A learn that router B has route with cost 4? 2 9 Neighbor router C

  8. Distance-Vector Routing (cont) How does router B set up its routing table? From routing advertisements from its neighbors Packet to dest. X 4 5 Dest. X Dest. Next hop Cost 2 X router B 9 9 Y router B 13 Z router C 15 Neighbor router C Router A’s routing table

  9. Distance-Vector Routing (cont) Originally router X advertised cost of 0 to itself... Packet to dest. X 5 Dest. X 2 Neighbor router C

  10. Distance-Vector Routing (cont) Each neighbor updates its routing table, then advertises its cost, and so on... Packet to dest. X 5 Dest. X ...Until all routers learn their least-cost routes to X 2 Neighbor router C

  11. Distance-Vector Routing (cont) Basic operation Dest. Next hop Cost Dest. Next hop Cost X : : X : : Y : : Y : : Z : : Z : : Routers take turns to advertise their vectors of reachable destinations and costs... ...Routers update their routing tables from advertisements received from neighbors

  12. Example Existing routing table at router K Advertisement from neighbor J Destination Distance Route Destination Distance Net 1 0 direct Net 1 2 Net 2 0 direct Net 4 3 Changes routing table for K Net 4 8 router L Net 17 6 Net 17 5 router M Net 21 4 Net 24 6 router J Net 24 5 Net 30 2 router Q Net 30 10 Net 42 2 router J Net 42 3 Updated routing table at router K Destination Distance Route Net 1 0 direct Net 2 0 direct Net 4 4 router J Net 17 5 router M Net 21 5 router J Net 24 6 router J Net 30 2 router Q Net 42 4 router J

  13. Vector-Distance Routing Protocol: RIP • Early interior gateway protocol [RFC 1058] • Each router maintains a table where each destination address is represented by a pair (i,j) • i = next hop (node) along shortest route to that destination • j = distance (number of hops) to that destination going through node i

  14. RIP (cont) • Each router broadcasts its routing table of destinations and distances to its neighbors every 30 sec ("vector-distance" refers to these vectors of distances) • Each router updates its routing table after receiving updates from its neighbors • If a shorter route to a destination is found, that entry in routing table will be updated

  15. RIP (cont) • Advantage is simplicity: routers need to talk only to neighbors: • Disadvantages: • Eventually changes are propagated through network but convergence could be slow • Problem of inconsistency because each router is trusting the information advertised by its neighbor, which is relying on their neighbors, and so on

  16. ”Count to infinity" problem distance d=1 distance d=2 Router 1 Router 2 Network A distance d=1 distance d=2 Router 1 Router 2 Network A link failure

  17. updates to d=3 advertises d=2 Router 1 Router 2 Network A advertises d=3 updates to d=4 Router 1 Router 2 Network A

  18. RIP (cont) • Also not scalable to larger networks: • More routers → longer to propagate changes through network • Each update message (vectors) becomes longer because more destinations in larger networks

  19. RIP Message Format 4 bytes command version all zero family of network 1 all zero distance vectors address of network 1 distance to network 1 family of network 2 all zero address of network 2 distance to network 2 :

  20. RIP Message Format (cont) • Command (1 byte): eg, request for information, response to request • Version (1 byte): 1 (a new version 2, RIP-2 [RFC 1723] is the same protocol but fills in the zero-fields of the version 1 message with additional information) • Family of network (2 bytes): identifies protocol family related to address format, eg, 2 for IP addresses • Address of network (4 bytes): each destination address • Distance to network (4 bytes): integer distance in number of hops (max 15 to prevent routing loops)

  21. Vector-Distance Routing Protocol: IGRP • Interior Gateway Routing Protocol developed by Cisco in mid-1980s (after RIP) • RIP limited hop counts to 15 → limited network size • RIP uses simple hop count • IGRP uses composite metric calculated by factoring weighted values for delay, bandwidth, reliability, load • Network administrators can adjust weights • Multipath routing is allowed • Single traffic stream can be split among multiple paths by round robin

  22. Enhanced IGRP • Enhanced IGRP (EIGRP) evolved from IGRP • Integrates capabilities of link-state routing with distance-vector routing • Partial updates (when route metrics change) instead of periodic updates • Supports multiple network protocols (IP, Appletalk, Novell NetWare,...) • Capabilities for routers to detect routing loops and find alternate routes without waiting for updates from other routers

  23. Link-State Routing • Link-state routing is also known as link-status routing or shortest path routing • Each router maintains a complete view of network topology (graph) • Graph is constructed from “link-state advertisements” broadcast by routers to all other routers • Updates consists of status of router’s links • Whenever router receives an update, it modifies its graph and recomputes least-cost paths by Dijkstra’s algorithm

  24. OSPF (cont) • Advantages: • Routing decisions should be consistent among all routers • Each router performs its own computations on same network map, therefore is not dependent on trustworthiness of neighbor’s data • Changes are propagated faster than distance-vector routing • Disadvantage: flooding of link-state advertisements increases with size of network, but ways to limit

  25. OSPF (cont) • Disadvantage: flooding of link-state advertisements increases with size of network, but ways to limit • Messages are constant length - depends on number of links per router, but does not depend on network size • Routing updates are sent only for significant changes • OSPF allows hierarchical routing - network is divided into areas, which reduces routing traffic

  26. Link-State Routing Protocol: OSPF • Open Shortest Path First proposed by IETF in late 1980s to overcome disadvantages of RIP [RFC 1583] • Based largely on research done at BBN • Open means public standard • SPF refers to Dijkstra’s algorithm

  27. OSPF Message Format 4 bytes version type message length source router address OSPF header area ID checksum authentication type authentication authentication number of link status advertisements link status updates link status advertisement 1 link status advertisement 2

  28. OSPF Message Format (cont) • Version (1 byte): 1 • Type (1 byte): message type, eg, link status request, link status update • Message length (2 bytes): in bytes • Source router address (4 bytes) • Area ID (4 bytes): networks can divide itself into areas which hide their topology from other areas • Checksum (2 bytes): error detection

  29. OSPF (cont) • Authentication type (2 bytes): scheme for authentication, eg, 0 = none, 1 = password • Authentication (8 bytes): adds security against malicious, false routing information • Data in message depends on message type, eg, link status update (header type = 4) • Number of link status advertisements (4 bytes) • Link status advertisements (4 bytes each)

  30. Link-State Routing Protocol: IS-IS • Intermediate System-to-Intermediate System developed by ISO • Intermediate system = router • IS-IS routing protocol is for routers to determine routes • Similar to OSPF, IS-IS is a link-state routing protocol • Allows hierarchical routing

  31. Spring 2006 EE 5304/EETS 7304 Internet Protocols Network protocols and congestion control: X.25, ATM Tom Oh Dept of Electrical Engineering taehwan@engr.smu.edu

  32. Outline • X.25 • Sliding window congestion control • ATM (Comer: pg. 221-233) • Connection admission control

  33. X.25 • ITU-T standard for public virtual circuit packet-switched networks (later basis for ISO standard 8208) popular in 1970s X.25 X.25 Packet switch Packet switch DTE DCE

  34. X.25 (cont) • DCE = data circuit-terminating equipment (packet switch, node) • DTE = data terminal equipment (host, station, user, end system) • X.25 covers only DCE-DTE interface • X.25 layer 1 is also called X.21 • X.25 layer 2 is LAP-B (link access procedure- balanced), a subset of HDLC • X.25 layer 3 describes packets and control across interface to provide virtual circuit service

  35. X.25 (cont) • 2 types of virtual circuits: • Permanent virtual circuits are set up and fixed by network operator • Virtual calls require call set-up (or establishment) before data transfer, and call disconnect (or clearing, termination) afterwards, using control packets

  36. [Stallings Fig 9.18]

  37. X.25 (cont) • Call setup is initiated by Call Request packet and confirmed by Call Accepted packet • Data packets can then be exchanged • Either party can request termination by Clear Request packet, acknowledged by Clear Confirmation packet • Clear Indication packet is forwarded to other party, acknowledged by Clear Confirmation packet

  38. X.25 (cont) • Virtual circuits are identified uniquely by number contained in packet header • Local significance only, translated at each node • Global VC numbers have disadvantages: limit number of connections, and troublesome to find unused numbers • 2 types of packets: data and control packets

  39. X.25 Data Packet • 3 byte header • Q (1 bit): qualified or unqualified data - use by higher layer protocols to identify different packet types

  40. X.25 Data Packet (cont) • D (1 bit): indicates significance of Piggyback field • 0 means ACK requested from local DCE and not dest. DTE (does not guarantee delivery to dest. DTE) • 1 means ACK from dest. DTE (guaranteed delivery) • Modulo (2 bits): • 01 = both Sequence and Piggyback fields are modulo 8 • 10 = they are modulo 128 and header is extended with extra byte (Sequence and Piggyback fields are extended to 7 bits each)

  41. X.25 Data Packet (cont) • Group (4 bits) + Channel (8 bits) = 12-bit virtual circuit number • DTE can have up to 4096 VCs to other DTEs using one physical link • Piggyback (3 bits): modulo 8 acknowledgement (next packet expected, P(R)) • More (1 bit): indicates a group of packets belong together (eg, for higher layer protocol)

  42. X.25 Data Packet (cont) • Sequence (3 bits): modulo 8 sequence number P(S) • Control (1 bit): 0 = data packet, 1 = control packet • Data (variable length) = max. 128 bytes unless negotiated differently

  43. X.25 Control Packet • 3 byte header • Same fields as data packet: Q, D, Group, Channel, Modulo • Control bit = 1

  44. X.25 Control Packet (cont) • Packet Type (7 bits): indicates control function • eg, 0000101 = call request • eg, PPP0010 = receive not ready (ACK but closes sender's window until RR) • eg, PPP0000 = receive ready (ACK when no reverse packet is available for piggybacking, or ACK and opens sender's window after RNR) • eg, PPP0100 = reject (dest. DTE was forced to discard packet; use go-back-N to retransmit from packet PPP)

  45. X.25 Control Packet (cont) • Additional information (variable length) • eg, for call request: • length of calling address • length of called address • calling address • called address • facilities (requests for special features, eg, collect calls) • user data (eg, login, password)

  46. X.25 Congestion Control • Sliding window is used for flow and error control • Default window size = 2 unless otherwise negotiated up to max. 7 for 3-bit Sequence, and up to max. 127 for 7-bit Sequence • Error control is usually done by go-back-N ARQ • Negative ACK is REJ control packet • Sender will retransmit specified packet and all following packets

  47. Sliding Window Congestion Control • Same concept as sliding window control in data link layer • Idea is to limit number of packets in transit in network by window size W • Source can send up to W packets without waiting for ACK (or credit, permit) • Source will slow down if ACKs are delayed (or credits run out) • Congestion starts to increase → delays along a route increase → ACKs are delayed → source will slow down

  48. Sliding Window (cont) • ACK may apply to single packet or multiple packets or specific bytes • ACKs are sent in special control packets or often piggybacked on reverse data packets • Window size may be static or dynamic • Performance of window control • Assume transmission times for ACKs are negligible (ie, ACKs are very short)

  49. Sliding Window (cont) • T = packet transmission time = packet length/link rate • W = window size (in packets) • d = packet transmission time + roundtrip propagation delay

  50. Sliding Window (cont) • Case 1: d > WT • d - WT = idle time between windows, • maximum source rate = W packets/d time T 1 WT 2 d 3 time 1 2 3

More Related