Академический Документы
Профессиональный Документы
Культура Документы
TRANSPORT LAYER
6.1 - INTRODUCTION
Logical connection between application processes
running on different hosts (Network layer:
connection b/n hosts)
Sender: segmentation, encapsulation, multiplexing
Receiver: assembly, decapsulation, demultiplexing
Two transport-layer protocols:
TCP: connection-oriented, reliable, congestion control,
flow control
UDP: connectionless, unreliable, unordered, no
congestion control, no flow control
Port numbers identify processes
16-bit: 0-65,535
Client process is assigned port number randomly by
the transport layer software (ephemeral port
number)
Server process is assigned port number by the
application (well-known or registered)
IANA (Internet Assigned Number Authority)
has divided the port numbers into three ranges
Well-known ports (0 to 1023) are assigned and
controlled by IANA. Examples 23 (Telnet), 53
(DNS), 80 (HTTP), 110 (POP3), 443 (HTTPS), etc.
Registered ports (1,024 to 49,151) are not assigned
or controlled by IANA; they can only be registered
with IANA to prevent duplication.
Dynamic ports (49,152 to 65,535) are neither
controlled nor registered; they can be used by any
process. These are the ephemeral ports.
6.2 Multiplexing/Demultiplexing
Multiplexing gathers data from multiple
processes
Demultiplexing delivers segments to
correct processes
Host 1 Host 2 Host 3
LastByteRead
Rcv Window
Rcv Buffer
6.6 Congestion Control
Applications sending more data than the
network devices (e.g., routers and
switches) can accommodate causing the
buffers on such devices to fill up and
possibly overflow congestion
Typical effects of congestion: queueing
delay, packet loss or the blocking of new
connections
Congestion control: method used for
monitoring and regulating the total amount
of data entering the network so as to keep
traffic levels at an acceptable value.
Approaches to congestion Control
Network-assisted congestion control
Network-layer components (that is, routers)
provide explicit feedback to the sender
regarding the congestion state in the network.
E.g. Frame relay networks
Two mechanisms are available
BECN (backward explicit congestion notification)
bit set to inform senders to slow down.
FECN (forward explicit congestion notification) bit
set to inform the forward nodes that they should
inform the sender to slow down.
Approaches to congestion Control
(contd)
End-to-end congestion control
Network layer provides no explicit support to
the transport layer for congestion-control
purposes.
TCP takes this approach.
TCP segment loss is taken as an indication of
network congestion and TCP control the loss from
congestion by decreasing its window
TCP Congestion Control
Failure to receive an ACK indicates that
the receiving host may be overflowing or
that the network is congested
TCP congestion control algorithm has
three major components
Additive-Increase, Multiplicative Decrease
(AIMD)
No loss sender increases its CongWin by
roughly one MSS every round-trip time
Loss halves the current CongWin
TCP Congestion Control (contd)
Slow Start
When a TCP connection begins, CongWin is
initialized to one MSS, resulting in an initial
sending rate of roughly 1 MSS/RTT and
doubles every RTT until loss event
Reaction to Timeout Events
3 acknowledgements: CongWin is cut in half
and then increases linearly
timeout event: TCP sender enters a slow-start
phase, i.e. congestion window is set to 1 MSS
and then grows exponentially
TCP Congestion Control (contd)