Presentation is loading. Please wait.

Presentation is loading. Please wait.

TO 2-14-06 p. 1 Spring 2006 EE 5304/EETS 7304 Internet Protocols Tom Oh Dept of Electrical Engineering Lecture 5 Routing protocols.

Similar presentations


Presentation on theme: "TO 2-14-06 p. 1 Spring 2006 EE 5304/EETS 7304 Internet Protocols Tom Oh Dept of Electrical Engineering Lecture 5 Routing protocols."— Presentation transcript:

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

2 TO 2-14-06 p. 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 Computer Networks – A Systems Approach--Third Edition 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 Irene Katzela

3 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 5 Distance-Vector Routing Should router A forward packet to neighbor B or C? Packet to dest. X Dest. X Neighbor router B Neighbor router C

6 TO 2-14-06 p. 6 Distance-Vector Routing (cont) Packet to dest. X Dest. X Neighbor router B 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 5 4 2 9 Choose router B because 5+4 < 2+9

7 TO 2-14-06 p. 7 Distance-Vector Routing (cont) Packet to dest. X Dest. X Neighbor router C Dest. 5 2 9 How does router A learn that router B has route with cost 4? Next hopCost Xrouter F4 Yrouter G8 Zrouter H5 Router B advertises part of its routing table 4

8 TO 2-14-06 p. 8 Distance-Vector Routing (cont) Packet to dest. X Dest. X Neighbor router C Dest. 5 2 9 Next hopCost Xrouter B9 Y 13 Zrouter C15 How does router B set up its routing table? 4 From routing advertisements from its neighbors Router A’s routing table

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

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

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

12 TO 2-14-06 p. 12 Example DestinationDistanceRoute Net 10direct Net 20direct Net 48router L Net 175router M Net 246router J Net 302router Q Net 422router J DestinationDistance Net 12 Net 43 Net 176 Net 214 Net 245 Net 3010 Net 423 DestinationDistanceRoute 0direct 0 4 5 5 6 2 4 Existing routing table at router KAdvertisement from neighbor J Updated routing table at router K Changes routing table for K Net 1 Net 2 Net 4 Net 17 Net 24 Net 30 Net 42 Net 21 router J router M router J router Q router J

13 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 16 ”Count to infinity" problem Network A Router 1 Router 2 distance d=1 distance d=2 Network A Router 1 Router 2 distance d=1 distance d=2 link failure

17 TO 2-14-06 p. 17 Router 1 Network A Router 1 Router 2 advertises d=3 updates to d=4 Network A Router 2 updates to d=3 advertises d=2

18 TO 2-14-06 p. 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 TO 2-14-06 p. 19 RIP Message Format all zerofamily of network 1 commandversionall zero address of network 1 distance to network 1 all zerofamily of network 2 address of network 2 distance to network 2 : distance vectors 4 bytes

20 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 27 OSPF Message Format source router address versiontypemessage length area ID authentication typechecksum authentication OSPF header number of link status advertisements link status advertisement 1 link status advertisement 2 link status updates 4 bytes

28 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 31 Spring 2006 EE 5304/EETS 7304 Internet Protocols Tom Oh Dept of Electrical Engineering taehwan@engr.smu.edu Network protocols and congestion control: X.25, ATM

32 TO 2-14-06 p. 32 Outline  X.25  Sliding window congestion control  ATM (Comer: pg. 221-233)  Connection admission control

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

34 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 36 [Stallings Fig 9.18]

37 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 43 X.25 Control Packet  3 byte header  Same fields as data packet: Q, D, Group, Channel, Modulo  Control bit = 1

44 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 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 TO 2-14-06 p. 50 Sliding Window (cont)  Case 1: d > WT  d - WT = idle time between windows,  maximum source rate = W packets/d time T WT d 1 2 3 1 2 3 time

51 TO 2-14-06 p. 51 Sliding Window (cont)  Case 2: d < WT  sender can transmit continuously  max. source rate = 1 packet/T time T WT d 1 2 3 1 2 3 time

52 TO 2-14-06 p. 52 Sliding Window (cont)  Combining both cases:  source rate = min(W/d, 1/T) 1/T Source rate WT Roundtrip delay d W/d

53 TO 2-14-06 p. 53 Sliding Window (cont)  Source will slow down when congestion causes long roundtrip delays  Source will automatically stop within W packet transmission times (if no ACKs returned)  Trade-off between response time (want W small to slow down a source quickly) and efficiency (want W > d/T so source can transmit continuously)

54 TO 2-14-06 p. 54 OPNET  Login into linux or solaris machine  At prompt, type opnet  The first time a user runs OPNET, two directories are created: \op_admin \op_models Under op_admin, OPNET creates the following directories and files:

55 TO 2-14-06 p. 55 OPNET (cont) Under op_admin, OPNET creates the following directories and files: (1) bk directory => stores a copy of the OPNET files opened through the GUI. Default backup interval time is set to 15 minutes. (2) tmp directory => stores intermediate files needed for compiling or running a simulation (3) err_log file => records errors (such as during a compile or simulation run). (4) session_log => records commands launched from the GUI; for example, the command line used to start a simulation. **Because these directories and files can grow to be very large (for example, up to 100 MB for an err_log file), you may wish to occasionally clear these files. You can clear err_log and session_log files using the Help -> xxx Log -> Clear menu item.

56 TO 2-14-06 p. 56 OPNET (mod_dirs)  You can modify your preferences with the Edit / Preferences menu item in the OPNET GUI.  OPNET stores these user preferences in a file located in the \op_admin directory. In OPNET 11.5, the file is named "env_db11.5”  Your env_db11.5 is the "mod_dirs" preference, which stands for "model directories". When you add model directories, you must add the new directory in “mod_dirs” or env_db11.5.


Download ppt "TO 2-14-06 p. 1 Spring 2006 EE 5304/EETS 7304 Internet Protocols Tom Oh Dept of Electrical Engineering Lecture 5 Routing protocols."

Similar presentations


Ads by Google