1 LAN Protocols (Week 3, Wednesday 9/10/2003) © Abdou Illia, Fall 2003
2 Learning Objectives Explain how the most used LAN protocols work. TCP UDP IP
3 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
4 Protocols in Windows 98 Network Dialog box in Windows 98
5 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
6 continued…
7
8 DL-T TCP/IP and Layered Communications Application Transport Internet Data Link HTTP req. Physical User PC HTTP req. TCP-H HTTP req. TCP-H IP-H HTTP req. TCP-H IP-H DL-H Q1: What are Transport layer messages called when TCP is used? Q2: What are Transport layer messages called when UDP is used?
9 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
10 TCP Source Port Number (16 bits)Destination Port Number (16 bits) Sequence Number (32 bits) Acknowledgment Number (32 bits) Window Size (16 bits) Header Length (4 bits) Reserved (6 bits) Flag Fields (6 bits) Options (if any) TCP Checksum (16 bits)Urgent Pointer (16 bits) Padding Data Field Bit 0Bit 31 Flag fields are one-bit fields. They include SYN, ACK, FIN and RST. TCP Segment
11 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 PC applications. Sequence Number: 32-bit sequential number for the frame. Enables TCP to ensure that all frames are received. Used to place frames back in 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.
12 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.
13 TCP Time Diagram PC Transport Process Webserver Transport Process 1. SYN (Open) 2. SYN, ACK (1) (Acknowledgement of 1) 3. ACK (2) Open 3-Way Open TCP is a Connection-Oriented Protocol
14 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
15 TCP Time Diagram PC Transport Process Webserver Transport Process 1. SYN (Open) 2. SYN, ACK (1) (Acknowledgement of 1) 3. ACK (2) 4. Data = HTTP Request 5. ACK (4) 6. Data = HTTP Response 7. ACK (6) Open (3) Carry HTTP Req & Resp (4) After Opening, Data are Transferred
16 TCP Time Diagram PC Transport Process Webserver Transport Process 8. Data = HTTP Request (Error) 9. Data = HTTP Request (No ACK so Retransmit) 10. ACK (9) 11. Data = HTTP Response Carry HTTP Req & Resp (4) After Opening, Data are Transferred 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?
17 TCP Time Diagram PC Transport Process Webserver Transport Process 12. FIN (Close) 13. ACK (12) 14. FIN 15. ACK (14) Close (4) 4-Way Close is Normal
18 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
19 UDP Datagrams Sequence Port Number (16 bits)Destination Port Number (16 bits) UDP Length (16 bits)UDP Checksum (16 bits) Data Field Bit 0Bit 31 UDP Datagram
20 UDP Datagram PC Transport Process Webserver Transport Process 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
21 TCP Versus UDP TCPUDP Layer Message name Processing power required Reliability Connections? Transport TCP segmentUDP datagram ReliableUnreliable Connection-orientedConnectionless HeavyweightLightweight
22 IP Enables packets to reach a destination on a local or remote network by using IP addresses Used in combination with TCP or UDP
23 IP Total Length (16 bits) Identification (16 bits) Header Checksum (16 bits) Time to Live (8 bits) Flags Protocol (8 bits) 1=ICMP, 6=TCP, 17=TCP Bit 0Bit 31 IP Version 4 Packet Source IP Address (32 bits) Fragment Offset (13 bits) Type of Service (8 bits) Header Length (4 bits) Version (4 bits) Destination IP Address (32 bits) Options (if any)Padding Data Field 0100
24 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 mis- addressed packets
25 IPv4 Packets Protocol Identifies contents of data field 1 = ICMP 6 = TCP 17 =UDP Address Fields 32 bits long, of course IP Header Data Field ICMP, TCP, or UDP Message
26 Other slide
27 Port Numbers Port NumberApplication (Service) 20File Transfer (FTP) 23Telnet applications (Telnet) 25 (SMTP) 53DNS server applications 80Webservice (HTTP) 139NetBIOS applications Client PC Webserver Port 80 SMTP Server Port 25 From Ephemeral Port To Well-Known Port 80 From :20247 To: :80 From :80 To: :20247 From :19345 To: :25