More on TCP/IP Module A Panko’s Business Data Networks and Telecommunications, 6th edition...
-
Upload
sabina-pierce -
Category
Documents
-
view
214 -
download
0
Transcript of More on TCP/IP Module A Panko’s Business Data Networks and Telecommunications, 6th edition...
More on TCP/IPModule A
Panko’sBusiness Data Networks and Telecommunications, 6th edition Copyright 2007 Prentice-HallMay only be used by adopters of the book
Multiplexing
3
Multiplexing
IP packets can carry different things in their data fields TCP segments
UDP datagrams
ICMP supervisory messages (later)
RIP messages (later)
IP Data Field IP Header
4
Multiplexing
We say that IP can multiplex (mix) different types of traffic in a stream of IP packets
UDP IP-H TCP IP-H UDP IP-H ICMP IP-H
Stream of Arriving or Outgoing IP Packets
Single IP PacketCarrying UDP Datagram
5
Multiplexing
IP process must pass contents of arriving IP packets to the correct process for subsequent handling
IP
TCP UDP
ICMPUDP IP-H
IP ProcessArrivingPackets
6
Multiplexing
IP process must also accept messages from multiple processes and multiplex them on an outgoing stream
IP
TCP UDP
ICMPUDPIP-H
IP ProcessOutgoingPackets
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 Field IP Header
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
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
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.
Flag Addr Ctrl Prot Info CRC Flag
More on TCP Acknowledgements
Sequence Number Field
Initial Sequence Number
Acknowledgement Number Field
12
TCP
TCP is Reliable IP packets carrying TCP segments may arrive out of
order
TCP must put the TCP segments in order
3 4 2 15
13
TCP
TCP is Reliable Each correct TCP segment is acknowledged by the
receiver
SourceTransportProcess
SourceTransportProcess
DestinationTransportProcess
DestinationTransportProcess
TCP SegmentTCP Segment
ACKACK
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
11 44 22 55
3?
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
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 Fieldwith Initial Sequence Number (79)
17
TCP Sequence Numbers
Data octets in data fields of all segments in a connection are viewed as a long string
TCP Segment 1 79
TCP Segment 2 808182
TCP Segment 3 8384
3 Octets in Data Field
2 Octets in Data Field
ISN
18
TCP Sequence Numbers
Supervisory segments, which contain a header but no data, are treated as carrying a single octet of data
TCP seg 1 898899
TCP seg 2 900
TCP seg 3 901902…
Supervisory segment
Carries data
Carries data
19
TCP Sequence Numbers
Sequence number field gets the value of the first octet in the data field
TCP 1 79
TCP 2 808182
TCP 3 8384
80 is SeqNum Field Value
83 is SeqNum Field Value
79 is SeqNum Field Value
20
TCP Acknowledgements
Acknowledgement must indicate which TCP segment is being acknowledged
SourceTCP
Process
SourceTCP
Process
DestinationTCP
Process
DestinationTCP
Process
TCP SegmentTCP Segment
ACKACK
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
TCP Acknowledgment Numbers
Acknowledgement Number field contains the next byte expected--the last byte of the segment being acknowledged, plus one
TCP 1 79
TCP 2 808182
TCP 3 8384
83 is AckNum Field Value
85 is AckNum Field Value
80 is AckNum Field Value
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
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 TCP Process
Too MuchData
Flow Control Message
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
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 TCP Process
Data
Acknowledgement with Window Size Field
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
TCP Flow Control
Each Acknowledgement extends the window of octets that may be sent Called a sliding window protocol
1-44 45-79 80-419 420-630
400May send through 480
1-44 45-79 80-419 420-630
500May send through 920
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
TCP Fragmentation
Application layer message must be fragmented Broken into several pieces
Delivered in separate TCP segments
TCP HeaderTCP Data Field Max
App Frag 1 App Frag 2 App Frag 3
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 1 App Frag 2 App Frag 3
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 TCP Segment
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 TCP Segment
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
TCP Fragmentation
MSS Default is 536 octets Maximum IP packet size any network must
support is 576 octetsLarger 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
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
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
More on Internet Layer Processes
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
Mask Operations
Based on Logical AND Both must be true for the result to be true
Example 1010101010 Data
1111100000 Mask
1010100000 Result
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 1010101010 Data
1111100000 Mask
1010100000 Result
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
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
Mask Operations
Recap Read destination IP address of incoming IP packet
For each entry in the router forwarding tableRead the mask (prefix)Mask the incoming IP addressCompare the result with the entry’s IP address
partDo they match or not?
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
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
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
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
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
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
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
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
IP Fragmentation
54
MTU
Maximum Transmission Unit (MTU) Largest IP packet a network will accept
Arriving IP packet may be larger
IP Packet
MTU
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 2 1
IP PacketsFragmentation
MTU
3
56
IP Fragmentation
What is Fragmented? Only the original data field
New headers are created
IP Packet 2 1
IP PacketsFragmentation
MTU
3
57
IP Fragmentation
What Does the Fragmentation? The router
Not the subnet
IP Packet 2 1
IP PacketsFragmentation
MTU
3
58
Multiple Fragmentations
Original packet may be fragmented multiple times along its route
DestinationHost
InternetProcess
SourceHost
InternetProcess
Fragmentation
59
Defragmentation
Internet layer process on destination host defragments, restoring the original packet
IP Defragmentation only occurs once
DestinationHost
InternetProcess
Defragmentation
SourceHost
InternetProcess
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
0 0 1 1
Original IP Packet Fragments
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
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
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 47 47 47
Original IP Packet Fragments
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 47 47 47
Original IP Packet Fragments
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
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
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
Defragmentation: Recap
IP Defragmentation
Defragmentation (reassembly) is done once, by destination host’s internet layer process
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
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
RouterForwardingTable Data
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
RoutingTable
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
RoutingTable
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 Hop
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 York Chicago Dallas
1 hop
NY is 1
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 York Chicago Dallas
1 hop 1 hop
NY is 1
NY is 2
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
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
UDPHeader
UDP Data FieldRIP Message
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
OSPF Routers
Network is Divided into Areas Each area has a designated router
AreaDesignated
Router
80
OSPF Routers
When a router senses a link state change Sends this information to the designated router
AreaDesignated
Router
Notice ofLink State Change
81
OSPF Routers
Designed Router Notifies all Routers Within its area
AreaDesignated
Router
Notice ofLink State Change
82
OSPF Routers
Efficient Only routers are informed (not hosts)
Usually only updates are transmitted, not whole tables
AreaDesignated
Router
Notice ofLink State Change
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
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
IPHeader
IP Data FieldOSPF Message
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
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
Selecting RIP or OSPF
OSPF is Scalable
Works with networks of any size
Management complexities are worth the cost in large networks
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
AutonomousSystem
AutonomousSystemBGP
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
AutonomousSystem
AutonomousSystemBGP
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
AutonomousSystem
AutonomousSystemBGP
Address Resolution Protocol (ARP)
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 DADL Frame for Subnet
93
Addresses
Each host and router also needs an IP address at the internet layer to designate its position in the overall Internet
Subnet
Subnet
Subnet128.171.17.13
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
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
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
Subnet128.171.17.13
subnet address?
Destination Host
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
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
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
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 Packetwithin a subnet frame
101
Address Resolution Protocol
ARP Requests and Responses are sent between the internet layer processes on the router and the destination host
InternetProcess
Router
InternetProcess
Destination HostARP
Request
ARPResponse
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
InternetProcess
Router
InternetProcess
Destination Host
Broadcast ARP Request
Direct ARP Response
Data LinkProcess
Data LinkProcess
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
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
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
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
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
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 toMulticast Address
Not in GroupReject
In GroupAccept
In GroupAccept
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
Why Multicasting
Do not need to send an IP packet to each host Routers split when needed
Reduces traffic
SinglePacket
MultiplePackets
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
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
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
MultiProtocol Label Switching (MPLS)
110
TaggedPacket
MPLS Table for Q
Label110…
Port1…
NHRR…
Q
R
S
RoutingDecision