Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
30 Cards in this Set
- Front
- Back
What does TCP provide over IP? |
- Virtual Circuit: setup/teardown
- Buffered: Can buffer bytes on sender/receiver - Full duplex: once connection established, either endpoint can send - Reliable: positive ACKs + timers, retransmission - Checksum of data - Port |
|
What is the algorithm for the TCP/UDP/IP header checksum?
|
One's complement of 16-bit one's complement sum.
|
|
What does UDP provide over IP?
|
- Checksum of data
- Port DOES NOT PROVIDE: Reliability, Flow/Congestion Control, Segmentation |
|
What does TCP stand for?
|
Transmission Control Protocol
|
|
What does UDP stand for?
|
User Datagram Protocol
|
|
TCP flag: URG
|
Urgent pointer valid. The urgent pointer points to number of octets from segment beginning to last octet of urgent data (16-bit)
|
|
TCP flag: ACK
|
Acknowledgement is valid
|
|
TCP flag: PSH
|
Requests that sender/receiver doesn't buffer data
|
|
TCP flag: RST
|
Directs TCP to abort this connection
|
|
TCP flag: SYN
|
Requests establishing a connection
|
|
TCP flag: FIN
|
Sender is done sending (but not receiving) data
|
|
TCP header: window size
|
(16 bit) Number of octets permitted to transmit starting at the acknowledged octet
|
|
Considering the latency model for dynamic congestion windows, which components contribute to latency?
|
Round trip time (RTT), the sum of all the stalled times, the transmission time of the object (O/R)
|
|
When a TCP segment arrives to a host, the socket to which the segment is directed depends on what?
|
local and foreign addresses, local and foreign ports, and protocol
|
|
Stop and wait protocol
|
...
Highly inefficient when when there is a large distance between source and destination and the transmission rate is high. |
|
Pipelining requires what?
|
unique sequence numbers for each in-transit packet, sender-side buffering of unacknowledged packets, transmitting many packets before receiving acknowledgements
|
|
With SYN cookies, when a server receives a SYN segment, it returns a SYNACK with:
|
an initial sequence number that is a hash of the IP addresses and port numbers in the SYN segment (as well as of other things).
|
|
Over a TCP connection, suppose host A sends two segments to host B, host B sends an acknowledgement for each segment, the first acknowledgement is lost, but the second acknowledgement arrives before the timer for the first segment expires. What will host A do?
|
Host A will retransmit neither segments
|
|
When a UDP segment arrives to a host, in order to direct the segment to the appropriate socket, the OS uses what?
|
Destination port number
|
|
TCP applies fast retransmit to a segment when ___?
|
when it receives three ACKs for an earlier segment
|
|
Nmap is often used to do what?
|
port scans over a range of ports at a target host
|
|
RTT
|
Round Trip Time
|
|
Three Way Handshake
|
1. The client requests a connection by sending a SYN (synchronize) message to the server with initial sequence number X.
2. The server acknowledges this request by sending SYN-ACK back to the client with SYN initial sequence number Y and ACK X+1. 3. The client responds with an ACK of Y+1, and the connection is established. |
|
List some UDP application protocols
|
DNS, DHCP, TFTP, SNMP
|
|
Why not use initial sequence number of 0?
|
1. Delayed packets from an old connection could cause confusion.
2. Makes connection hijacking easier. |
|
What is the rule for going into a time wait on a FIN?
|
If you send a FIN before you receive a FIN, you must go into time wait.
|
|
Example when client will go into time wait:
|
echo protocol, Tweetster when server sends something unexpected.
|
|
Example when server will go into time wait:
|
HTTP, Tweetster when there's an error caused by the client.
|
|
Formula for Round Trip Time (RTT)
|
RTT = (alpha * RTT) + ((1 - alpha) * M)
M = latest measurement of actual RTT 0<=alpha<=1 : weight on old RTT (typically 7/8) |
|
Formula for Retransmission Timeout (RTO)
|
RTO = RTT + 4D
D (deviation) = alpha * D + (1-alpha) |RTT-M| alpha = weight on previous deviation (commonly 7/8) initial RTO = beta * RTT beta = scalar multiplier (generally arbitrary) |