|
|
|
hi, Martin Kohlwes:
I don't think it is a bug. I think the IP-header is used to indicate
the routing destination. When DSRAgent send the packet to Linklayer, we can see code like this in ll.cc: hdr_ip *ih = HDR_IP(p); nsaddr_t dst = (nsaddr_t)Address::instance().get_nodeaddr(ih->daddr()); ^^^^^^^^it was set in DSRAgent To different type of common head( NS_AF_ILINK, NS_AF_INET, NS_AF_NONE), the destination "dst" can also be changed. But I don't know the meaning of "NS_AF_ILINK, NS_AF_INET, NS_AF_NONE", Does anybody know it?
> >Hi everyone, > >in the wireless routing protocols (AODV, DSDV, DSR...) there is always a line >like: > ch->size() += IP_HDR_LEN; >It adds 20 bytes to the packet. This was apparently done, to include an >IP-header. But it is realy strange for two reasons: > >1. If we use TCP, we already start with a packet (size 40 bytes) which >includes TCP _and_ IP header. > >2. In chapter 16.1.1 (creating wireless topology) of the ns-manual there is a >flow chart showing the way of a packet through the different layers. >The routing-agent (which adds the 20 bytes) is only passed on the way down >(towards physical layer) - not on the way up (towards the application). So >there is no peer entity, which could take away this overhead. > >Most of the applications don't seem to care of receiving larger packets than >the ones that we! re sent, but FullTcp does. > >All suggestions are welcome, > Martin (Aachen, Germany) > |