Icmp process, Computer Networking

Assignment Help:

Some of the ?elds of IP and ICMP datagrams will be ?xed, some will be settable by the application, and others will computed according to the situation. You must set all ?elds of the IP header correctly. Two ?elds have ?xed and known values: the version is 4, and all service type bits are always 0. The header's protocol ?eld will be set to 1 for ICMP datagrams and 17 for ordinary data-carrying datagrams.

(Seventeen denotes UDP-we'll pretend that there is a real UDP application above IP). Datagram IDs should start at 1 and go up with each new datagram sent. Implement only the "record route" option. Details of this option are discussed below.

Use the following IP addresses:

  • A = 192.168.0.2
  • B = 192.168.0.3
  • R1 interface to A and B = 192.168.0.1
  • C = 10.0.0.2
  • D = 10.0.0.3
  • R2 interface to C and D = 10.0.0.1
  • R1 interface to R2 = 172.16.20.49
  • R2 interface to R1 = 172.16.20.50

Remember that IP datagrams forwarded by a router retain their original IP source address; the router does not substitute its own address in the source ?eld.

A few ICMP messages must be implemented. If a router decrements a TTL ?eld down to 0, it should send an ICMP "time exceeded" message to the originating host and discard the datagram. Routers should also generate ICMP "destination unreachable" messages for three reasons:
1. "Destination network unknown" (i.e., the router has no route to the destination network).

2. "Destination host unknown" (i.e., the destination network is OK but the host part of the IP address is bogus).

3. "Fragmentation needed and don't-fragment bit set." Set the ICMP type and code values correctly. Routers must maintain a very small routing table. 2 R1 should have routes to 192.168.0.2, 192.168.0.3, and the network 10. If it receives a datagram whose destination network is anything but 10 or 192.168, it should send a "destination unreachable-destination network unknown" ICMP message to the source IP address then drop the datagram. R1 should route any datagram destined to network 10 to R2. It should route datagrams destined to 192.168.0.2 and 192.168.0.3 to A and B, respectively. Any datagram addressed to network 192.168 but not to hosts 0.2 or 0.3 should result in a "destination unreachable-destination host unknown" ICMP message. R2 should behave similarly. Your code must set all remaining IP ?elds according to conditions. In particular, routers must decrement the TTL, discard the datagram if TTL reaches zero, and re-compute the checksum otherwise. You must implement fragmentation at the routers and reassembly at the hosts.


Related Discussions:- Icmp process

Byte number - transport layer, Byte Number TCP number all data  bytes ...

Byte Number TCP number all data  bytes that  are transmitted  in a connection. Numbering  is independent  in each direction when TCP receives bytes of data  a process. It stor

Use of infrared, Q. Use of Infrared? - Frequencies among 300 GHz and 4...

Q. Use of Infrared? - Frequencies among 300 GHz and 400 THz - Short-range communication - High frequencies can't penetrate walls - Necessitate line-of-sight propagati

Internet infrastructure, Thus now you know how packets travel from one comp...

Thus now you know how packets travel from one computer to another computer over the Internet. however what's in-between? What in fact makes up the Internet infrastructure or backbo

Vector-distance algorithm, Vector-Distance algorithm illustrated in more d...

Vector-Distance algorithm illustrated in more detail below: Packet switches wait for next update message and they goes by entries in packet. If entry has least path to destinat

Brdging between buildings, BRDGING BETWEEN BUILDINGS:  If two building...

BRDGING BETWEEN BUILDINGS:  If two buildings are placed far from each other, a bridge, a pair of fiber modems and an optical fiber may be used to locate two LANs as given in t

Software overheads in parallel programming , Besides these hardware overhea...

Besides these hardware overheads, there are certain software overheads imposed by libraries, parallel compilers, tools and operating systems. The parallel programming languages

Chord, how to implement chord connection as the network management system ?...

how to implement chord connection as the network management system ?

Shared programming using library routines, Shared Programming Using Library...

Shared Programming Using Library Routines The most well-liked of them is the use of combo function called fork() and join(). Fork() function is used to make a new child proces

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd