TCP/IP TCP/IP Basics Alvin Kwan
TCP/IP What is TCP/IP? It is a protocol suite governing how data can be communicated in a network environment, both local and globally. To remind you what a protocol is, please read orkMobility/split/node10.html to learn a particular protocol known as ARQ (automatic repeat request) protocol orkMobility/split/node10.html orkMobility/split/node10.html
TCP/IP OSI vs. TCP/IP
TCP/IP History of TCP/IP (1/2) Stands for Transmission Control Protocol/Internet Protocol (TCP/IP) Developed by Defense Advanced Research Projects Agency (DARPA) under the sponsorship of U.S. Department of Defense (DoD) in since late 1960s 1972 – Telnet 1973 – File Transfer Protocol (FTP) 1974 – Transmission Control Protocol (TCP)
TCP/IP History of TCP/IP (2/2) 1980 – User Datagram Protocol (TCP) 1981 – Internet Protocol (TCP) 1982 – TCP/IP as a protocol suite 1984 – Domain Name System (DNS) 1991 – Transfer of funding responsibility from DAPRA to National Science Foundation (NSF), which started to turn the military originated protocols into civic use, notably in education sector
TCP/IP Some TCP/IP features It is an open standard, which is also adopted by the Internet. It offers a routable protocol such that the path of every piece of data that moves through the network is traceable. It adopts a single and simple addressing scheme which is easy to understand IP is a connectionless protocol (with data transferred in individual packets); whereas TCP is connection-oriented.
TCP/IP Connectionless vs. Connection-oriented Protocols (1/2) Connectionless protocols The data communication method occurs between hosts with no previous setup The data communication method occurs between hosts with no previous setup Send data across the network to its destination without guaranteeing receipt Send data across the network to its destination without guaranteeing receipt Higher layers handle packet sequencing and certain data integrity control issues Higher layers handle packet sequencing and certain data integrity control issues Fast; require little overhead Fast; require little overhead Most LAN protocols at the data link layer are connectionless Most LAN protocols at the data link layer are connectionless Data packets in a connectionless communication are referred to as datagrams Data packets in a connectionless communication are referred to as datagrams More to follow …
TCP/IP Connectionless vs. Connection-oriented Protocols (2/2) Connection-oriented protocols Establish a formal connection between two computers, guaranteeing the data will reach its destination Establish a formal connection between two computers, guaranteeing the data will reach its destination Higher layers can rely on low layers to handle matters of packet sequencing, data integrity, and delivery timeouts Higher layers can rely on low layers to handle matters of packet sequencing, data integrity, and delivery timeouts Slower but more reliable Slower but more reliable ATM networks are connection oriented at the data link layer ATM networks are connection oriented at the data link layer
TCP/IP Network Interface Layer (1/3) Lowest layer in the TCP/IP stack To define how a computer connects to a network It does not regulate the type of network that the host is on and thus TCP/IP can be run on an Ethernet, Token Ring or Fiber Distributed Data Interface (FDDI) or any other network topology
TCP/IP Network Interface Layer (2/3) Physical (or MAC) address, which is burnt into every network interface card (NIC) MAC address is usually represented in 12 hexadecimal digits (or 48 bits) First six hexadecimal digits uniquely represent the manufacturer First six hexadecimal digits uniquely represent the manufacturer Last six hexadecimal digits is a unique serial number that the card’s manufacturer has assigned to the NIC Last six hexadecimal digits is a unique serial number that the card’s manufacturer has assigned to the NIC
TCP/IP Network Interface Layer (3/3) For a TCP/IP packet to be delivered, it must contain the destination node’s MAC address so that a host can check whether the packet is directed to it. A broadcast packet is designed to be attended by all hosts and it has a target MAC address of FFFFFFFF, i.e., all bits set.
TCP/IP The Internet Layer The internal layer contains protocols for addressing and routing of packets. Internet Protocol (IP) Internet Protocol (IP) Address Resolution Protocol (ARP) Address Resolution Protocol (ARP) Internet Control Message Protocol (ICMP) Internet Control Message Protocol (ICMP) Internet Group Message Protocol (IGMP) Internet Group Message Protocol (IGMP) Routing protocols (e.g., RIP) Routing protocols (e.g., RIP)
TCP/IP Internet Protocol (1/2) To determine the source and destination IP addresses of every packet Every host on a network is assigned a unique IP address (logical address) IP address is divided into two parts: network number and host address on that network Based on the subnet mask and IP address, it can be decided whether the target is a “remote” host or a “local” host (and details will be given later)
TCP/IP Internet Protocol (2/2) For a remote host, IP needs to send the packet through a gateway or a router (which is also identified by an IP address). Connectionless and thus unreliable transmissiion
TCP/IP Address Resolution Protocol (ARP) Protocol to resolve an IP address to a physical address. The hardware address will be cached for a short time. To resolve an IP address to a physical address Try the ARP cache (kept in RAM) Try the ARP cache (kept in RAM) If not found in cache, initiate an ARP request broadcast and keep the result in cache If not found in cache, initiate an ARP request broadcast and keep the result in cache Try the command “ARP –A” in a command window Try the command “ARP –A” in a command window
TCP/IP ARP Command
TCP/IP Internet Control Message Protocol (ICMP) For sending error messages, performing diagnostics and controlling data flow Try “ping cite.hku.hk” to test the network connection to another host
TCP/IP Internet Group Message Protocol (IGMP) IGMP enables one host to send one stream of data to many hosts at the same time with the use of a multicast address Some routing protocols use IGMP to exchange routing tables
TCP/IP Routing Protocols Routing Information Protocol (RIP) Simple IP-based routing protocol that collects and exchange information about network route and status Simple IP-based routing protocol that collects and exchange information about network route and status Only suitable for small networks Only suitable for small networks Open Shortest Path First (OSPF) Typically used by routers to determine the best path through a network Typically used by routers to determine the best path through a network
TCP/IP Transport Layer Transmission Control Protocol (TCP) Primary IP transport protocol Primary IP transport protocol Connection-oriented and thus guarantee a more reliable delivery Connection-oriented and thus guarantee a more reliable delivery Use port numbers to identify communicating applications Use port numbers to identify communicating applications Responsible for message fragmentation and reassembly (with the use of sequence number) Responsible for message fragmentation and reassembly (with the use of sequence number) User Datagram Protocol (UDP) A connectionless transport protocol which runs faster A connectionless transport protocol which runs faster continued
TCP/IP TCP/IP Applications Domain Name System (DNS) For URL to IP-address translation For URL to IP-address translation File Transfer Protocol (FTP) Application protocol for file transfer and directory/file manipulation services Application protocol for file transfer and directory/file manipulation services Telnet For remote terminal sign-on For remote terminal sign-on Simple Mail Transport Protocol (SMTP) Provide messaging services (i.e., sending s) Provide messaging services (i.e., sending s) continued
TCP/IP IP Addressing IP is responsible for addressing and routing in the TCP/IP environment IP addresses Logical addresses, which are 32 bits (4 bytes) long Logical addresses, which are 32 bits (4 bytes) long A decimal number from 0 to 255, separated by periods, represents each byte or octet A decimal number from 0 to 255, separated by periods, represents each byte or octet Two sections Two sections One defines the network a computer is on One defines the host ID for a computer Example: Example:
TCP/IP IP Addressing Originally, three classes of IP addresses Class A Class A Large corporations ID numbers between 1 and 126 (in its first octet, or 8 bits) Class B Class B Medium-sized networks Network IDs between 128 and 191 (in its first octet, or 8 bits) Class C Class C Small networks Range from 192 to 223 (in its first octet, or 8 bits) IP address registries manage the total collection of valid IP addresses
TCP/IP IP Addressing IP addresses are rapidly becoming scarce TCP/IP’s technical governing body has reserved a series of addresses for private networks IETF is working on a new implementation of TCP/IP (IPv6) that uses addresses that are 8 bytes long but retain backward compatibility with IPv4 4-byte addresses
TCP/IP Classless Inter-domain Routing (CIDR) (1/2) A more efficient way to assign IP addresses than using IP address “classes” The network and host addresses boundary is not always made on octet boundaries, but may be made any specific number of bits from the beginning of the address Steal bits from the network address for use in the host address and this is also called supernetting A slash following IP address is used to indicate the number of bits of the network address, e.g., /22
TCP/IP Classless Inter-domain Routing (CIDR ) (2/2) Advantages Subnet ID may now be all 0’s or 1’s Subnet ID may now be all 0’s or 1’s Avoid of wasting a number of IP addresses when subnetting a Class C address Avoid of wasting a number of IP addresses when subnetting a Class C address Disadvantages Router support is needed Router support is needed All possible bit patterns used for supernetting a network are to be reserved to be used by that network only All possible bit patterns used for supernetting a network are to be reserved to be used by that network only
TCP/IP Subnet Masks The “all ones” bit pattern that masks the network portion of an IP address Class A address default: Class B address default: Class C address default:
TCP/IP Examples on Subnet Mask and Supernets See pp of the recommended reading
TCP/IP Dynamic Host Configuration Protocol (DHCP) A TCP/IP protocol that allows automatic IP addresses and subnet mask assignment Major benefit is ease with which computers can be moved Not suitable for systems that require a static address, such as web servers A dedicated host, which can be a router or a computer, to take the role of DHCP server
TCP/IP Readings