Business Da Business Data ta Commu Communica nications tions and and Netw Networ orking king Abdullah Alfarrarjeh Most of the slides in this lecture are either from or adapted from the slides provided by Dr. Hussein Alzoubi
▪ Be aware of the TCP/IP protocols ▪ Be familiar with linking to the application layer, segmenting, and session management ▪ Be familiar with addressing ▪ Be familiar with routing ▪ Understand how TCP/IP works 5/22/2020 Business Data Communications and Networks (13711) 2
▪ Transmission Control Protocol/Internet Protocol (TCP/IP) is the most commonly used set of transport and network layer protocols ▪ The Protocol Data Unit (PDU) at the transport layer is called a segment . ▪ Network layer PDUs are called packets . 5/22/2020 Business Data Communications and Networks (13711) 3
5/22/2020 Business Data Communications and Networks (13711) 4
▪ The Transmission Control Protocol/Internet Protocol (TCP/IP) was developed for the U.S. Department of Defense’s Advanced Research Project Agency network (ARPANET) by Vinton Cerf and Bob Kahn in 1974. ▪ TCP/IP is compatible with a variety of data link protocols, ▪ which is one reason for its popularity. 5/22/2020 Business Data Communications and Networks (13711) 5
5.2.1 Transmission Control Protocol (TCP) ▪ Atypical TCP segment has a 192-bit header (24 bytes) of control information ▪ The options field is optional and rarely used. ▪ Therefore, this results in a 20-byte-long TCP header. ▪ The header length field is used to tell the receiver how long the TCP segment is — ▪ that is, whether the options field is included. 5/22/2020 Business Data Communications and Networks (13711) 6
User Datagram Protocol (UDP) ▪ UDP is another transport protocol (i.e., alternative of TCP). ▪ UDP is an unreliable, connectionless transport layer protocol. ▪ UDP provides an unreliable datagram service ▪ Packets may be lost or delivered out of order ▪ Users exchange datagrams (not streams) ▪ Connection-less ▪ Not buffered -- UDP accepts data and transmits immediately (no buffering before transmission) ▪ Full duplex -- concurrent transfers can take place in both directions 5/22/2020 Business Data Communications and Networks (13711) 7
User Datagram Protocol (UDP) ▪ Typically, UDP is used when the sender needs to send a single small packet to the receiver. ▪ When there is only one small packet to be sent, the transport layer doesn’t need to worry about segmenting the outgoing messages or reassembling them upon receipt, so transmission can be faster. ▪ UDP is used for the real-time services; such as computer gaming, voice or video communication, live conferences. Since high performance is needed, UDP permits packets to be dropped instead of processing delayed packets. 5/22/2020 Business Data Communications and Networks (13711) 8
User Datagram Protocol (UDP) ▪ A UDP datagram has only four fields (8 bytes of overhead) plus the application layer packet: ▪ source port, destination port, length, and aCRC 16. ▪ Unlike TCP, UDP does not check for lost messages, so occasionally a UDP datagram is lost and the message must be resent. ▪ Interestingly, it is not the transport layer that decides whether TCP or UDP is going to be used. This decision is left to the engineer who is writing the application. 5/22/2020 Business Data Communications and Networks (13711) 9
5.2.2 Internet Protocol (IP) ▪ The older form is IP version 4 ( IPv4 ), which has a 192-bit header (24 bytes) ▪ Similar to the TCP header, the options field is rarely used, and therefore, the header is usually 20 bytes long. ▪ The new form is IP version 6 ( IPv6 ), which has a 320-bit header (40 bytes). 5/22/2020 Business Data Communications and Networks (13711) 10
IPv4 vs. IPv6 ▪ IPv4 uses a 4-byte address field, which means that there is a theoretical maximum of about 4.2 billion addresses. ▪ IPv6 uses a 16-byte address field, which means that there is a theoretical maximum of about 3.8 * 10 38 addresses. ▪ IPv4 uses decimals to express addresses (e.g., 128.192.55.72), but IPv6 uses hexadecimal (base 16) 5/22/2020 Business Data Communications and Networks (13711) 11
5.2.2 Internet Protocol (IP) ▪ IPv6 Addresses are eight sets of 2-byte numbers ▪ (e.g., 2001:0890:0600:00d1:0000:0000:abcd:f010), ▪ but because this can be long to write, ▪ there is a IPv6 “compressed notation” that eliminates the leading zeros within each block and blocks that are all zeros. ▪ So, the preceding IPv6 address could also be written as 2001:890:600:d1::abcd:f010. 5/22/2020 Business Data Communications and Networks (13711) 12
5.2.2 Internet Protocol (IP) ▪ Adoption of IPv6 has been slow. ▪ IPv6 is not backward-compatible with IPv4, ▪ which means that all network devices must be changed to understand both IPv4 and IPv6. ▪ To encourage the move to IPv6, the U.S. government required all of its agencies to convert to IPv6 on their WANs and BNs by June 2008, ▪ but the change was not completed on time. ▪ The size of the message field depends on the data link layer protocol used. ▪ TCP/IP is commonly combined with Ethernet. ▪ Ethernet has a maximum packet size of 1,492 bytes, ▪ so the maximum size of a TCP message field if IPv4 is used is 1,492 − 24 (the size of the TCP header) − 24 (the size of the IPv4 header) = 1,444. 5/22/2020 Business Data Communications and Networks (13711) 13
▪ In this section, we focus on three unique functions performed by the transport layer : ▪ linking the application layer to the network layer, ▪ segmenting, ▪ and session management. 5/22/2020 Business Data Communications and Networks (13711) 14
5.3.1 Linking to the Application Layer ▪ Most computers have many application layer software packages (e.g., Web browser, email program, word processor) running at the same time. Similarly, many servers act as Web servers, mail servers, FTP servers, and so on. ▪ With TCP, each application layer software package has a unique port address . ▪ When an application layer program generates an outgoing message, it tells the TCP software its own port address (i.e., the source port address ) and the port address at the destination computer (i.e., the destination port address ). 5/22/2020 Business Data Communications and Networks (13711) 15
5.3.1 Linking to the Application Layer (Cont.) ▪ Port addresses can be any 16-bit (2-byte) number. ▪ On the Internet, all port addresses for popular services such as the Web, email, and FTP have been standardized. ▪ Web servers with a port address of 80 , FTP servers use port 21 , Telnet 23 , SMTP 25 ▪ Network managers are free to use whatever port addresses they want, ▪ but if they use a nonstandard port number, then the application layer software on the client must specify the correct port number. 5/22/2020 Business Data Communications and Networks (13711) 16
5.3.1 Linking to the Application Layer (1027, 1028, and 1029) are called temporary port numbers 5/22/2020 Business Data Communications and Networks (13711) 17
5.3.2 Segmenting ▪ Segmenting means to take one outgoing message from the application layer and break it into a set of smaller segments for transmission through the network. It also means to take the incoming set of smaller segments from the network layer and reassemble them into one message for the application layer. 5/22/2020 Business Data Communications and Networks (13711) 18
5.3.2 Segmenting ▪ The data link layer can transmit only messages of certain lengths ▪ It is therefore up to the sender’s transport layer to break the data into several smaller segments that can be sent by the data link layer across the circuit. ▪ At the other end, the receiver’s transport layer must receive all these separate segments and recombine them into one large message. 5/22/2020 Business Data Communications and Networks (13711) 19
5.3.2 Segmenting ▪ One of the challenges at the transport layer is deciding how big to make the segments. ▪ When transport layer software is set up, it is told what size segments it should use to make best use of its own data link layer protocols ▪ (or it chooses the default size of 536). ▪ However, it has no idea what size is best for the destination. ▪ Therefore, the transport layer at the sender negotiates with the transport layer at the receiver to settle on the best segment sizes to use. ▪ This negotiation is done by establishing a TCP connection between the sender and receiver. 5/22/2020 Business Data Communications and Networks (13711) 20
Two strategies 5.3.2 Segmenting ▪ in the receiver side, the application layer for some applications chooses to wait until all segments are received so that it can order them and create the full message (because some segments might be delivered unordered when transmitted) or sometimes it chooses to use one by one whenever a segment is received just render it (for example when the application is web server or something that can't be affected by disordering). ▪ Web browsers, for example, usually request delivery of packets as they arrive, ▪ Most email software, conversely, usually requests that messages be delivered only after all packets have arrived and TCP has organized them into one intact message. 5/22/2020 Business Data Communications and Networks (13711) 21
Recommend
More recommend