Lesson 1: TCP/IP Protocols

At a Glance Protocols are the rules and procedures that govern communications between devices on a network. Actually, you can find protocols throughout the computer, data communications, and network field. Protocols are used in all these areas to define the way in which devices communicate. They govern how a modem and computer communicate, how a video display adapter accesses computer memory, how a file is transferred over the Internet, and how a telephone connects to the telephone network. With regard to networks, protocols operate at every layer of the OSI model. There are physical layer protocols, data link layer protocols, network layer protocols, etc. The protocols that operate at each layer offer essentially the same services. However, while the protocols at each layer may provide similar features, how they do their job and what features are implemented varies. One of the most important sets of protocols in networking today is TCP/IP. It is the backbone of the Internet and is everywhere—from the smallest to the largest network. You will encounter TCP/IP on a Macintosh connected via a modem to the Internet, on a small LAN connected via a router to the Internet, on a corporate intranet, and on a wide area network connecting worldwide sites of a large corporation. Of the protocol sets presented, TCP/IP is becoming the universal protocol.

What You Will Learn After completed this lesson, you will be able to:  Define the purpose and function of a protocol.  Explain difference between a routable and a non-routable protocol  Explain the purpose of a protocol stack.  Define relationship of TCP/IP to the OSI model.  List the major features and protocols of the TCP/IP suite.  Explain the different protocols that make up TCP/IP work together.  List the addressing schemes used by TCP/IP.  Describe the addressing schemes used by TCP/IP.  Explain the practice of subnetting.

1 Introduction to TCP/IP Unit 4

Student Notes:

2 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

Tech Talk  Address Mask - A 32 bit binary quantity that separates the network portion of an address from the host portion.  ARP - Address Resolution Protocol. The interface between IP (layer 3), and a multi-access layer 2 protocol supporting it, through which physical address are mapped to logical addresses.  ARPANET - The pioneer long haul (WAN) network funded in the mid-1960's by the United States Department of Defense's Advanced Research Projects Agency (ARPA). It is possible to trace today's Internet directly to the original ARPANET  Best Effort Delivery - The characteristic of a network that does not guarantee packet delivery. IP is a best effort protocol. Compare with X.25 that guarantees error-free delivery.  BSD UNIX - Berkeley Standard Delivery UNIX. An operating system common in educational and research institutions of the 1970's. ARPA funded the addition of TCP/IP to the BSD operating system assuring it as a standard for inter- computer communication.  Distance-Vector - A family of routing protocols, including RIP, in which routers maintain a database of next hops for any route that is not directly connected.  DNS - Domain Name System. The on-line, distributed database system used to map human readable "domain names", (e.g. www.nortel.com) into their corresponding IP addresses.  Domain - A part of the DNS naming hierarchy. Syntactically, a domain name consists of a sequence of names (labels) separated by periods (dots).  Dotted Decimal Notation - The syntactic representation for a 32-bit integer that consists of four 8-bit numbers (octets) with periods (dots) separating them. Many TCP/IP application programs accept dotted decimal notation in place of destination machine names.  FTP - File Transfer Protocol. The TCP/IP application layer protocol for transferring files from one machine to another. It is normally implemented as an application program and uses the TELNET and TCP protocols. The server side requires a client to supply a log-in identifier and password before it honors requests.  ICMP - Internet Control Message Protocol .Part of the TCP/IP suite used for communicating information about the network.

DRAFT 3 Introduction to TCP/IP Unit 4

 IP - Internet Protocol. The TCP/IP standard layer 3 protocol that defines the IP datagram as the unit of information passed across an internet. IP provides the basis for connectionless, best-effort packet delivery service,  IP Address - The 32-bit address assigned to hosts participating in a TCP/IP Internet. IP addresses are the abstraction of physical hardware addresses (MAC address) like an internet is an abstraction of physical networks. An IP address is divided into a network portion (NetID) and a host portion (HostID).  IP Datagram - The basic unit of information passed across a TCP/IP Internet.  Link-State - A family of routing protocol, including OSPF, in which each router maintains a map of the entire local network.  Multihomed Host - A host with interfaces that connect it to more than one physical network.  Port - A mechanism, provided by IP, for addressing separate process on a single host machine.  RFC - Request for Comment. The series of edited, but not referred notes in which most of the TCP/IP standards are documented.  RIP - Routing Information Protocol. A simple, limited distance-vector routing protocol.  SMTP - Simple Mail Transfer Protocol. The TCP/IP standard protocol for transferring electronic mail messages. SMTP defines how mail systems interact as well as specifying formats and control messages.  SNMP - Simple Network Management Protocol. A TCP/IP standard protocol used for monitoring devices on an internet.  Subnet Address - An extension of the IP addressing scheme allowing a site to use a single IP network address for multiple physical networks.  Subnet Mask - A bit mask used to select bits from an IP address for subnet addressing. The mask is 32 bits long and selects the network ID portion of the IP address and one or more bits of the local portion.  TCP - Transmission Control Protocol. The TCP/IP transport level protocol that provides reliable, end-to-end delivery of data. TCP allows a process on one machine to send data to a process on another machine.  TCP/IP - The entire protocol suite is often referred to as TCP/IP because TCP and IP are the two fundamental protocols.

4 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

 Telnet - The TCP/IP standard protocol for remote terminal connection service. Telnet allows a user at one site to interact with a remote system as if the user's system were directly connected to the remote system.  UDP - User Datagram Protocol. The TCP/IP protocol that allows a process on one machine to send a datagram to a process on another machine. UDP uses IP to deliver datagrams. UDP datagrams include a port number allowing the sender to distinguish among multiple destinations.  Well-Known Port -A group of ports reserved, by convention, for specific services.

DRAFT 5 Introduction to TCP/IP Unit 4

History of TCP/IP In the late 1960's, the United States Department of Defense Advance Research Projects Agency funded research for a prototype network, the ARPANET. The goal was to build a communications system that could withstand a catastrophic nuclear disaster. Another goal was to encourage communications among major research institutions. This facilitated communications among major research institutions and the military. This project ultimately became the Internet. As ARPANET developed into the Internet, many other computer networks began to connect to it. These networks were very different from one another, using different equipment and different operating software. This created a need for a “common language” allowing diverse computer networks to communicate. In 1974 a UCLA graduate student, Vinton Cerf, and an MIT professor, Robert Kahn, developed the first version of the Transmission Control Protocol/Internet Protocol (TCP/IP) protocols. Over the next 8 years TCP/IP became the standard suite of protocols for inter- computer communications. Although other protocols had strong support at that time, TCP/IP was freely available and was popular at universities. Today, these protocols are among the most popular in use.

Routable vs. Nonroutable Protocols In the early days of local area networks, networks were an isolated entity. As such, protocol developers did not need to concerns themselves with moving data from network to network. Therefore, early protocols were non-routable. That is they did not understand how to move data from one LAN to another. With the advent of internetworks came the need for protocols that could decide whether data was for a local network or for another network on the internet. There also needed to be protocols to move the data once it was determined where it should go. Protocols that can perform these tasks are called routable protocols. Non-routable protocols can function only within a LAN.

Protocol Suite Protocols often work together as a group, such as TCP/IP, AppleTalk, or NetWare. These groups of protocols are known as protocol suites. They are also sometimes referred to as protocol stacks.

6 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

Check Your Understanding 1. One protocol exists for each layer of the OSI model. a. True b. False 2. Which of the following are protocol stacks. (select 2) a. TCP/IP b. 802.3 c. 100BASET d. FTP e. AppleTalk 3. A protocol stack is ______. a. NetWare b. Layer 2, 3, and 4 of the OSI model c. A set of integrated protocols that offer a unified set of features d. None of the above 4. A routable protocol supports more than one internetworked LAN. a. True b. False

TCP/IP vs. OSI Model In lesson 2-1 you learned about the seven-layer OSI model and how it compartmentalizes the process of sending information through a network. TCP/IP at the lower 4 layers follows this model, but at the upper 3 layers combines session, presentation, and application tasks in a single layer. While the tasks performed by TCP/IP are those identified by the OSI model, they divide up them up somewhat differently. The reason this TCP/IP divides these tasks somewhat differently lies in the development of TCP/IP and OSI. TCP/IP was developed in the late 1970's to address the problem of lack of standards between different systems connected to the ARPANET. The OSI model was developed several years later to address similar issues with increasingly popular local area networks. While the layers and functions of those layers are similar between the OSI model and TCP/IP, there are differences.  TCP/IP is a 5-layer protocol  TCP/IP application layer = OSI application, presentation and session layers  Data link and physical layers are unspecified; supports most LAN technologies The figure shows the relationship between the OSI model and TCP/IP.

DRAFT 7 Introduction to TCP/IP Unit 4

TCP/IP vs. OSI Model

Application H S F S D T M T N N Presentation T T P M S P P P Session Application

Transport TCP UDP

Network IP

Data Link Data Link Physical Physical OSI TCP/IP

Overview of TCP/IP Protocols We'll now look at the major protocols that comprise the TCP/IP protocol stack. An overview of application, transport, and network layer protocols is provided here. More detailed descriptions are provided later for the transport and network layer protocols.

Physical and Data Link Layers TCP/IP operates independently of the physical and data link layer protocols. It supports all standard LAN and WAN networks. TCP/IP, therefore, does not specify protocols for these layers. The data link layer uses a frame as its data unit.

Layers 1 – 4

8 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

Application H S F S D T M T N N Presentation T T P M S P P P Session Application

Transport TCP UDP

Network IP

Data Link Data Link Physical Physical OSI TCP/IP

Network Layer – IP At the network layer, TCP/IP provides the Internet Protocol (the IP in TCP/IP). IP provides the requisite network layer functions to deliver data across networks. This protocol is the backbone of the Internet and moves data from network to network via a worldwide system of routers. The network layer uses a packet as its data unit.

DRAFT 9 Introduction to TCP/IP Unit 4

Transport Layer – TCP and UDP The Transmission Control Protocol (the TCP in TCP/IP) provides end-to-end delivery of data as required of a transport layer protocol. This end-to-end delivery does not stop at the device. Since most systems today are capable of running multiple applications simultaneously, the data must be delivered to the appropriate application. Any application running on a device is called a process. TCP and UDP provide facilities for process-to-process delivery of data. The TCP/IP transport layer uses a user datagrams as its data unit.

Application Layer – HTTP, SMTP, FTP, SNMP, Telnet The TCP/IP application layer is equivalent to the session, presentation, and application layers of the OSI model. In other words, the TCP/IP application layer handles the functions that are specified to occur in these OSI layers. These are the protocols with which you are probably most familiar because they relate directly to the most common processes: e-mail, web browsing, downloading files, etc.

Application Layer

Application H S F S D T M T N N Presentation T T P M S P P P Session Application

Transport TCP UDP

Network IP

Data Link Data Link Physical Physical OSI TCP/IP

10 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

HTTP

HTTP (HyperText Transfer Protocol) is the language that processes the pages you access on the World Wide Web. HTTP handles formatting of pages and HyperText links that allow you to navigate from page to page.

SMTP SMTP (Simple Mail Transfer Protocol) is the protocol that provides electronic mail services. Whenever you send an email message over the Internet, it is SMTP that handles the transfer of the mail.

FTP The File Transfer Protocol (FTP) is used to transfer files between devices over a TCP/IP network. FTP uses the transport services of TCP to provide a reliable, connection-oriented service. It is commonly used when downloading files from the Internet.

SNMP Simple Network Management Protocol (SNMP) is a TCP/IP protocol that supports management of network devices. Management allows a network administrator to configure devices, monitor network performance, detect and locate problems, map the topology, and control network security.

Telnet The Telnet protocol supports remote log-in to a host from another host on the network. Two hosts connected via Telnet form a client/server relationship. The device making the request is seen as the client and the one serving the request is seen as the server. Telnet is used in a variety of ways including connecting to a device to configure the device, to control a remote computer, or manage a remote web server.

DNS Domain Name Service (DNS) is a centralized directory service that equates a unique name with a hosts IP address. You use DNS names everyday when you send email ([email protected]) or access a web site (www.anycollege.edu). It is a hierarchy of DNS servers that maintain the lists of host names and IP addresses.

DRAFT 11 Introduction to TCP/IP Unit 4

Internet Protocol (IP) The heart of TCP/IP lies in its internetwork protocol, IP. This protocol provides network layer functionality to move data from network to network across an internetwork. IP moves data over any data link and physical layer protocols This allows an internetwork to be of any combination of transmission medium, media access method, physical addressing or topology. In real terms, this means this internetwork shown on the opposite page is made possible by IP.

IP Features Two features often found as part of a network layer protocol are missing from IP. While a network layer protocol is usually guarantees reliable delivery of data, IP makes no such promise. IP provides no error checking and no means by which to report to the sender the outcome of a packet reception. Therefore, IP is known as an unreliable protocol. Not to worry, while IP does not provide error checking or reporting, its higher-layer partner, TCP does. Another issue with IP is that it is a connectionless protocol. IP moves data from end- to-end without establishing a virtual circuit. This means that each packet moves from end-to-end independently, even if there are many packets of data that are part of the same message (a single file for example). Data packets that are sent along different routes to reach their destination may arrive out of sequence. Again, TCP is responsible; in this case for reassembling a message from its individual packets.

Transport Layer Services Transport layer protocols are responsible for reliable, error-free, end-to-end delivery of data. The transport layer is also responsible for message segmentation and reassembly. UDP and its counterpart, TCP, both handle these functions within TCP/IP.

12 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

User Datagram Protocol (UDP) The User Datagram Protocol (UDP) is a connectionless protocol that operates at the transport layer. Another protocol, TCP (Transmission Control Protocol), also operates at the transport layer and provides connection-oriented services. We will first discuss UDP since it is the simpler of the two protocols and much of what is true of UDP is true for TCP. Two of the primary responsibilities of a transport layer protocol are end-to-end delivery of data and making sure that data is delivered error-free (no loss, duplication, or corruption). UDP handles the first responsibility, but it offers only limited facilities for ensuring error-free delivery. Before we describe how UDP handles end-to-end delivery, we need to look at what that means in a TCP/IP-based network. Since computers are capable of running multiple programs at one time (such as Microsoft Word, Adobe PhotoShop, Eudora Pro, and Corel Draw), delivery of data from the source device to the receiving device is not enough. The data must be delivered not only to the receiving device, but to the correct application as well. UDP, and TCP as well, do this by sending and receiving data not only from source to destination device but source to destination application as well. We will discuss how this is done in a moment. As far as error-free delivery is concerned, UDP was designed as a fast, low overhead protocol. As such, UDP provides no facility for ensuring data arrives without loss or duplication. It only provides limited error checking. Upper layer protocols that require these additional facilities utilize the more robust TCP protocol.

DRAFT 13 Introduction to TCP/IP Unit 4

Ports Data must be delivered not only to the correct destination device but also to the correct destination application. UDP and TCP perform this task by utilizing another level of addressing called a port. Just as a personal computer has a variety of interface ports (such as serial, parallel, SCSI, and USB), TCP/IP uses a port to identify different application programs. Each application that runs has a unique port number. Port numbers have been defined for many common applications and these port numbers range from 0 to 65535. UDP Port

FTP Telnet SMPT FTP Telnet SMPT

Port 1 Port 2 Port 3 Port 1 Port 2 Port 3

UDP UDP

IP IP

Data Link Data Link Physical Physical

14 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) is the more capable version of the transport layer protocol UDP. TCP provides end-to-end delivery, reliable delivery, port addressing, and flow control. Just like UDP and a basic requirement of any transport layer protocol, TCP is responsible for end-to-end delivery of data. In addition, like UDP, end-to-end delivery means delivering data to the appropriate application. TCP port addressing is identical to UDP port addressing. TCP/IP provides several checks to ensure error-free and complete delivery. Unlike UDP, TCP provides error checking and reporting. As each packet of data arrives, TCP performs a checksum, and reports the success or failure back to the sender. If the packet arrives damaged, the failure is reported and the sender can resend the packet. A feature of transport layer protocols is segmentation—the division of a single message into multiple pieces. Sequence control ensures that all packets of the original message are received in the proper order. To do this, TCP includes a sequence number in the header of each packet that is used by the receiver to put the packets in the correct order. Hand-in-hand with sequence control is loss and duplication control. TCP ensures that not only are all packets received error-free and can be put back into their proper order, but that no packets have been lost in transmission. TCP also makes sure that no packets are duplicated. To ensure that the receiving device is not overwhelmed with a flood of data, TCP provides flow control. If data is coming in to fast, TCP informs the receiver to reduce the data rate until it can catch up.

DRAFT 15 Introduction to TCP/IP Unit 4

Check Your Understanding 1. TCP/IP was developed to address what problem? a. Network congestion b. Connecting different systems with different language and encoding systems c. Different transmission speeds d. Geographical distances 2. TCP/IP is a ___ layer model. a. 7 b. 6 c. 5 d. 4 3. Internet Protocol (IP) is a ______layer protocol. a. Network b. Transport c. Session d. Data link 4. UDP provides reliable, error-free transmission. a. True b. False 5. TCP/IP does not specify protocols for the data link layer. a. True b. False 6. DNS is a network layer protocol a. True b. False 7. Which TCP/IP layer uses Port addressing. a. Application b. Session c. Transport d. Data link 8. IP is called a(n) ______protocol. a. Unicast

16 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

b. Unreliable c. Reentrant d. Universal 9. Which TCP/IP layer uses logical addressing? a. Physical b. Application c. Network d. Transport 10. TCP/IP uses a _____ bit address for the network and host address. a. 64 b. 128 c. 32 d. 48

DRAFT 17 Introduction to TCP/IP Unit 4

IP Addressing TCP/IP uses three different types of addressing to move data throughout an internetwork: physical, logical, and port address. We have previously discussed the concept of physical and logical addresses. TCP/IP utilizes Data Link layer physical addresses to move data within a single LAN. To move data from LAN to LAN across the internetwork, it uses logical addresses. Finally, to move data from end-to-end (process-to-process), a port address is used.

Physical Address (Data Link Layer) The physical address is the MAC address specified in the Data Link layer frame. This address is used to move data to the correct device within a single LAN. The format of the address is specific to the particular Data Link layer protocol in use on a particular LAN, such as Ethernet or Token Ring.

Logical Address (Network Layer) TCP/IP provides logical addressing as required by the Network layer to support moving data from network to network independent of the Data Link layer protocol and the physical LAN. Remember that a logical address uniquely identifies a device on an internetwork while a physical address uniquely identifies a device on a particular LAN.

Dotted Decimal Notation To make it easier for people to read and understand Internet addresses, they are often written as four decimal numbers (32 bits), each separated by a dot. This format is call dotted decimal notation. The notation divides the 32-bit address into four 8-bit (byte) fields called octets and specifies the value of each field independently as a decimal number.

18 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

The address consists of a NetID, and HostID.

Network Address Host Address

Network ID This portion of the IP address uniquely identifies the network to which this address belongs. Information is routed to a destination network based upon this portion of the IP address.

Host ID This portion of the IP address uniquely identifies an individual device on a destination network. It is used when the packet reaches the destination network specified by the network ID.

Class A, B, and C Addresses There are three primary classes of IP addresses. Each class allocates a different number of bits to the NetID and HostID.  Class A addresses allow up 126 networks and up to 16,777,214 hosts/network

Host Address

Octet 1 Octet 2 Octet 3 Octet 4

Network Address

DRAFT 19 Introduction to TCP/IP Unit 4

 Class B addresses allow up to 16,384 networks and 65,534 hosts/network

Host Address

Octet 1 Octet 2 Octet 3 Octet 4

Network Address

 Class C addresses allow up to 2,097,152 networks and 254 hosts/network

Host Address

Octet 1 Octet 2 Octet 3 Octet 4

Network Address

Two additional classes, Class D and E, are reserved for special uses. The valid network numbers for each Class are given below. The "hhh" represents the host portion of the address that is assigned by the network administrator. Class A: 001.hhh.hhh.hhh through 126.hhh.hhh.hhh Class B: 128.001.hhh.hhh through 191.254.hhh.hhh Class C: 192.000.001.hhh through 223.255.254.hhh

20 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

Addressing Rules The bits used to define the host portion (HostID) of an Internet address should not be all one bits. According to the standard, any Internet address with the host portion consisting of all ones is interpreted as meaning "all", as in "all hosts." For example, the address 128.1.255.255 is interpreted as meaning all hosts on network 128.1. The bits used to define the network portion (NetID) of an Internet address should not be all zero bits. According to the standard, a host portion address of all zeros is interpreted as meaning "this," as in "this network." For example, the address 0.0.0.63 is interpreted as meaning host 63 on this network. The class A network number 127 is assigned the "loopback" function. This means that a datagram sent by a higher level protocol to a network 127 address should loop back inside the host.

Subnet Masks and Subnetting Subnets are logical subdivisions of a single Internet network. For technical or administrative reasons, it is desirable in many organizations to divide the network into several different networks. Routers then connect these independent networks. However, each organization that wishes to connect to the Internet can usually obtain only a single Internet number. If multiple TCP/IP networks are interconnected across routers, you must assign a different network number to each network. However, if the network is part of the Internet, you cannot arbitrarily select any network number, since network numbers must be assigned by the NIC. Subnet addressing allows an organization to use a single Internet network number for multiple physical networks. Subnets may be used with any class of Internet addressing except Class D (multicast).

DRAFT 21 Introduction to TCP/IP Unit 4

A subnet mask allows the host portion of an Internet address to be divided into two parts. One part is used to identify the subnet number, and the other part is used to identify a host on that subnet. A host or router uses the leading bits of an IP address to determine its class. Once the class of an address is determined, the host can easily distinguish between the bits used to identify the network number part of the address, and the bits used to identify the host part of the address. How can a network element determine which bits from the local host portion of the address are used to define the subnet number? The answer is that a 32-bit subnet mask is configured to allow the host to make this distinction. The bits in the subnet mask and the Internet address have a one-to-one correspondence. The bits of the subnet mask are set to 1 if the device examining the address should treat the corresponding bit in the Internet address as part of the original network number or part of the subnet number. The bits in the mask are set to 0 if the device should treat the bit as part of the subnet host number. In other words, after the class of an IP address is determined, any bit from the original host number that has a corresponding bit set in the subnet mask is used to identify the subnet number. It is recommended that the subnet bits be contiguous and located as the most significant bits of the local host address.

Supplement #1

Research and answer the following questions for each of the concepts/applications listed. Questions: What does it stand for? What is its function? Who created it and how long ago? What OSI layer is it in and why? Could the Internet run without it? What web site did you find most of your info? (The U4L1 reading doesn’t count.)

Concepts/Applications: 1. HTTP 2. SMTP 3. FTP 4. SNMP 5. DNS 6. TCP 7. UDP 8. IP 9. TELNET

Explain the dotted decimal system. What is the difference between a class C and a class B?

Supplement #2 IP NUMBERING WHO LET THE NUMBERS OUT?

22 DRAFT Internetworking Fundamentals Unit 4 Lesson 1: TCP/IP Protocols

Acronym Full Organization Name Purpose / Mission

IANA

IETF

IRTF

ISOC

What are the characteristics of Ipv6?

Why is that better than Ipv4?

Supplement #3 Answer the following questions from your memory using technical terminology learned in this lesson. Proofread carefully so I’ll be able to read your responses. Anything not written FROM YOUR MEMORY will be rejected (no looking at the lesson or using cut/paste) 1. What is the purpose and function of a protocol? 2. What is the difference between a routable and a non-routable protocol? 3. What is the purpose of a protocol stack? 4. How does the TCP/IP protocol stack relate to the seven-layer OSI model? 5. What are the major features and protocols of TCP/IP? 6. How do TCP/IP protocols work together? 7. What addressing schemes are used by TCP/IP? 8. Describe the three primary classes of IP addresses. 9. Explain why subnetting is necessary.

DRAFT 23