OLATUNDE OLYMPIO ACSG 520 HOMEWORK # 7 CHAPTER 8 PRACTICE SET Exercises 1. The fields in the IP header that change from router to router are: Total Length, Flags, Fragmentation Offset (when the data is fragmented at a router), time to live, and Option(if there is one to begin with like record route and timestamp option). 2. Calculate HLEN Total Length = 1200 bytes Header Length = 1200-1176 = 24 HLEN = 24/4 so HLEN = 6 3. The advantages of having a large MTU are: better TCP performance, less work for the routers (fragmentation), less traffic, and reduction of loss packets if we have strict source route in the option making sure that no MTU of lower capacity is on the route. The advantage of having a smaller MTU is that the packet will be less likely to be fragmented which implies less overhead for the routers thus faster delivery. 4. Given the offset value of 120, we can determine that the first byte is 120*8 = 960 but since we don’t have the flag field we cannot determine the last byte. 5. -----------------------6. Since the flag value for the timestamp is one each router must add its IP and timestamp. Since we only have a maximum of 40 bytes for option the maximum number of routers that will be recorded is 4( 4 IP addresses and 4 timestamps for a total of 36 bytes, the code field and the length field have 4 bytes all together) 7. The value of the HLEN can never be less than 5. When the datagram has no option, the value of the HLEN is 5 because the size of the datagram header is 20 which is 5*4 8. If the value of HLEN is 7 then the size of the datagram header is 4*7 = 28 since the minimum header size is 20 when there is no option then the option size is 8 bytes. 9. If the value of the option field is 20 bytes then the total length is 20 + 20 = 40 therefore the value of HLEN = 10 (10*4 = 40 the total length) 10. Knowing the total length (36 bytes) and the value of HLEN (5) the data length is 36 – (4*5) = 16 bytes. 11. A datagram that is carrying 1024 bytes of data with no option information, the value of HLEN is 5 and the value of total length is 1024 + 20 = 1044 bytes 12. If a host is sending 100 datagrams to another host and the first datagram has an Identification of 1024 then the last datagram will have the same identification if all 100 datagrams are part of the same fragmented datagram. 13. If an IP datagram has an offset value of 0 and an M bit of 0 then it’s the last fragment (M = 0) and the only fragment (offset = 0). 14. An IP fragment with an offset value of 100 will have a data of 800 bytes sent by the source before the data in this fragment. 15. VER: 4 HLEN: 5 DS: 00 Flags: 00 Identification: 0003 Time to live: 20 Total Length: 0054 Protocol: 06 Fragmentation offset: 00 Header Checksum: 0000 Source IP: 7C4E0302 Destination IP: B40E0F02 a. b. c. d. e. f. g. 16. Since HLEN is 5, there is no option The packet is not fragmented because the offset value is 0 and the flags value is 0 The size of the data is 54 – 20 = 34 bytes No checksum is used The packet can travel to 20 more routers The identification number of this packet is 0003 The type of service is normal (0) Since HLEN is 5 then there is no option so the header length is 20 bytes. Knowing the total length 200 bytes we can find the data length which is 200-20 = 180 bytes. Since the offset is 200 then the first byte in this fragment is 200*8 = 1600 bytes. The last byte number is 1600+ 180-1 = 1779. Since M=0 then it’s the last fragment. Question from the test 1) Use your own words to describe the concept of layering in the communication process. Your description must include the relationship between layering and protocols, layering and encapsulation, layering and security, layering and addressing, and layering and technology development. Support your statements and claims by using examples related to the different layers. The concept of layering in the communication process is similar to the concept of object oriented programming. In the case of data communication we divide the tasks involved with moving information between networked computers into many smaller, more manageable sub tasks. A task or group of tasks is then assigned to a layer in our data communication model. Each layer is reasonably self-contained so that the tasks assigned to each layer can be effectively carried out, and carried out independently. Each layer will have one or many protocols (similar to a method in OOP) that will be used to access and to process information in each layer. Since a protocol defines only the data it needs to be concerned with, it will not be able to accidentally access other layers' data. This characteristic of data hiding or encapsulation (which is also a common term for both concepts) provides greater system security and avoids unintended data corruption. Since the main task has been broken into smaller tasks specific to an assigned problem and a layer is responsible for a particular task, modifications can done easily at a layer level without having to modify the whole system. This is an important factor in technology development since testing and debugging can be done efficiently. The concept also provides a good framework for creating hardware that will work easily with existing devices and existing components can be easily adapted and modified. We’ll use the OSI Model to show how the concept has been implemented by looking at the different layers. The Physical Layer is the lowest layer in the OSI model. It deals with the transfer of raw bits across a transmission medium. The physical layer defines the electrical, optical, mechanical, procedural, and functional specifications for activating, maintaining, and deactivating the physical link between communicating network systems or devices. Example: cables, connectors, wireless radio transceivers, network interface cards and other hardware devices are generally a function of the physical layer. The Data Link Layer function is to break up large amounts of information into frames and send them without error. Another important function of this layer is to control the flow of the rate a packet is sent and received. Access control (procedures used by devices to control access to the network medium) and physical addressing (matching IP addresses to Mac addresses for the destination) is also part of this layer functions. The data link layer is where many wired and wireless local area networking (LAN) technologies primarily function. Some data link layer technologies are Ethernet, Token Ring, FDDI and 802.11 (“wireless Ethernet” or “Wi-Fi”). The function of the Network layer is actually getting data from one computer to another even if it is on a remote network. Some of the other functions of this layer are logical addressing (Internet Protocol), routing (moving data across a series of interconnected networks), and datagram encapsulation. The transport layer takes the information, splits it into packets and sends it to the network layer. It ensures that the data transferred is without errors and in the right sequence. The transport layer’s overall function is to provide the necessary functions to enable communication between software application processes on different computers. The session layer role is in establishing, controlling and terminating communication sessions. The communication sessions consist of service requests and service responses that occur between applications located in different network devices. The Presentation Layer changes the incoming and outgoing data from one presentation format to another so as to ensure that it is readable across multi-platform application of other systems (Translation). Some other functions of the presentation layer are compression, and encryption (some types of encryption and decryption are performed at the presentation layer to ensure the security of the data as it travels). The application layer allows users or software to connect to the network. For example, sending an e-mail, opening up a Web browser, or using an IRC-chat program . All of these involve protocols that reside at the application layer. There are few of different application layer protocols that enable various functions at this layer such as HTTP, FTP, SMTP, DHCP, NFS, Telnet, SNMP, POP3, NNTP and IRC.