* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download S_V07 - Raadio- ja sidetehnika instituut
Survey
Document related concepts
Distributed firewall wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Parallel port wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Computer network wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Airborne Networking wikipedia , lookup
Serial digital interface wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Network tap wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Transcript
Sidevõrgud IRT 0020 loeng 7 11. okt. 2005 Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst. [email protected] 81 Basic Telephone Network • Supports a single application: Telephone • An end host is a telephone • Each telephone makes only one voice stream – Even with callwaiting and 3-way calling Application Layer Telephone Telephone Network Telephone numbering, signaling, routing (Data) Link Layer TDMA 82 Datagram Computer Network • Supports many applications • Each end host is usually a general purpose computer • Each end host can be generating many data streams simultaneously • Insert Transport Layer to create an interface for different applications Application Layer telnet, ftp, email Transport Layer TCP, UDP Network Layer IP (Data) Link Layer 802.3, 802.11 – Provide (de)multiplexing – Provide value-added functions 83 Using Transport Layer Port Number (De)multiplex traffic HTTP Application p1 p2 telnet p1 p2 ports ssh p3 p1 p2 TCP Transport IP A B C In TCP, a data stream is identified by a set of numbers: (Source Address, Destination Address, Source Port, Destination Port) 84 Transport •Lowest level end-to-end protocol. – Header generated by sender is interpreted only by the destination – Routers view transport header as part of the payload •Adds functionality to the best-effort packet delivery IP service. – Make up for the shortcomings of the core network 5 5 Transport Transport IP IP IP Datalink 2 2 Datalink Physical 1 1 Physical router 85 Transport Protocol Functions • Multiplexing/demultiplexing for multiple applications. – Port abstraction • Connection establishment. – Logical end-to-end connection – Connection state to optimize performance • Error control. – Hide unreliability of the network layer from applications – Many types of errors: corruption, loss, duplication, reordering. • End-to-end flow control. – Avoid flooding the receiver 86 Transmission Control Protocol • Reliable bidirectional in-order byte stream – Socket: SOCK_STREAM • Connections established & torn down • Multiplexing/ demultiplexing – Ports at both ends • Error control – Users see correct, ordered byte sequences 0 16 Source Port 32 Dest. Port Sequence Number Acknowledgment Number HL/Flags Advertised Win. Checksum Urgent Pointer Options.. • End-end flow control 87 High Level TCP Features • Sliding window protocol – Use sequence numbers • Bi-directional – Each host can be a receiver and a sender simultaneously 88 Connection Setup • Mainly to agree on starting sequence numbers – Starting sequence number is randomly chosen – Reason, to reduce the chance that sequence numbers of old and new connections from overlapping 89 Important TCP Flags • SYN: Synchronize – Used when setting up connection • FIN: Finish – Used when tearing down connection • ACK – Acknowledging received data 90 Establishing Connection SYN: SeqC Client Server ACK: SeqC+1 SYN: SeqS ACK: SeqS+1 • Three-Way Handshake – Each side notifies other of starting sequence number it will use for sending – Each side acknowledges other’s sequence number • SYN-ACK: Acknowledge sequence number + 1 – Can combine second SYN with first ACK 91 TCP State Diagram: Setup Client CLOSED Server passive OPEN active OPEN Snd SYN CLOSE CLOSE delete TCB LISTEN SYN RCVD SEND snd SYN rcv SYN snd SYN ACK rcv SYN snd ACK SYN SENT Rcv SYN, ACK rcv ACK of SYN Snd ACK CLOSE Send FIN ESTAB 92 Tearing Down Connection • Either Side Can Initiate Tear Down – Send FIN signal – “I’m not going to send any more data” • Other Side Can Continue Sending Data – Half open connection – Must continue to acknowledge A B FIN, SeqA ACK, SeqA+1 Data ACK FIN, SeqB ACK, SeqB+1 • Acknowledging FIN – Acknowledge last sequence number + 1 93 State Diagram: Tear-down CLOSE send FIN FIN WAIT-1 ACK FIN WAIT-2 Active Close ESTAB CLOSE send FIN rcv FIN Passive Close send ACK CLOSE WAIT rcv FIN snd ACK CLOSE snd FIN rcv FIN+ACK snd ACK CLOSING LAST-ACK rcv ACK of FIN rcv FIN snd ACK rcv ACK of FIN TIME WAIT CLOSED Timeout=2 MSL 94 Sequence Number Space • Each byte in byte stream is numbered. – 32 bit value – Wraps around – Initial values selected at start up time • TCP breaks up the byte stream in packets (“segments”) – Packet size is limited to the Maximum Segment Size – Set to prevent packet fragmentation • Each segment has a sequence number. – Indicates where it fits in the byte stream 13450 segment 8 14950 16050 segment 9 17550 segment 10 95 Setting Retransmission Timeout (RTO) Initial Send RTO Initial Send RTO Retry Ack Retry Ack Detect dropped packet RTO too short – Time between sending & resending segment • Challenge – Too long: Add latency to communication when packets dropped – Too short: Send too many duplicate packets – General principle: Must be > 1 Round Trip Time (RTT) 96 Round-trip Time Estimation • Every Data/Ack pair gives new RTT estimate Data Sample Ack • Can Get Lots of Short-Term Fluctuations 97 Original TCP Round-trip Estimator • Round trip times estimated as a moving average: – New RTT = a (old RTT) + (1 - a) (new sample) – Recommended value for a: 0.8 - 0.9 • 0.875 for most TCP’s • Retransmit timer set to b RTT, where b = 2 – Want to be somewhat conservative about retransmitting 98 RTT Sample Ambiguity A B RTO Sample RTT A B X RTO Sample RTT • Ignore sample for segment that has been retransmitted 99 Congestion (1) • The load placed on the network is higher than the capacity of the network – Not surprising: independent senders place load on network • Results in packet loss: routers have no choice – Can only buffer finite amount of data – End-to-end protocol will typically react, e.g. TCP 100 Congestion (2) • Wasted bandwidth: retransmission of dropped packets • Poor user service : unpredictable delay, low user goodput • Increased load can even result in lower network goodput – Switched nets: packet losses create lots of retransmissions – Broadcast Ethernet: high demand -> many collisions Goodput “congestion collapse” Load 101 How Fast to Send • Send too slow: link sits idle – wastes time safe operating point Goodput • Send too fast: link is kept busy but.... – queue builds up in router buffer (delay) – overflow buffers in routers (loss) – Many retransmissions, many losses – Network goodput goes down Load 102