© 2009 Pearson Education, Inc. Publishing as Prentice Hall More on TCP/IP Module A Updated January...
-
date post
21-Dec-2015 -
Category
Documents
-
view
215 -
download
0
Transcript of © 2009 Pearson Education, Inc. Publishing as Prentice Hall More on TCP/IP Module A Updated January...
© 2009 Pearson Education, Inc. Publishing as Prentice Hall
More on TCP/IP
Module AUpdated January 2009
Raymond Panko’sBusiness Data Networks and Telecommunications, 7th edition
May only be used by adopters of the book
© 2009 Pearson Education, Inc. Publishing as Prentice Hall
Multiplexing
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-8
Multiplexing
• IP Header has an 8-bit Protocol field
– Identifies the contents of the data field
• 1=ICMP, 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)
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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)
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice Hall
More on TCP Acknowledgements
Sequence Number Field
Initial Sequence Number
Acknowledgement Number Field
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-13
TCP
• TCP is Reliable
– Each correct TCP segment is acknowledged by the receiver
SourceTransportProcess
SourceTransportProcess
DestinationTransportProcess
DestinationTransportProcess
TCP SegmentTCP Segment
ACKACK
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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?
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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)
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-20
TCP Acknowledgements
• Acknowledgement must indicate which TCP segment is being acknowledged
SourceTCP
Process
SourceTCP
Process
DestinationTCP
Process
DestinationTCP
Process
TCP SegmentTCP Segment
ACKACK
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
82+1=83 is AckNum Value
84+1=85 is AckNum Value
79+1=80 is AckNumField Value
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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?
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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!!!
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice Hall
More on Internet Layer Processes
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-40
Mask Operations
• Based on Logical AND
– Both must be true for the result to be true
• Example
– 1010101010 Data
– 1111100000 Mask
– 1010100000 Result
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-41
Mask Operations
• Based on Logical AND
– If mask bit is 1, get back original data
– If mask bit is 0, get back zero
• Example
– 1010101010 Data
– 1111100000 Mask
– 1010100000 Result
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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!
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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?
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice Hall
IP Fragmentation
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-54
MTU
• Maximum Transmission Unit (MTU)
– Largest IP packet a network will accept
– Arriving IP packet may be larger
IP Packet
MTU
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-56
IP Fragmentation
• What Is Fragmented?
– Only the original data field
– New headers are created
IP Packet 2 1
IP PacketsFragmentation
MTU
3
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-57
IP Fragmentation
• What Does the Fragmentation?
– The router
– Not the subnet
IP Packet 2 1
IP PacketsFragmentation
MTU
3
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-58
Multiple Fragmentations
• Original packet may be fragmented multiple times along its route
DestinationHost
InternetProcess
SourceHost
InternetProcess
Fragmentation
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-59
Defragmentation
• Internet layer process on destination host defragments, restoring the original packet
• IP Defragmentation only occurs once
DestinationHost
InternetProcess
Defragmentation
SourceHost
InternetProcess
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-61
Identification Field
• IP packet has a 16-bit Identification field
– Source host internet process places a number in the Identification field
– Different for each original 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)
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-62
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-63
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-64
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)
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-65
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-66
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-67
Defragmentation: Recap
• IP Defragmentation
– Defragmentation (reassembly) is done once, by the destination host’s internet layer process
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-68
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-69
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-70
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-71
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-72
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-73
Routing Information Protocol
• Is a Distance Vector Protocol
– “New York” starts, announces itself with an 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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-74
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-75
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-76
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-77
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.
– Each router knows the state of every link
– Allows OSPF routers to optimize routing based on these variables
Link
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-78
OSPF Routers
• Network Is Divided into Areas
– Each area has a designated router
AreaDesignated
Router
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-79
OSPF Routers
• When a router senses a link state change
– Sends this information to the designated router
AreaDesignated
Router
Notice ofLink State Change
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-80
OSPF Routers
• Designed Router Notifies all Routers
– Within its area
AreaDesignated
Router
Notice ofLink State Change
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-81
OSPF Routers
• Efficient
– Only routers are informed (not hosts)
– Usually only updates are transmitted, not whole tables
AreaDesignated
Router
Notice ofLink State Change
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-82
OSPF
• Fast Convergence
– When a failure occurs, a router transmits the notice to the designated router
– Designated router sends the information back out to other routers immediately
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-83
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-84
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-85
Selecting RIP or OSPF
• RIP is fine for small networks
– Easy to implement
– 15 hops is not a problem
– Broadcasting, interrupting hosts are not too important
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-86
Selecting RIP or OSPF
• OSPF is Scalable
– Works with networks of any size
– Management complexities are worth the cost in large networks
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-87
Border Gateway Protocol (BGP)
• To connect different autonomous systems
– Must standardize cross-system routing information exchanges
– BGP is most popular today
– Gateway is the old name for router
– Exterior routing protocol
AutonomousSystem
AutonomousSystemBGP
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-88
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-89
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
BGP MessageTCP
HeaderIP
Header
© 2009 Pearson Education, Inc. Publishing as Prentice Hall
Address Resolution Protocol (ARP)
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-91
Internet and Data Link Layer Addresses
• Each host and router on a subnet needs a data link layer address to specify its address on its switched network
– 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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-92
Addresses
• Each host and router also needs an IP address at the internet layer to designate its position in the overall Internet
– Switched networks in an internet are called subnets
Subnet
Subnet
Subnet128.171.17.13
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-93
Internet and Data Link Addresses Serve Different Purposes
• IP address
– To guide delivery to destination host across the Internet (across multiple networks)
• Switched Network Address
– To guide delivery between two hosts, two routers, and a host and router within a single switched network
– Same LAN, Frame Relay network, etc.
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-94
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-95
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-96
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-97
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-98
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-99
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-100
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-101
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-102
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)
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-103
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-104
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-105
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-106
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-107
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-108
Multicasting
• Traditionally, unicasting and broadcasting– Unicasting: send to one host– Broadcasting: send to ALL hosts
• Multicasting– Send to SOME hosts– Hosts on a list– 500 stations viewing a video course– 50 computers getting software upgrades– Standards exist and are improving– Not widely implemented yet
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-109
Why Multicasting
• Do not need to send an IP packet to each host
– Routers split when needed
– Reduces traffic
SinglePacket
MultiplePackets
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-110
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-111
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-112
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
© 2009 Pearson Education, Inc. Publishing as Prentice HallA-113
MultiProtocol Label Switching (MPLS)
110
TaggedPacket
MPLS Table for Q
Label110…
Port1…
NHRR…
Q
R
S
RoutingDecision
© 2009 Pearson Education, Inc. Publishing as Prentice Hall A-114
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America.
Copyright © 2009 Pearson Education, Inc. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice HallPublishing as Prentice Hall