This chapter discusses end-to-end transport protocols like UDP and TCP. UDP provides a simple demultiplexing service but does not guarantee delivery. TCP provides a reliable byte-stream service using a sliding window algorithm to ensure reliable, in-order delivery along with flow and congestion control. It establishes connections using a three-way handshake and terminates them gracefully. The chapter covers TCP and UDP headers, connection management, sliding window mechanics, and differences between flow and congestion control.
switching techniques in data communication and networkingHarshita Yadav
it is a detailed presentation on switching techniques. it includes the three types of switching technique. it is described in such manner that you can learn switching without any difficulties.
ATM is a packet-oriented transfer mode. It allows multiple logical connections to be multiplexed over a single physical interface. The information flow on each logical connection is organized into fixed-size packets, called cells. As with frame relay, there is no link-by-link error control or flow control.
When we desire a communication between two applications possibly running on different machines, we need sockets. This presentation aims to provide knowledge of basic socket programming to undergraduate students. Basically, this presentation gives the importance of socket in the area of networking and Unix Programming. The presentation of Topic (Sockets) has designed according to the Network Programming Subject, B.Tech, 6th Semester syllabus of Punjab Technical University Kapurthala, Punjab.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
switching techniques in data communication and networkingHarshita Yadav
it is a detailed presentation on switching techniques. it includes the three types of switching technique. it is described in such manner that you can learn switching without any difficulties.
ATM is a packet-oriented transfer mode. It allows multiple logical connections to be multiplexed over a single physical interface. The information flow on each logical connection is organized into fixed-size packets, called cells. As with frame relay, there is no link-by-link error control or flow control.
When we desire a communication between two applications possibly running on different machines, we need sockets. This presentation aims to provide knowledge of basic socket programming to undergraduate students. Basically, this presentation gives the importance of socket in the area of networking and Unix Programming. The presentation of Topic (Sockets) has designed according to the Network Programming Subject, B.Tech, 6th Semester syllabus of Punjab Technical University Kapurthala, Punjab.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Networks must be able to transfer data from one device to another with acceptable
accuracy. For most applications, a system must guarantee that the data received are
identical to the data transmitted. Any time data are transmitted from one node to the
next, they can become corrupted in passage. Many factors can alter one or more bits of
a message. Some applications require a mechanism for detecting and correcting errors.
Some applications can tolerate a small level of error. For example, random errors
in audio or video transmissions may be tolerable, but when we transfer text, we expect
a very high level of accuracy.
At the data-link layer, if a frame is corrupted between the two nodes, it needs to be
corrected before it continues its journey to other nodes. However, most link-layer protocols
simply discard the frame and let the upper-layer protocols handle the retransmission
of the frame. Some multimedia applications, however, try to correct the corrupted frame.
This chapter is divided into five sections.
❑ The first section introduces types of errors, the concept of redundancy, and distinguishes
between error detection and correction.
❑ The second section discusses block coding. It shows how error can be detected
using block coding and also introduces the concept of Hamming distance.
❑ The third section discusses cyclic codes. It discusses a subset of cyclic code, CRC,
that is very common in the data-link layer. The section shows how CRC can be
easily implemented in hardware and represented by polynomials.
❑ The fourth section discusses checksums. It shows how a checksum is calculated for
a set of data words. It also gives some other approaches to traditional checksum.
❑ The fifth section discusses forward error correction. It shows how Hamming distance
can also be used for this purpose. The section also describes cheaper methods
to achieve the same goal, such as XORing of packets, interleaving chunks, or
compounding high and low resolutions packets.
TCP/IP (Transmission Control Protocol/Internet Protocol) is the basic communication language or protocol of the Internet. It can also be used as a communications protocol in a private network (either an intranet or an extranet).
RANDOM ACCESS PROTOCOL IN COMMUNICATION AMOGHA A K
In random access ,each station has right to send the data. However , if more than one station tries to send ,collision will occur .To avoid this collision , protocols came into existence.
In random access method , no stations are superior & none is assigned the control over the other .
When a station has a data to send , it uses a procedure defined by a protocol whether to send or not .
In this we discuss about DATA RATE LIMITS
Two theoretical formulas were developed to calculate the data rate:
Nyquist bit rate for a noiseless channel
BitRate = 2 * bandwidth * log 2 L
2: Shannon Capacity for a noisy channel
Capacity = bandwidth * log 2 (1 + SNR)
...............
PERFORMANCE (Network PERFORMANCE) :
Bandwidth: ( Bandwidth in Hertz and Bandwidth in Bits per Seconds) :
Throughput:
These above topics covered in this slide
Thanks You!
Department Of computer Application- Advanced computer network
Main office:
Remote locations
Branch offices:
Home offices:
Mobile users
Resource-Sharing Functions and Benefits
Network User Applications
Characteristics of a Network
Foundation
Advance Internet working
Congestion Control & Resource Allocation
Network Security
Symmetric Key Encryption
Cryptographic Building Blocks
Networks must be able to transfer data from one device to another with acceptable
accuracy. For most applications, a system must guarantee that the data received are
identical to the data transmitted. Any time data are transmitted from one node to the
next, they can become corrupted in passage. Many factors can alter one or more bits of
a message. Some applications require a mechanism for detecting and correcting errors.
Some applications can tolerate a small level of error. For example, random errors
in audio or video transmissions may be tolerable, but when we transfer text, we expect
a very high level of accuracy.
At the data-link layer, if a frame is corrupted between the two nodes, it needs to be
corrected before it continues its journey to other nodes. However, most link-layer protocols
simply discard the frame and let the upper-layer protocols handle the retransmission
of the frame. Some multimedia applications, however, try to correct the corrupted frame.
This chapter is divided into five sections.
❑ The first section introduces types of errors, the concept of redundancy, and distinguishes
between error detection and correction.
❑ The second section discusses block coding. It shows how error can be detected
using block coding and also introduces the concept of Hamming distance.
❑ The third section discusses cyclic codes. It discusses a subset of cyclic code, CRC,
that is very common in the data-link layer. The section shows how CRC can be
easily implemented in hardware and represented by polynomials.
❑ The fourth section discusses checksums. It shows how a checksum is calculated for
a set of data words. It also gives some other approaches to traditional checksum.
❑ The fifth section discusses forward error correction. It shows how Hamming distance
can also be used for this purpose. The section also describes cheaper methods
to achieve the same goal, such as XORing of packets, interleaving chunks, or
compounding high and low resolutions packets.
TCP/IP (Transmission Control Protocol/Internet Protocol) is the basic communication language or protocol of the Internet. It can also be used as a communications protocol in a private network (either an intranet or an extranet).
RANDOM ACCESS PROTOCOL IN COMMUNICATION AMOGHA A K
In random access ,each station has right to send the data. However , if more than one station tries to send ,collision will occur .To avoid this collision , protocols came into existence.
In random access method , no stations are superior & none is assigned the control over the other .
When a station has a data to send , it uses a procedure defined by a protocol whether to send or not .
In this we discuss about DATA RATE LIMITS
Two theoretical formulas were developed to calculate the data rate:
Nyquist bit rate for a noiseless channel
BitRate = 2 * bandwidth * log 2 L
2: Shannon Capacity for a noisy channel
Capacity = bandwidth * log 2 (1 + SNR)
...............
PERFORMANCE (Network PERFORMANCE) :
Bandwidth: ( Bandwidth in Hertz and Bandwidth in Bits per Seconds) :
Throughput:
These above topics covered in this slide
Thanks You!
Department Of computer Application- Advanced computer network
Main office:
Remote locations
Branch offices:
Home offices:
Mobile users
Resource-Sharing Functions and Benefits
Network User Applications
Characteristics of a Network
Foundation
Advance Internet working
Congestion Control & Resource Allocation
Network Security
Symmetric Key Encryption
Cryptographic Building Blocks
Congestion control and quality of servicesJawad Ghumman
It explain the need for congestion control and quality of service.Congestion control refers to the mechanisms and techniques to control the congestion and keep the load below the capacity.
a quick primer on the Internet of Things.
this presentation was a guest lecture for students to get a quick introduction to the Internet of Things, see some live demos and experiment with Evothings Studio, Arduino and their iOS devices at Hyper Island in Stockholm, Sweden.
In this presentation, Venkatesh introduces IoT and associated trends. His interest area lies in analytics of data obtained through sensors. Some of his ideas include predicting mean sea level based on Oxygen levels, Intelligent transport systems etc.
Internet of things protocols for resource constrained applications Pokala Sai
A detailed documentation on internet protocols at present happening of internet of things applications and a bit comparison of protocols using basic requirements
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
4. Chapter 5
Chapter Goal
Understanding the demultipexing service
Discussing simple byte stream protocol
4
5. Chapter 5
End-to-end Protocols
Common properties that a transport protocol can
be expected to provide
Guarantees message delivery
Delivers messages in the same order they were sent
Delivers at most one copy of each message
Supports arbitrarily large messages
Supports synchronization between the sender and the
receiver
Allows the receiver to apply flow control to the sender
Supports multiple application processes on each host
5
6. Chapter 5
End-to-end Protocols
Typical limitations of the network on which
transport protocol will operate
Drop messages
Reorder messages
Deliver duplicate copies of a given message
Limit messages to some finite size
Deliver messages after an arbitrarily long delay
6
7. Chapter 5
End-to-end Protocols
Challenge for Transport Protocols
Develop algorithms that turn the less-than-desirable
properties of the underlying network into the high level
of service required by application programs
7
8. Chapter 5
Simple Demultiplexer (UDP)
Extends host-to-host delivery service of the
underlying network into a process-to-process
communication service
Adds a level of demultiplexing which allows
multiple application processes on each host to
share the network
8
11. Chapter 5
Reliable Byte Stream (TCP)
In contrast to UDP, Transmission Control
Protocol (TCP) offers the following services
Reliable
Connection oriented
Byte-stream service
11
12. Chapter 5
Flow control VS Congestion control
Flow control involves preventing senders from
overrunning the capacity of the receivers
Congestion control involves preventing too much
data from being injected into the network,
thereby causing switches or links to become
overloaded
12
13. Chapter 5
End-to-end Issues
At the heart of TCP is the sliding window
algorithm (discussed in Chapter 2)
As TCP runs over the Internet rather than a
point-to-point link, the following issues need to
be addressed by the sliding window algorithm
TCP supports logical connections between processes
that are running on two different computers in the
Internet
TCP connections are likely to have widely different
RTT times
Packets may get reordered in the Internet
13
14. Chapter 5
End-to-end Issues
TCP needs a mechanism using which each side of a
connection will learn what resources the other side is
able to apply to the connection
TCP needs a mechanism using which the sending
side will learn the capacity of the network
14
15. Chapter 5
TCP Segment
TCP is a byte-oriented protocol, which means
that the sender writes bytes into a TCP
connection and the receiver reads bytes out of
the TCP connection.
Although “byte stream” describes the service
TCP offers to application processes, TCP does
not, itself, transmit individual bytes over the
Internet.
15
16. Chapter 5
TCP Segment
TCP on the source host buffers enough bytes
from the sending process to fill a reasonably
sized packet and then sends this packet to its
peer on the destination host.
TCP on the destination host then empties the
contents of the packet into a receive buffer, and
the receiving process reads from this buffer at its
leisure.
The packets exchanged between TCP peers are
called segments.
16
19. Chapter 5
TCP Header
The SrcPort and DstPort fields identify the source and
destination ports, respectively.
The Acknowledgment, SequenceNum, and
AdvertisedWindow fields are all involved in TCP’s sliding
window algorithm.
Because TCP is a byte-oriented protocol, each byte of
data has a sequence number; the SequenceNum field
contains the sequence number for the first byte of data
carried in that segment.
The Acknowledgment and AdvertisedWindow fields carry
information about the flow of data going in the other
direction.
19
20. Chapter 5
TCP Header
The 6-bit Flags field is used to relay control information
between TCP peers.
The possible flags include SYN, FIN, RESET, PUSH,
URG, and ACK.
The SYN and FIN flags are used when establishing and
terminating a TCP connection, respectively.
The ACK flag is set any time the Acknowledgment field is
valid, implying that the receiver should pay attention to it.
20
21. Chapter 5
TCP Header
The URG flag signifies that this segment contains urgent
data. When this flag is set, the UrgPtr field indicates
where the nonurgent data contained in this segment
begins.
The urgent data is contained at the front of the segment
body, up to and including a value of UrgPtr bytes into the
segment.
The PUSH flag signifies that the sender invoked the push
operation, which indicates to the receiving side of TCP
that it should notify the receiving process of this fact.
Finally, the RESET flag signifies that the receiver has
become confused
21
22. Chapter 5
TCP Header
Finally, the RESET flag signifies that the receiver has
become confused, it received a segment it did not expect
to receive—and so wants to abort the connection.
Finally, the Checksum field is used in exactly the same
way as for UDP—it is computed over the TCP header,
the TCP data, and the pseudoheader, which is made up
of the source address, destination address, and length
fields from the IP header.
22
24. Chapter 5
Sliding Window Revisited
TCP’s variant of the sliding window algorithm, which
serves several purposes:
(1) it guarantees the reliable delivery of data,
(2) it ensures that data is delivered in order, and
(3) it enforces flow control between the sender and the receiver.
24
25. Chapter 5
Sliding Window Revisited
Relationship between TCP send buffer (a) and receive buffer (b).
25
27. Chapter 5
TCP Flow Control
LastByteRcvd − LastByteRead ≤ MaxRcvBuffer
AdvertisedWindow = MaxRcvBuffer −
((NextByteExpected − 1) − LastByteRead)
LastByteSent − LastByteAcked ≤ AdvertisedWindow
EffectiveWindow = AdvertisedWindow − (LastByteSent −
LastByteAcked)
LastByteWritten − LastByteAcked ≤ MaxSendBuffer
If the sending process tries to write y bytes to TCP, but
(LastByteWritten − LastByteAcked) + y > MaxSendBuffer
then TCP blocks the sending process and does not allow
it to generate more data.
27
28. Chapter 5
Protecting against Wraparound
SequenceNum: 32 bits longs
AdvertisedWindow: 16 bits long
TCP has satisfied the requirement of the sliding
window algorithm that is the sequence number
space be twice as big as the window size
232 >> 2 × 216
28
29. Chapter 5
Protecting against Wraparound
Relevance of the 32-bit sequence number space
The sequence number used on a given connection might
wraparound
A byte with sequence number x could be sent at one time, and
then at a later time a second byte with the same sequence
number x could be sent
Packets cannot survive in the Internet for longer than the MSL
MSL is set to 120 sec
We need to make sure that the sequence number does not wrap
around within a 120-second period of time
Depends on how fast data can be transmitted over the Internet
29
31. Chapter 5
Keeping the Pipe Full
16-bit AdvertisedWindow field must be big enough to
allow the sender to keep the pipe full
Clearly the receiver is free not to open the window as
large as the AdvertisedWindow field allows
If the receiver has enough buffer space
The window needs to be opened far enough to allow a full
delay × bandwidth product’s worth of data
Assuming an RTT of 100 ms
31
33. Chapter 5
Triggering Transmission
How does TCP decide to transmit a segment?
TCP supports a byte stream abstraction
Application programs write bytes into streams
It is up to TCP to decide that it has enough bytes to send a
segment
33
34. Chapter 5
Triggering Transmission
What factors governs this decision
Ignore flow control: window is wide open, as would be the case
when the connection starts
TCP has three mechanism to trigger the transmission of a
segment
1) TCP maintains a variable MSS and sends a segment as soon as
it has collected MSS bytes from the sending process
MSS is usually set to the size of the largest segment TCP can send without
causing local IP to fragment.
MSS: MTU of directly connected network – (TCP header + and IP header)
2) Sending process has explicitly asked TCP to send it
TCP supports push operation
3) When a timer fires
Resulting segment contains as many bytes as are currently buffered for
transmission
34
35. Chapter 5
Silly Window Syndrome
If you think of a TCP stream as a conveyer belt with “full”
containers (data segments) going in one direction and
empty containers (ACKs) going in the reverse direction,
then MSS-sized segments correspond to large
containers and 1-byte segments correspond to very
small containers.
If the sender aggressively fills an empty container as
soon as it arrives, then any small container introduced
into the system remains in the system indefinitely.
That is, it is immediately filled and emptied at each end,
and never coalesced with adjacent containers to create
larger containers.
35
37. Chapter 5
Nagle’s Algorithm
If there is data to send but the window is open less than
MSS, then we may want to wait some amount of time
before sending the available data
But how long?
If we wait too long, then we hurt interactive applications
like Telnet
If we don’t wait long enough, then we risk sending a
bunch of tiny packets and falling into the silly window
syndrome
The solution is to introduce a timer and to transmit when the
timer expires
37
38. Chapter 5
Nagle’s Algorithm
We could use a clock-based timer, for example one that
fires every 100 ms
Nagle introduced an elegant self-clocking solution
Key Idea
As long as TCP has any data in flight, the sender will eventually
receive an ACK
This ACK can be treated like a timer firing, triggering the
transmission of more data
38
39. Chapter 5
Nagle’s Algorithm
When the application produces data to send
if both the available data and the window ≥ MSS
send a full segment
else
if there is unACKed data in flight
buffer the new data until an ACK arrives
else
send all the new data now
39
40. Chapter 5
Adaptive Retransmission
Original Algorithm
Measure SampleRTT for each segment/ ACK
pair
Compute weighted average of RTT
EstRTT = α x EstRTT + (1 - α )x SampleRTT
− α between 0.8 and 0.9
Set timeout based on EstRTT
TimeOut = 2 x EstRTT
40
41. Chapter 5
Original Algorithm
Problem
ACK does not really acknowledge a
transmission
It actually acknowledges the receipt of data
When a segment is retransmitted and then an
ACK arrives at the sender
It is impossible to decide if this ACK should be
associated with the first or the second transmission
for calculating RTTs
41
44. Chapter 5
Karn/Partridge Algorithm
Karn-Partridge algorithm was an
improvement over the original approach,
but it does not eliminate congestion
We need to understand how timeout is
related to congestion
If you timeout too soon, you may
unnecessarily retransmit a segment which
adds load to the network
44
45. Chapter 5
Karn/Partridge Algorithm
Main problem with the original
computation is that it does not take
variance of Sample RTTs into
consideration.
If the variance among Sample RTTs is
small
Then the Estimated RTT can be better trusted
There is no need to multiply this by 2 to
compute the timeout
45
46. Chapter 5
Karn/Partridge Algorithm
On the other hand, a large variance in the
samples suggest that timeout value should
not be tightly coupled to the Estimated
RTT
Jacobson/Karels proposed a new scheme
for TCP retransmission
46
47. Chapter 5
Jacobson/Karels Algorithm
Difference = SampleRTT − EstimatedRTT
EstimatedRTT = EstimatedRTT + ( × Difference)
Deviation = Deviation + (|Difference| − Deviation)
TimeOut = μ × EstimatedRTT + × Deviation
where based on experience, μ is typically set to 1 and
is set to 4. Thus, when the variance is small, TimeOut
is close to EstimatedRTT; a large variance causes the
deviation term to dominate the calculation.
47
48. Chapter 5
Summary
We have discussed how to convert host-to-host
packet delivery service to process-to-process
communication channel.
We have discussed UDP
We have discussed TCP
48
Editor's Notes
The University of Adelaide, School of Computer Science March 17, 2013 Chapter 2 — Instructions: Language of the Computer
The University of Adelaide, School of Computer Science March 17, 2013 Chapter 2 — Instructions: Language of the Computer
The University of Adelaide, School of Computer Science March 17, 2013 Chapter 2 — Instructions: Language of the Computer
The University of Adelaide, School of Computer Science March 17, 2013 Chapter 2 — Instructions: Language of the Computer