Internet Protocols, Lecture notes of Network Technologies and TCP/IP

An introduction to the Internet protocols, including IP addressing and key upper-layer protocols used in the Internet. It also discusses the history of the development of the Internet protocols and their documentation in Request For Comments (RFCs). the primary responsibilities of IP, which is the primary network-layer protocol in the Internet protocol suite, and its packet format. It also includes a table with reference information about the five IP address classes.

Typology: Lecture notes

2022/2023

Uploaded on 05/11/2023

janeka
janeka 🇺🇸

4.1

(15)

260 documents

1 / 16

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CHAPTER
Internet Protocols 30-1
30
Internet Protocols
Background
The Internet protocols are the world’s most popular open-system (nonproprietary) protocol suite
because they can be used to communicate across any set of interconnected networks and are equally
well suited for LAN and WAN communications. The Internet protocols consist of a suite of
communication protocols, of which the two best known are the Transmission Control Protocol
(TCP) and the Internet Protocol (IP). The Internet protocol suite not only includes lower-layer
protocols (such as TCP and IP), but it also specifies common applications such as electronic mail,
terminal emulation, and file transfer. This chapter provides a broad introduction to specifications that
comprise the Internet protocols. Discussions include IP addressing and key upper-layer protocols
used in the Internet. Specific routing protocols are addressed individually in Part 6, Routing
Protocols.
Internet protocols were first developed in the mid-1970s, when the Defense Advanced Research
Projects Agency (DARPA) became interested in establishing a packet-switched network that would
facilitate communication between dissimilar computer systems at research institutions. With the
goal of heterogeneous connectivity in mind, DARPA funded research by Stanford University and
Bolt, Beranek, and Newman (BBN). The result of this development effort was the Internet protocol
suite, completed in the late 1970s.
TCP/IP later was included with Berkeley Software Distribution (BSD) UNIX and has since become
the foundation on which the Internet and the World Wide Web (WWW) are based.
Documentation of the Internet protocols (including new or revised protocols) and policies are
specified in technical reports called Request For Comments (RFCs), which are published and then
reviewed and analyzed by the Internet community. Protocol refinements are published in the new
RFCs. To illustrate the scope of the Internet protocols, Figure 30-1 maps many of the protocols of
the Internet protocol suite and their corresponding OSI layers. This chapter addresses the basic
elements and operations of these and other key Internet protocols.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Internet Protocols and more Lecture notes Network Technologies and TCP/IP in PDF only on Docsity!

C H A P T E R

Internet Protocols 30-

Internet Protocols

Background

The Internet protocols are the world’s most popular open-system (nonproprietary) protocol suite

because they can be used to communicate across any set of interconnected networks and are equally

well suited for LAN and WAN communications. The Internet protocols consist of a suite of

communication protocols, of which the two best known are the Transmission Control Protocol

(TCP) and the Internet Protocol (IP). The Internet protocol suite not only includes lower-layer

protocols (such as TCP and IP), but it also specifies common applications such as electronic mail,

terminal emulation, and file transfer. This chapter provides a broad introduction to specifications that

comprise the Internet protocols. Discussions include IP addressing and key upper-layer protocols

used in the Internet. Specific routing protocols are addressed individually in Part 6, Routing

Protocols.

Internet protocols were first developed in the mid-1970s, when the Defense Advanced Research

Projects Agency (DARPA) became interested in establishing a packet-switched network that would

facilitate communication between dissimilar computer systems at research institutions. With the

goal of heterogeneous connectivity in mind, DARPA funded research by Stanford University and

Bolt, Beranek, and Newman (BBN). The result of this development effort was the Internet protocol

suite, completed in the late 1970s.

TCP/IP later was included with Berkeley Software Distribution (BSD) UNIX and has since become

the foundation on which the Internet and the World Wide Web (WWW) are based.

Documentation of the Internet protocols (including new or revised protocols) and policies are

specified in technical reports called Request For Comments (RFCs), which are published and then

reviewed and analyzed by the Internet community. Protocol refinements are published in the new

RFCs. To illustrate the scope of the Internet protocols, Figure 30-1 maps many of the protocols of

the Internet protocol suite and their corresponding OSI layers. This chapter addresses the basic

elements and operations of these and other key Internet protocols.

Internet Protocol (IP)

30-2 Internetworking Technology Overview, June 1999

Figure 30-1 Internet protocols span the complete range of OSI model layers.

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. IP is documented in RFC 791 and

is the primary network-layer protocol in the Internet protocol suite. Along with the Transmission

Control Protocol (TCP), IP represents the heart of the Internet protocols. 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.

IP Packet Format

An IP packet contains several types of information, as illustrated in Figure 30-2.

Presentation

Application

Network

Transport

Link

Physical

Reference Model^ OSI Internet Protocol Suite

Session

NFS

XDR

RPC

SMTP, SNMPFTP, Telnet,

Not Specified

IP ICMP

TCP, UDP

ith

Routing Protocols ARP, RARP

Internet Protocol (IP)

30-4 Internetworking Technology Overview, June 1999

  • Options —Allows IP to support various options, such as security.
  • Data —Contains upper-layer information.

IP Addressing

As with any other network-layer protocol, the IP addressing scheme is integral to the process of

routing IP datagrams through an internetwork. Each IP address has specific components and follows

a basic format. These IP addresses can be subdivided and used to create addresses for subnetworks,

as discussed in more detail later in this chapter.

Each host on a TCP/IP network is assigned a unique 32-bit logical address that is divided into two

main parts: the network number and the host number. The network number identifies a network and

must be assigned by the Internet Network Information Center (InterNIC) if the network is to be part

of the Internet. An Internet Service Provider (ISP) can obtain blocks of network addresses from the

InterNIC and can itself assign address space as necessary. The host number identifies a host on a

network and is assigned by the local network administrator.

IP Address Format

The 32-bit IP address is grouped eight bits at a time, separated by dots, and represented in decimal

format (known as dotted decimal notation ). Each bit in the octet has a binary weight (128, 64, 32,

16, 8, 4, 2, 1). The minimum value for an octet is 0, and the maximum value for an octet is 255.

Figure 30-3 illustrates the basic format of an IP address.

Figure 30-3 An IP address consists of 32 bits, grouped into four octets.

IP Address Classes

IP addressing supports five different address classes: A, B,C, D, and E. Only classes A, B, and C are

available for commercial use. The left-most (high-order) bits indicate the network class. Table 30-

provides reference information about the five IP address classes.

32 Bits Network Host

8 Bits

172

DottedDecimal Notation

  • 16 • 122 • 204

8 Bits 8 Bits 8 Bits

Internet Protocols 30-

IP Address Classes

Table 30-1 Reference Information About the Five IP Address Classes

Figure 30-4 illustrates the format of the commercial IP address classes. (Note the high-order bits in

each class.)

Figure 30-4 IP address formats A, B, and C are available for commercial use.

The class of address can be determined easily by examining the first octet of the address and

mapping that value to a class range in the following table. In an IP address of 172.31.1.2, for

example, the first octet is 172. Because 172 falls between 128 and 191, 172.31.1.2 is a Class B

address. Figure 30-5 summarizes the range of possible values for the first octet of each address class.

IPAddre ssClass Format Purpose High-OrderBit(s) Address Range No. BitsNetwork/Host Max. Hosts A N.H.H.H 1

1 N = Network number, H = Host number.

Few largeorganizations 0 1.0.0.0 to 126.0.0.0 7/24 16,777, 214(2 24 – 2)^2

2 One address is reserved for the broadcast address, and one address is reserved for the network.

B N.N.H.H Medium-sizeorganizations 1, 0 128.1.0.0 to191.254.0.0 14/16 65, 543 (22)^16 – C N.N.N.H Relatively smallorganizations 1, 1, 0 192.0.1.0 to223.255.254.0 22/8 245 (2^8 – 2) D N/A Multicast groups(RFC 1112) 1, 1, 1, 0 224.0.0.0 to239.255.255.255 N/A (not forcommercial use) N/A E N/A Experimental 1, 1, 1, 1 240.0.0.0 to254.255.255.255 N/A N/A

Class C

Class B

Class A

1 0 Network

1 1 0 Network

No. Bits 7 24

0 Network Host Host Host

Network Host Host

Network Network Host 24143

Internet Protocols 30-

IP Address Classes

Figure 30-6 Bits are borrowed from the host address field to create the subnet addressfield.

Subnet masks use the same format and representation technique as IP addresses. The subnet mask,

however, has binary 1s in all bits specifying the network and subnetwork fields, and binary 0s in all

bits specifying the host field. Figure 30-7 illustrates a sample subnet mask.

Figure 30-7 A sample subnet mask consists of all binary 1s and 0s.

Subnet mask bits should come from the high-order (left-most) bits of the host field, as Figure 30-

illustrates. Details of Class B and C subnet mask types follow. Class A addresses are not discussed

in this chapter because they generally are subnetted on an 8-bit boundary.

Network Host Host

Network Network^ Subnet^ Host

Class B Address: Before Subnetting

Class B Address: After Subnetting

1 0 Network

1 0

Network 11111111

Network 11111111

Subnet 11111111

Host 00000000

255 255 255 0

Binaryrepresentation

Dotted decimalrepresentation 24145

Internet Protocol (IP)

30-8 Internetworking Technology Overview, June 1999

Figure 30-8 Subnet mask bits come from the high-order bits of the host field.

Various types of subnet masks exist for Class B and C subnets.

The default subnet mask for a Class B address that has no subnetting is 255.255.0.0, while the subnet

mask for a Class B address 171.16.0.0 that specifies eight bits of subnetting is 255.255.255.0. The

reason for this is that eight bits of subnetting or 2 8 – 2 (1 for the network address and 1 for the

broadcast address) = 254 subnets possible, with 2 8 – 2 = 254 hosts per subnet.

The subnet mask for a Class C address 192.168.2.0 that specifies five bits of subnetting is

255.255.255.248.With five bits available for subnetting, 2 5 – 2 = 30 subnets possible, with

23 – 2 = 6 hosts per subnet.

The reference charts shown in table 30–2 and table 30–3 can be used when planning Class B and C

networks to determine the required number of subnets and hosts, and the appropriate subnet mask.

Table 30-2 Class B Subnetting Reference Chart Number of Bits Subnet Mask Number of Subnets Number of Hosts 2 255.255.192.0 2 16382 3 255.255.224.0 6 8190 4 255.255.240.0 14 4094 5 255.255.248.0 30 2046 6 255.255.252.0 62 1022 7 255.255.254.0 126 510 8 255.255.255.0 254 254 9 255.255.255.128 510 126 10 255.255.255.192 1022 62 11 255.255.255.224 2046 30 12 255.255.255.240 4094 14

Internet Routing

30-10 Internetworking Technology Overview, June 1999

Figure 30-9 Applying a logical AND the destination IP address and the subnet maskproduces the subnetwork number.

Address Resolution Protocol ( ARP) Overview

For two machines on a given network to communicate, they must know the other machine’s physical

(or MAC) addresses. By broadcasting Address Resolution Protocols (ARPs), a host can dynamically

discover the MAC-layer address corresponding to a particular IP network-layer address.

After receiving a MAC-layer address, IP devices create an ARP cache to store the recently acquired

IP-to-MAC address mapping, thus avoiding having to broadcast ARPS when they want to recontact

a device. If the device does not respond within a specified time frame, the cache entry is flushed.

In addition to the Reverse Address Resolution Protocol (RARP) is used to map MAC-layer addresses

to IP addresses. RARP, which is the logical inverse of ARP, might be used by diskless workstations

that do not know their IP addresses when they boot. RARP relies on the presence of a RARP server

with table entries of MAC-layer-to-IP address mappings.

Internet Routing

Internet routing devices traditionally have been called gateways. In today’s terminology, however,

the term gateway refers specifically to a device that performs application-layer protocol translation

between devices. Interior gateways refer to devices that perform these protocol functions between

machines or networks under the same administrative control or authority, such as a corporation’s

internal network. These are known as autonomous systems. Exterior gateways perform protocol

functions between independent networks.

Routers within the Internet are organized hierarchically. Routers used for information exchange

within autonomous systems are called interior routers, which use a variety of Interior Gateway

Protocols (IGPs) to accomplish this purpose. The Routing Information Protocol (RIP) is an example

of an IGP.

Routers that move information between autonomous systems are called exterior routers. These

routers use an exterior gateway protocol to exchange information between autonomous systems. The

Border Gateway Protocol (BGP) is an example of an exterior gateway protocol.

Note Specific routing protocols, including BGP and RIP, are addressed in individual chapters

presented in Part 6 later in this book.

Network Subnet Host

Destination IPAddress

SubnetMask

16 1 0

24147

Internet Protocols 30-

IP Routing

IP Routing

IP routing protocols are dynamic. Dynamic routing calls for routes to be calculated automatically at

regular intervals by software in routing devices. This contrasts with static routing, where routers are

established by the network administrator and do not change until the network administrator changes

them.

An IP routing table, which consists of destination address/next hop pairs, is used to enable dynamic

routing. An entry in this table, for example, would be interpreted as follows: to get to network

172.31.0.0, send the packet out Ethernet interface 0 (E0).

IP routing specifies that IP datagrams travel through internetworks one hop at a time. The entire route

is not known at the onset of the journey, however. Instead, at each stop, the next destination is

calculated by matching the destination address within the datagram with an entry in the current

node’s routing table.

Each node’s involvement in the routing process is limited to forwarding packets based on internal

information. The nodes do not monitor whether the packets get to their final destination, nor does IP

provide for error reporting back to the source when routing anomalies occur. This task is left to

another Internet protocol, the Internet Control-Message Protocol (ICMP), which is discussed in the

following section.

Internet Control Message Protocol (ICMP)

The Internet Control Message Protocol (ICMP) is a network-layer Internet protocol that provides

message packets to report errors and other information regarding IP packet processing back to the

source. ICMP is documented in RFC 792.

ICMP Messages

ICMPs generate several kinds of useful messages, including Destination Unreachable, Echo Request

and Reply, Redirect, Time Exceeded, and Router Advertisement and Router Solicitation. If an ICMP

message cannot be delivered, no second one is generated. This is to avoid an endless flood of ICMP

messages.

When an ICMP destination-unreachable message is sent by a router, it means that the router is unable

to send the package to its final destination. The router then discards the original packet. Two reasons

exist for why a destination might be unreachable. Most commonly, the source host has specified a

nonexistent address. Less frequently, the router does not have a route to the destination.

Destination-unreachable messages include four basic types: network unreachable, host unreachable,

protocol unreachable, and port unreachable. Network-unreachable messages usually mean that a

failure has occurred in the routing or addressing of a packet. Host-unreachable messages usually

indicates delivery failure, such as a wrong subnet mask. Protocol-unreachable messages generally

mean that the destination does not support the upper-layer protocol specified in the packet.

Port-unreachable messages imply that the TCP socket or port is not available.

An ICMP echo-request message, which is generated by the ping command, is sent by any host to test

node reachability across an internetwork. The ICMP echo-reply message indicates that the node can

be successfully reached.

An ICMP Redirect message is sent by the router to the source host to stimulate more efficient

routing. The router still forwards the original packet to the destination. ICMP redirects allow host

routing tables to remain small because it is necessary to know the address of only one router, even if

that router does not provide the best path. Even after receiving an ICMP Redirect message, some

devices might continue using the less-efficient route.

Internet Protocols 30-

Positive Acknowledgment and Retransmission (PAR)

Each host randomly chooses a sequence number used to track bytes within the stream it is sending

and receiving. Then, the three-way handshake proceeds in the following manner:

The first host (Host A) initiates a connection by sending a packet with the initial sequence number

(X) and SYN bit set to indicate a connection request. The second host (Host B) receives the SYN,

records the sequence number X, and replies by acknowledging the SYN (with an ACK = X + 1).

Host B includes its own initial sequence number (SEQ = Y). An ACK = 20 means the host has

received bytes 0 through 19 and expects byte 20 next. This technique is called forward

acknowledgment. Host A then acknowledges all bytes Host B sent with a forward acknowledgment

indicating the next byte Host A expects to receive (ACK = Y + 1). Data transfer then can begin.

Positive Acknowledgment and Retransmission (PAR)

A simple transport protocol might implement a reliability-and-flow-control technique where the

source sends one packet, starts a timer, and waits for an acknowledgment before sending a new

packet. If the acknowledgment is not received before the timer expires, the source retransmits the

packet. Such a technique is called positive acknowledgment and retransmission (PAR).

By assigning each packet a sequence number, PAR enables hosts to track lost or duplicate packets

caused by network delays that result in premature retransmission. The sequence numbers are sent

back in the acknowledgments so that the acknowledgments can be tracked.

PAR is an inefficient use of bandwidth, however, because a host must wait for an acknowledgment

before sending a new packet, and only one packet can be sent at a time.

TCP Sliding Window

A TCP sliding window provides more efficient use of network bandwidth than PAR because it

enables hosts to send multiple bytes or packets before waiting for an acknowledgment.

In TCP, the receiver specifies the current window size in every packet. Because TCP provides a

byte-stream connection, window sizes are expressed in bytes. This means that a window is the

number of data bytes that the sender is allowed to send before waiting for an acknowledgment. Initial

window sizes are indicated at connection setup, but might vary throughout the data transfer to

provide flow control. A window size of zero, for instance, means “Send no data.”

In a TCP sliding-window operation, for example, the sender might have a sequence of bytes to send

(numbered 1 to 10) to a receiver who has a window size of five. The sender then would place a

window around the first five bytes and transmit them together. It would then wait for an

acknowledgment.

The receiver would respond with an ACK = 6, indicating that it has received bytes 1 to 5 and is

expecting byte 6 next. In the same packet, the receiver would indicate that its window size is 5. The

sender then would move the sliding window five bytes to the right and transmit bytes 6 to 10. The

receiver would respond with an ACK = 11, indicating that it is expecting sequenced byte 11 next. In

this packet, the receiver might indicate that its window size is 0 (because, for example, its internal

buffers are full). At this point, the sender cannot send any more bytes until the receiver sends another

packet with a window size greater than 0.

Transmission Control Protocol (TCP)

30-14 Internetworking Technology Overview, June 1999

TCP Packet Format

Figure 30-10 illustrates the fields and overall format of a TCP packet.

Figure 30-10 Twelve fields comprise a TCP packet.

TCP Packet Field Descriptions

The following descriptions summarize the TCP packet fields illustrated in Figure 30-10:

  • Source Port and Destination Port —Identifies points at which upper-layer source and destination

processes receive TCP services.

  • Sequence Number —Usually specifies the number assigned to the first byte of data in the current

message. In the connection-establishment phase, this field also can be used to identify an initial

sequence number to be used in an upcoming transmission.

  • Acknowledgment Number —Contains the sequence number of the next byte of data the sender of

the packet expects to receive.

  • Data Offset —Indicates the number of 32-bit words in the TCP header.
  • Reserved —Remains reserved for future use.
  • Flags —Carries a variety of control information, including the SYN and ACK bits used for

connection establishment, and the FIN bit used for connection termination.

  • Window —Specifies the size of the sender’s receive window (that is, the buffer space available for

incoming data).

  • Checksum —Indicates whether the header was damaged in transit.
  • Urgent Pointer —Points to the first urgent data byte in the packet.
  • Options —Specifies various TCP options.
  • Data —Contains upper-layer information.

Sequence number

Options (+ padding)

Checksum

Data (variable)

Destination port

Acknowledgment number

Source port

Data offset Reserved Window Urgent pointer

Flags

S1344a

Internet Protocols Application-Layer Protocols

30-16 Internetworking Technology Overview, June 1999

Table 30-5 Higher-Layer Protocols and Their Applications Application Protocols File transfer FTP Terminal emulation Telnet Electronic mail SMTP Network management SNMP Distributed file services NFS, XDR, RPC, X Windows