Download presentation
Presentation is loading. Please wait.
Published bySabina Pierce Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.