1 / 58

Routing Protocol TCP/IP Protocol Suite

Routing Protocol TCP/IP Protocol Suite. Routing protocols. Unicast routing One source and one destination Multicast routing One source and multiple destinations. Unicast routing protocols. When packet is ready to be forwarded, router consults routing table

rsherrie
Download Presentation

Routing Protocol TCP/IP Protocol Suite

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. Routing Protocol • TCP/IP Protocol Suite

  2. Routing protocols • Unicast routing • One source and one destination • Multicast routing • One source and multiple destinations

  3. Unicast routing protocols • When packet is ready to be forwarded, router consults routing table • The routing table specifies the optimum path for the packet • Static table: Does not change frequently • Dynamic table: updated as soon as there is a change in the internet • When a route is down • Whenever a better route has been created

  4. Autonomous system (AS) group of networks and routers under the authority of single administration

  5. Application of IRP and ERP

  6. Popular routing protocols • Interior routing protocol (IRP) Routing inside an AS • Routing information protocol RIP • Open shortest path first OSPF • Exterior routing protocol (ERP) Routing between ASs • Border gateway protocol BGP

  7. Application of IRP and ERP

  8. Routing Information Protocol • Distance vector algorithm • Distance metric (cost): # of hops (max = 15 hops) • Distance vectors: advertises every 30 s (regardless of change) • Each advertisement: route to up to 25 destination nets

  9. OSPF (Open Shortest Path First) • “open”: publicly available • Uses Link State algorithm • Route computation using Dijkstra’s algorithm • Sharing knowledge about the neighborhood with every other router by flooding • Sharing when there is a change

  10. Border Gateway Protocol (BGP) • Path vector routing • Policy routing • Loop prevention • uses messages sent over TCP connection • current version is BGP-4 (RFC1771)

  11. Path vector routing Destination Path to reach the destination

  12. Policy routing • The routing tables are based on the policy imposed on the router by the administrator • avoid path to avoid transiting particular AS • link speed, capacity, tendency to become congested, and overall quality of operation, security • minimizing number of transit Ass • When a router receives a message, it checks the path, if one of ASs listed in the path is against its policy, it does not update its routing table and it does not send this message to its neighbors

  13. Path vector messages • The autonomous boundary routers • advertise the reachability of the networks in their own AS to neighbor autonomous boundary routers • Each router receives a message, it checks the path, if the path is in agreement with its policy, it updates its routing table and modifies the message before sending it to the next neighbor

  14. Loop prevention • When a router receives a message, it checks the path, if its AS is in the path list to the destination • If it is, the message is ignored

  15. BGP Messages • Open • Update • Keep alive • Notification

  16. BGP Messages • Open is to open a neighbor relationship with another router • Keepalive to • acknowledge an Open message • periodically confirm the neighbor relationship • Update to • transmit information about a single route • list multiple routes to be withdrawn • Notification is sent when an error condition is detected.

  17. Multicast routing protocol Internet group message protocol (IGMP) • IGMP is to help a multicast router identify the hosts in a LAN that are members of a multicast group • Multicast group • Multimedia • Teleconference • Real-time workgroup

  18. Transmission Control Protocol/Internet-working Protocol(TCP/IP)

  19. Application layer • Domain name system (DNS) • Map a name to an IP address and conversely an address to a name • File transfer protocol (FTP) • Copying a file from one host to another • Trivial file transfer protocol (TFTP) • Copy a file without the need for all of the functionalities of the FTP • Terminal Network TELNET • To log on to a remote computer • Simple mail transfer protocol (SMTP) • Electronic mail • Simple network management (SNMP) • To monitoring and maintaining an internet

  20. Transport Protocols • end-to-end data transfer service • shield upper layers from network details • reliable, connection oriented Transmission control protocol (TCP) • best effort, connectionless User datagram protocol (UDP)

  21. Functions of TCP (RFC793) • Ordered delivery • Retransmission strategy • Duplicate detection • Flow control • Connection establishment • Connection termination • Failure recovery Request for Comments (RFC) is a memorandum published by the Internet Engineering Task Force

  22. Ordered Delivery • segments may arrive out of order • hence number segments sequentially • TCP numbers each octet (byte) sequentially • segments are numbered by the first octet number in the segment

  23. Retransmission Strategy • retransmission of segment needed because • segment damaged in transit • segment fails to arrive • transmitter does not know of failure • receiver must acknowledge successful receipt • use cumulative acknowledgement for efficiency • sender times out waiting for ACK triggers re-transmission

  24. Duplication Detection • if ACK lost, segment duplicated & re-transmitted • receiver must recognize duplicates • if duplicate received prior to closing connection • receiver assumes ACK lost and ACKs duplicate • sender must not get confused with multiple ACKs

  25. Credit-based flow control • each octet has sequence number • each transport segment has seq number (SN), ack number (AN) and window size (W) in header • sends seq number of first octet in segment • ACK includes (AN=i, W=j) which means • all octets through SN=i-1 acknowledged, want i next • permission to send additional window of W=j octets

  26. Connection Establishment • three way handshake

  27. Connection Termination • graceful termination • initiator must: • send FIN to other end, requesting termination • place connection in FIN WAIT state • when FIN received, inform user and close connection • other end must: • when receives FIN must inform user and place connection in CLOSE WAIT state • when user issues CLOSE primitive, send FIN & close connection

  28. client server close FIN ACK close FIN ACK timed wait closed Connection Termination

  29. Failure Recovery • after restart all state info is lost • may have half open connection • as side that did not crash still thinks it is connected • close connection using keepalive timer • wait for ACK for (time out) * (number of retries) • when expired, close connection and inform user • The failed side sends RST i in response to any i segment arriving • user must decide whether to reconnect

  30. TCP Header

  31. Source Port (16 bits): Source TCP user, • Telnet = 23, HTTP = 80. Destination Port (16 bits): Destination TCP user. Sequence Number (32 bits): Acknowledgment Number (32 bits): Data Offset (4 bits): Number of 32-bit words in the header. Reserved (4 bits): Reserved for future use. Window (16 bits): Urgent Pointer (16 bits): This value, when added to the segment sequence number, contains the sequence number of the last octet in a sequence of urgent data. This allows the receiver to know how much urgent data is coming Options (Variable): eg. option that specifies the maximum segment size.

  32. Flags (6 bits): if set to 1 CWR: congestion window reduced ECE: ECN-Echo (Explicit congestion notification) URG: Urgent pointer field significant ACK: acknowledgement field significant PSH: push data now (generally not used) SYN: synchronize the sequence numbers Establish connection FIN: no more data from sender RST: Reset a connection

  33. TCP Checksum Example • Consider three 16-bit words: 0110011001100110 0101010101010101 0000111100001111 • (1’s complement) sum of first two 16-bit words is: 1011101110111011 • Adding the third word to the above sum gives: 1100101011001010 • 1’s complement of this sum => invert 0’s and 1’s 0011010100110101 (this is the checksum field) • If no errors, sum of all four 16-bit words (incl. Checksum) will be all 1s, i.e., 1111111111111111

  34. Congestion Control Congestion: • informally: “too many sources sending too much data too fast for network to handle” • different from flow control (receiver overload)! • manifestations: • lost packets (buffer overflow at routers) • long delays (queuing in router buffers)

  35. Congestion Control • flow control also used for congestion control • recognize increased transit times & dropped packets • react by reducing flow of data • two categories • retransmission timer management • window management

  36. Retransmission Timer Management • static timer likely too long or too short • estimate round-trip time (RTT) by observing pattern of delay for recent segments • set time to value a bit greater than estimate • RTT Variance Estimation (Jacobson’s algorithm)

  37. Jacobson’s algorithm • Measures how long the acknowledgement took=M • Updates RTT • RTT=aRTT + (1-a)M, a=7/8 • Timeout=RTT+4D • D=aD +(1-a) RTT-M

  38. Karn’s Algorithm • if segment is re-transmitted, ACK may be for: • first copy of the segment (longer RTT than expected) • second copy • no way to tell • don’t update RTT for re-transmitted segments • Timeout is doubled on each failure until ACK arrives for segment that has not been re-transmitted

  39. Window Management Slow start, not sending too many segments into an already congested environment awnd=MIN[credit,cwnd] หน่วยเป็น Segments awnd= allowed window cwnd= congestion window Credit=unused credit granted in the most recent ACK (windows/segment_size)

  40. slow start • at start limit TCP to 1 segment • increase when data ACK, exponential growth • when a timeout occurs perhaps due to congestion • set slow start threshold to half current congestion window • set window to 1 and slow start until threshold • beyond threshold, increase window by 1 for each RTT

  41. User Datagram Protocol (UDP) • connectionless service (RFC 768) • unreliable • delivery & duplication control not guaranteed • reduced overhead • Often used for streaming multimedia apps • loss tolerant • rate sensitive

  42. UDP Header

  43. IP Fragmentation • IP re-assembles at destination only • uses fields in header • Data Unit Identifier (ID) • identifies end system originated datagram • Data length • length of user data in octets • Offset • position of fragment of user data in original datagram • in multiples of 64 bits (8 octets) • More flag • indicates that this is not the last fragment

  44. Fragmentation Example

  45. IP datagram format IP protocol version number 32 bits total datagram length (bytes) header length (bytes) type of service head. len ver length for fragmentation/ reassembly (Priority) fragment offset flgs 16-bit identifier max number remaining hops (decremented at each router) upper layer time to live Header checksum 32 bit source IP address 32 bit destination IP address upper layer protocol to deliver payload to E.g. timestamp, record route taken, pecify list of routers to visit. Options (if any) data (variable length, typically a TCP or UDP segment)

  46. IP address: 32-bit identifier for host, router interface interface: connection between host, router and physical link. A device has a different address for each network connected to it router’s typically have multiple interfaces host may have multiple interfaces IP addresses associated with interface, not host, router 223.1.1.2 223.1.2.1 223.1.3.27 223.1.3.1 223.1.3.2 223.1.2.2 IP Addressing: introduction 223.1.1.1 223.1.2.9 223.1.1.4 223.1.1.3 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1

  47. multicast address 1110 network host 110 network 10 host IP Addresses (version4), IPv4 Network numbers are assigned by Network Information Center class 1.0.0.0 to 127.255.255.255 A network 0 host 128.0.0.0 to 191.255.255.255 B 192.0.0.0 to 223.255.255.255 C 224.0.0.0 to 239.255.255.255 D 32 bits

More Related