1/38
Looks like no tags are added yet.
How are applications logically connected
By the transport layer
Data packets in the transport layer
segments
(sometimes called datagrams for UDP only)
Where is the transport layer implemented
on the host systems, not routers/switches
Services from the transport layer to the application layer
logical connection
services from the network layer to the transport layer
IP
UDP
User Datagram Protocol
TCP
Transmission Control Protocol
IP
internet protocol
best-effort delivery (unreliable)
Multiplexing
Combining data into one segment
Demultiplexing
separating data in a segment to deliver data to its sockets/ports
TCP common uses
email, remote access, web, file transfer
UDP common sources
remote file server, network manage, DNS, routing
Error detection
checksum
Checksum definition
attach the sum of all the data’s bits
if it doesn’t match, something was lost — resend
Receiver feedback
acknowledgements
Acknowledgements definition
when you get a packet, send back OK
Negative Acknowledgement
NOT used by TCP
acknowledging when a packet is not received
Sequence numbers
denotes order of packets
also identifies duplicate packets sent for redundancy
Time Out
if things are quiet for too long, assume all is lost and resend
Time Out Doubling
after the first timeout, wait twice the time for the next
Pipelining
sending many packets without waiting for each acknowledgement
acknowledgments use sequence numbers now
and they stop at the packet number before any were lost (GBN)
Go Back N size
as many packets as you pipeline at once
“N”
Go Back N function
when a packet is missed, you resend all packets in the buffer starting with that packet (“the nth packet”)
3 events for a GBN sender to respond to
invocation from above (app layer calls (rdt_send())
receipt of an ACK
timeout
Selective repeat
needs acknowledgements for all packets
only resends lost/corrupted ones
Selective repeat window meaning
how many packets can be sent before dealing with lost/corrupted ones
3 sender response events SR
Data received from above
timeout
ACK received
3 receiver response events SR
packet with number in the window is received (send ACK)
packet with number before the window is received (send ACK)
else, ignore packet
why is TCP connection oriented
the handshake
full duplex service
both parties establish a channel and communicate simultaneously
TCP ✅
Multicasting
one sender talks to many receivers
TCP ❌
Three way handshake
Client sends special segment
Server responds with a special segment
Client sends another special segment (has payload)
MSS
max segment size
max data than can be in a segment
MTU
maximum transmission unit
the largest segment + header (frame) that can be sent
RTT
round trip time
from send to receive ACK
estimated rtt
estimated based on the last actual RTT and the last estimated RTT
updates every packet
used for making time outs
Timeout interval
based on estimated RTT and deviation of RTT
flow control
speed matches how fast data can be read out of the receive buffer with how fast data is sent to the receiver
provided by the window (info about it is sent to sender)
3 nmap returns
SYN ACK - allowed and app running
TCP RST - allowed but no app running
Nothing - firewall blocked it