* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Flow control
Survey
Document related concepts
Multiprotocol Label Switching wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Computer network wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Airborne Networking wikipedia , lookup
Network tap wikipedia , lookup
Deep packet inspection wikipedia , lookup
Internet protocol suite wikipedia , lookup
Serial digital interface wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Buffer overflow protection wikipedia , lookup
Transcript
Midterm Results 1 Note 5: Peer-to-Peer Protocols and Data Link Control Flow Control 2 Flow Control buffer fill Information frame Transmitter Receiver Control frame • Receiver has limited buffering to store arriving frames • Several situations cause buffer overflow – Mismatch between sending rate & rate at which user can retrieve data – Surges in frame arrivals • Flow control prevents buffer overflow by regulating rate at which source is allowed to send information 3 X ON / X OFF Information frame threshold Transmitter Receiver Transmit X OFF Transmit Time A on off on B off Time 2Tprop Threshold must activate OFF signal while 2 Tprop R bits still remain in buffer 4 Window Flow Control Return of permits tcycle A Time B Time • • • Sliding Window ARQ method with Ws equal to buffer available – Transmitter can never send more than Ws frames ACKs that slide window forward can be viewed as permits to transmit more Can also pace ACKs as shown above – Return permits (ACKs) at end of cycle regulates transmission rate • Problems using sliding window for both error & flow control – Choice of window size – Interplay between transmission rate & retransmissions – TCP separates error & flow control 5 Note 5: Peer-to-Peer Protocols and Data Link Control Time Recovery 6 Timing Recovery for Synchronous Services Network output not periodic Synchronous source sends periodic information blocks Network • • • Applications that involve voice, audio, or video can generate a synchronous information stream Information carried by equally-spaced fixed-length packets Network multiplexing & switching introduces random delays – Packets experience variable transfer delay – Jitter (variation in interpacket arrival times) also introduced • Timing recovery re-establishes the synchronous nature of the stream 7 Introduce Playout Buffer Packet Arrivals Packet Playout Playout Buffer Packet Arrivals Packet Playout Tmax Sequence numbers help order packets • Delay first packet by maximum network delay • All other packets arrive with less delay • Playout packet uniformly thereafter 8 Arrival times Time Send times Playout clock must be synchronized to transmitter clock Playout times Tplayout Time Receiver too fast buffer starvation Receiver too slow; buffer fills and overflows time Receiver speed Time just right Many late packets Tplayout time Tplayout time 9 Clock Recovery Buffer for information blocks Timestamps inserted in packet payloads indicate when info was produced Error signal Smoothing Add filter + t4 t3 t2 t1 Playout command Adjust frequency - Timestamps Recovered clock Counter • • • Counter attempts to replicate transmitter clock Frequency of counter is adjusted according to arriving timestamps Jitter introduced by network causes fluctuations in buffer & in local clock 10 Synchronization to a Common Clock Receiver Transmitter Δf Δf Network fs M=#ticks in local clock In time that net clock does N ticks fn/fs=N/M fr Df=fn-fs=fn-(M/N)fn fn fr=fn-Df Network clock • Clock recovery is simple if a common clock is available to transmitter & receiver – E.g. SONET network clock; Global Positioning System (GPS) • Transmitter sends Df of its frequency & network frequency • Receiver adjusts network frequency by Df • Packet delay jitter can be removed completely 11 Example: Real-Time Protocol • RTP (RFC 1889) designed to support real-time applications such as voice, audio, video • RTP provides means to carry: – Type of information source – Sequence numbers – Timestamps • Actual timing recovery must be done by higher layer protocol – MPEG2 for video, MP3 for audio 12 Note 5: Peer-to-Peer Protocols and Data Link Control Data Link Control Protocols 13 Data Link Protocols A Packets Packets Data link layer Data link layer Physical layer Frames Physical layer • Directly connected, wire-like • Losses & errors, but no out-ofsequence frames • Applications: Direct Links; LANs; Connections across WANs Data Links Services • Framing • Error control • Flow control B • Multiplexing • Link Maintenance • Security: Authentication & Encryption Examples • PPP • HDLC • Ethernet LAN • IEEE 802.11 (Wi Fi) LAN 14 Framing transmitted frames received frames 0110110111 0111110101 Framing • Mapping stream of physical layer bits into frames • Mapping frames into bit stream • Frame boundaries can be determined using: – – – – Character Counts Control Characters Flags CRC Checks 15 Character-Oriented Framing Data to be sent A DLE B ETX DLE STX E After stuffing and framing DLE STX A DLE DLE B ETX DLE DLE STX E DLE ETX • Frames consist of integer number of bytes – Asynchronous transmission systems using ASCII to transmit printable characters – Octets with HEX value <20 are nonprintable • Special 8-bit patterns used as control characters – STX (start of text) = 0x02; ETX (end of text) = 0x03; • Byte used to carry non-printable characters in frame – – – – DLE (data link escape) = 0x10 DLE STX (DLE ETX) used to indicate beginning (end) of frame Insert extra DLE in front of occurrence of DLE in frame All DLEs occur in pairs except at frame boundaries 16 Framing & Bit Stuffing HDLC frame Flag Address Control Information FCS Flag any number of bits • Frame delineated by flag character • HDLC uses bit stuffing to prevent occurrence of flag 01111110 inside the frame • Transmitter inserts extra 0 after each consecutive five 1s inside the frame • Receiver checks for five consecutive 1s – if next bit = 0, it is removed – if next two bits are 10, then flag is detected – If next two bits are 11, then frame has errors 17 Example: Bit stuffing & de-stuffing (a) Data to be sent 0110111111111100 After stuffing and framing 0111111001101111101111100001111110 (b) Data received 01111110000111011111011111011001111110 After destuffing and deframing *000111011111-11111-110* 18 PPP Frame Flag Address 01111110 1111111 Control 00000011 Protocol Information CRC Flag 01111110 integer # of bytes All stations are to accept the frame Unnumbered frame Specifies what kind of packet is contained in the payload, e.g., LCP, NCP, IP, OSI CLNP, IPX • PPP uses similar frame structure as HDLC, except – Protocol type field – Payload contains an integer number of bytes • PPP uses the same flag, but uses byte stuffing • Problems with PPP byte stuffing – Size of frame varies unpredictably due to byte insertion – Malicious users can inflate bandwidth by inserting 7D & 7E 19 Byte-Stuffing in PPP • • • • PPP is character-oriented version of HDLC Flag is 0x7E (01111110) Control escape 0x7D (01111101) Any occurrence of flag or control escape inside of frame is replaced with 0x7D followed by original octet XORed with 0x20 (00100000) Data to be sent 7E 41 41 7D 42 7E 50 70 46 7D 5D 42 7D 5E 50 70 46 7E After stuffing and framing 20 Generic Framing Procedure (GFP) GFP payload area 2 2 2 2 0-60 PLI cHEC Type tHEC GEH Payload length indicator Core header error checking Payload type GFP Type header extension headers error checking GFP payload GFP payload • GFP combines frame length indication with CRC – PLI indicated length of frame, then simply count characters – cHEC (CRC-16) protects against errors in count field • GFP designed to operate over octet-synchronous physical layers (e.g. SONET) – Frame-mapped mode for variable-length payloads: Ethernet – Transparent mode carries fixed-length payload: storage devices 21 GFP Synchronization & Scrambling • Synchronization in three-states – Hunt state: examine 4-bytes to see if CRC ok If no, move forward by one-byte If yes, move to pre-sync state – Pre-sync state: tentative PLI indicates next frame If N successful frame detections, move to sync state If no match, go to hunt state – Sync state: normal state Validate PLI/cHEC, extract payload, go to next frame Use single-error correction Go to hunt state if non-correctable error • Scrambling – Payload is scrambled to prevent malicious users from inserting long strings of 0s which cause SONET equipment to lose bit clock synchronization (as discussed in line code section) 22 PPP: Point-to-Point Protocol • Data link protocol for point-to-point lines in Internet – Router-router; dial-up to router 1. Provides Framing and Error Detection – Character-oriented HDLC-like frame structure 2. Link Control Protocol – Bringing up, testing, bringing down lines; negotiating options – Authentication: key capability in ISP access 3. A family of Network Control Protocols specific to different network layer protocols – IP, OSI network layer, IPX (Novell), Appletalk 23 PPP Applications PPP used in many point-to-point applications • Telephone Modem Links 30 kbps • Packet over SONET 600 Mbps to 10 Gbps – IP→PPP→SONET • PPP is also used over shared links such as Ethernet to provide LCP, NCP, and authentication features – PPP over Ethernet (RFC 2516) – Used over DSL 24 PPP Frame Format Flag Address Control 01111110 11111111 00000011 1 or 2 variable 2 or 4 Protocol Information FCS All stations are to accept the frame Flag 01111110 CRC 16 or CRC 32 HDLC Unnumbered frame • PPP can support multiple network protocols simultaneously • Specifies what kind of packet is contained in the payload •e.g. LCP, NCP, IP, OSI CLNP, IPX... 25 PPP Example 26 PPP Phases Dead 7. Carrier dropped Failed Terminate 6. Done Failed 5. Open 4. NCP configuration Network Home PC to Internet Service Provider 1. PC calls router via modem 2. PC and router exchange LCP packets to negotiate PPP parameters 3. Check on identities Establish 4. NCP packets exchanged to 2. Options configure the network layer, e.g. TCP/IP ( requires IP address negotiated assignment) 5. Data transport, e.g. send/receive IP Authenticate packets 6. NCP used to tear down the network layer connection (free up IP address); LCP used to shut down 3. Authentication data link layer connection completed 7. Modem hangs up 1. Carrier detected 27 PPP Authentication • Password Authentication Protocol – – – – Initiator must send ID & password Authenticator replies with authentication success/fail After several attempts, LCP closes link Transmitted unencrypted, susceptible to eavesdropping • Challenge-Handshake Authentication Protocol (CHAP) – Initiator & authenticator share a secret key – Authenticator sends a challenge (random # & ID) – Initiator computes cryptographic checksum of random # & ID using the shared secret key – Authenticator also calculates cryptocgraphic checksum & compares to response – Authenticator can reissue challenge during session 28 High-Level Data Link Control (HDLC) • Bit-oriented data link control • Derived from IBM Synchronous Data Link Control (SDLC) • Related to Link Access Procedure Balanced (LAPB) – LAPD in ISDN – LAPM in cellular telephone signaling 29 Network layer NLPDU Network layer “Packet” DLSDU DLSAP DLSAP Data link layer DLPDU “Frame” Physical layer DLSDU Data link layer Physical layer 30 HDLC Data Transfer Modes • Normal Response Mode – Used in polling multidrop lines Commands Primary Responses Secondary Secondary Secondary • Asynchronous Balanced Mode – Used in full-duplex point-to-point links Primary Commands Secondary Responses Responses Secondary Commands Primary • Mode is selected during connection establishment 31 HDLC Frame Format Flag Address Control Information FCS Flag • Control field gives HDLC its functionality • Codes in fields have specific meanings and uses – Flag: delineate frame boundaries – Address: identify secondary station (1 or more octets) In ABM mode, a station can act as primary or secondary so address changes accordingly – Control: purpose & functions of frame (1 or 2 octets) – Information: contains user data; length not standardized, but implementations impose maximum – Frame Check Sequence: 16- or 32-bit CRC 32 Control Field Format Information Frame 1 2-4 0 N(S) 5 6-8 P/F N(R) P/F N(R) Supervisory Frame 1 0 S S Unnumbered Frame 1 • • • 1 M M S: Supervisory Function Bits N(R): Receive Sequence Number N(S): Send Sequence Number P/F • • M M M M: Unnumbered Function Bits P/F: Poll/final bit used in interaction between primary and secondary 33 Information frames • Each I-frame contains sequence number N(S) • Positive ACK piggybacked – N(R)=Sequence number of next frame expected acknowledges all frames up to and including N(R)-1 • 3 or 7 bit sequence numbering – Maximum window sizes 7 or 127 • Poll/Final Bit – NRM: Primary polls station by setting P=1; Secondary sets F=1 in last I-frame in response – Primaries and secondaries always interact via paired P/F bits 34 Error Detection & Loss Recovery • Frames lost due to loss-of-synch or receiver buffer overflow • Frames may undergo errors in transmission • CRCs detect errors and such frames are treated as lost • Recovery through ACKs, timeouts & retransmission • Sequence numbering to identify out-of-sequence & duplicate frames • HDLC provides for options that implement several ARQ methods 35 Supervisory frames Used for error (ACK, NAK) and flow control (Don’t Send): • Receive Ready (RR), SS=00 – ACKs frames up to N(R)-1 when piggyback not available • REJECT (REJ), SS=01 – Negative ACK indicating N(R) is first frame not received correctly. Transmitter must resend N(R) and later frames • Receive Not Ready (RNR), SS=10 – ACKs frame N(R)-1 & requests that no more I-frames be sent • Selective REJECT (SREJ), SS=11 – Negative ACK for N(R) requesting that N(R) be selectively retransmitted 36 Unnumbered Frames • Setting of Modes: – SABM: Set Asynchronous Balanced Mode – UA: acknowledges acceptance of mode setting commands – DISC: terminates logical link connection • Information Transfer between stations – UA: Unnumbered acknowledgment • Recovery used when normal error/flow control fails – FRMR: frame with correct FCS but impossible semantics – RSET: indicates sending station is resetting sequence numbers • XID: exchange station id and characteristics 37 Connection Establishment & Release • Unnumbered frames used to establish and release data link connection • In HDLC – Set Asynchronous Balanced Mode (SABM) – Disconnect (DISC) – Unnumbered Acknowledgment (UA) SABM UA Data transfer DISC UA 38 Example:Address HDLC using NRM (polling) of secondary A polls B N(R) N(S) N(R) X A rejects fr1 B, SREJ, 1 A polls C C, RR, 0, P A polls B, requests selective retrans. fr1 Secondaries B, C Primary A B, RR, 0, P B, I, 0, 0 B, I, 1, 0 B, I, 2, 0,F B sends 3 info frames C, RR, 0, F C nothing to send B, I, 1, 0 B, I, 3, 0 B, I, 4, 0, F B resends fr1 Then fr 3 & 4 B, SREJ, 1,P A send info fr0 to B, ACKs up to 4 B, I, 0, 5 Time 39 Frame Exchange using Asynchronous Balanced Mode Combined Station B Combined Station A B, I, 0, 0 A, I, 0, 0 B, I, 1, 0 X B sends 5 frames B, I, 2, 1 A, I, 2, 1 B, I, 3, 2 B, REJ, 1 B, I, 4, 3 B goes back to 1 A, I, 1, 1 A ACKs fr0 A rejects fr1 A, I, 3, 1 B, I, 1, 3 B, I, 2, 4 B, I, 3, 4 B, RR, 2 A ACKs fr1 B, RR, 3 A ACKs fr2 40 Flow Control • Flow control is required to prevent transmitter from overrunning receiver buffers • Receiver can control flow by delaying acknowledgement messages • Receiver can also use supervisory frames to explicitly control transmitter – Receive Not Ready (RNR) & Receive Ready (RR) I3 I4 I5 RNR5 RR6 I6 41 Further Reading • Textbook: 3.9.1--3.9.6, 5.1-- 5.6 42 ECE 683 Computer Network Design & Analysis Note 6: Medium Access Control Protocols 43 Outline • Multiple Access Communications • Random Access – – – – ALOHA Slotted ALOHA Carrier Sense Multiple Access (CSMA) CSMA with Collision Detection (CSMA-CD) • Scheduling • Channelization 44 Multiple Access Communications • Shared media is the basis of broadcast networks – Inexpensive: radio over air; copper or coaxial cable – M users communicate by broadcasting into the medium • Key issue: How to share the medium? 3 2 4 1 Shared multiple access medium M 5 Broadcast networks are often also referred to as multiple access networks 45 Approaches to Media Sharing Medium sharing techniques MAC protocols Static channelization • • • • Partition medium Dedicated allocation to users Satellite transmission Cellular Telephone Dynamic medium access control Scheduling • • • • Random access Polling: take turns Request for slot in transmission schedule Token ring Wireless LANs • • • • Loose coordination Send, wait, retry if necessary Aloha Ethernet 46 Channelization: Satellite Satellite Channel uplink fin downlink fout 47 Channelization: Cellular uplink f1 ; downlink f2 uplink f3 ; downlink f4 48 Scheduling: Polling Data from Data1 from 2 Poll 1 Host computer Inbound line Data to M Poll 2 Outbound line 1 2 M 3 Stations 49 Scheduling: Token-Passing Ring networks token Data to M token Station that holds token transmits into ring 50 Random Access Multitapped Bus Crash!! Transmit when ready Collisions can occur; need retransmission strategy 51 Wireless LAN AdHoc: station-to-station Infrastructure: stations to base station Random access & polling 52 Delay-Bandwidth Product • Delay-bandwidth product is the key parameter – Coordination in sharing medium involves using bandwidth (explicitly or implicitly) – Difficulty of coordination is commensurate with delaybandwidth product • Simple two-station example – Station with frame to send listens to medium and transmits if medium is found idle – Station monitors medium to detect collision – If collision occurs, station that begin transmitting earlier retransmits (propagation time is known) 53 Two-Station MAC Example Two stations are trying to share a common medium A transmits at t = 0 Distance d meters tprop = d / seconds A B Case 1 A B Case 2 A detects collision at t = 2 tprop A B A B B does not transmit before t = tprop & A captures channel B transmits before t = tprop and detects collision soon 54 thereafter Efficiency of Two-Station Example • Each frame transmission requires 2tprop of quiet time – Station B needs to be quiet tprop before and after time when Station A transmits – R transmission bit rate – L bits/frame L 1 1 Efficiency max L 2t propR 1 2t propR / L 1 2a L 1 MaxThroughput Reff R bits/second L / R 2t prop 1 2a Normalized Delay-Bandwidth Product a t prop L/R Propagation delay Time to transmit a frame 55 Typical MAC Efficiencies Two-Station Example: Efficiency 1 1 2a CSMA-CD (Ethernet) protocol: Efficiency 1 1 6.44a • If a<<1, then efficiency close to 100% • As a approaches 1, the efficiency becomes low Token-ring network 1 Efficiency 1 a a΄= latency of the ring (bits)/average frame length 56 Typical Delay-Bandwidth Products Distance 10 Mbps 100 Mbps 1 Gbps Network Type 1m 3.33 x 10-02 3.33 x 10-01 3.33 x 100 Desk area network 100 m 3.33 x 1001 3.33 x 1002 3.33 x 1003 Local area network 10 km 3.33 x 1002 3.33 x 1003 3.33 x 1004 Metropolitan area network 1000 km 3.33 x 1004 3.33 x 1005 3.33 x 1006 Wide area network 100000 km 3.33 x 1006 3.33 x 1007 3.33 x 1008 Global area network • Max size Ethernet frame: 1500 bytes = 12000 bits • Long and/or fat pipes give large a 57 Factors in Selecting a MAC protocol • • • • • • • • • Delay-bandwidth product Efficiency Transfer delay Fairness Reliability Capability to carry different types of traffic Quality of service Scalability Cost 58 MAC Delay Performance • Frame transfer delay – From the first bit of a frame arrives at source MAC – To the last bit of a frame delivered at destination MAC • Throughput – Actual transfer rate through the shared medium – Measured in frames/sec or bits/sec • Parameters R bits/sec & L bits/frame l frames/second average arrival rate X=L/R sec/frame (frame transmission time) Load = lL/R<1, rate at which “work” arrives Maximum throughput (@100% efficiency): R/L fr/sec 59 Normalized Delay versus Load E[T]/X E[T] = average frame transfer delay • Transfer delay X = average frame transmission time At low arrival rate, only frame transmission time At high arrival rates, increasingly longer waits to access channel Max efficiency typically less than 100% • • 1 Load max 1 60 Dependence on Rtprop/L a > a E[T]/X a Transfer Delay a 1 max Load max 1 61