420 likes | 488 Views
TCP/IP Basics. Alvin Kwan. What is TCP/IP?. It is a protocol suite governing how data can be communicated in a network environment, both local and globally.
E N D
TCP/IP Basics Alvin Kwan
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 http://www.leapforum.org/published/internetworkMobility/split/node10.htmlto learn a particular protocol known as ARQ (automatic repeat request) protocol
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)
History of TCP/IP (2/2) • 1980 – User Datagram Protocol (TCP) • 1981 – Internet Protocol (IP) • 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
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 without prior arrangement with the recipient whereas TCP is connection-oriented.
Connectionless vs. Connection-oriented Protocols (1/2) • Connectionless protocols • The data communication method occurs between hosts with no previous setup • Send data across the network to its destination without guaranteeing receipt • Higher layers handle packet sequencing and certain data integrity control issues • Fast; require little overhead • Most LAN protocols at the data link layer are connectionless • Data packets in a connectionless communication over the network layer are referred to as datagrams More to follow …
Connectionless vs. Connection-oriented Protocols (2/2) • Connection-oriented protocols • 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 • Slower but more reliable • ATM networks are connection oriented at the data link layer
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
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 • Last six hexadecimal digits is a unique serial number that the card’s manufacturer has assigned to the NIC
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.
Exercise: Finding Ethernet Card Manufacturer • Get the MAC address by executing “ipconfig /all” in a Microsoft command window. • Look for the first six hexadecimal digits of the physical address which is the Organizational Unique Identifier (OUI) • Go to http://standards.ieee.org/regauth/oui/index.shtmland use the OUI to check the Ethernet card manufacturer
The Internet Layer • The internal layer contains protocols for addressing and routing of packets. • Internet Protocol (IP) • Address Resolution Protocol (ARP) • Internet Control Message Protocol (ICMP) • Internet Group Message Protocol (IGMP) • Routing protocols (e.g., RIP)
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)
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). • IP is connectionless and thus support an unreliable transmission
Address Resolution Protocol (ARP) • Protocol to resolve an IP address to a physical address (see details in Wikipedia) • The hardware address will be cached for a short time (2-10 minutes). • To resolve an IP address to a physical address • Try the ARP cache (kept in RAM) • 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
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
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 (which will be discussed later)
Routing Protocols (More discussion on routing in another lesson) • Routing Information Protocol (RIP) • Simple IP-based routing protocol that collects and exchange information about network route and status • Only suitable for small networks • Open Shortest Path First (OSPF) • Typically used by routers to determine the best path through a network
Transport Layer • Transmission Control Protocol (TCP) • Primary IP transport protocol • Connection-oriented and thus guarantee a more reliable delivery • Use port numbers to identify communicating applications • Responsible for message fragmentation and reassembly (with the use of sequence number) • User Datagram Protocol (UDP) • A connectionless transport protocol which runs faster continued
Transmission Control Protocol • TCP adopts a 3-way handshake to establish a connection for data communication. • The client application sends a SYN to the server. • In response, the server replies with a SYN-ACK. • Finally the client sends an ACK (usually called SYN-ACK-ACK) back to the server.
TCP/IP Applications • Domain Name System (DNS) • For URL to IP-address translation • File Transfer Protocol (FTP) • Application protocol for file transfer and directory/file manipulation services • Telnet • For remote terminal sign-on • Simple Mail Transport Protocol (SMTP) • Provide messaging services (i.e., sending e-mails) continued
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 • A decimal number from 0 to 255, separated by periods, represents each byte or octet • Two sections • One defines the network a computer is on (i.e. network ID) • One defines the host ID for a computer (i.e. host ID) • All devices on the same network share the same common network ID • Example: 172.24.206.18
Classful Network (1/3) • Originally, three classes of IP addresses (which is obsolete on modern internet) • Class A • Large corporations • ID numbers between 1 and 126 (in its first octet, or 8 bits) • Class B • Medium-sized networks • Network IDs between 128 and 191 (in its first octet, or 8 bits) • 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
Classful Network (3/3) • The number of valid networks and hosts available is always 2N - 2 (where N is the number of bits used, and the 2 adjusts for the invalidity of the first and last addresses).
Subnetting (1/2) • Subnetting allows a single larger network to have a number of smaller networks within it by allocating bits from the host portion as a network portion.
Subnetting (2/2) • A subnet mask is made of a sequence of 1’s followed by a sequence of 0’s. • To reduce network traffic, routers are usually used to separate subnets. • Questions: • How many subnets can be formed in the previous example for a classful network? • What is the size of each subnet for a classful network in the previous example?
Problem of Classful Network • The principal problem was that most sites were too big for a "class C" network number, and received a "class B" number instead. With the rapid growth of the Internet, the available pool of class B addresses was rapidly used up. • To solve the problem, classful network was replaced by classless inter-domain routing (CIDR) around 1993.
Classless Inter-domain Routing (CIDR) • 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 • A slash following IP address is used to indicate the number of bits of the network ID, e.g., 192.203.187.32 /22 • Steal bits from the network address for use in the host address and this is also called supernetting
Pros and Cons of CIDR • Advantages • 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 • Disadvantage • Router support is needed • Complexity
Exercise: Network Calculator • Go to http://www.subnetmask.info/ to try to use the network calculator for computing the subnet mask.
Why IPv6 • 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
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
References • Relevant pages in Wikipedia • http://www.firewall.cx/supernetting-intro.php • http://www.wown.com/j_helmig/tcpip.htm • http://www.yale.edu/pclt/COMM/TCPIP.HTM • http://www.ii.uib.no/~magnus/TCP-1.html http://www.pcsupportadvisor.com/search/c04100.htm