0% found this document useful (0 votes)
21 views21 pages

Lecture 02-Data Communication & Network-OSI Model and TCP-IP

The document outlines the Data Communication and Network module (EENG 513) taught by Dr. Abdulai Sankoh, focusing on fundamental concepts of computer networking, OSI and DoD models, and various protocols such as TCP/IP, FTP, and DHCP. It details the objectives, outcomes, and essential protocols related to data communication systems, including their functions and applications. Additionally, it provides references for further reading and a structured overview of lecture content and protocols used in networking.

Uploaded by

Harrison Forde
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views21 pages

Lecture 02-Data Communication & Network-OSI Model and TCP-IP

The document outlines the Data Communication and Network module (EENG 513) taught by Dr. Abdulai Sankoh, focusing on fundamental concepts of computer networking, OSI and DoD models, and various protocols such as TCP/IP, FTP, and DHCP. It details the objectives, outcomes, and essential protocols related to data communication systems, including their functions and applications. Additionally, it provides references for further reading and a structured overview of lecture content and protocols used in networking.

Uploaded by

Harrison Forde
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

MODULE TITLE Data Communication and Network

MODULE CODE EENG 513


MODULE LECTURER Dr. ABDULAI SANKOH
LECTURE HOURS-LAB/PRACTICALS- 3-0-3
CREDIT HOURS
After completing this course the student must demonstrate the knowledge and ability to:.

 Build an understanding of the fundamental concepts of computer networking.


 Understand and explain Data Communications System and its components.
OBJECTIVES AND OUTCOMES  Identify the different types of network topologies and protocols.
 Enumerate the layers of the OSI model and TCP/IP. Explain the function(s) of each layer.
 Identify the different types of network devices and their functions within a network
 Understand and building the skills of subnetting and routing mechanisms.
 Familiarity with the basic protocols of computer networks, and how they can be used to
assist in network design and implementation.
MODULE DESCRIPTION (Optional??)
References
Computer Networks - A Tanenbaum - 5th edition
Computer Networks and Internets By Douglas E Comer
Computer Networking A Top-Down.Approach 6th Edition
REFERENCE TEXTS/WEBSITES
www.firewall.cx
LECTURE NUMBER 02
LECTURE DURATION (HOURS) 03
TCP/IP and the DoD Model
The DoD model is basically a condensed version of the OSI model. It’s composed of four,
instead of seven, layers:
 Process/Application layer
 Host-to-Host layer
 Internet layer
 Network Access layer
Figure 2.1 shows a comparison of the DoD model and the OSI reference model. As you can see, the two are similar in concept, but each has a
different number of layers with different names.
The DoD and OSI models are alike in design and concept and have similar functions in similar layers. Figure 2.2 shows the TCP/IP protocol
suite and how its protocols relate to the DoD model layers.
Process/Application Layer Protocols
This section will describe the different applications and services typically used in IP networks. The following protocols and applications will
be covered in this section:
Telnet, FTP, TFTP, NFS, SMTP, LPD, X Window, SNMP, DNS DHCP/BootP
Telnet
Telnet specialty is terminal emulation. 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 appears as though it
were a terminal directly attached to the local network. This projection is actually a software image a virtual terminal that can interact with the
chosen remote host.

File Transfer Protocol (FTP)


File Transfer Protocol (FTP) is the protocol that 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. FTP teams up with Telnet to transparently log you into the FTP server and then provides for the transfer
of files.

Trivial File Transfer Protocol (TFTP)


Trivial File Transfer Protocol (TFTP) is the stripped-down, stock version of FTP, but it’s the protocol of choice if you know exactly what you
want and where to find it, plus it’s so easy to use and it’s fast too! It doesn’t give you the abundance of functions that FTP does, though.
TFTP has no directory-browsing abilities; it can do nothing but send and receive files.

Network File System (NFS)


Network File System (NFS) is a jewel of a protocol specializing in file sharing. It allows two different types of file systems to interoperate.
Simple Mail Transfer Protocol (SMTP)
Simple Mail Transfer Protocol (SMTP), answers our calls to email, uses a spooled, or queued, method of mail delivery. Once a message has
been sent to a destination, the message is spooled to a device—usually a disk. The server software at the destination posts a vigil, regularly
checking the queue for messages. When it detects them, it proceeds to deliver them to their destination. SMTP is used to send mail; POP3 is
used to receive mail.

Line Printer Daemon (LPD)


The Line Printer Daemon (LPD) protocol is designed for printer sharing. The LPD, along with the Line Printer (LPR) program, allows print
jobs to be spooled and sent to the network’s printers using TCP/IP.

X Window
Designed for client/server operations, X Window defines a protocol for writing client/server applications based on a graphical user interface
(GUI). The idea is to allow a program, called a client, to run on one computer and have it display things through a window server on another
computer.

Simple Network Management Protocol (SNMP)


Simple Network Management Protocol (SNMP) collects and manipulates 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. When all is well,
Domain Name Service (DNS)
Domain Name Service (DNS) resolves hostnames specifically, Internet names, such as www.google.com. you can just type in the IP address
of any device you want to communicate with. An IP address identifies hosts on a network and the Internet as well. However, DNS was designed
to make our lives easier.

What would happen if you wanted to move your web page to a different service provider? The IP address would change and no one would
know what the new one was. DNS allows you to use a domain name to specify an IP address. You can change the IP address as often as you
want and no one will know the difference.

Dynamic Host Configuration Protocol (DHCP)/Bootstrap Protocol (BootP)


Dynamic Host Configuration Protocol (DHCP) assigns IP addresses to hosts. It allows easier administration and works well in small to even
very large network environments. All types of hardware can be used as a DHCP server, including a Cisco router.

DHCP differs from BootP in that BootP assigns an IP address to a host but the host’s hardware address must be entered manually in a BootP
table. Below is a list of the information a DHCP server can provide:
 IP address
 Subnet mask
 Domain name
 Default gateway (routers)
 DNS
 WINS information
Host-to-Host Layer Protocols
The main purpose of the Host-to-Host layer is to shield the upper-layer applications from the
complexities of the network. This layer says to the upper layer, “Just give me your data stream, with any instructions, and I’ll begin the process
of getting your information ready to send.” The following sections describe the two protocols at this layer:
 Transmission Control Protocol (TCP)
 User Datagram Protocol (UDP)

Transmission Control Protocol (TCP)


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 stack can put the segments back into the order the application intended. After these
segments are sent, TCP (on the transmitting host) 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. Before a transmitting host starts to send segments down the model,
the sender’s TCP stack contacts the destination’s TCP stack to establish a connection. What is created is known as a virtual circuit. This type
of communication is called connection-oriented. During this initial handshake, the two TCP layers also agree on the amount of information
that’s going to be sent before the recipient’s TCP sends back an acknowledgment. With everything agreed upon in advance, the path is paved
for reliable communication to take place.
TCP Segment Format

Since the upper layers just send a data stream to the protocols in the Transport layers. When the Internet layer receives the data stream, it routes
the segments as packets through an internetwork. The segments are handed to the receiving host’s Host-to-Host layer protocol, which rebuilds
the data stream to hand to the upper-layer applications or protocols.

Source port: The port number of the application on the host sending the data. (Port numbers will be explained a little later in this section.)
Destination port: The port number of the application requested on the destination host.
Sequence number A number used by TCP that puts the data back in the correct order or retransmits missing or damaged data, a process called
sequencing.

Acknowledgment number: The TCP octet that is expected next.

Header length: The number of 32-bit words in the TCP header. This indicates where the data begins. The TCP header (even one including
options) is an integral number of 32 bits in length.
Reserved: Always set to zero.
Code bits: Control functions used to set up and terminate a session.
Window The window size the sender is willing to accept, in octets.

Checksum: The cyclic redundancy check (CRC), because TCP doesn’t trust the lower layers and checks everything. The CRC checks the
header and data fields.

Urgent: A valid field only if the Urgent pointer in the code bits is set. If so, this value indicates the offset from the current sequence number,
in octets, where the first segment of non-urgent data begins.

Options: May be 0 or a multiple of 32 bits, if any. What this means is that no options have to be present (option size of 0). However, if any
options are used that do not cause the option field to total a multiple of 32 bits, padding of 0s must be used to make sure the data begins on
a 32-bit boundary.

Data: Handed down to the TCP protocol at the Transport layer, which includes the upper layer headers.
User Datagram Protocol (UDP)
If you were to compare User Datagram Protocol (UDP) with TCP, the former is basically the scaled-down economy model that’s sometimes
referred to as a thin protocol.

UDP does not sequence the segments and does not care in which order the segments arrive at the destination. But after that, UDP sends the
segments off and forgets about them. It doesn’t follow through, check up on them, or even allow for an acknowledgment of safe arrival. Because
of this, it’s referred to as an unreliable protocol. This does not mean that UDP is ineffective, only that it doesn’t handle issues of reliability.

Further, UDP doesn’t create a virtual circuit, nor does it contact the destination before delivering information to it. Because of this, it’s also
considered a connectionless protocol. Since UDP assumes that the application will use its own reliability method, it doesn’t use any. This gives
an application developer a choice when running the Internet Protocol stack: TCP for reliability or UDP for faster transfers. for example, for
Voice over IP (VoIP), you really don’t want to use UDP, because if the segments arrive out of order (very common in IP networks), they’ll
just be passed up to the next OSI (DoD) layer in whatever order they’re received, resulting in some seriously garbled data.

UDP Segment Format

The figure below clearly illustrates UDP’s markedly low overhead as compared to TCP’s hungry usage.
Source port: Port number of the application on the host sending the data
Destination port: Port number of the application requested on the destination host
Length: Length of UDP header and UDP data
Checksum: Checksum of both the UDP header and UDP data fields
Data: Upper-layer data
Port Numbers
TCP and UDP must use port numbers to communicate with the upper layers because they’re what keep track of different conversations crossing
the network simultaneously. Originating source port numbers are dynamically assigned by the source host and will equal some number starting
at 1024. 1023 and below are defined in RFC which discusses what are called well-known port numbers. Virtual circuits that don’t use an
application with a well-known port number are assigned port numbers randomly from a specific range instead. These port numbers identify the
source and destination application or process in the TCP segment.
Internet Layer Protocols
In the DoD model, there are two main reasons for the Internet layer’s existence: routing and providing a single network interface to the upper
layers.
None of the other upper- or lower-layer protocols have any functions relating to routing that complex and important task belongs entirely to
the Internet layer. The Internet layer’s second duty is to provide a single network interface to the upper-layer protocols. The following sections
describe the protocols at the Internet layer:

 Internet Protocol (IP)


 Internet Control Message Protocol (ICMP)
 Address Resolution Protocol (ARP)
 Reverse Address Resolution Protocol (RARP)
 Proxy ARP

Internet Protocol (IP)


Internet Protocol (IP) essentially is the Internet layer. The other protocols found here merely exist to support it. Identifying devices on networks
requires answering these two questions: Which network is it on? And what is its ID on that network? The first answer is the software address,
or logical address (the correct street). The second answer is the hardware address. All hosts on a network have a logical ID called an IP address.
This is the software, or logical, address and contains valuable encoded information, greatly simplifying the complex task of routing.

IP receives segments from the Host-to-Host layer and fragments them into datagrams (packets) if necessary. IP then reassembles datagrams
back into segments on the receiving side. Each datagram is assigned the IP address of the sender and of the recipient. Each router (layer 3
device) that receives a datagram makes routing decisions based on the packet’s destination IP address.
The following fields make up the IP header:
Version: IP version number.

Header: length Header length (HLEN) in 32-bit words.

Priority and Type of Service: Type of Service tells how the datagram should be handled. The first 3 bits are the priority bits.

Total length: Length of the packet including header and data. Identification Unique IP-packet value.
Flags: Specifies whether fragmentation should occur.

Fragment offset: Provides fragmentation and reassembly if the packet is too large to put in a frame. It also allows different maximum
transmission units (MTUs) on the Internet.

Time to Live: The time to live is set into a packet when it is originally generated. If it doesn’t get to where it wants to go before the TTL
expires, boom—it’s gone. This stops IP packets from continuously circling the network looking for a home.

Protocol: Port of upper-layer protocol (TCP is port 6 or UDP is port 17 [hex]). Also supports Network layer protocols, like ARP and ICMP.
Can be called Type field in some analyzers.

Header checksum: Cyclic redundancy check (CRC) on header only.

Source IP address: 32-bit IP address of sending station.

Destination IP address: 32-bit IP address of the station this packet is destined for.

Options: Used for network testing, debugging, security, and more.

Data: After the IP option field will be the upper-layer data.


The figure below demonstrates how the Network layer sees the protocols at the Transport layer when it needs to hand a packet to the upper-
layer protocols.

The Protocol field tells IP to send the data to either TCP port 6 or UDP port 17 (both hex addresses). But it will only be UDP or TCP if the
data is part of a data stream headed for an upper-layer service or application.
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP) works at the Network layer and is used by IP for many different services. ICMP is a management
protocol and messaging service provider for IP. Its messages are carried as IP datagrams.

ICMP packets have the following characteristics:


 They can provide hosts with information about network problems.
 They are encapsulated within IP datagrams.
 The following are some common events and messages that ICMP relates to:
Destination Unreachable: If a router can’t send an IP datagram any further, it uses ICMP to send a message back to the sender, advising it of the
situation.

Ping: Packet Internet Groper (Ping) uses ICMP echo request and reply messages to check the physical and logical connectivity of machines on
an internetwork.

Traceroute: Using ICMP time-outs, Traceroute is used to discover the path a packet takes as it traverses an internetwork.

Address Resolution Protocol (ARP)


Address Resolution Protocol (ARP) finds the hardware address of a host from a known IP address.

Here’s how it works: When IP has a datagram to send, it must inform a Network Access protocol, such as Ethernet or Token Ring, of the
destination’s hardware address on the local network. (It has already been informed by upper-layer protocols of the destination’s IP address.) If
IP doesn’t find the destination host’s hardware address in the ARP cache, it uses ARP to find this information.

As IP’s detective, ARP interrogates the local network by sending out a broadcast asking the machine with the specified IP address to reply with
its hardware address. So basically, ARP translates the software (IP) address into a hardware address

The figure below shows how an ARP looks to a local network.


Reverse Address Resolution Protocol (RARP)
When an IP machine happens to be a diskless machine, it has no way of initially knowing its IP address. But it does know its MAC address.
Reverse Address Resolution Protocol (RARP) discovers the identity of the IP address for diskless machines by sending out a packet that
includes its MAC address and a request for the IP address assigned to that MAC address. A designated machine, called a RARP server, responds
with the answer and the identity crisis is over. RARP uses the information it does know about the machine’s MAC address to learn its IP
address and complete the machine’s ID portrait.

You might also like