Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Reliable stream service--TCP 1.TCP accepts byte stream, segments 2.It is over IP, so out-of-sequence is very common --lost or error frame results in.

Similar presentations


Presentation on theme: "1 Reliable stream service--TCP 1.TCP accepts byte stream, segments 2.It is over IP, so out-of-sequence is very common --lost or error frame results in."— Presentation transcript:

1 1 Reliable stream service--TCP 1.TCP accepts byte stream, segments 2.It is over IP, so out-of-sequence is very common --lost or error frame results in out-of-sequence -- It is not “wirelike”, even there is a TCP connection between sender and receiver, but this connection has logical meaning and is not a real physical path, i.e., packets ultimately travel along different routes, so out- of-sequence 3.Because of not “wirelike”, it is possible for old packets from previous connections to arrive at a receiver. The old packets will confuse the new packets with the same SN. TCP solves it by 1.using long (32 bit) SNs and selecting a random initial SN during connection setup; 2.set a timer at end of a connection to clear old packets. So accepting an very old packet is very unlikely. 4.TCP uses Selective Repeat ARQ with a mechanism to advertise receive window size for flow control. Moreover, window size is not based on number of packets, but number of bytes 5.TCP can also be used for congestion control.

2 2 byte stream Send buffer Segments Receive buffer byte stream Application ACKs Transmitter Receiver Figure 5.32 TCP preview—reliable stream service

3 3 Transmitter S last S last + W s – 1... Send Window S recent octets transmitted & ACKed... S last + W a -1 S last oldest unacknowledged byte S recent highest-numbered transmitted byte S last +W a -1 highest-numbered byte that can be transmitted S last +W s -1 highest-numbered byte that can be accepted from the application Receiver Receive Window R next R last R last + W R – 1 R last highest-numbered byte not yet read by the application R next next expected byte R new highest numbered byte received correctly R last +W R -1 highest-numbered byte that can be accommodated in receive buffer R new Wa=Wr-(R new -R last ), S recent -S last <=Wa Advertised window:

4 4 Data link protocols Framing: indicate the boundaries of frames Error control: ensure reliable transmission Flow control: prevent sender from overrunning receiver Addressing information: is required when the channel carries information for multiple users. Assumption: data link is “wirelike”. Two protocols: HDLC and PPP.

5 5 HDLC data link control Was set by ISO Is connection-oriented: set up connection first, then transfer frames using one of three ARQs, finally tear down the connection (Note: LAN generally provides unacknowledged connectionless service) HLDC configurations and transfer modes HDLC frame format Typical frame exchange

6 6 Physical Layer Data Link Layer Data Link Layer Network Layer DLSDU Network Layer Physical Layer DLPDU NLPDU “packet” “frame” DLSAP Figure 5.32 Data link layer

7 7 PrimarySecondary Commands Responses Unbalanced Point-to-point link Primary Commands Responses Secondary Unbalanced Multipoint link Primary Secondary Commands Responses Balanced Point-to-point link between Combined Stations Primary Secondary Commands Responses Figure 5.33 HDLC configurations and transfer modes NRM: Normal Response Mode ABM: Asynchronous Balance Mode

8 8 Flag AddressControlInformationFCS Figure 5.35 HDLC frame format 1.Framing: Flags at both ends define the frame boundaries. Flag value is 01111110 2. Addressing: indicate the destination address 3. Control: various control fields to indicate different frames 4. Information: user information by bits, generally no length limit. 5. FCS: Frame Check Sum, using 16-or 32-bit CRC Question: flag value 01111110 may appear in frame, what to do? Solution: bit stuffing, a technique to prevent occurrence of flag. sender inserts an extra 0 after each instance of five consecutive 1s. receiver looks for five consecutive 1s, if followed by 0, then this 0 is stuffed and is removed; if followed by 10, then flag found. Example: 0110111111111100  011011111011111000 where 0 is stuffed 011011111-11111-00 where –: removed stuff 0

9 9 0N(S) N(R) P/F 1 2-4 5 6-8 Information Frame or I-frame N(R) P/F Supervisory Frame or S-frame Unnumbered Frame or U-frame 1 0 SS P/F 1 1 MMM M M Control field format: three types of frames P/F bit: Poll/Final bit. If set, the frame is a poll frame from primary or the last I-frame of all transmitted frames. N(S): sender SN of I-frame, N(R): piggybacked ACK Window size: 2 3 –1 = 7 for Stop-and-Wait and Go-back-N, 4 for Selective-Repeat (in extended control field) 2 7 –1 = 127 for the first two ARQs, 64 for the last ARQ

10 10 N(R) P/F Supervisory Frame or S-frame Unnumbered Frame or U-frame 1 0 SS P/F 1 1 MMM M M Figure 5.36 Control field format: S-frame and U-frame Four types of S-frames: SS=00: RR (Receive Ready) frame used when no I-frame for piggyback SS=01: REJ (Reject) frame, i.e., NAK frame SS=10: RNR (Receive Not Ready) frame, indicate unable to receive any more. SS=11: SREJ (Selective Reject) frame, indicate the retransmission of specified frame U-frames for setup or release of connection: SABM (Set Asynchronous Balance Mode) SNRM (Set Normal Response Mode) SABME: SABM Extended SNRME: SNRM Extended DISC (DISConnect) UA (Unnumbered acknowledgment) FRMR (Frame Reject)

11 11 SABM UA DISC Data transfer Figure 5.37 Typical frame exchange—for connection setup and release

12 12 Primary A Secondaries B, C B, RR, 0, P B, I, 0, 0 B, I, 1, 0 B, I, 2, 0,F X B, SREJ, 1 C, RR, 0, P C, RR, 0, F B, SREJ, 1,P B, I, 1, 0 B, I, 3, 0 B, I, 4, 0, F B, I, 0, 5 Figure 5.38 Typical frame exchange— using normal response mode (Des.-IP, frame-type, N(S) (for I-frame), N(R), P/F) What ARQ? Selective repeat

13 13 Combined Station A Combined Station B B, I, 0, 0 A, I, 0, 0 B, I, 1, 0 B, I, 2, 1 A, I, 1, 1 A, I, 2, 1 X B, REJ, 1 B, I, 3, 2 B, I, 4, 3 B, I, 1, 3 B, I, 2, 4 B, I, 3, 4 A, I, 3, 1 B, RR, 2 B, RR, 3 Figure 5.39 Typical frame exchange— using asynchronous balanced mode What ARQ?Go-back-N

14 14 Point-to-Point protocol Used to connect: –Router to router, or home PC to ISP. HDLC-like frame format Information by bytes, so char-stuffing in case a flag byte appears in information Support multiple network protocols simultaneously, e.g, IP, IPX( Novell NetWare) etc. LCP (Link Control Protocol): set up, configure, test, maintain, and terminate a link connection NCP (Network Control Protocol): configure each network protocol, specifically, NCP for IP performs dynamical IP address assignment PAP (Password Authentication Protocol): login ID and password CHAP (Challenge-Handshake Authentication Protocol): no plain password goes between two peers.

15 15 Flag flag Address Control Information CRC Protocol 01111110 1111111 00000011 Unnumbered frame Specifies what kind of packet is contained in the payload, e.g., LCP, NCP, IP, OSI CLNP, IPX All stations are to accept the frame Figure 5.40 PPP frame format 1.Framing flag: same as HDLC 2.Address: 1111111, broadcast address, no need for specific host address 3.Control: default for connectionless transfer, not use sequence number 4.Protocol: support multiple network protocols 5.Information: byte-based, not bit-based. So Char-stuffing, see Problem 5-54. 6. CRC: check sum

16 16 A Typical Scenario 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. 4. NCP packets exchanged to configure the network layer, e.g., TCP/IP ( requires IP address assignment). 5. Data transport, e.g. send/receive IP packets. 6. NCP used to tear down the network layer connection (free up IP address); LCP used to shut down data link layer connection. 7. Modem hangs up. Dead Establish Authenticate Network Terminate Open failed 1. Carrier Detected 2. LCP Options Negotiated 3. Authentication Completed 4. NCP Configuration 6. Done 7. Carrier Dropped 5. Figure 5.41


Download ppt "1 Reliable stream service--TCP 1.TCP accepts byte stream, segments 2.It is over IP, so out-of-sequence is very common --lost or error frame results in."

Similar presentations


Ads by Google