[ Pobierz całość w formacie PDF ]
.T/TCP is currently languishing because it lacks the impetus afforded by market support.Unless supportcoalesces for this third entity, it will be relegated to little more than a footnote in the annals of theInternet.Transmission Control ProtocolTCP provides a connection-oriented data transmission between two hosts, can support multiple datastreams, and provides for flow and error control and even the reordering of packets that may have beenreceived out of order.http://wwwin.cisco.com/cpress/cc/td/cpress/fund/iprf/ip2905.htm (4 of 15) [02/02/2001 11.37.21]Internet Protocols VersionsFigure 5-2 illustrates the structure of the TCP protocol's header, as well as the sizes of its fields.Figure 5-2: TCP header structure.The TCP protocol header is a minimum of 20 octets and contains the following fields:TCP Source Port---The 16-bit source port field contains the number of the port that initiates thecommunications session.The source port and source IP address function as the packet's returnaddress.TCP Destination Port---The 16-bit destination port field is the address of the port for which thetransmission is destined.This port contains the interface address of the application on therecipient's computer that the packet's data will be passed to.TCP Sequence Number---The 32-bit sequence number is used by the receiving computer toreconstruct the application's data back to its original form.In a dynamically routed network, it isquite possible for some of the packets to take different routes and, consequently, arrive out oforder.This sequencing field compensates for this inconsistency of delivery.TCP Acknowledgment Number---TCP uses a 32-bit acknowledgment (ACK) of the first octet ofdata contained in the next expected segment.The number used to identify each ACK is thesequence number of the packet being acknowledged.Data Offset Field---This 4-bit field contains the size of the TCP header, measured in a 32-bit datastructure known as a "word."Reserved Field---This 6-bit field is always set to 0.It is reserved for an as-yet-unspecified futureuse.Flags Field---The 6-bit flag field contains six 1-bit flags that allow the control functions of urgentfield, acknowledgment of significant field, push, reset connection, synchronize sequence numbers,and finish sending data.Window Size Field---This 16-bit field is used by the destination machine to tell the source hosthow much data it is willing to accept.Checksum---The TCP header also contains a 16-bit error-checking field known as a checksum.Thesource host calculates a mathematical value, based on the segment's contents.The destination hostperforms the same calculation.If the content remains intact, the result of the two calculations isidentical, and thereby prove the validity of the data.Padding---Extra zeros are added to this field to ensure that the TCP header is always a multiple of32 bits.User Datagram ProtocolUDP is IP's other host-to-host layer protocol (corresponding to the transport layer of the OSI ReferenceModel).UDP provides a basic, low-overhead data transmission.In essence, UDP provides aconnectionless session between two end systems and does not provide for the acknowledgment ofhttp://wwwin.cisco.com/cpress/cc/td/cpress/fund/iprf/ip2905.htm (5 of 15) [02/02/2001 11.37.21]Internet Protocols Versionsreceived datagrams.UDP's simplicity makes it inappropriate for some applications but perfect for moresophisticated applications that can provide their own connection-oriented functionality.Alternatively,there are applications whose data has an extremely high time value.One example would be avideoconference session.Such applications would prefer to use UDP because data delivered late or out ofsequence is just discarded.Note UDP raises an interesting and potentially contentious issue: What is the difference between adatagram and a packet? Both are Layer 3 data- bearing constructs, and both are supported by the IPnetworking protocol.The critical distinction is that datagrams do not require acknowledgment of receiptby the recipient.This implies that all Layer 3 data-bearing constructs are inherently datagrams because Layer 3internetworking is connectionless, best-effort service.Reliability is provided by Layer 4 transportprotocols, such as TCP or SPX.Therefore, the term packet really only describes Layer 3 data-bearingconstructs that also contain the segments of a reliable Layer 4 protocol.Otherwise, they are justdatagrams.Alternatively, UDP can be used for exchanges of such data as broadcasted NetBIOS names, systemmessages, and so forth, because these exchanges do not require flow control, acknowledgments,reordering, or any of the functionality that TCP provides.Figure 5-3 illustrates the structure of the UDP header, as well as the sizes of its fields.Figure 5-3: The structure of a UDP header.The UDP protocol header has the following fields:UDP Source Port Number---The 16-bit source port is the logical port number on the sourcecomputer.The source port and source IP address function as the packet's return address.UDP Destination Port Number---The 16-bit destination port is the connection number on thedestination computer.The UDP destination port is used to forward the packet to the correctapplication after the packet arrives at the intended destination machine.UDP Message Length---The 16-bit UDP Message Length field informs the destination computerof the size of the message.This provides another mechanism for the destination computer to use indetermining the message's validity.UDP Checksum---UDP Checksum is a 16-bit error-checking field that is calculated based on thecontents of the datagram.The destination computer performs the same mathematical function asthe originating host.A discrepancy in the two calculated values indicates that an error has occurredduring the transmission of the packet.The major functional difference between TCP and UDP is reliability.TCP is highly reliable, and UDP isa fast, but simple "best-effort" delivery mechanism.This fundamental difference results in vastlyhttp://wwwin.cisco.com/cpress/cc/td/cpress/fund/iprf/ip2905.htm (6 of 15) [02/02/2001 11.37.21]Internet Protocols Versionsdifferent uses of the two host-to-host layer protocols
[ Pobierz całość w formacie PDF ]