[ Pobierz całość w formacie PDF ]
.Thereader is assumed to be familiar with TCP, so this section concentrates onthe influence that it has on QoS.TCP performs a range of important functions:• Splitting of application data into segments to pass to IP that arepotentially independent of the read/write size of the application;• Provision of a checksum for both header and data with dropping ofany invalid segments received;• Setting a timer for acknowledgment of end-to-end receipt of thedata segment;• Acknowledgment of valid data segments received;• Retransmission of segments if the timer expires before an acknowl-edgment is received;• Resequencing of segments that are received out of order;• Discarding of any duplicate segments received;• Adjustment of window size by receiver to prevent overflow of itsbuffers.Control of these functions is provided through a combination of headerfields and the preset TCP protocol operations.The structure of the TCPheader is shown in Figure 7.11 in terms of 32-bit words and can be describedas follows:172QoS in Integrated 3G NetworksSource portDestination portSequence numberAcknowledgment numberDataoffset Reserved URG, ACK, PSHRST, SYN, FINWindow sizeChecksumUrgent pointerFigure 7.11 TCP header.• The normal header size is 20 bytes but can be extended by as muchas another 40 bytes by the optional fields.The source and destina-tion port numbers identify the sending and receiving applications;for example, the familiar Internet File Transfer Protocol (FTP) hasport number 23, while RSVP has port number 3328.• The sequence number is a rolling unsigned 32-bit integer that iden-tifies the first byte of a segment in the data stream being transmittedand wraps around after 2321 bytes, while the acknowledgmentnumber behaves analogously for received data.Selective acknowl-edgment is not permitted, so if data with sequence numbers 1 to512 and 1,025 to 1,536 have been received, but not 513 to 1,024,only the first block can be acknowledged, leading to the probableretransmission of 1,025 to 1,536 as well as the missing block.• The six flags URG, ACK, PSH, RST, SYN, and FYN can be used incombination to indicate the significance of the data.SYN is set bythe sender to set up the connection and initialize the sequence num-bers, and FYN to end the connection, while RST initiates a reset.ACK indicates that data is being acknowledged, but URG and PSHare less standardized in their usage.The URG flag indicates that thedata beginning at the urgent-pointer offset should be processed first,and typically it is used for interrupts and aborts.PSH implies thatthe data in the segment should be sent up to the receiving applica-tion immediately instead of waiting for a full buffer before doing so.• The 16-bit window size states the maximum number of bytes thatthe sender is prepared to receive up to a possible 65,535 bytes.Protocols173Use of these standard fields alone is not always adequate and has led tothe introduction of the optional fields [40].Each optional field is identified within the optional TCP header extension by a 1-byte kind field, usually followed by a 1-byte length field giving the option header length.The threemost important kinds of option for QoS are kind 2 [the maximum segmentsize (MSS)], kind 3 (the window scale factor), and kind 8 (the timestampoption).The MSS is only set in the initial SYN segments, with each end statingits preferred MSS.Large values for the MSS up to the MTU of the outgoinginterface minus the combined IP and TCP header sizes tend to give the bestperformance; a default of 536 bytes is assumed if none has been specified.The window scale factor is important for high-bandwidth routes sub-ject to long propagation delays in order to prevent the window size frombeing exhausted while waiting for an acknowledgment with consequentinterruption to transmission.The window size required for this is given bythe formula below, where RTT is the round-trip time:Window size required = bandwidth × RTT(7.4)where the bandwidth is that of the worst bottleneck on the route.If this size exceeds 65,535 bytes, then the window size needs to be scaled by a power oftwo, in order for an adequate size to be specified, with values from 1 to 16being available by this means.For a 3G mobile user, the most critical casewould be trying to achieve 2-Mbps throughput over an international routeusing one or more satellite hops.Such a route with a single satellite hop in each direction might have an RTT of 600 ms leading toWindow size required = 2,000,000 × 0.6/8 = 150,000 bytesThis would require the window size to be scaled by a factor of 4 or morein order to avoid unnecessary interruptions to transmissionbut most 3Gusers will not need this feature.TCP provides algorithms for calculating the RTT and using it toupdate the retransmission timer.Use of the optional time-stamps simplifiescalculation of the RTT.TCP starts with default values for the retransmission timer and retransmits persistently unacknowledged data after escalatingintervals of 1, 3, 6, 12, 24, 48, and 64 seconds.More generally, this back-off procedure uses a progressive doubling of the current value of the retransmission timer instead of the defaults [ Pobierz całość w formacie PDF ]
zanotowane.pl doc.pisz.pl pdf.pisz.pl odbijak.htw.pl
.Thereader is assumed to be familiar with TCP, so this section concentrates onthe influence that it has on QoS.TCP performs a range of important functions:• Splitting of application data into segments to pass to IP that arepotentially independent of the read/write size of the application;• Provision of a checksum for both header and data with dropping ofany invalid segments received;• Setting a timer for acknowledgment of end-to-end receipt of thedata segment;• Acknowledgment of valid data segments received;• Retransmission of segments if the timer expires before an acknowl-edgment is received;• Resequencing of segments that are received out of order;• Discarding of any duplicate segments received;• Adjustment of window size by receiver to prevent overflow of itsbuffers.Control of these functions is provided through a combination of headerfields and the preset TCP protocol operations.The structure of the TCPheader is shown in Figure 7.11 in terms of 32-bit words and can be describedas follows:172QoS in Integrated 3G NetworksSource portDestination portSequence numberAcknowledgment numberDataoffset Reserved URG, ACK, PSHRST, SYN, FINWindow sizeChecksumUrgent pointerFigure 7.11 TCP header.• The normal header size is 20 bytes but can be extended by as muchas another 40 bytes by the optional fields.The source and destina-tion port numbers identify the sending and receiving applications;for example, the familiar Internet File Transfer Protocol (FTP) hasport number 23, while RSVP has port number 3328.• The sequence number is a rolling unsigned 32-bit integer that iden-tifies the first byte of a segment in the data stream being transmittedand wraps around after 2321 bytes, while the acknowledgmentnumber behaves analogously for received data.Selective acknowl-edgment is not permitted, so if data with sequence numbers 1 to512 and 1,025 to 1,536 have been received, but not 513 to 1,024,only the first block can be acknowledged, leading to the probableretransmission of 1,025 to 1,536 as well as the missing block.• The six flags URG, ACK, PSH, RST, SYN, and FYN can be used incombination to indicate the significance of the data.SYN is set bythe sender to set up the connection and initialize the sequence num-bers, and FYN to end the connection, while RST initiates a reset.ACK indicates that data is being acknowledged, but URG and PSHare less standardized in their usage.The URG flag indicates that thedata beginning at the urgent-pointer offset should be processed first,and typically it is used for interrupts and aborts.PSH implies thatthe data in the segment should be sent up to the receiving applica-tion immediately instead of waiting for a full buffer before doing so.• The 16-bit window size states the maximum number of bytes thatthe sender is prepared to receive up to a possible 65,535 bytes.Protocols173Use of these standard fields alone is not always adequate and has led tothe introduction of the optional fields [40].Each optional field is identified within the optional TCP header extension by a 1-byte kind field, usually followed by a 1-byte length field giving the option header length.The threemost important kinds of option for QoS are kind 2 [the maximum segmentsize (MSS)], kind 3 (the window scale factor), and kind 8 (the timestampoption).The MSS is only set in the initial SYN segments, with each end statingits preferred MSS.Large values for the MSS up to the MTU of the outgoinginterface minus the combined IP and TCP header sizes tend to give the bestperformance; a default of 536 bytes is assumed if none has been specified.The window scale factor is important for high-bandwidth routes sub-ject to long propagation delays in order to prevent the window size frombeing exhausted while waiting for an acknowledgment with consequentinterruption to transmission.The window size required for this is given bythe formula below, where RTT is the round-trip time:Window size required = bandwidth × RTT(7.4)where the bandwidth is that of the worst bottleneck on the route.If this size exceeds 65,535 bytes, then the window size needs to be scaled by a power oftwo, in order for an adequate size to be specified, with values from 1 to 16being available by this means.For a 3G mobile user, the most critical casewould be trying to achieve 2-Mbps throughput over an international routeusing one or more satellite hops.Such a route with a single satellite hop in each direction might have an RTT of 600 ms leading toWindow size required = 2,000,000 × 0.6/8 = 150,000 bytesThis would require the window size to be scaled by a factor of 4 or morein order to avoid unnecessary interruptions to transmissionbut most 3Gusers will not need this feature.TCP provides algorithms for calculating the RTT and using it toupdate the retransmission timer.Use of the optional time-stamps simplifiescalculation of the RTT.TCP starts with default values for the retransmission timer and retransmits persistently unacknowledged data after escalatingintervals of 1, 3, 6, 12, 24, 48, and 64 seconds.More generally, this back-off procedure uses a progressive doubling of the current value of the retransmission timer instead of the defaults [ Pobierz całość w formacie PDF ]