00:00:05
Suppose two persons are to
communicate with one another.
00:00:08
To communicate successfully, they
should be sharing a common language.
00:00:12
Therefore, both ends should be able to
understand what the other person is saying.
00:00:16
Similarly, in computer networks, the computers
should be sharing a common message format.
00:00:21
They should know how long the message
is? Which part of the message is the
00:00:25
actual data? Which part of the message
is the sender's and receiver's address?
00:00:30
Such information will result in successful
communication between computers.
00:00:35
If one computer speaks ASCII and the other
speaks Unicode, successful communication
00:00:40
will not occur unless they are prepared to
perform the translations back and forth.
00:00:45
So, some ground rules are required
to communicate successfully.
00:00:49
In computer networks, the agreed-upon set
of ground rules that make communication
00:00:53
possible are called protocols.
TCP/IP is a set of protocols that
00:00:59
support network communication, but what is
a network and what is communication?
00:01:05
In the most basic form, two computers
connected via LAN Cable sharing data with
00:01:10
the help of Network Interface Cards (hardware
present in each computer) forms a network,
00:01:13
and the process of sending messages from
one place to another through a wired or
00:01:17
wireless medium is called communication.
The message can be a file, a voice conversation,
00:01:23
a streaming video or anything which can
be communicated in digital form.
00:01:28
These messages are not sent
as a single unit; instead,
00:01:32
they are broken into small data units. These
data units are transmitted through the network
00:01:37
and restored at the receiver
into the original message.
00:01:41
In TCP/IP protocol suite, TCP breaks messages
into small data units called segments and hands
00:01:48
them off to IP, which deals with routing segments
through the networks to their final destination.
00:01:54
TCP module in the receiver combines the
segments to form the original message.
00:02:00
Note that TCP stands for Transmission Control
Protocol and IP stands for Internet Protocol.
00:02:06
An alternative to TCP is UDP. It stands for User
Datagram Protocol. The main difference is that TCP
00:02:14
is highly reliable, but it is slow, whereas UDP
is less reliable but generally faster. Both TCP
00:02:23
and UDP are a part of the protocol suite.
However, due to heavy dependence on TCP,
00:02:28
and for historical reasons, the entire set
of protocols is referred to as TCP/IP.
00:02:34
TCP/IP is a network model designed to support
network communication, even if the computers are
00:02:40
from different manufacturers. There is one
more network model called the OSI model or
00:02:46
Open System Interconnection reference model. It
is primarily used for research. On the other hand,
00:02:52
TCP/IP is a practical model developed to meet
the needs of the original Internet design.
00:02:58
As per the name, TCP/IP seems to be a set
of two protocols only – TCP and IP. However,
00:03:04
it consists of numerous protocols
bundled at different layers.
00:03:08
The topmost layer is the Application layer which
generates a message. The message is passed to the
00:03:14
lower layers at the sending node, where each layer
encapsulates the message from the above layer.
00:03:20
So, the message sent becomes larger and
larger as it passes down the chain.
00:03:25
The data unit in the data link
layer is called an Ethernet frame;
00:03:29
in the network layer, it is called an IP
packet; if it is in the transport layer,
00:03:34
it is called TCP segment in case of TCP protocol,
and UDP datagram in case of UDP protocol.
00:03:40
In the application layer, it is
called an application message.
00:03:44
The peer layer removes the header at the
receiving node and passes the remainder
00:03:49
upwards layer-by-layer till the message
finally reaches the application layer.
00:03:54
Let us discuss each layer
one-by-one in more detail.
00:03:58
We are starting with the bottom-most
layer – the physical layer.
00:04:01
The physical layer is the place where
actual communication takes place.
00:04:05
We know that a sequence of 0s and 1s
digitally represents the messages.
00:04:10
The physical layer converts this binary sequence
into signals and transmits them over local media.
00:04:17
The signal can be electrical if the
local media is Copper Cable or LAN cable,
00:04:22
the Light signal in case of Optical Fiber
and a Radio signal in case of Air/Vacuum.
00:04:29
So, the signal generated by the Physical Layer
00:04:32
depends on the type of media
used to connect two devices.
00:04:37
The most common protocol used at
the physical layer is Ethernet.
00:04:42
The protocol also specifies the type of
cables that can be used for data transmission.
00:04:47
For example, if the protocol used is Ethernet,
then twisted pair cable, coaxial cable, or fiber
00:04:53
optic cable can be used for data transmission.
If the protocol used is fast Ethernet or gigabit
00:04:59
ethernet, then twisted pair or fiber optic
cable can be used as local media.
00:05:08
Next is - THE DATA LINK LAYER
The data unit in the data link
00:05:12
layer is called an Ethernet frame. The data
link layer is divided into two sublayers:
00:05:17
· Medium-access control or MAC sublayer, and
· Logical link control or LLC sub-layer
00:05:25
The MAC sublayer is responsible for
· Data encapsulation, and
00:05:28
· Accessing the media
In data encapsulation,
00:05:32
the MAC sublayer adds a header and a trailer to
the IP packet received from the network layer.
00:05:38
The header contains the MAC addresses
of the sender and receiver. The trailer
00:05:43
contains 4 bytes of error checking data used to
detect errors in the received Ethernet frame.
00:05:49
What is the MAC address? It is a unique
6-byte address embedded in the NIC of
00:05:54
a device by its manufacturer.
For accessing the media, the access
00:06:00
method Ethernet uses is called Carrier Sense
Multiple Access/Collision Detection or CSMA/CD.
00:06:08
In this method, each computer listens to the
cable before sending data through the network.
00:06:13
If the network is clear, the computer will
transmit. If the first computer is already
00:06:18
transmitting on the cable, the second computer
will wait and try again when the line is clear.
00:06:24
Sometimes, two computers attempt to transmit
at the same instant. When this happens,
00:06:28
a collision occurs. Each computer then stops
transmission and waits a random amount of time
00:06:34
before attempting to retransmit.
Please note, with this access method;
00:06:38
it is normal to have collisions. However, the
delay caused by collisions and retransmitting
00:06:43
is very small and does not normally affect
the speed of transmission on the network.
00:06:49
The next is the LLC sub-layer. It offers
· flow control, and
00:06:53
· error control
Flow control is a technique that restricts
00:06:57
the amount of data that a sender can send without
overwhelming the receiver. The receiving devices
00:07:04
have a limited processing speed and a limited
memory to store the incoming data. If these limits
00:07:10
are exceeded, then the incoming data will be lost.
To avoid this, the receiver should inform the
00:07:16
sender to slow down the transmission rate before
these limits are met. In the data link layer, flow
00:07:22
control restricts the number of frames the sender
can send without overwhelming the receiver.
00:07:28
Error control in the data link layer primarily
refers to error detection and retransmission.
00:07:34
Error detection is done by using the error
checking bytes added in the trailer of the frame.
00:07:40
The frame retransmission is done
using Automatic Repeat Request
00:07:44
or ARQ. The receiver sends an ACK to
the sender when a frame is received.
00:07:50
When the ACK is not received, the sender sends the
frame again. So, if a frame gets lost or damaged,
00:07:57
then the ACK is not sent. As a result, the
sender sends the frame again. This process
00:08:03
is called Automatic Repeat Request (ARQ).
LLC layer can also re-size the IP packets
00:08:11
received from the network layer to fit
them in the data link layer frames.
00:08:15
The transport layer provides most
of the services of the LLC sublayer,
00:08:20
including flow control, error control, and
sizing of packets; therefore, the services
00:08:26
of the LLC layer are usually bypassed.
The remaining three layers of the TCP/IP
00:08:31
protocol stack, including network,
transport, and application layers,
00:08:35
are implemented as software programs
within the computer's operating system.
00:08:41
Starting with the NETWORK LAYER
The transport layer passes TCP segments
00:08:45
or UDP datagrams to the Network Layer. The
network layer adds logical addresses or IP
00:08:51
addresses to the TCP segments or UDP datagrams to
form IP packets and then uses routers to send the
00:08:58
IP packets to other networks. The network layer
also determines the best path for data delivery.
00:09:05
So the functions of the network layer are:
1. Logical Addressing
00:09:08
2. Routing
3. Path determination
00:09:12
IP is the single standard protocol for this
layer. The TCP/IP network layer is also
00:09:15
called the internetworking layer or IP layer.
Logical Addressing: Every computer in a network
00:09:17
has a unique IP address. The network layer
assigns sender and receiver's IP addresses
00:09:22
to each segment or datagram to form an IP
Packet. IP addresses are assigned to ensure
00:09:28
that each IP packet can reach the correct
destination present in different networks.
00:09:32
Routing
Routing is
00:09:34
a method of moving an IP packet from source to
destination present in different networks. Routing
00:09:40
is not needed if the source and destination
computers are present in the same network.
00:09:45
For communications within a
network, the task is usually simple.
00:09:49
The ARP module takes the destination IP address
from the IP packet and returns the MAC address
00:09:54
of the destination computer. It is then used
to create an Ethernet frame which is delivered
00:09:59
directly to the destination as it is present
in the same network, . no routing is needed.
00:10:05
However, when the message is being sent to a node
outside a network, for example, to the Internet,
00:10:10
the network layer moves the message from sender
to receiver through routers. Consider two networks
00:10:16
connected with a router. Computer A needs to
send data to computer B. Please note that both
00:10:23
computers are present in different networks.
Hence, in this case, routing is needed.
00:10:28
To create an Ethernet frame, we need the
MAC address of the destination computer.
00:10:33
However, in this case, the destination is present
in a different network. So, the ARP module cannot
00:10:39
provide us with the destination's MAC address
because it can provide the MAC address only if
00:10:45
the computers are present in the same network. So,
the ARP module in network one cannot provide the
00:10:51
MAC addresses of the computers present in network
two and vice-versa. Since the intermediate to the
00:10:57
networks is the router R, the destination MAC
address is kept as the router's MAC address, and
00:11:03
the frame is forwarded to the router. Router finds
that the MAC address in the frame matches its
00:11:08
address. So, it extracts the IP packet from the
frame and forwards it to the network layer. The
00:11:14
network layer finds a mismatch for the destination
IP address. So it sends the IP packet down to
00:11:20
the data link layer and updates the destination
MAC address with the MAC address of computer B.
00:11:25
But how router knows the MAC address of computer
B? Simple, by using the ARP module. It is one
00:11:32
network, so the ARP module works here. Finally,
the ethernet frame is delivered to computer B.
00:11:39
Please note that the destinations IP address
never changes for inter-network communication,
00:11:45
but the physical address or the MAC
address changes with every hop.
00:11:50
So, IP addresses are a must to transfer
data among multiple networks.
00:11:56
Now Path determination:
A computer can be connected
00:11:59
to an internet server or a computer in several
ways. Choosing the best possible path for data
00:12:05
delivery from source to destination is called
Path Determination. Layer 3 devices use protocols
00:12:11
such as OSPF (Open Shortest Path First), BGP
(Border Gateway Protocol), IS-IS (Intermediate
00:12:16
System to Intermediate System) to determine
the best possible path for data delivery.
00:12:22
Because routing takes place at the network
layer or layer 3, routers and gateways
00:12:27
are sometimes called layer three switches.
IP is unreliable. It does not guarantee delivery
00:12:33
nor check for errors. These tasks are the
responsibility of the transport layer.
00:12:40
Let us start discussing the transport layer
At the sending node, the transport layer
00:12:44
receives the message from the application layer.
When the message reaches the transport layer,
00:12:50
one of the transport layer protocols,
i.e., TCP or UDP, is selected.
00:12:55
TCP supports segmentation. So, if the message
is large, TCP divides it into smaller pieces
00:13:02
and adds a header to form a TCP segment.
On the other hand, UDP does not support
00:13:07
segmentation, so the applications
using UDP should send messages
00:13:11
short enough to fit into one UDP datagram.
Note that the data unit in TCP is called
00:13:17
TCP segment, and the data unit in
UDP is called UDP datagram.
00:13:23
UDP datagrams are considered unreliable because
there is no guarantee that all datagrams sent
00:13:28
will be received in the destination and in the
correct order. So, if reliability is needed,
00:13:33
UDP should not be used.
UDP lacks error checking and
00:13:37
correction. It makes UDP fast and efficient
for DNS, DHCP, SNMP, and RIP protocols.
00:13:45
UDP is also suited for streaming videos.
When the application layer invokes the UDP
00:13:47
protocol, UDP encapsulates the application
message into UDP datagrams. The datagram is then
00:13:48
passed to the network layer for transmission.
At the receiving end, the network layer sends
00:13:48
the UDP datagram to the transport layer. UDP then
extracts the application message from the datagram
00:13:48
and passes it to the application layer.
TCP, on the other hand, is reliable and
00:13:51
guarantees in-order delivery of data from the
sender to the receiver. The data transmission
00:13:56
via TCP has three phases:
· Connection establishment
00:14:00
· Data transfer, and
· Connection termination
00:14:03
In the Connection Establishment phase, the sender
TCP or client sends a packet to the receiver TCP
00:14:09
or server requesting a connection. The server then
sends an acknowledgement to the client. The client
00:14:14
further acknowledges the server. It completes
the process of connection establishment. Since a
00:14:20
connection is set up before data transmission,
TCP is a connection-oriented protocol,
00:14:26
and the connection establishment process is
called Three-Way TCP Connection Handshake.
00:14:32
Once the connection is established,
the next phase is the Data Transfer.
00:14:36
During data transfer, TCP offers some key features
which UDP does not provide, and it includes
00:14:42
• Error-free data transfer
• Ordered-data transfer
00:14:45
• Retransmission of lost data
• Discarding duplicate packets, and
00:14:50
• Congestion throttling
Let us discuss each feature one-by-one.
00:14:54
Error-Free Data Transfer is provided by using
the field Checksum. The sender calculates and
00:14:59
enters a value in this field. At the receiving
end, the receiver performs the same process
00:15:04
and calculates the checksum value. If it does
not match with the value present in the checksum
00:15:09
field, the TCP segment is discarded, and no
ACK is sent to the sender. Because the sending
00:15:15
side does not receive an acknowledgement of
the discarded packet, it is retransmitted.
00:15:35
Ordered-Data Transfer
TCP adds a sequence number in the TCP segments.
00:15:40
At the receiving end, the TCP module uses the
sequence numbers to reconstruct the application
00:15:45
message in the correct order.
Retransmission of Lost segments
00:15:50
For reliable data transfer, the receiver TCP sends
an acknowledgement to the sender TCP for each TCP
00:15:57
segment it receives. If an acknowledgement is
not received, the TCP segment is retransmitted.
00:16:03
Therefore, if a TCP segment is lost, the receiver
will not send an ACK message to the sender.
00:16:10
As a result, the sender TCP
sends the lost segment again.
00:16:15
Discarding Duplicate segments
The TCP client retransmits packets that
00:16:20
it determines to be lost. However, the receiver
TCP may receive segments that were considered to
00:16:26
be lost after the sending side has retransmitted
the segments. As a result, the receiving end will
00:16:29
have two or more copies of the same segment. In
such cases, the unique sequence numbers in the TCP
00:16:36
header of every segment helps to determine the
duplicate segments, which are then discarded.
00:16:43
Congestion Throttling or flow control
The goal for TCP is to send segments to
00:16:48
the receiving end as fast as possible without
losing them. When TCP first sends the segments,
00:16:54
it sets a timer. If the segments are acknowledged
before the timer expires, TCP increases the
00:17:00
transmission speed until the segments begin to
become unacknowledged. Since the ACK for some
00:17:06
segments is not received within the time, the
sending TCP module retransmits the segments.
00:17:13
When a significant number of packets have
to be retransmitted, TCP slows down the
00:17:18
data transfer rate. In this way, TCP handles
congestion throttling or flow control.
00:17:26
The last phase in the data transmission
is Connection Termination.
00:17:30
When an endpoint wishes to stop its connection,
it sends a finished message to the other endpoint.
00:17:36
The other end acknowledges the message. Both
ends do this two-phase handshake process.
00:17:43
Therefore, the connection termination follows
a four-way handshake process.
00:17:48
The Top Most Layer in the
TCP/IP protocol suite is the
00:17:55
Application layer
00:17:57
The application layer is used by user applications
that pass messages from one computer to another in
00:18:09
layer protocols to perform their activities.
For example, web browsers use HTTP
00:18:15
or HTTPS – to do web surfing. Email
programs, such as Microsoft Outlook, use
00:18:21
post office protocol (POP) or the Simple Mail
Transfer Protocol (SMTP) for transferring emails.
00:18:27
So, the application layer provides means
to access information on the network.
00:18:33
This is a list of protocols
provided by the application layer
00:18:36
DNS - Domain Name System translates IP
addresses into Domain Names and vice-versa.
00:18:41
DHCP - Dynamic Host Configuration Protocol
automatically assign IP addresses to
00:18:46
computers present in the network.
FTP - File Transfer Protocol is used
00:18:50
to transfer files on the Internet
HTTP - HyperText Transfer Protocol
00:18:54
is used for sending and receiving webpages
IMAP - Internet Message Access Protocol is used
00:19:00
for email messages on the Internet
IRC - Internet Relay Chat protocol
00:19:04
is used for Internet chat.
POP3 - Post Office Protocol
00:19:07
Version 3 is used by email clients to
retrieve messages from remote servers
00:19:12
SMTP - Simple Mail Transfer Protocol is
used for email messages on the Internet
00:19:18
It completes the TCP/IP protocol suite.
If you have learnt something from this video, then
00:19:24
please like this video. Share this video so that
more people can learn. Thanks for watching.