This document summarizes several internet protocols including IP, TCP, UDP, and ICMP. It describes key aspects of each protocol such as their purpose, packet structure, error handling mechanisms, and how they interact to enable communication over the internet. IP is a connectionless protocol that forwards packets based on destination addresses. TCP and UDP are transport layer protocols, with TCP providing reliable connections and UDP being connectionless. ICMP provides error reporting and control for IP. Port numbers and sockets are used to direct communication to specific applications.
Report
Share
Report
Share
1 of 48
More Related Content
Tcp Udp Icmp And The Transport Layer
1. TCP,UDP, ICMP and the transport layer Lecture February 4,2001 Professor Tom Mavroidis
2. Protocols IP is a connectionless, datagram-oritented, and packet forwarding protocol IP sends a packet based on the destination IP address and routing information held internally within the protocol Packets may pass through several gateways or hops before reaching their destination
3. IP - Internet Protocol Unreliable protocol relies on best-effort delivery packets are not acknowledged Designed to be simple, efficient, and straightforward to implement
4. ICMP - Internet Control Message Protocol Located in the Network Layer Purpose is to provide error control to IP Two basic types of messages: error control and querying
5. Common error control ICMP messages 3 Destination Unreachable 4 Source Quench 5 Redirection 11 Time Exceeded 12 Parameter Problem
7. UDP - User Datagram Protocol Transport-layer Protocol Used mainly for one way, short communications datagrams don’t contain information about other packets Each packet independent of each other Messages can be no larger than the max UDP packet size
8. UDP - continued Lack of error control Checksum is only check, packet is dropped if incorrect Relies on ICMP for error control Good alternative for short messages without large communications overhead used by TCP
9. TCP - Transmission Control Protocol Used where reliable communications is required Provisions for error control, streaming data, and two way communications Connections are managed both ways using flags in the TCP packet header
10. Three way handshake TCP SYN(synchronize) - sent at the beginning of a connection from source host. Contains initialization information. ACK(acknowledgement) - sent when packet has been received by the destination host SYN - then sent by destination host ACK - sent by source host
11. TCP error control Implemented through the ACK flag Each packet numbered and a timer is started on transmission Packet is retransmitted if ACK not received before timeout
12. IP Packet Format - Header Length field Specifies length of header Is in 32-bit works Maximum header size of 60 bytes Normally length is 5
13. Version Field Carries the current version of IP Currently 4 IPv4 Next version will be 6 IPv6 Also called Ipng - next generation
14. Service Type Field Used by some routers when deciding how to forward the datagram Choices are quickest, cheapest, most reliable, or highest bandwidth Datagram can be sent with no Service Type flag set
15. Total Length Field Overall size of the datagram in bytes including the header Maximum datagram size of 65,536 bytes or 64kb
16. Identification, Flags, and Fragment Offset fields Used to control fragmentation and reassembly of datagrams if necessary
17. Time to live field Counter that is decremented every time the packet crosses a gateway. When counter reaches 0 packet is discarded
18. Protocol Field Indicates which transport protocol is to receive the packet at the destination All IP protocols (TCP,UDP,ICMP) carry checksums of their own headers and data The header checksum only covers the IP header to avoid redundancy Corrupt IP layer datagrams are discarded at the same layer at the receiving end
19. IP Options Can be used to cover the routing strict- or loose-source routing security and handling restrictions can record the addresses of routers the datagram passes through and at what time some routers ignore these options
20. IP Checksum Adds considerable overhead IPv6 is removing this checksum
21. Type of Service (TOS) Allows a packet to be routed : minimal delay maximal throughput maximal reliability minimal cost
22. Fragmentation and Reassembly Transport layer passes data to IP IP organizes data into datagram If datagram is larger than Maximum Transmission Unit (MTU), IP will split data into smaller packets called fragments Fragments are encapsulated in individual IP packets, sent to destination host, and then reassembled.
23. Fragmentation and Reassembly Packets could be routed via different routes Therefore reassembly only takes place at the destination host MTU’s may vary from network to network If datagram containing a fragment encounters a network with a smaller MTU, the fragment is fragmented further
24. Fragmentation and Reassembly You can specify to the Transport layer that a datagram not be fragmented. If the packet finds a network with a smaller MTU, it will be discarded and ICMP will cause an error message to be sent back
25. Record Route Option The route that the packet took is inserted into the IP Header in the sequence that it passed through all routers The IP addresses of the routers is recorded There is a limited amount of space to record this information, and data will be truncated Instead use a utility like Traceroute
26. Timestamp Option Extension to Record Route Time and date packet passed through router is recorded with its IP address Same space limitations as Record Route Times on routers may not be synchronized giving misleading information Not a popular method and many routers don’t support it
27. Source Routing Specifies which route a packet follows Two Methods Loose-source routing (specifies a list of routers the packet must pass through, may also pass through routers not listed) Strict-source routing (explicitly specifies which routers the packet must pass through, and may not travel via any that are not listed
28. Source Routing Many routers refuse to accept source-routed packets Routing is usually controlled via the use of policy-based dynamic routing protocols
29. Error Handling - ICMP IP has no built in error handling ICMP adds error reporting to IP resides at the Network Layer uses IP as its carrier used for flow control as well -source quench can request info i.e. timestamp, echo to ping also sent in response to broadcast datagrams
30. ICMP Header Format ICMP messages are encapsulated in IP datagrams Message has 4 parts type of message (15 different types) message code (subtype, 16 different types) checksum (covers both header and data) data (will differ depending on type and code)
31. ICMP Message types 8 echo request (sent by ping) 0 echo reply (received by ping) 3 destination unreachable 4 source quench 5 redirect 9 router advertisement 10 router solicitation 11 Time exceeded 12 Parameter problem 13 Timestamp request 14 Timestamp reply 15 Information request (obsolete) 16 Information reply (obsolete) 17 Address mask request 18 Address mask reply
32. TCP and the Transport Layer Lives above the IP Layer adds the missing pieces to IP offers a way to talk to a specific application or host reliable data transfer mechanism way to send a continuous data stream flow control of data
33. The Transport Layer Directs data to and from applications across networks Two types of protocols are connectionless (no guarantee of delivery to destination) connection-oriented (establish connection, transfer data, close connection)
34. Connection Oriented Two-way connection Similar to that of a telephone conversation Reliable guaranteed delivery of data
36. Frame Format TCP supports full duplex, byte-stream-oriented communication between processes The data stream must be broken into segments that can be encapsulated in IP datagrams for transmissions “ Source Port” and “Destination Port” identify the sending and receiving applications
45. TCP Handshaking Six flags SYN Sync seq #’s to initiate a connection ACK Acknowledgment frame RST Reset the connection URG Urgent incoming data PSH Pass data onto the app ASAP
46. TCP Flow Control Indicates how many bytes of data can safely be received at any time, called the window Window size is the max # of bytes that can be sent without receiving an ACK. Receiver stores up segments regardless of the order they arrive in. If duplicate segments are received they are discarded
47. Ports and Sockets A method for piping a data flow to and from a particular application A socket is a pair of data queues for an application process (one send one receive) A port is an address on a socket Incoming data is bound via its port address to a socket
48. Port Numbers Servers listen on specific ports waiting for clients (RFC 1700) Ports 1 to 1023 are managed by IANA (InterNet Assigned Numbers Authority) reserved for well-known services known as privileged ports