190 likes | 308 Views
Chabot College. ELEC 99.08 Ports (Layer 4). TCP/IP Protocol Suite (simplified). Layer 3 - Network Layer. In Chapters 10 & 11, we covered Layer 3 protocols: Internet Protocol (IP) Used for addressing Address Resolution Protocol (ARP) Used to relate IP and MAC addresses
E N D
Chabot College ELEC 99.08 Ports (Layer 4)
Layer 3 - Network Layer • In Chapters 10 & 11, we covered Layer 3 protocols: • Internet Protocol (IP) • Used for addressing • Address Resolution Protocol (ARP) • Used to relate IP and MAC addresses • Internet Control Message Protocol (ICMP) • Used for ping and traceroute commands
A Key Limitation of Layer 3 • No way to keep track of multiple conversations between between pairs of hosts running multiple applications. (e.g. mail & web)
4 Layer 4 - Transport Layer • Layer 4 uses port numbers to address this limitation.
Port Numbers • Layer 4 uses port numbers to direct data to/from correct upper layer application.
Port Numbers • Used to identify the application that Layer 4 should “hand off to.” • Like a “hole in the ceiling” that Layer 4 “throws” the data up into… • Applications “listen” on a particular port number. • IP address + port number = socketEach socket must be unique, and is another type of address.
TCP & UDP port numbers • TCP/UDP use 16 bits to represent a port number (65,536 possibilities). 1 - 255 Used for standard public applications Used by companies for specific apps 256 - 1023 1024 & up Unregulated, but many have been “registered” by companies for specific uses.Also, this range is used as dynamically assigned “source port” numbers by TCP.
Well-Known Port Numbers • Well-known port numbers are defined in RFC 1700. Port 80 is web/ www (TCP).
Non-Standard Port Numbers • A host can run its services on any port, not just on the well-known ones. • To direct traffic to a non-standard port, specify the port number after the IP address: http://banner-web.clpccd.cc.ca.us:7000
port Service (listening) 80 Web server 21 File server (FTP) 25 E-mail (SMTP) Port Numbers in Action Client LAYER 4 I want 207.35.52.4, but which service do I want? LAYER 3 207.35.52.4 LAYER 2 00-0c-4f-32-ab-41
Port Numbers in Action Client TCP port 80 207.35.52.4 00-0c-4f-32-ab-41 The client addresses the message with the port # of the service it wants.
TCP port 80 TCP port 21 207.35.52.4 207.35.52.4 00-0c-4f-32-ab-41 00-0c-4f-32-ab-41 TCP port 25 207.35.52.4 00-0c-4f-32-ab-41 Port Numbers in Action Client The client can maintain multiple conversations with the same host, but using different applications.
TCP port 1250 TCP port 80 24.1.103.109 207.35.52.4 00-4b-08-57-c6-9f 00-0c-4f-32-ab-41 Port Numbers in Action Web Server Client DESTINATION SOURCE Note that client applications, like web browsers, dynamically “grab” a source port number above 1023 when needed.
TCP port 80 TCP port 1250 207.35.52.4 24.1.103.109 00-0c-4f-32-ab-41 00-4b-08-57-c6-9f Port Numbers in Action Web Server Client DESTINATION SOURCE
An Example TCP Header : Sync Request TCP - Transport Control Protocol Source Port: 2352 Destination Port: 80 World Wide Web HTTP Sequence Number:102274726 Ack Number: 0 Offset: 7 Reserved: %000000 Code: %000010 Sync Sequence Window: 8192 Checksum: 0x6711 Urgent Pointer: 0 TCP Options:
An Example TCP Header: Acknowlegement TCP - Transport Control Protocol Source Port: 80 World Wide Web HTTP Destination Port: 2352 Sequence Number:2913145779 Ack Number:102274727 Offset: 6 Reserved: %000000 Code: %010010 Ack is valid Sync Sequence Window: 17520 Checksum: 0x9640 Urgent Pointer: 0 TCP Options: