32 votes 32 votes An IP datagram of size $1000$ $\text{bytes }$arrives at a router. The router has to forward this packet on a link whose MTU (maximum transmission unit) is $100$ $\text{bytes }$. Assume that the size of the IP header is $20$ $\text{bytes }.$ The number of fragments that the IP datagram will be divided into for transmission is________. Computer Networks gatecse-2016-set1 computer-networks ip-packet normal numerical-answers + – Sandeep Singh asked Feb 12, 2016 • edited Jun 20, 2018 by Milicevic3306 Sandeep Singh 16.8k views answer comment Share Follow See all 9 Comments See all 9 9 Comments reply Show 6 previous comments Nitesh Singh 2 commented Dec 21, 2018 reply Follow Share agoh the thing is- data must be in multiple of 8 only when a single packet has been fragmented into 2 or more parts by router(sender never fragments a packet or you can say at sender fragment offset of each packet is 0). so if router has to fragment a packet it must be divisible by 8 except the last packet. 2 votes 2 votes Abhishek Rauthan commented Oct 21, 2022 i edited by Abhishek Rauthan Oct 21, 2022 reply Follow Share If in this case instead of 100 MTU in question 90 MTU given then?so each packet would have 20B header and 70B payloadbut 70 is not multiple of 8 so so in one packet we can have 64B payload and 20B header sothe no. of fragments would be 980/64= 15.3125 so 16 fragmentsis this correct? 1 votes 1 votes Croshan748 commented Oct 21, 2022 reply Follow Share Yes correct way u thinking about 1 votes 1 votes Please log in or register to add a comment.
Best answer 68 votes 68 votes IP Datagram size $=1000B$ MTU $=100B$ IP header size $=20B$ So, each packet will have $20B$ header + $80B$ payload. Therefore, $80 \times 12 = 960$ now remaining $20B$ data could be sent in next fragment. So, total $12 + 1 = 13$ fragments. monanshi answered Feb 12, 2016 • edited Jan 6, 2018 by pavan singh monanshi comment Share Follow See all 11 Comments See all 11 11 Comments reply shikhar_deep05 commented Sep 21, 2016 reply Follow Share should we not do scaling here? 1 votes 1 votes Prashant. commented Oct 22, 2016 reply Follow Share Datagram contain data + ip header . so last fragment contain 20 byte. Need to be change ! 16 votes 16 votes Denson George commented Nov 1, 2016 reply Follow Share Shouldn't the datagram size 1000 B also include 20 B header??? Why is that not considered in the solution?? 3 votes 3 votes Nitesh Singh 2 commented Dec 21, 2018 reply Follow Share Denson- when a packet reaches to router it also contain header in it so you may consider 980 B payload + 20B header 1 votes 1 votes Lakshman Bhaiya commented Jan 22, 2019 reply Follow Share Datagram$=1000B$ IP header$=20B$ Datagram$=$User data $+$ IP header User Data$=1000B-20B=980B$ Number of fragment$=\left \lceil \frac{1000B}{(100B-20B)} \right \rceil=\left \lceil \frac{1000B}{80B}\right \rceil =13$ the offset of the last fragment$=\frac{(100-20)\times 12}{8}=120$ (scaling factor of $8$ is used in offset field). Please correct me if I'm wrong$?$ 8 votes 8 votes srestha commented Oct 13, 2019 reply Follow Share Is datagram contain IP header or datagram doesnot contain any header? Any link for this? 1 votes 1 votes srestha commented Oct 13, 2019 reply Follow Share now remaining 20B data could be sent in next fragment. No,this line should be "remaining 40 B data to be send to next fragment " 3 votes 3 votes Rijul commented Jan 7, 2020 i edited by Rijul Sep 9, 2020 reply Follow Share IP datagram = 1000B Header = 20B Data = 1000 - 20 = 980 B The router has to forward the packets on a link whose MTU is 100B. Therefore each packet at max can have 80B of data because of 80B + 20B(header) = 100B. Now data in the packets should be a multiple of 8 consider the limitations of Offset field. 980 will be divided into 12 packets of 80B each, 1 packet of 20B, so finally, 960 + 20= 980. Answer = 13 fragments. 1 votes 1 votes nilanjandaw commented Jan 23, 2020 reply Follow Share It is 980/80 upper ceiling..last packet would be left with 20B 0 votes 0 votes reboot commented Feb 7, 2021 reply Follow Share yes for last fragment, the following will be the values in the IP header: offset: 120 Total length: 40 MF: 0 DF: 0 Identification number: Same as the original IP packet Checksum: Updated as the total length, offset values have been changed 0 votes 0 votes Srishtigupta1999 commented Dec 25, 2021 reply Follow Share Why not 10 ? ...because Total number of fragments =packet size /MTU 0 votes 0 votes Please log in or register to add a comment.
48 votes 48 votes MTU (M) is $80 + 20 \text{ bytes}$ Datagram size (DS) is $980 + 20$ No. of fragments are $\dfrac{\text{DS}}{\text{M}}=\dfrac{980}{80}=12.25$ So Answer is 13. G VENKATESWARLU answered Feb 19, 2016 • edited Jan 6, 2018 by pavan singh G VENKATESWARLU comment Share Follow See all 4 Comments See all 4 4 Comments reply Soumya Sharma 1 commented Nov 8, 2017 reply Follow Share why ans is not 14 ip datagram=980+20 and MTU= 20+80 , so we have to select multiple of 8 which is less than 80. which is 72 then partitioning 980 then total 13 parts will be there like 20+72 and 14th part will be 20+48.then total 14 fragments will be ther???????? plz correct me if i am wrong 1 votes 1 votes Venkat Sai commented Dec 27, 2017 reply Follow Share the last fragment need not be a multiple of 8 we count only the palyload to be a multiple of 8 hence out of the 980 bytes payload we divide it according to the mtu of the target which is 80(data) +20(header) (mtu consists of the header part of the network layer also ) hence we split it as 80*12+ 20 bytes hence total 13 fragments 2 votes 2 votes aka 53 commented Jan 31, 2018 reply Follow Share If payload is not multiple of 8 then what to do 1 votes 1 votes Venkat Sai commented Jan 31, 2018 reply Follow Share when payload is not a multiple of 8 see that the beginning fragments should be a multiple of eight the last fragment need not be a multiple of 8 as it has no fragments behind it.. on the whole the entire payload need not be a mutiple of 8 2 votes 2 votes Please log in or register to add a comment.
5 votes 5 votes thanks :) Harit answered Dec 23, 2016 Harit comment Share Follow See all 2 Comments See all 2 2 Comments reply agoh commented Dec 24, 2016 reply Follow Share @Harit, If datagram length includes header length, then data=980 B. However, 980 is not a multiple of 8, while data length should be a multiple of 8. So, is it that there are 2 incoming IP datagrams, and now they are to be divided? 2 votes 2 votes reboot commented Feb 7, 2021 reply Follow Share @agoh But it is not necessary for total length to be a multiple of 8. Only when the packets are being fragmented do we need to make sure that total length is a multiple of 8. 0 votes 0 votes Please log in or register to add a comment.
3 votes 3 votes 13 fragments sonam singhal answered Feb 12, 2016 sonam singhal comment Share Follow See all 0 reply Please log in or register to add a comment.