The document discusses computer network protocols including TCP/IP, IP, and other internet layer protocols. It describes the four layers of the TCP/IP model and provides details on common protocols used at each layer like TCP, UDP, IP, and DNS. It also covers topics like IP addressing and port numbers.
The document discusses computer network protocols including TCP/IP, IP, and other internet layer protocols. It describes the four layers of the TCP/IP model and provides details on common protocols used at each layer like TCP, UDP, IP, and DNS. It also covers topics like IP addressing and port numbers.
The document discusses computer network protocols including TCP/IP, IP, and other internet layer protocols. It describes the four layers of the TCP/IP model and provides details on common protocols used at each layer like TCP, UDP, IP, and DNS. It also covers topics like IP addressing and port numbers.
The document discusses computer network protocols including TCP/IP, IP, and other internet layer protocols. It describes the four layers of the TCP/IP model and provides details on common protocols used at each layer like TCP, UDP, IP, and DNS. It also covers topics like IP addressing and port numbers.
Facilitator: Frank Course code: CS 8137 Email: frankibrahim25@gmail.com Introduction The Transmission Control Protocol/Internet Protocol (TCP/IP) suite was designed and implemented by the Department of Defense (DoD) to ensure and preserve data integrity as well as maintain communications in the event of catastrophic war. The DoD model is basically a condensed version of the OSI model that comprises four instead of seven layers: Process/Application layer Host-to-Host layer or Transport layer Internet layer Network Access layer or Link layer Figure below offers a comparison of the DoD model and the OSI reference model.
Process/Application layer: The Process/Application
layer defines protocols for node-to-node application communication and controls user- interface specifications. These processes integrate the various activities and duties spanning the focus of the OSI’s corresponding top three layers (Application, Presentation, and Session). TheHost-to-Host layer or Transport layer: defining protocols for setting up the level of transmission service for applications. It tackles issues like creating reliable end-to-end communication and ensuring the error-free delivery of data. It handles packet sequencing and maintains data integrity. TheInternet layer corresponds to the OSI’s Network layer, designating the protocols relating to the logical transmission of packets over the entire network. It takes care of the addressing of hosts by giving them an IP (Internet Protocol) address and handles the routing of packets among multiple networks. Network Access layer or Link layer implements the data exchange between the host and the network. The Network Access layer oversees hardware addressing and defines protocols for the physical transmission of data.
The TCP/IP protocol suite
The Process/Application Layer Protocols Telnet: It allows a user on a remote client machine, called the Telnet client, to access the resources of another machine, the Telnet server. Telnet achieves this by pulling a fast one on the Telnet server and making the client machine appear as though it were a terminal directly attached to the local network. Secure Shell (SSH): SSH protocol sets up a secure session and is employed for doing things like logging into systems, running programs on remote systems, and moving files from one system to another. And it does all of this while maintaining an encrypted connection. The client must send the data encrypted! File Transfer Protocol (FTP): FTP actually lets us transfer files, and it can accomplish this between any two machines using it. But FTP isn’t just a protocol; it’s also a program. Operating as a protocol, FTP is used by applications. As a program, it’s employed by users to perform file tasks by hand. FTP also allows for access to both directories and files and can accomplish certain types of directory operations, such as relocating into different ones. Hypertext Transfer Protocol Secure (HTTPS): It uses Secure Sockets Layer (SSL) and it became the de facto standard for securing web communication. HTTPS arms you with a whole bunch of security tools for keeping transactions between a web browser and a server secure. Network Time Protocol (NTP): used to synchronize the clocks on our computers to one standard time source (typically, an atomic clock). NTP works by synchronizing devices to ensure that all computers on a given network agree on the time. Domain Name Service (DNS): DNS resolves hostnames specifically, Internet names. DNS allows you to use a domain name to specify an IP address. Dynamic Host Configuration Protocol (DHCP) assigns IP addresses to hosts. It allows for easier administration and works well in small to very large network environments. Many types of hardware can be used as a DHCP server, including a Cisco router. Simple Network Management Protocol (SNMP): collects and manipulates this valuable network information. It gathers data by polling the devices on the network from a management station at fixed or random intervals, requiring them to disclose certain information. Automatic Private IP Addressing (APIPA) Okay, so what happens if you have a few hosts connected together with a switch or hub and you don’t have a DHCP server? You can add IP information by hand, known as static IP addressing, but later Windows operating systems provide a feature called Automatic Private IP Addressing (APIPA). With APIPA, clients can automatically self-configure an IP address and subnet mask basic IP information that hosts use to communicate when a DHCP server isn’t available. The IP address range for APIPA is 169.254.0.1 through 169.254.255.254. The client also configures itself with a default Class B subnet mask of 255.255.0.0. The Host-to-Host Layer Protocols Transmission Control Protocol (TCP): takes large blocks of information from an application and breaks them into segments. It numbers and sequences each segment so that the destination’s TCP protocol can put the segments back into the order the application intended. After these segments are sent, TCP waits for an acknowledgment of the receiving end’s TCP virtual circuit session, retransmitting those that aren’t acknowledged. TCP is a full-duplex, connection-oriented, reliable, and accurate protocol and error checking. TCP is connection-oriented because before a transmitting host starts to send segments down the model, the sender’s TCP protocol contacts the destination’s TCP protocol to establish a connection. User Datagram Protocol (UDP): is basically the scaled-down economy model of TCP, which is why UDP is sometimes referred to as a thin protocol. UDP does not sequence the segments and does not care about the order in which the segments arrive at the destination. UDP just sends the segments off and forgets about them. UDP is a connectionless protocol because it doesn’t create a virtual circuit, nor does it contact the destination before delivering information to it.
Port numbers for TCP and UDP
TCP and UDP must use port numbers to communicate with the upper layers because these are what keep track of different conversations crossing the network simultaneously. Key protocols that use TCP and UDP TCP UDP Telnet 23 SNMP 161 SMTP 25 TFTP 69 HTTP 80 DNS 53 FTP 20, 21 BooTPS/DHCP 67 DNS 53 NTP 123 HTTPS 443 SSH 22 POP3 110 IMAP4 143
The Internet Layer Protocols
Inthe DoD model, there are two main reasons for the Internet layer’s existence: routing and providing a single network interface to the upper layers. Here’sa list of the important protocols at the Internet layer Internet Protocol (IP), Internet Control Message Protocol (ICMP), Address Resolution Protocol (ARP) Internet Protocol (IP) The Internet Protocol (IP) is a network-layer (Layer 3) protocol that contains addressing information and some control information that enables packets to be routed. Uses routing tables prepared by routing protocols, e.g., Open Shortest Path First (OSPF), Routing Information Protocol (RIP) IP looks at each packet’s address. Then, using a routing table, it decides where a packet is to be sent next, choosing the best path to send it upon. IP has two primary responsibilities: providing connectionless, best-effort delivery of datagrams through an internetwork; and providing fragmentation and reassembly of datagrams to support data links with different maximum-transmission unit (MTU) sizes. Binary to Decimal and Hexadecimal Conversion Binary numbering: The digits used are limited to either a 1 (one) or a 0 (zero), with each digit being called one bit (short for binary digit). Typically, you count either 4 or 8 bits together, with these being referred to as a nibble or a byte, respectively. Decimal numbering: the typical decimal format being the base 10 number scheme that we’ve all used since kindergarten. Example for our nibble values would be 1010, which means that the 8 bit and the 2 bit are turned on, which equals a decimal value of 10. If we have a nibble binary value of 0110, then our decimal value would be 6, because the 4 and 2 bits are turned on. Hexadecimal addressing is completely different than binary or decimal, it’s converted by reading nibbles, not bytes. By using a nibble, we can convert these bits to hex pretty simply. First, understand that the hexadecimal addressing scheme uses only the numbers 0 through 9 and the letters A, B, C, D, E, and F are used to represent 10, 11, 12, 13, 14, and 15, respectively. Sometimes Cisco likes to put 0x in front of characters so you know that they are a hex value. To convert from binary to hex, just take the byte and break it into nibbles. Example 01010101. First, break it into nibbles 0101 and 0101 IP Addressing An IP address is a numeric identifier assigned to each machine on an IP network. An IP address is a software address, not a hardware address the latter is hard-coded on a Network Interface Card (NIC) and used for finding hosts on a local network. IP addressing was designed to allow hosts on one network to communicate with a host on a different network regardless of the type of LANs the hosts are participating in. IP Terminology Bit: A bit is one digit, either a 1 or a 0. Byte: A byte is 7 or 8 bits, depending on whether parity is used. For the rest of this unit, always assume a byte is 8 bits. Octet: An octet, made up of 8 bits, is just an ordinary 8-bit binary number. In this unit, the terms byte and octet are completely interchangeable. Network address: This is the designation used in routing to send packets to a remote network for example, 10.0.0.0, 172.16.0.0, and 192.168.10.0. Broadcast address: The address used by applications and hosts to send information to all nodes on a network is called the broadcast address. Examples of layer 3 broadcasts include 255.255.255.255, which is any network, all nodes 172.16.255.255, which is all subnets and hosts on network 172.16.0.0 10.255.255.255, which broadcasts to all subnets and hosts on network 10.0.0.0. The Hierarchical IP Addressing Scheme An IP address consists of 32 bits of information. These bits are divided into four sections, referred to as octets or bytes, with each containing 1 byte (8 bits). You can depict an IP address using one of three methods: Dotted-decimal, as in 172.16.30.56 Binary, as in 10101100.00010000.00011110.00111000 Hexadecimal, as in AC.10.1E.38 Note: Hexadecimal isn’t used as often as dotted- decimal or binary, but you still might find an IP address stored in hexadecimal in some programs. Network Addressing The network address (which can also be called the network number) uniquely identifies each network. Every machine on the same network shares that network address as part of its IP address. For example, in the IP address 172.16.30.56, 172.16 is the network address. The node address is assigned to, and uniquely identifies, each machine on a network. This part of the address must be unique because it identifies a particular machine. This number can also be referred to as a host address. In the sample IP address 172.16.30.56, the 30.56 specifies the node address. Address schemes The designers of the Internet decided to create classes of networks based on network size. For the small number of networks possessing a very large number of nodes, they created the rank Class A network. At the other extreme is the Class C network, which is reserved for the numerous networks with a small number of nodes. The class distinction for networks between very large and very small is predictably called the Class B network. Network Address Range: Class A In a Class A network address the first bit of the first byte must always be off, or 0. This means a Class A address must be between 0 and 127 in the first byte, inclusive. Consider the following network address: 0xxxxxxx If we turn the other 7 bits all off and then turn them all on, we’ll find the Class A range of network addresses: 00000000 = 0 01111111 = 127 Note: 0 and 127 are not valid in a Class A network because they’re reserved addresses. Network Address Range: Class B In a Class B network, the RFCs state that the first bit of the first byte must always be turned on but the second bit must always be turned off. If you turn the other 6 bits all off and then all on, you will find the range for a Class B network: 10000000 = 128 10111111 = 191 Network Address Range: Class C For Class C networks, the RFCs define the first 2 bits of the first octet as always turned on, but the third bit can never be on. Following the same process as the previous classes, convert from binary to decimal to find the range. Here’s the range for a Class C network: 11000000 = 192 11011111 = 223 So, if you see an IP address that starts at 192 and goes to 223, you’ll know it is a Class C IP address. Network Address Ranges: Classes D and E The addresses between 224 to 255 are reserved for Class D and E networks. Class D (224–239) is used for multicast addresses and Class E (240–255) for scientific purposes.
Network Addresses: Special Purpose
Some IP addresses are reserved for special purposes, so network administrators can’t ever assign these addresses to nodes. Network address of all 0s: Interpreted to mean “this network or segment.” Network address of all 1s: Interpreted to mean “all networks.” Network 127.0.0.1: Reserved for loopback tests. Designates the local node and allows that node to send a test packet to itself without generating network traffic. Class A Addresses In a Class A network address, the first byte is assigned to the network address and the three remaining bytes are used for the node addresses. The Class A format is as follows: network.node.node.node
Class A Valid Host IDs
The valid hosts are the numbers in between the network address and the broadcast address: 10.0.0.1 through 10.255.255.254. Here’s an example of how to figure out the valid host IDs in a Class A network address: All host bits off is the network address: 10.0.0.0. All host bits on is the broadcast address: 10.255.255.255. Notice that 0s and 255s can be valid host IDs. Class B Addresses In a Class B network address, the first 2 bytes are assigned to the network address and the remaining 2 bytes are used for node addresses. The format is as follows: network.network.node.node For example, in the IP address 172.16.30.56, the network address is 172.16 and the node address is 30.56.
Class B Valid Host IDs
Here’s an example of how to find the valid hosts in a Class B network: All host bits turned off is the network address: 172.16.0.0. All host bits turned on is the broadcast address: 172.16.255.255. The valid hosts would be the numbers in between the network address and the broadcast address: 172.16.0.1 through 172.16.255.254. Class C Addresses The first 3 bytes of a Class C network address are dedicated to the network portion of the address, with only 1 measly byte remaining for the node address. Here’s the format: network.network.network.node Using the example IP address 192.168.100.102, the network address is 192.168.100 and the node address is 102. Class C Valid Host IDs Here’s an example of how to find a valid host ID in a Class C network: All host bits turned off is the network ID: 192.168.100.0. All host bits turned on is the broadcast address: 192.168.100.255. The valid hosts would be the numbers in between the network address and the broadcast address: 192.168.100.1 through 192.168.100.254. Private IP Addresses These addresses can be used on a private network, but they’re not routable through the Internet. This is designed for the purpose of creating a measure of well-needed security, but it also conveniently saves valuable IP address space. By using private IP addresses, ISPs, corporations, and home users only need a relatively tiny group of bona fide IP addresses to connect their networks to the Internet. To accomplish this task, the ISP and the corporation the end user, no matter who they are need to use something called Network Address Translation (NAT), which basically takes a private IP address and converts it for use on the Internet. Reserved IP address space Class A 10.0.0.0 through 10.255.255.255 Class B 172.16.0.0 through 172.31.255.255 Class C 192.168.0.0 through 192.168.255.255 GOODBYE