Lecture 6 Sumcsc 430
Lecture 6 Sumcsc 430
1) Transport layer: which is crucial for enabling communication between application processes on
different hosts in a network.
2) Logical Communication: The transport layer facilitates the illusion of a direct connection
between application processes running on different hosts, even though the data might travel
through multiple intermediate nodes.
3) Transport Protocols Run in End Systems: Unlike some protocols that operate in intermediate
network devices (like routers), transport protocols are implemented at the endpoints of a
communication session.
4) Segmentation and Reassembly:
Send Side: Application messages are divided into smaller units called segments. This
process is necessary because network infrastructure can handle only limited sizes of
data packets. After segmentation, these segments are passed down to the network layer
for delivery.
Receive Side: The transport layer collects these segments, reassembles them into the
original messages, and then delivers them to the application layer. This ensures the
application receives the entire message as intended.
5) Two Primary Transport Protocols:
TCP (Transmission Control Protocol): Provides reliable, ordered delivery of a stream of
bytes. It includes error checking, flow control, and congestion control mechanisms. TCP
is used when the accuracy of data delivery is critical, such as in web browsers, email,
and file transfers.
UDP (User Datagram Protocol): Offers a simpler service by sending messages, called
datagrams, without establishing a dedicated end-to-end connection. UDP is faster but
does not guarantee delivery, order, or error-free transmission. It's suitable for
applications where speed is crucial and occasional data loss is acceptable, such as
streaming media, online games, and voice over IP (VoIP).
6) Network layer: logical communication between hosts
7) Transport layer: logical communication between processes
8) Household analogy: 12 kids sending letters to 12 kids • Processes (applications) = kids • app
messages = letters in envelopes • hosts = houses • transport protocol: — jad: will do his best —
Sarah: will guarantee delivery • network-layer protocol = postal service
9) Multiplexing at Send Host: This is the process of combining data from multiple application-layer
sockets into a single transport-layer segment. Each piece of data is enveloped with a header that
contains important control information. This header plays a crucial role in the later process of
demultiplexing. Multiplexing allows for efficient utilization of the network resources by enabling
multiple communications to be carried out over a single connection.
10) Demultiplexing at Receive Host: Upon receiving segments, the transport layer performs the
reverse operation of multiplexing, known as demultiplexing. It uses the headers attached to
each segment to determine the appropriate destination socket for the data. This process
ensures that each piece of data is delivered to the correct application process.
How it works:
Receipt of IP Datagrams: When a host receives an IP datagram, this packet includes both
source and destination IP addresses. These addresses are part of the Layer 3 (Network
Layer) information, which helps in routing the datagram through the network to reach
the correct host.
Demultiplexing Process: The host uses the combination of IP addresses (to identify the
destination host) and port numbers (to identify the specific application or process within
the host) to direct the segment to the appropriate socket. A socket is a network
endpoint for sending and receiving data, and each socket on a host is uniquely identified
by the combination of an IP address and a port number.