Presentation is loading. Please wait.

Presentation is loading. Please wait.

More on TCP/IP Module A Panko’s Business Data Networks and Telecommunications, 6th edition Copyright 2007 Prentice-Hall May only be used by adopters of.

Similar presentations


Presentation on theme: "More on TCP/IP Module A Panko’s Business Data Networks and Telecommunications, 6th edition Copyright 2007 Prentice-Hall May only be used by adopters of."— Presentation transcript:

1 More on TCP/IP Module A Panko’s Business Data Networks and Telecommunications, 6th edition Copyright 2007 Prentice-Hall May only be used by adopters of the book

2 Multiplexing

3 3 IP packets can carry different things in their data fields TCP segments UDP datagrams ICMP supervisory messages (later) RIP messages (later) IP Data FieldIP Header

4 4 Multiplexing We say that IP can multiplex (mix) different types of traffic in a stream of IP packets UDPIP-HTCPIP-HUDPIP-HICMPIP-H Stream of Arriving or Outgoing IP Packets Single IP Packet Carrying UDP Datagram

5 5 Multiplexing IP process must pass contents of arriving IP packets to the correct process for subsequent handling IP TCPUDP ICMP UDPIP-H IP Process Arriving Packets

6 6 Multiplexing IP process must also accept messages from multiple processes and multiplex them on an outgoing stream IP TCPUDP ICMP UDPIP-H IP Process Outgoing Packets

7 7 Multiplexing Need a Way for Receiving IP Process to Know What is in the Data Field So it can pass the contents to the appropriate process IP Data FieldIP Header

8 8 Multiplexing IP Header has an 8-bit Protocol field Identifies the contents of the data field 1=ICMP (later), 8=TCP, 17=UDP, etc. Total Length in bytes (16) Time to Live (8) Version (4) Hdr Len (4) TOS (8) Indication (16 bits)Flags (3)Fragment Offset (13) Source IP Address Destination IP Address Header Checksum (16)Protocol (8) …

9 9 Multiplexing Other Messages have Analogous Fields Identify contents of data field TCP and UDP Have Port number fields Identify the application process (80=HTTP) Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16)Reserved (6)

10 10 Multiplexing Other Messages have Analogous Fields Identify contents of data field PPP Protocol field identifies contents of information field as IP, IPX, a supervisory message, etc. FlagAddrCtrlProtInfoCRCFlag

11 More on TCP Acknowledgements Sequence Number Field Initial Sequence Number Acknowledgement Number Field

12 12 TCP TCP is Reliable IP packets carrying TCP segments may arrive out of order TCP must put the TCP segments in order 34215

13 13 TCP TCP is Reliable Each correct TCP segment is acknowledged by the receiver Source Transport Process Source Transport Process Destination Transport Process Destination Transport Process TCP Segment ACK

14 14 TCP Segment Each TCP segment sent by a side must have a sequence number Simplest: 1,2,3,4,5,6,7 To detect lost or out-of-sequence messages TCP uses a more complex approach 1 1 4 4 2 2 5 5 3?

15 15 TCP Sequence Numbers TCP header has a 32-bit sequence number field Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if any)PAD Reserved (6) TCP Checksum (16)Urgent Pointer (16) Data Field

16 16 TCP Sequence Numbers Initial Sequence Number is randomly selected by the sender; Say, 79 Sent in the sequence number field of the first TCP segment 79 TCP Data Field TCP Header Sequence Number Field with Initial Sequence Number (79)

17 17 TCP Sequence Numbers Data octets in data fields of all segments in a connection are viewed as a long string TCP Segment 179 TCP Segment 280 81 82 TCP Segment 383 84 3 Octets in Data Field 2 Octets in Data Field ISN

18 18 TCP Sequence Numbers Supervisory segments, which contain a header but no data, are treated as carrying a single octet of data TCP seg 1898 899 TCP seg 2900 TCP seg 3901 902 … Supervisory segment Carries data

19 19 TCP Sequence Numbers Sequence number field gets the value of the first octet in the data field TCP 179 TCP 280 81 82 TCP 383 84 80 is SeqNum Field Value 83 is SeqNum Field Value 79 is SeqNum Field Value

20 20 TCP Acknowledgements Acknowledgement must indicate which TCP segment is being acknowledged Source TCP Process Source TCP Process Destination TCP Process Destination TCP Process TCP Segment ACK

21 21 TCP Acknowledgements TCP header contains a 32-bit Acknowledgement Number field to designate the TCP segment being acknowledged Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if any)PAD Reserved (6) TCP Checksum (16)Urgent Pointer (16) Data Field

22 22 TCP Acknowledgment Numbers Acknowledgement Number field contains the next byte expected--the last byte of the segment being acknowledged, plus one TCP 179 TCP 280 81 82 TCP 383 84 83 is AckNum Field Value 85 is AckNum Field Value 80 is AckNum Field Value

23 23 TCP Acknowledgement Number Quiz: A TCP segment contains the following data octets 567, 568, 569, 570, 571, 572, 573, 574 What will be in the sequence number field of the TCP segment delivering the data? What will be in the acknowledgement number field of the TCP segment acknowledging the TCP segment that delivers these octets?

24 24 TCP Flow Control Flow Control One TCP process transmits too fast Other TCP process is overwhelmed Receiver must control transmission rate This is flow control TCP Process Too Much Data Flow Control Message

25 25 TCP Flow Control A TCP segment has a Window Size field Used in acknowledgements Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if any)PAD Reserved (6) TCP Checksum (16)Urgent Pointer (16) Data Field

26 26 TCP Flow Control A TCP segment has a Window Size field Tell how many more octets the sender can send beyond the segment being acknowledged TCP Process Data Acknowledgement with Window Size Field

27 27 TCP Flow Control Example TCP segment contained octets 45-89 Acknowledgement number for TCP segment acknowledging the segment is 90 If Window Size field value is 50, then Sender may send through octet 140 Must then stop unless the window has been extended in another acknowledgement

28 28 TCP Flow Control Each Acknowledgement extends the window of octets that may be sent Called a sliding window protocol 1-4445-7980-419420-630 400 May send through 480 1-4445-7980-419420-630 500 May send through 920

29 29 TCP Fragmentation TCP Segments have maximum data field sizes (Size limit details are discussed later) What if an application layer message is too large? TCP HeaderTCP Data Field Max Application Layer Message

30 30 TCP Fragmentation Application layer message must be fragmented Broken into several pieces Delivered in separate TCP segments TCP HeaderTCP Data Field Max App Frag 1App Frag 2App Frag 3

31 31 TCP Fragmentation Note that, in TCP fragmentation, the TCP segment is NOT fragmented The application layer message is fragmented TCP HeaderTCP Data Field Max App Frag 1App Frag 2App Frag 3

32 32 TCP Fragmentation Transport layer process on the source host does the fragmentation Application layer on the source host is not involved Transparent to the application layer Application Transport Internet Application Message TCP Segment

33 33 TCP Fragmentation Transport layer process on the destination host does the reassembly Application layer on the destination host is not involved; Gets original application layer message Application Transport Internet Application Message TCP Segment

34 34 TCP Fragmentation What is the maximum TCP data field size? Complex Maximum Segment Size (MSS) Maximum size of a TCP segment’s data field NOT maximum size of the segment as its name would suggest!!!

35 35 TCP Fragmentation MSS Default is 536 octets Maximum IP packet size any network must support is 576 octets Larger IP packets MAY be fragmented IP and TCP headers are 20 octets each if there are no options This gives the default MSS of 536 Smaller if there are options in the IP or TCP header

36 36 TCP Fragmentation MSS Default is 536 octets Suppose the application layer process is 1,000 octets long Two TCP segments will be needed to send the data The first can send the first 536 octets The second can carry the remaining 464 octets of the application layer message

37 37 TCP Fragmentation Each side MAY announce a larger MSS An option usually used in the initial SYN message it sends to the other If announces MSS of 2,048, this many octets of data may be sent in each TCP segments 536 is only the default—the value to use if no other value is specified by the other side

38 More on Internet Layer Processes

39 39 Mask Operations Masks were introduced in Chapter 3 IP addresses alone do not tell you the size of their network or subnet parts Network Mask Has 1s in the network part Has 0s in the remaining bits Subnet Mask Has 1s in the network plus subnet parts Has 0s in the remaining bits

40 40 Mask Operations Based on Logical AND Both must be true for the result to be true Example 1010101010Data 1111100000Mask 1010100000Result

41 41 Mask Operations Based on Logical AND If mask bit is 1, get back original data If mask bit is 0, bet back zero Example 1010101010Data 1111100000Mask 1010100000Result

42 42 Mask Operations IP packet arrives at a router Router sees destination IP address 11111111 01000000 10101010 00000000 Compares to each router forwarding table row Address Part in First Entry 11111111 01000000 00000000 00000000 Mask in First Entry 11111111 11100000 00000000 00000000

43 43 Mask Operations Mask the IP destination Address 11111111 01000000 10101010 00000000 (IP address) 11111111 11100000 00000000 00000000 (mask) 11111111 01000000 00000000 00000000 (result) Compare Result with First Entry Address part 11111111 01000000 00000000 00000000 (address part) 11111111 01000000 00000000 00000000 (result) The Entry is a Match!

44 44 Mask Operations Recap Read destination IP address of incoming IP packet For each entry in the router forwarding table Read the mask (prefix) Mask the incoming IP address Compare the result with the entry’s IP address part Do they match or not?

45 45 Mask Operations Simple for Computers Computers have circuitry to AND to numbers Computers have circuitry to COMPARE two numbers to see if they are equal or not Very computer-friendly, so used on routers Difficult for people, unfortunately

46 46 IPv6 Current version of the Internet Protocol is Version 4 (v4) Earlier versions were not implemented The next version will be Version 6 (v6) No v5 was implemented Informally called IPng (Next Generation) IPv6 is Already Defined Continuing improvements in v4 may delay its adoption

47 47 IPv6 IPv6 will raise the size of the internet address from 32 bits to 128 bits Now running out of IP addresses Will solve the problem But current work-arounds are delaying the need for IPv6 addresses

48 48 IPv6 Improved Security But, through IPsec, v4 is being upgraded in security as well Improved Quality of Service (QoS) But under IETF Differentiated Services (diffserv) initiative, IPv4 is being upgraded in this area as well

49 49 IPv6 Extension Headers IPv4 Headers are complex IPv6 basic header is simple Extension headers for options Basic Header Extension Header 1 Extension Header 2

50 50 IPv6 Extension Headers Basic header has 8-bit Next Header field Identifies first extension header or says that payload follows Basic Header Extension Header 1 Extension Header 2 NH

51 51 IPv6 Extension Headers Each extension header also has 8-bit Next Header field Identifies next extension header or says that payload follows Basic Header Extension Header 1 Extension Header 2 NH

52 52 IPv6 Extension Headers Next header field is an elegant way to allow options Easy to add new extension headers for new needs Basic Header Extension Header 1 Extension Header 2 NH

53 IP Fragmentation

54 54 MTU Maximum Transmission Unit (MTU) Largest IP packet a network will accept Arriving IP packet may be larger IP Packet MTU

55 55 IP Fragmentation If IP packet is longer than the MTU, the router breaks packet into smaller packets Called IP fragments Fragments are still IP packets Earlier in Mod A, fragmentation in TCP IP Packet 21 IP Packets Fragmentation MTU 3

56 56 IP Fragmentation What is Fragmented? Only the original data field New headers are created IP Packet 21 IP Packets Fragmentation MTU 3

57 57 IP Fragmentation What Does the Fragmentation? The router Not the subnet IP Packet 21 IP Packets Fragmentation MTU 3

58 58 Multiple Fragmentations Original packet may be fragmented multiple times along its route Destination Host Internet Process Source Host Internet Process Fragmentation

59 59 Defragmentation Internet layer process on destination host defragments, restoring the original packet IP Defragmentation only occurs once Destination Host Internet Process Defragmentation Source Host Internet Process

60 60 Fragmentation and IP Fields More Fragments field (1 bit) 1 if more fragments 0 if not Source host internet process sets to 0 If router fragments, sets More Fragments field in last fragment to 0 In all other fragments, sets to 1 0011 Original IP PacketFragments

61 61 Identification Field IP packet has a 16-bit Identification field Total Length in bytes (16) Time to Live (8) Options (if any) Version (4) Hdr Len (4) TOS (8) Indication (16 bits)Flags (3)Fragment Offset (13) Source IP Address Destination IP Address Header Checksum (16)Protocol (8) PAD Data Field

62 62 Identification Field IP packet has a 16-bit Identification field Source host internet process places a number in the Identification field Different for each IP packet Total Length in bytes (16) Time to Live (8) Version (4) Hdr Len (4) TOS (8) Indication (16 bits)Flags (3)Fragment Offset (13) Header Checksum (16)Protocol (8)

63 63 Identification Field IP packet has a 16-bit Identification field If router fragments, places the original Identification field value in the Identification field of each fragment 47 Original IP PacketFragments

64 64 Identification Field Purpose Allows receiving host’s internet layer process know what fragments belong to each original packet Works even if an IP packet is fragmented several times 47 Original IP PacketFragments

65 65 Fragment Offset Field Fragment offset field (13 bits) is used to reorder fragments with the same Identification field Contains the data field’s starting point (in octets) from the start of the data field in the original IP packet Total Length in bytes (16) Version (4) Hdr Len (4) TOS (8) Indication (16 bits)Flags (3)Fragment Offset (13)

66 66 Fragment Offset Field Receiving host’s internet layer process assembles fragments in order of increasing fragment offset field value This works even if fragments arrive out of order! Works even if fragmentation occurs multiple times 0212730 Fragment Offset Field

67 67 Fragmentation: Recap IP Fragmentation Data field of a large IP packet is fragmented The fragments are sent into a series of smaller IP packets fitting a network’s MTU Fragmentation is done by routers Fragmentation may be done multiple times along the route

68 68 Defragmentation: Recap IP Defragmentation Defragmentation (reassembly) is done once, by destination host’s internet layer process

69 69 Defragmentation: Recap All IP packets resulting from the fragmentation of the same original IP packet have the same Identification field value Destination host internet process orders all IP packets from the same original on the basis of their Fragment Offset field values More Fragments field tells whether there are no more fragments coming

70 70 Dynamic Routing Protocols Why Dynamic Routing Protocols? Each router acts independently, based on information in its router forwarding table Dynamic routing protocols allow routers to share information in their router forwarding tables Router Forwarding Table Data

71 71 Routing Information Protocol (RIP) Routing Information protocol (RIP) is the simplest dynamic routing protocol Each router broadcasts its entire routing table frequently Broadcasting makes RIP unsuitable for large networks Routing Table

72 72 Routing Information Protocol (RIP) RIP is the simplest dynamic routing protocol Broadcasts go to hosts as well as to routers RIP interrupts hosts frequently, slowing them down; Unsuitable for large networks Routing Table

73 73 Routing Information Protocol (RIP) RIP is Limited RIP routing table has a field to indicate the number of router hops to a distant host The RIP maximum is 15 hops Farther networks are ignored Unsuitable for very large networks Hop

74 74 Routing Information Protocol Is a Distance Vector Protocol “New York” starts, announces itself with a RIP broadcast “Chicago” learns that New York is one hop away Passes this on in its broadcasts New YorkChicagoDallas 1 hop NY is 1

75 75 Routing Information Protocol Learning Routing Information “Dallas” receives broadcast from Chicago Already knows “Chicago” is one hop from Dallas So New York must be two hops from Dallas Places this information in its routing table New YorkChicagoDallas 1 hop NY is 1 NY is 2

76 76 Routing Information Protocol Slow Convergence Convergence is getting correct routing tables after a failure in a router or link RIP converges very slowly May take minutes During that time, many packets may be lost

77 77 Routing Information Protocol Encapsulation Carried in data field of UDP datagram Port number is 520 UDP is unreliable, so RIP messages do not always get through A single lost RIP message does little or no harm UDP Header UDP Data Field RIP Message

78 78 OSPF Routing Protocol Link State Protocol Link is connection between two routers OSPF routing table stores more information about each link than just its hop count: cost, reliability, etc. Allows OSPF routers to optimize routing based on these variables Link

79 79 OSPF Routers Network is Divided into Areas Each area has a designated router Area Designated Router

80 80 OSPF Routers When a router senses a link state change Sends this information to the designated router Area Designated Router Notice of Link State Change

81 81 OSPF Routers Designed Router Notifies all Routers Within its area Area Designated Router Notice of Link State Change

82 82 OSPF Routers Efficient Only routers are informed (not hosts) Usually only updates are transmitted, not whole tables Area Designated Router Notice of Link State Change

83 83 OSPF Fast Convergence When a failure occurs, a router transmits the notice to the designated router Designated router send the information back out to other routers immediately

84 84 OSPF Encapsulation Carried in data field of IP packet Protocol value is 89 IP is unreliable, so OSPF messages do not always get through A single lost OSPF message does little or no harm IP Header IP Data Field OSPF Message

85 85 Selecting RIP or OSPF Within a network you control, it is your choice Your network is an autonomous system Select RIP or OSPF based on your needs Interior routing protocol

86 86 Selecting RIP or OSPF RIP is fine for small networks Easy to implementing 15 hops is not a problem Broadcasting, interrupting hosts are not too important

87 87 Selecting RIP or OSPF OSPF is Scalable Works with networks of any size Management complexities are worth the cost in large networks

88 88 Border Gateway Protocol (BGP) To connect different autonomous systems Must standardized cross-system routing information exchanges BGP is most popular today Gateway is the old name for router Exterior routing protocol Autonomous System Autonomous System BGP

89 89 Border Gateway Protocol (BGP) Distance vector approach Number of hops to a distant system is stored in the router forwarding table Normally only sends updates Autonomous System Autonomous System BGP

90 90 Border Gateway Protocol (BGP) Encapsulation BGP uses TCP for delivery Reliable TCP is only for one-to-one connections If have several external routers, must establish a TCP and BGP connection to each Autonomous System Autonomous System BGP

91 Address Resolution Protocol (ARP)

92 92 Internet and Data Link Layer Addresses Each host and router on a subnet needs a data link layer address to specify its address on the subnet This address appears in the data link layer frame sent on a subnet For instance, 48-bit 802.3 MAC layer frame addresses for LANs Subnet DA DL Frame for Subnet

93 93 Addresses Each host and router also needs an IP address at the internet layer to designate its position in the overall Internet Subnet 128.171.17.13

94 94 Internet and Data Link Addresses Serve Different Purposes IP address To guide delivery to destination host across the Internet (across multiple networks) Subnet Address To guide delivery between two hosts, two routers, and a host and router within a single subnet Same LAN, Frame Relay network, etc.

95 95 Analogy In company, each person has a company-wide ID number (like IP address) In company, person also has a local office number in a building Paychecks are made out to ID numbers For delivery, also need to know office number

96 96 Address Resolution Problem Router knows that destination host is on its subnet based on the IP address of an arriving packet Does not know the destination host’s subnet address, so cannot deliver the packet across the subnet Subnet 128.171.17.13 subnet address? Destination Host

97 97 Address Resolution Protocol (ARP) Router creates an ARP Request message to be sent to all hosts on the subnet. Address resolution protocol message asks “Who has IP address 128.171.17.13?” Passes ARP request to data link layer process for delivery Subnet ARP Request

98 98 Address Resolution Protocol (ARP) Data link process of router broadcasts the ARP Request message to all hosts on the subnet. On a LAN, MAC address of 48 ones tells all stations to pay attention to the frame Subnet ARP Request

99 99 Address Resolution Protocol (ARP) Host with IP address 128.171.17.13 responds Internet process creates an ARP response message Contains the destination host’s subnet address (48- bit MAC address on a LAN) Subnet ARP Response

100 100 Address Resolution Protocol (ARP) Router delivers the IP packet to the destination host Places the IP packet in the subnet frame Puts the destination host’s subnet address in the destination address field of the frame Subnet Deliver IP Packet within a subnet frame

101 101 Address Resolution Protocol ARP Requests and Responses are sent between the internet layer processes on the router and the destination host Internet Process Router Internet Process Destination Host ARP Request ARP Response

102 102 Address Resolution Protocol However, the data link processes deliver these ARP packets Router broadcasts the ARP Request Destination host sends ARP response to the subnet source address found in the broadcast frame Internet Process Router Internet Process Destination Host Broadcast ARP Request Direct ARP Response Data Link Process Data Link Process

103 103 IP Address Classes How large is the network part in an IP address? Today we use network masks to tell Originally, IP had address classes with fixed numbers of bits in the network part Class A: 8 bits (24 bits in local part) Class B: 16 bits (16 bits in local part) Class C: 24 bits (8 bits in local part)

104 104 Class A IP Address IP address begins with 0 7 remaining bits in network part Only 128 possible Class A networks 24 bits in local part Over 16 million hosts per Class A network! All Class A network parts are assigned or reserved

105 105 Class B IP Address IP address begins with 10 (1st zero in 2nd position) 14 remaining bits in network part Over 16,000 possible Class B networks 16 bits in local part Over 65,000 possible hosts A good trade-off between number of networks and hosts per network Most have been assigned

106 106 Class C IP Address IP address begins with 110 (1st zero in 3d position) 21 more bits in network part Over 2 million possible Class C networks! 8 bits in local part Only 256 possible hosts per Class C network! Unpopular, because large firms must have several

107 107 Class D IP Address IP address begins with 1110 Used for multicasting, not defining networks Sending message to group of hosts Not just to one (unicasting) Not ALL hosts (broadcasting) Say to send a videoconference stream to a group of receivers

108 108 Class D IP Address All hosts in a multicast group listen for this multicast address as well as for their specific own host IP address Packets to Multicast Address Not in Group Reject In Group Accept In Group Accept

109 109 Multicasting Traditionally, unicasting and broadcasting Unicasting: send to one host Broadcasting: send to ALL hosts Multicasting Send to SOME hosts 500 stations viewing a video course 50 computers getting software upgrades Standards exist and are improving Not widely implemented yet

110 110 Why Multicasting Do not need to send an IP packet to each host Routers split when needed Reduces traffic Single Packet Multiple Packets

111 111 Mobile IP IP addresses are associated with fixed physical locations Mobile IP is needed for notebooks, other portable equipment Computer still gets a permanent IP address When travels, also gets a temporary IP address at its location This is linked dynamically to its permanent IP address

112 112 MultiProtocol Label Switching (MPLS) When a packet arrives, routers must consider all possible routes, then select the best one This is extremely expensive MPLS adds a tag to each packet An MPLS router examines the tag and passes the packet back out This is fast and inexpensive

113 113 MultiProtocol Label Switching (MPLS) This is similar to virtual circuits in ATM In addition, packets with similar priority or other characteristics can be given the same label and so be handled in the same way.

114 114 MultiProtocol Label Switching (MPLS) 110 Tagged Packet MPLS Table for Q Label 110 … Port 1 … NHR R … Q R S Routing Decision


Download ppt "More on TCP/IP Module A Panko’s Business Data Networks and Telecommunications, 6th edition Copyright 2007 Prentice-Hall May only be used by adopters of."

Similar presentations


Ads by Google