Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to...
-
date post
22-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to...
![Page 1: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/1.jpg)
Networking
![Page 2: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/2.jpg)
Protocol Stack
EmailGenerally speaking, sending an email message is
equivalent to copying a file from sender to receiver.
![Page 3: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/3.jpg)
Representation
• Correspondents may use different type of computers that represent text characters in different encoding.
• The email program passes the message to the representation program, which adds header that specifies the representation and sends it to the representation program on the destination computer.
• The representation program at the destination forms a translation to local encoding and then passes the message up to the email program at the destination computer.
![Page 4: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/4.jpg)
Packetization
• It is impossible to send arbitrary long messages.
• The representation program will forward the message to its local packetization program, this in turn, breaks the message into packets, add a header with number, and send these packets to packetization program at the destination computer.
• On arrival the packets will be reassembled at the remote packetization program and passed to the representation program.
![Page 5: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/5.jpg)
Routing
• The message must be routed through the network.
• The packetization program forwards the each packet to the router, this in turn, adds a routing header and determine where to send them.
• The router on the receiving host check the rout header and forward the packets towards the destination computer.
• Eventually, the packets arrive to the destination computer, and then passed to the packetization program at the destination computer.
![Page 6: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/6.jpg)
Error
• Data is sometimes corrupted during transmission due to noise on the communication channels.
• It is possible to devise means to recognize errors.
• If the sender recognized an error the sender is asked to re-send the packet, otherwise, an acknowledgment is sent back to sender.
![Page 7: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/7.jpg)
Protocol Stack
•The set of programs that the message goes through is called a protocol stack.
•Logically, each layer talks directly with its counterpart on the other machine, using particular protocol.
![Page 8: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/8.jpg)
ISO-OSI Layered Model
International Standard Organization
Open System Interconnected
![Page 9: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/9.jpg)
ISO-OSI Layered Model
![Page 10: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/10.jpg)
ISO-OSI Layered Model
The communication network is partitioned into the following multiple layers:
• Physical layer – handles the mechanical and electrical details of the physical transmission of a bit stream
• Data-link layer – Flow control over a signal link, buffering, and error correcting.
• Network layer – Routing.• Transport layer – Partitioning messages into packets,
maintaining packet order, controlling flow.
![Page 11: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/11.jpg)
ISO-OSI Layered Model
• Session layer – implements sessions, or process-to-process communications protocols (often unused).
• Presentation layer – resolves the differences in formats among the various sites in the network.
• Application layer – interacts directly with the users.
![Page 12: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/12.jpg)
The TCP/IP Protocol Suite
In practice, the TCP/IP protocol suite became a de-facto standard of the Internet
before the OSI model was defined.
![Page 13: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/13.jpg)
The TCP/IP Protocol Layers
![Page 14: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/14.jpg)
Internet Protocol
• The IP creates an internet: a network that is composed of networks.
• The IP performs the routing of messages across different networks.
![Page 15: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/15.jpg)
Implementation Issues
Flow Control
![Page 16: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/16.jpg)
Flow Control
• The recipients must have a buffer large enough to hold at least a single packet.
• If more packets arrive than there is no space in the buffer, the buffer will overflow.
• The situation in which the network is overloaded and drop packets is called congestion.
• In order to avoid congestion, flow control is needed.• Each sender has to estimate how much free space is
available in the recipient’s buffer.
![Page 17: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/17.jpg)
Acknowledgements & Timeouts• An acknowledgement (ACK) is a packet sent by one host
in response to a packet it has received
• A timeout is a signal that an ACK/NACK to a packet that was sent has not yet been received within a specified timeframe.
– A timeout triggers a retransmission of the original packet from the sender.
– Propagation delay is defined as the delay between transmission and receipt of packets between hosts.
– Propagation delay (a.k.a. Round Trip Time RTT) can be used to estimate timeout period
![Page 18: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/18.jpg)
Acknowledgements & TimeoutsSender Receiver
Frame
ACK
Tim
eout
Tim
e
Sender Receiver
Frame
ACK
Tim
eout
Frame
ACKTim
eout
Sender Receiver
Frame
ACKTim
eout
Frame
ACKTim
eout
Sender Receiver
Frame
Tim
eout
Frame
ACKTim
eout
(a) (c)
(b) (d)
![Page 19: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/19.jpg)
Buffering• Sender needs to buffer data so that if data is lost, it can be
resent.• Receiver needs to buffer data so that if data is received out of
order, it can be held until all packets are received– Flow control.
• How can we prevent sender overflowing receiver’s buffer?– Receiver tells sender its buffer.
![Page 20: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/20.jpg)
Stop-and-Wait Process
• Sender doesn’t send next packet until he’s sure receiver has last packet (i.e. buffer can contain a single packet).
• The packet/Ack sequence enables reliability• Sequence numbers help avoid problem of duplicate
packets.• Leads to large gap between packets, due to RTT.
Sender Receiver
![Page 21: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/21.jpg)
Solution: Pipelining via Sliding Window
• Allow multiple outstanding (un-ACKed) packets.• Upper bound on un-ACKed packets, called window.• Increased utilization
Sender Receiver
Time
……
![Page 22: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/22.jpg)
Sliding Window: Sender• Assign sequence number to each packet• Maintain three state variables:
– send window size (SWS)– last acknowledgment received (LAR)– last packet sent (LFS)
• Maintain invariant: LFS - LAR <= SWS• Advance LAR when ACK arrives • Buffer up to SWS frames
SWS
LAR LFS
… …
![Page 23: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/23.jpg)
Sliding Window: Receiver• Maintain three state variables
– receive window size (RWS)– largest packet acceptable (LFA)– last packet received (LFR)
• Maintain invariant: LFA - LFR <= RWS• Packet SeqNum arrives:
– if LFR < SeqNum < = LFA accept– if SeqNum < = LFR or SeqNum > LFA discarded
RWS
LFR LFA
… …
![Page 24: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/24.jpg)
Sliding Window Example
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
012
Sender Receiver
A3
3456
A4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 140 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
![Page 25: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/25.jpg)
Sliding Window Summary
• First role is to enable reliable delivery of packets:
– Timeouts and acknowledgements.
• Second role is to enable in order delivery of packets (FIFO):
– Receiver doesn’t pass data up to app until it has packets in order.
• Third role is to enable flow control:
– Prevents server from overflowing receiver’s buffer
![Page 26: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/26.jpg)
Piggybacking
• The recipient needs to inform the sender of two unrelated conditions:– The data has arrived correctly or not (ACK or NACK)– The buffer space available for additional transmissions.
• If the communication is bidirectional, the control data can be piggybacked in the data going on the other direction.
![Page 27: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/27.jpg)
Implementation Issues
Congestion Control
![Page 28: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/28.jpg)
TCP Congestion Control• A special case of flow control is the congestion control
algorithm used in TCP.– Cooperation: The control is not exercised by a single
system, but the combined actions of all the system involved.
– External resources: The resource being managed is external to the controlling systems.
– Indirection: The controlling systems do not have direct access to the controlled resource.
• Congestion:– Packets are dropped by routers that implement the
network.– Dropped packets are retransmitted, which incurs
additional overhead, thus, communication progressively worse.
– Communication slows down.
![Page 29: Networking. Protocol Stack Email Generally speaking, sending an email message is equivalent to copying a file from sender to receiver.](https://reader030.fdocuments.in/reader030/viewer/2022032523/56649d7e5503460f94a6172a/html5/thumbnails/29.jpg)
TCP Congestion Control• Congestion control is manifested in selecting the
appropriate window size.• In actual transmission, the system uses the minimum of the
flow-control window size and congestion control window size.
• Start slowly and build up:– The initial window size is 1.– As each ACK arrives, increased window size by 1.
• Congestion avoidance:– Set a threshold window size to half of the current size.– Set the window size to 1 and restart the slow-start
algorithm.– When the window size reaches the threshold, increase it
by 1/w on each ACK, where w is the current window size.