information to the far end. IP also is told what protocol is used for delivery. Because other protocols can use IP, even though the bulk of the data uses TCP, it is necessary to differentiate the protocol being used inside the datagrams. IP does add some overhead to the datagrams as it passes the data onto the network. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright© 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. X.25, Internets, Intranets, and Extranets Chapter 7 TCP is responsible for breaking the actual data up into segments. Fig- ure 7-16 shows the TCP header. The end-user application may be sending large files from one host to another. TCP breaks the larger files into more manageable pieces called segments. TCP also reassembles the segments back into the original message at the receiving end, arranged in its proper order. It may seem like TCP is doing all the work on the TCP/IP network. This is mostly true in smaller networks. However, when dealing with larger networks and the Internet, routing the data from one end to another is no trivial task. TCP identifies which connection the segment is part of by using a connection-oriented protocol. This task of keeping track of the incoming segments and delivering them to the right connection (application) is called the demultiplexing step. TCP uses its own header information to keep track of the connection. The header is also used to define how large the segments will be as the two end systems pass information back and forth. TCP has to know how much the far end can handle. The TCP protocol at each end describes the size of the segment, and then they mutually agree to use the smallest size for both systems. Typically, the datagrams in IP are 576 octets, although this is not a given requirement. The datagrams can actually be as large as 64KB large, but few organizations use that size. The maximum transmission unit defines how large the datagr