be acknowledged before sending the next segment. TCP utilizes a sliding window when determining transmission size. A sliding window allows for devices to negotiate a window size to allow for more than one byte to be sent during a single transmission. This sliding window also allows the destination device to indicate to the source a need to decrease or increase the amount of data being sent because it is incapable at that time of dealing with that much data. Interactive Media Activity Matching: Windowing After completing this activity, the student will be able to understand windowing. Web Links Windowing Packets http://howto.lycos.com/l ycos/step/ 1,,5+30+34556+34645+34650,00.html
Content 10.1 TCP Operation 10.1.5 Sequencing numbers TCP breaks data into segments. The data segments are then transported from sender to receiver, following the synchronization process and the negotiation of a window size that dictates the number of bytes that can be transmitted at any one time. The data segments being transmitted must be reassembled once all the data is received. There is no guarantee that the data will arrive in the order it was transmitted. TCP applies sequence numbers to the data segments it is transmitting so that the receiver will be able to properly reassemble the bytes in their original order. If TCP segments arrive out of order, the segments may be reassembled incorrectly. Sequencing numbers indicate to the destination device the correct order in which to put the bytes when they are received. These sequencing numbers also act as reference numbers so that the receiver will know if it has received all of the data. They also identify the missing data pieces to the sender so it can retransmit the missing data. This offers increased efficiency since the sender only needs to re-transmit the missing segments instead of the entire set of data. Each TCP segment is numbered before transmission. Notice that following the destination port in the segment format is the sequence number portion. At the receiving station, TCP uses the sequence numbers to reassemble the segments into a complete message. If a sequence number is missing in the series, that segment is re-transmitted.
Content 10.1 TCP Operation 10.1.6 Positive ACK Acknowledgement is a common step in the synchronization process which includes sliding windows and data sequencing. In a TCP segment, the sequence number field is followed by the acknowledgment number field, also referred to as the code field. This field is where acknowledgments, or ACKs, (as well as SYN) are indicated.One problem with the unreliable IP protocol is that there is no verification method for determining that data segments actually reached their destination. So data segments may be constantly forwarded with no knowledge as to whether or not they were actually received. TCP utilizes positive acknowledgment and retransmission to control data flow and confirm data delivery. Positive acknowledgment and retransmission (PAR) is a common technique many protocols use to provide reliability. With PAR, the source sends a packet, starts a timer, and waits for an acknowledgment before sending the next packet. If the timer expires before the source receives an acknowledgment, the source retransmits the packet and starts the timer over again. TCP uses expectational acknowledgments in which the acknowledgment number refers to the next octet that is expected. Windowing is a flow control mechanism requiring that the source device receive an acknowledgment from the destination after transmitting a certain amount of data. With a window size of three, the source device can send three octets to the destination. It must then wait for an acknowledgment. If the destination receives the three octets, it sends an acknowledgment to the source device, which can now transmit three more octets. If, for some reason, the destination does not receive the three octets, possibly due to overflowing buffers, it does not send an acknowledgment. Because the source does not receive an acknowledgment, it knows that the octets should be retransmitted and that the transmission rate should be slowed. Lab Activity Lab Exercise: Multiple Active Host Sessions This lab will show port usage on a single host attached to a router. Interactive Media Activity Interactivity: TCP Sliding Windows After completing this activity, the student will be able to understand window size. Web Links TCP - Positive Acknowledgment and Re-transmission http://www.it.iitb.ac.in/~jaju/ tutorials/net/tcpip/ node22.html
Content 10.1 TCP Operation 10.1.7 UDP operation The TCP/IP protocol stack contains many different protocols, each designed to perform a certain task. IP provides Layer 3 connectionless transport through an internetwork. TCP enables connection-oriented, reliable transmission of packets at Layer 4 of the OSI model. UDP provides connectionless, non-guaranteed transmission of packets at Layer 4 of the OSI model.Both TCP and UDP use IP as their underlying Layer 3 protocol. In addition, TCP and UDP are used by various application layer protocols. TCP provides services for applications, such as FTP, HTTP, SMTP, and DNS. UDP is the transport layer protocol used by DNS, TFTP, SNMP, and DHCP. TCP must be used when applications need to guarantee that a packet arrives intact, in sequence, and unduplicated. The overhead associated with ensuring delivery of the packet is sometimes a problem when using TCP. Not all applications need to guarantee delivery of the data packet, so they use the faster, connectionless delivery mechanism afforded by UDP. The UDP protocol standard, described in RFC 768, is a simple protocol that exchanges segments without acknowledgments or guaranteed delivery. UDP does not use windowing or acknowledgments so application layer protocols must provide error detection. The Source Port field is an optional field used only if information needs to return to the sending host. When a destination router receives a routing update, the source router is not requesting anything so nothing needs to return to the source. There is no exchange of information or data. The Destination Port field specifies the application to which UDP needs to pass the protocol. A DNS request from a host to a DNS server would have a Destination Port field of 53, the UDP port number for DNS. The Length field identifies the number of octets in the UDP segment. The UDP checksum is optional but should be used to ensure that the data has not been damaged during transmission. For transport across the network, UDP is encapsulated within the IP packet. Once a UDP segment arrives at the destination IP address, a mechanism must exist which allows the receiving host to determine the exact destination application. Destination ports are used for this purpose. If a host is running both TFTP and DNS services, it must be able to determine what service the arriving UDP segments need. The Destination Port field in the UDP header determines the application to which a UDP segment will be delivered. Web Links UDP - Internet User Datagram Protocol http://www.networksorcery.com/ enp/ protocol/ udp.htm
Content 10.2 Overview of Transport Layer Ports 10.2.1 Multiple conversations between hosts At any given moment, thousands of packets providing hundreds of different services traverse a modern network. In many cases, servers provide for a multitude of services which causes unique problems for the addressing of packets. If a server is running both SMTP and WWW, it uses the destination port field to determine what service the source is requesting. The source cannot construct a packet destined for just the server IP address because the destination would not know what service was being requested. A port number must be associated with the conversation between hosts to ensure that the packet reaches the appropriate service on the server. Without a way to distinguish between different conversations, the client would