Protocol Headers Data Link Header IP Header Pre

  • Slides: 30
Download presentation
Protocol Headers Data Link Header IP Header Pre DA SA 0800 h version H

Protocol Headers Data Link Header IP Header Pre DA SA 0800 h version H L … Ether Type TCP Header Trailer 6 … TCP Header Data FCS Protocol 0 x 0800 Internet Protocol, Version 4 (IPv 4) 0 x 0806 Address Resolution Protocol (ARP) 0 x 8100 IEEE 802. 1 Q-tagged frame 0 x 86 DD Internet Protocol, Version 6 (IPv 6) 0 x 8847 MPLS unicast 0 x 8848 MPLS multicast 1: Internet Control Message Protocol (ICMP) 2: Internet Group Management Protocol (IGMP) 6: Transmission Control Protocol (TCP) 17: User Datagram Protocol (UDP) 89: Open Shortest Path First (OSPF)

Internet Control Message Protocol (ICMP) n n n The Internet Control Message Protocol (ICMP)

Internet Control Message Protocol (ICMP) n n n The Internet Control Message Protocol (ICMP) allows for testing and troubleshooting of the TCP/IP internet layer by defining messages that can be used to determine whether the network can currently deliver packets ICMP is a required component of every IP implementation Excerpt from RFC 792: n Occasionally a gateway or destination host will communicate with a source host, for example, to report an error in datagram processing. For such purposes this protocol, the Internet Control Message Protocol (ICMP), is used. ICMP uses the basic support of IP as if it were a higher level protocol; however, ICMP is actually an integral part of IP, and must be implemented by every IP module

ICMP

ICMP

ICMP Header

ICMP Header

ICMP Type Code Meaning 0 3 3 3 4 5 8 11 0 0

ICMP Type Code Meaning 0 3 3 3 4 5 8 11 0 0 1 3 0 0 echo reply network is unreachable host is unreachable port is unreachable source quench redirect echo request time exceed

ICMP Type 3: Destination Unreachable

ICMP Type 3: Destination Unreachable

ICMP Type 3: Destination Unreachable

ICMP Type 3: Destination Unreachable

Transport Layer Role and Services

Transport Layer Role and Services

Transport Layer Role and Services

Transport Layer Role and Services

Transport Layer Role and Services n Supporting Reliable Communication

Transport Layer Role and Services n Supporting Reliable Communication

Transport Layer Role and Services

Transport Layer Role and Services

Transport Layer Role and Services

Transport Layer Role and Services

Transport Layer Role and Services n Segments in the transport layer and how segments

Transport Layer Role and Services n Segments in the transport layer and how segments can be marked for reassembly

Application and Operation of TCP Mechanisms n How the TCP reliability mechanism works as

Application and Operation of TCP Mechanisms n How the TCP reliability mechanism works as part of a session

Application and Operation of TCP Mechanisms

Application and Operation of TCP Mechanisms

TCP Connections and Port Numbers n n n Two host applications using TCP must

TCP Connections and Port Numbers n n n Two host applications using TCP must establish a TCP connection before data can flow The connection establishment process essentially initializes the source and destination ports, as well as the Sequence and Acknowledgement fields In the connection establishment phase, the two hosts select port numbers, select the Sequence and Acknowledgement fields, and use TCP code bits to identify the messages in the three-way handshake for connection establishment

Transmission Control Protocol

Transmission Control Protocol

TCP Connections and Port Numbers n n n First, for port numbers, the server

TCP Connections and Port Numbers n n n First, for port numbers, the server must already be listening for connection requests from clients, with those requests being to a particular well-known port—in this case, HTTP port 80. (Wellknown ports are listed at http: //www. iana. org) The client picks a currently unused port number to use as the source port, typically a value of 1024 or greater The TCP header includes several 1 -bit fields, called code bits or flags, that are used for a variety of purposes The SYN and ACK flags identify segments as either the first or second in a new TCP connection: a segment with just the SYN flag set is the first segment in a new connection, and a segment with both SYN and ACK set is the second segment in a new connection Flags allow hosts to easily recognize new connection requests.

TCP Connections and Port Numbers n n n The initial sequence numbers can be

TCP Connections and Port Numbers n n n The initial sequence numbers can be set to any valid value, and often are not set to 0 Using these fields, happens independently in both directions So, the first segment in the three-way handshake of Figure sets the left-to-right sequence number; the second segment sets the right-to-left sequence number and also acknowledges the first segment; and the third segment acknowledges the right-to-left sequence number Connection termination can be accomplished in one of several ways In most benign cases a four-segment flow, as shown in the bottom half of Figure, with the ACK and FIN flags being used

Application and Operation of TCP Mechanisms

Application and Operation of TCP Mechanisms

Managing TCP Sessions n Sequence numbers are used to reconstruct the data stream with

Managing TCP Sessions n Sequence numbers are used to reconstruct the data stream with segments placed in the correct order

Managing TCP Sessions n Sequence numbers and acknowledgement numbers are used to manage exchanges

Managing TCP Sessions n Sequence numbers and acknowledgement numbers are used to manage exchanges in a conversation

Managing TCP Sessions 1 - 1500

Managing TCP Sessions 1 - 1500

UDP Protocol

UDP Protocol

UDP Protocol n Reassembling PDUs at the destination device, not possible

UDP Protocol n Reassembling PDUs at the destination device, not possible

UDP Protocol

UDP Protocol

TCP/IP Application Layer Protocols

TCP/IP Application Layer Protocols

TCP/IP Application Layer Protocols

TCP/IP Application Layer Protocols

Transmission Control Protocol

Transmission Control Protocol

Transmission Control Protocol

Transmission Control Protocol