LAN Protocols (Week 3, Wednesday 9/10/2003) Abdou Illia, Fall 2003 1 Learning Objectives Explain how the most used LAN protocols work. TCP UDP IP 2 What is a protocol? Set of rules that govern data communication over a network Examples of protocols: Transmission Control Protocol (TCP), Internet Protocol (IP), Simple Mail Transfer Protocol (SMTP) Examples of protocol suites: TCP/IP IPX/SPX NetBEUI 3
Protocols in Windows 98 Network Dialog box in Windows 98 Figure 2.14: Network Dialog Box in Windows 98 Properties Button 4 TCP/IP protocol suite A suite of protocols rather than a protocol Protocol suite that govern data communication on the Internet Designed for use with wide range of network devices Main protocol of most computer operating systems Many troubleshooting and network analysis tools Understood by a large body of network professionals 5 continued 6
7 TCP/IP and Layered Communications Application HTTP req. req. Transport HTTP req. req. TCP-H Internet HTTP req. req. TCP-H IP-H IP-H Data Link DL-T HTTP req. req. TCP-H IP-H IP-H DL-H User Physical Q1: What are Transport layer messages called when TCP is used? Q2: What are Internet/Network layer messages called when UDP is used? 8 How TCP Works Establishes communication sessions between networked computers Provides reliable end-to-end delivery of data by controlling data flow Sequencing and acknowledging frames 9
TCP TCP Segment Bit 0 Bit 31 Source Port Number (16 bits) Destination Port Number (16 bits) Sequence Number (32 bits) Acknowledgment Number (32 bits) Header Length (4 bits) Reserved Flag Fields (6 bits) (6 bits) TCP Checksum (16 bits) Options (if any) Data Field Window Size (16 bits) Urgent Pointer (16 bits) Padding Flag fields are one-bit fields. They include SYN, ACK, FIN and RST. 10 TCP Segment Source Port Number and Dest. Port Number: Well-Known port number for server applications (See slide # 27) or Ephemeral port number (>1024 and < 65535) for client applications. Sequence Number: 32-bit sequential number for the frame. Enables TCP to ensure that all frames are received. Used to place frames back correct order. Acknowledgement Number: Number sent in ACK message to acknowledge frame reception. If ACK message not sent for a frame, frame is retransmitted. Header Length (Offset): Indicates the length of the header. Flag Fields: Used to identify the kind of TCP segment: SYN (Synchronization) for opening a connection, ACK (Acknowledgement) to acknowledge frame reception, FIN to close a connection. Used for control: RST (Reset) for an abrupt close, FLW (Flow control) to control transmission flow. Window Size: Indicates number of bytes to be transmitted before sender receives an ACK of receipt. When Window Size is reached Flow control is turned on to stop transmission until ACK is received. Checksum: 16-bit cyclic redundancy check computed based on values in all fields and placed in the frame by sending node. 11 TCP Segment Urgent Pointer: Provides a warning to the receiver that urgent data is coming. Also points to the end of the urgent data in the sequence. Options: Can hold additional information and flags about a transmission. Padding : Used when there is too little or no optional data to complete the required header length, which must be divisible by 32. 12
TCP Time Diagram 1. SYN (Open) Open 2. SYN, ACK (1) (Acknowledgement of 1) 3. ACK (2) 3-Way Open TCP is a Connection-Oriented Protocol 13 TCP Time Diagram Acknowledgements Each correct TCP segment is acknowledged (ACK), except for pure acknowledgements and resets Sender listens to be sure that each TCP segment is acknowledged If a segment is not acknowledged in a reasonable period of time, the sender resends it TCP is a reliable protocol 14 TCP Time Diagram Open (3) After Opening, Data are Transferred 1. SYN (Open) 2. SYN, ACK (1) (Acknowledgement of 1) 3. ACK (2) Carry HTTP Req & Resp (4) 4. Data = HTTP Request 5. ACK (4) 6. Data = HTTP Response 7. ACK (6) 15
TCP Time Diagram After Opening, Data are Transferred 8. Data = HTTP Request (Error) 9. Data = HTTP Request (No ACK so Retransmit) Carry HTTP Req & Resp (4) 10. ACK (9) 11. Data = HTTP Response 11. ACK (11) Q3: Is TCP a reliable protocol? Why? Q4: If there is an error in the transmission, which Transport process retransmits the damaged segment? 16 TCP Time Diagram Close (4) 12. FIN (Close) 13. ACK (12) 14. FIN 15. ACK (14) 4-Way Close is Normal 17 UDP Connectionless alternative to TCP that yields a lower overhead, but is less reliable Relies only on checksum to ensure reliability Handles and transmits data faster; performs no flow control, sequencing, or acknowledgment 18
UDP Datagrams UDP Datagram Bit 0 Bit 31 Sequence Port Number (16 bits) UDP Length (16 bits) Data Field Destination Port Number (16 bits) UDP Checksum (16 bits) 19 UDP Datagram UDP Datagram Connectionless and Unreliable Places a Lighter Load on the Network than TCP Useful Where the Loss of an Occasional Application Message is Not a Serious Problem As in Regular Network Status Messages Or Where There is No Time for Retransmission, As in Voice Transmission 20 TCP Versus UDP Layer Message name Processing power required Reliability Connections? TCP Transport TCP segment Heavyweight Reliable Connection-oriented UDP Transport UDP datagram Lightweight Unreliable Connectionless Q5: What protocol allows the sender to identify the Destination port number? 21
IP Enables packets to reach a destination on a local or remote network by using IP addresses Used in combination with TCP or UDP 22 IP 0100 IP Version 4 Packet Bit 0 Bit 31 Version (4 bits) Header Length (4 bits) Identification (16 bits) Time to Live (8 bits) Type of Service (8 bits) Total Length (16 bits) Flags Fragment Offset (13 bits) Protocol (8 bits) 1=ICMP, 6=TCP, Header Checksum (16 bits) 17=TCP Source IP Address (32 bits) Destination IP Address (32 bits) Options (if any) Padding Data Field 23 IPv4 Packets Version Has value of four (0100) Time to Live (TTL) Value is set by sender Decremented by one by each router along the way If reaches zero, router throws packet away Prevents the endless circulation of misaddressed packets 24
IPv4 Packets Protocol Identifies contents of data field 1 = ICMP 6 = TCP 17 =UDP Address Fields 32 bits long, of course Data Field ICMP, TCP, or UDP Message IP Header 25 Other slide 26 Port Numbers Port Number 20 23 25 53 80 139 From 172.171.18.22:20247 To: 172.168.17.13:80 Application (Service) File Transfer (FTP) Telnet applications (Telnet) E-mail (SMTP) DNS server applications Webservice (HTTP) NetBIOS applications From Ephemeral Port 20247 To Well-Known Port 80 Client 172.171.18.22 From 172.168.17.13:80 To: 128.172.18.22:20247 172.168.17.13 Port 80 From 172.171.18.22:19345 To: 1172.30.17.13:25 SMTP Server 172.30.17.13 Port 25 27