This document provides an overview of the Transmission Control Protocol (TCP). TCP is a connection-oriented protocol that provides reliable data transmission over the internet by establishing connections between clients and servers, using acknowledgements and retransmissions to ensure reliable delivery of data. It handles data as a byte stream for applications but transmits data in segments over IP networks. The TCP header contains fields like port numbers, sequence numbers, acknowledgement numbers, flags, checksum, and options to support its functions.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
5-LEC- 5.pptxTransport Layer. Transport Layer ProtocolsZahouAmel1
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transport Layer.
Transport Layer Protocols
Transpor
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).
Amrapāli, also known as "Ambapālika" or "Ambapali", was a nagarvadhu (royalcourtesan) of the republic of Vaishali in ancient India around 500 BC.[1][2] Following theBuddha's teachings she became an arahant. She is mentioned in the old Pali texts andBuddhist traditions, particularly in conjunction with the Buddha staying at her mango grove, Ambapali vana which she later donated to his order, and wherein he preached the famous Ambapalika Sutta.[3][4][5][6] The legend of Amrapali originated in the Buddhist Jataka Tales some 1500 years ago.
Amrapali Group, one of the fastest growing real estate development corporates in Delhi and the National capital region. Focusing on Greater Noida, Indirapuram and other East Delhi locations, the Amrapali Group has completed projects spread over more than 100 acres.
2137ad Merindol Colony Interiors where refugee try to build a seemengly norm...luforfor
This are the interiors of the Merindol Colony in 2137ad after the Climate Change Collapse and the Apocalipse Wars. Merindol is a small Colony in the Italian Alps where there are around 4000 humans. The Colony values mainly around meritocracy and selection by effort.
thGAP - BAbyss in Moderno!! Transgenic Human Germline Alternatives ProjectMarc Dusseiller Dusjagr
thGAP - Transgenic Human Germline Alternatives Project, presents an evening of input lectures, discussions and a performative workshop on artistic interventions for future scenarios of human genetic and inheritable modifications.
To begin our lecturers, Marc Dusseiller aka "dusjagr" and Rodrigo Martin Iglesias, will give an overview of their transdisciplinary practices, including the history of hackteria, a global network for sharing knowledge to involve artists in hands-on and Do-It-With-Others (DIWO) working with the lifesciences, and reflections on future scenarios from the 8-bit computer games of the 80ies to current real-world endeavous of genetically modifiying the human species.
We will then follow up with discussions and hands-on experiments on working with embryos, ovums, gametes, genetic materials from code to slime, in a creative and playful workshop setup, where all paticipant can collaborate on artistic interventions into the germline of a post-human future.
The perfect Sundabet Slot mudah menang Promo new member Animated PDF for your conversation. Discover and Share the best GIFs on Tenor
Admin Ramah Cantik Aktif 24 Jam Nonstop siap melayani pemain member Sundabet login via apk sundabet rtp daftar slot gacor daftar
Explore the multifaceted world of Muntadher Saleh, an Iraqi polymath renowned for his expertise in visual art, writing, design, and pharmacy. This SlideShare delves into his innovative contributions across various disciplines, showcasing his unique ability to blend traditional themes with modern aesthetics. Learn about his impactful artworks, thought-provoking literary pieces, and his vision as a Neo-Pop artist dedicated to raising awareness about Iraq's cultural heritage. Discover why Muntadher Saleh is celebrated as "The Last Polymath" and how his multidisciplinary talents continue to inspire and influence.
The Legacy of Breton In A New Age by Master Terrance LindallBBaez1
Brave Destiny 2003 for the Future for Technocratic Surrealmageddon Destiny for Andre Breton Legacy in Agenda 21 Technocratic Great Reset for Prison Planet Earth Galactica! The Prophecy of the Surreal Blasphemous Desires from the Paradise Lost Governments!
2137ad - Characters that live in Merindol and are at the center of main storiesluforfor
Kurgan is a russian expatriate that is secretly in love with Sonia Contado. Henry is a british soldier that took refuge in Merindol Colony in 2137ad. He is the lover of Sonia Contado.
2. 2
Overview
TCP = Transmission Control Protocol
• Connection-oriented protocol
• Provides a reliable unicast end-to-end byte stream over an
unreliable internetwork.
TCP
IP Internetwork
Byte Stream
Byte Stream
TCP
3. 3
Connection-Oriented
• Before any data transfer, TCP establishes a connection:
• One TCP entity is waiting for a connection (“server”)
• The other TCP entity (“client”) contacts the server
• The actual procedure for setting up connections is more
complex.
• Each connection is
CLIENT SERVER
full duplex
waiting for
connection
request
Request a connection
Accept a connection
Disconnect Data Transer
4. 4
Reliable
• Byte stream is broken up into chunks which are called seg-ments
• Receiver sends acknowledgements (ACKs) for segments
• TCP maintains a timer. If an ACK is not received in time,
the segment is retransmitted
•Detecting errors:
• TCP has checksums for header and data. Segments with
invalid checksums are discarded
• Each byte that is transmitted has a sequence number
5. 5
Byte Stream Service
• To the lower layers, TCP handles data in blocks, the
segments.
• To the higher layers TCP handles data as a sequence of
bytes and does not identify boundaries between bytes
• So: Higher layers do not know about the beginning and
end of segments !
TCP
Application
1. write 100 bytes
2. write 20 bytes
queue of
bytes to be
transmitted TCP
queue of
bytes that
have been
received
Application
1. read 40 bytes
2. read 40 bytes
3. read 40 bytes
Segments
6. 6
TCP Format
• TCP segments have a 20 byte header with >= 0 bytes of data.
IP header TCP header TCP data
Sequence number (32 bits)
TCP checksum urgent pointer
DATA
20 bytes 20 bytes
0 15 16 31
Source Port Number Destination Port Number
Acknowledgement number (32 bits)
header window size
length 0 Flags
Options (if any)
20 bytes
7. 7
TCP header fields
• Port Number:
• A port number identifies the endpoint of a connection.
• A pair <IP address, port number> identifies one
endpoint of a connection.
• Two pairs <client IP address, server port number>
and <server IP address, server port number> identify
a TCP connection.
Applications
Ports: 23 80 104
TCP
IP
Applications
7 80 16 Ports:
TCP
IP
8. 8
TCP header fields
• Sequence Number (SeqNo):
– Sequence number is 32 bits long.
– So the range of SeqNo is
0 <= SeqNo <= 232 -1 » 4.3 Gbyte
– Each sequence number identifies a byte in the byte
stream
– Initial Sequence Number (ISN) of a connection is set
during connection establishment
Q: What are possible requirements for ISN ?
9. 9
TCP header fields
• Acknowledgement Number (AckNo):
– Acknowledgements are piggybacked, I.e
a segment from A -> B can contain an
acknowledgement for a data sent in the B -> A direction
Q: Why is piggybacking good ?
– A hosts uses the AckNo field to send acknowledgements.
(If a host sends an AckNo in a segment it sets the “ACK flag”)
– The AckNo contains the next SeqNo that a hosts wants to
receive
Example: The acknowledgement for a segment with
sequence numbers 0-1500 is AckNo=1501
10. 10
TCP header fields
• Acknowledge Number (cont’d)
– TCP uses the sliding window flow protocol (see CS 457) to
regulate the flow of traffic from sender to receiver
– TCP uses the following variation of sliding window:
– no NACKs (Negative ACKnowledgement)
– only cumulative ACKs
• Example:
Assume: Sender sends two segments with “1..1500” and
“1501..3000”, but receiver only gets the second segment.
In this case, the receiver cannot acknowledge the second
packet. It can only send AckNo=1
11. 11
TCP header fields
• Header Length ( 4bits):
– Length of header in 32-bit words
– Note that TCP header has variable length (with minimum
20 bytes)
12. 12
TCP header fields
• Flag bits:
– URG: Urgent pointer is valid
– If the bit is set, the following bytes contain an urgent message in
the range:
SeqNo <= urgent message <= SeqNo+urgent pointer
– ACK: Acknowledgement Number is valid
– PSH: PUSH Flag
– Notification from sender to the receiver that the receiver should
pass all data that it has to the application.
– Normally set by sender when the sender’s buffer is empty
13. 13
TCP header fields
• Flag bits:
– RST: Reset the connection
– The flag causes the receiver to reset the connection
– Receiver of a RST terminates the connection and indicates
higher layer application about the reset
– SYN: Synchronize sequence numbers
– Sent in the first packet when initiating a connection
– FIN: Sender is finished with sending
– Used for closing a connection
– Both sides of a connection must send a FIN
14. 14
TCP header fields
• Window Size:
– Each side of the connection advertises the window size
– Window size is the maximum number of bytes that a
receiver can accept.
– Maximum window size is 216-1= 65535 bytes
• TCP Checksum:
– TCP checksum covers over both TCP header and TCP
data (also covers some parts of the IP header)
• Urgent Pointer:
– Only valid if URG flag is set