114
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

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

Embed Size (px)

Citation preview

Page 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

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

Page 2: 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

Multiplexing

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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)

Page 9: 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

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)

Page 10: 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

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

Page 11: 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

More on TCP Acknowledgements

Sequence Number Field

Initial Sequence Number

Acknowledgement Number Field

Page 12: 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

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

Page 13: 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

13

TCP

TCP is Reliable Each correct TCP segment is acknowledged by the

receiver

SourceTransportProcess

SourceTransportProcess

DestinationTransportProcess

DestinationTransportProcess

TCP SegmentTCP Segment

ACKACK

Page 14: 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

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?

Page 15: 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

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

Page 16: 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

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)

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

20

TCP Acknowledgements

Acknowledgement must indicate which TCP segment is being acknowledged

SourceTCP

Process

SourceTCP

Process

DestinationTCP

Process

DestinationTCP

Process

TCP SegmentTCP Segment

ACKACK

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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?

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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

Page 28: 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

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

Page 29: 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

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

Page 30: 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

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

Page 31: 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

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

Page 32: 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

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

Page 33: 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

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

Page 34: 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

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!!!

Page 35: 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

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

Page 36: 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

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

Page 37: 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

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

Page 38: 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

More on Internet Layer Processes

Page 39: 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

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

Page 40: 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

40

Mask Operations

Based on Logical AND Both must be true for the result to be true

Example 1010101010 Data

1111100000 Mask

1010100000 Result

Page 41: 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

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

Page 42: 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

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

Page 43: 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

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!

Page 44: 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

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?

Page 45: 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

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

Page 46: 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

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

Page 47: 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

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

Page 48: 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

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

Page 49: 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

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

Page 50: 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

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

Page 51: 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

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

Page 52: 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

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

Page 53: 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

IP Fragmentation

Page 54: 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

54

MTU

Maximum Transmission Unit (MTU) Largest IP packet a network will accept

Arriving IP packet may be larger

IP Packet

MTU

Page 55: 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

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

Page 56: 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

56

IP Fragmentation

What is Fragmented? Only the original data field

New headers are created

IP Packet 2 1

IP PacketsFragmentation

MTU

3

Page 57: 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

57

IP Fragmentation

What Does the Fragmentation? The router

Not the subnet

IP Packet 2 1

IP PacketsFragmentation

MTU

3

Page 58: 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

58

Multiple Fragmentations

Original packet may be fragmented multiple times along its route

DestinationHost

InternetProcess

SourceHost

InternetProcess

Fragmentation

Page 59: 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

59

Defragmentation

Internet layer process on destination host defragments, restoring the original packet

IP Defragmentation only occurs once

DestinationHost

InternetProcess

Defragmentation

SourceHost

InternetProcess

Page 60: 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

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

Page 61: 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

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

Page 62: 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

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)

Page 63: 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

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

Page 64: 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

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

Page 65: 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

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)

Page 66: 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

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

Page 67: 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

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

Page 68: 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

68

Defragmentation: Recap

IP Defragmentation

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

Page 69: 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

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

Page 70: 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

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

Page 71: 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

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

Page 72: 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

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

Page 73: 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

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

Page 74: 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

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

Page 75: 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

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

Page 76: 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

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

Page 77: 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

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

Page 78: 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

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

Page 79: 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

79

OSPF Routers

Network is Divided into Areas Each area has a designated router

AreaDesignated

Router

Page 80: 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

80

OSPF Routers

When a router senses a link state change Sends this information to the designated router

AreaDesignated

Router

Notice ofLink State Change

Page 81: 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

81

OSPF Routers

Designed Router Notifies all Routers Within its area

AreaDesignated

Router

Notice ofLink State Change

Page 82: 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

82

OSPF Routers

Efficient Only routers are informed (not hosts)

Usually only updates are transmitted, not whole tables

AreaDesignated

Router

Notice ofLink State Change

Page 83: 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

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

Page 84: 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

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

Page 85: 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

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

Page 86: 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

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

Page 87: 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

87

Selecting RIP or OSPF

OSPF is Scalable

Works with networks of any size

Management complexities are worth the cost in large networks

Page 88: 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

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

Page 89: 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

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

Page 90: 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

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

Page 91: 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

Address Resolution Protocol (ARP)

Page 92: 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

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

Page 93: 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

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

Page 94: 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

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.

Page 95: 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

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

Page 96: 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

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

Page 97: 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

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

Page 98: 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

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

Page 99: 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

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

Page 100: 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

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

Page 101: 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

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

Page 102: 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

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

Page 103: 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

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)

Page 104: 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

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

Page 105: 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

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

Page 106: 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

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

Page 107: 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

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

Page 108: 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

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

Page 109: 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

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

Page 110: 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

110

Why Multicasting

Do not need to send an IP packet to each host Routers split when needed

Reduces traffic

SinglePacket

MultiplePackets

Page 111: 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

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

Page 112: 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

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

Page 113: 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

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.

Page 114: 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

114

MultiProtocol Label Switching (MPLS)

110

TaggedPacket

MPLS Table for Q

Label110…

Port1…

NHRR…

Q

R

S

RoutingDecision