time diagram + fixed hop count

This commit is contained in:
Elena Buchatskaia
2009-10-29 16:37:08 +03:00
parent 8e1a3c6b15
commit 4f3932504c
3 changed files with 108 additions and 4 deletions

View File

@@ -911,7 +911,7 @@ RoutingProtocol::SendReply (RreqHeader const & rreqHeader, RoutingTableEntry con
*/
if (!rreqHeader.GetUnknownSeqno () && (rreqHeader.GetDstSeqno () == m_seqNo + 1))
m_seqNo++;
RrepHeader rrepHeader ( /*prefixSize=*/0, /*hops=*/toOrigin.GetHop (), /*dst=*/rreqHeader.GetDst (),
RrepHeader rrepHeader ( /*prefixSize=*/0, /*hops=*/0, /*dst=*/rreqHeader.GetDst (),
/*dstSeqNo=*/m_seqNo, /*origin=*/toOrigin.GetDestination (), /*lifeTime=*/MyRouteTimeout);
Ptr<Packet> packet = Create<Packet> ();
packet->AddHeader (rrepHeader);

View File

@@ -85,7 +85,7 @@ ChainRegressionTest::DoRun ()
CreateDevices ();
// At m_time / 3 move central node away and see what will happen
Ptr<Node> node = m_nodes->Get (m_size / 2 + 1);
Ptr<Node> node = m_nodes->Get (m_size / 2);
Ptr<MobilityModel> mob = node->GetObject<MobilityModel> ();
Simulator::Schedule (m_time / Scalar(3.0), &MobilityModel::SetPosition, mob, Vector (1e5, 1e5, 1e5));
@@ -126,7 +126,7 @@ ChainRegressionTest::CreateDevices ()
YansWifiChannelHelper wifiChannel = YansWifiChannelHelper::Default ();
wifiPhy.SetChannel (wifiChannel.Create ());
WifiHelper wifi = WifiHelper::Default ();
wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager", "DataMode", StringValue ("wifia-6mbs"), "RtsCtsThreshold", UintegerValue (0));
wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager", "DataMode", StringValue ("wifia-6mbs"), "RtsCtsThreshold", StringValue ("2200"));
NetDeviceContainer devices = wifi.Install (wifiPhy, wifiMac, *m_nodes);
// 2. Setup TCP/IP & AODV

View File

@@ -36,7 +36,111 @@ namespace aodv {
* TODO: describe test topology and traffic
*
* \verbatim
* TODO: draw expected packets time diagram
Expected packets time diagram.
1 2 3 4 5
<------|------>| | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, U=1, hop=0, ID=1, org_seqno=1) src = 10.1.1.1
|<------|------>| | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, U=1, hop=1, ID=1, org_seqno=1) src = 10.1.1.2
| |<------|------>| | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, U=1, hop=2, ID=1, org_seqno=1) src = 10.1.1.3
| | |<------|------>| RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, U=1, hop=3, ID=1, org_seqno=1) src = 10.1.1.4
| | | |<------|------> ARP request. Who has 10.1.1.4? Tell 10.1.1.5
| | | |======>| ARP reply
| | | |<======| RREP (orig 10.1.1.1, dst 10.1.1.5, hop=0, dst_seqno=0) src=10.1.1.5
| | |<------|------>| ARP request. Who has 10.1.1.3? Tell 10.1.1.4
| | |======>| | ARP reply
| | |<======| | RREP (orig 10.1.1.1, dst 10.1.1.5, hop=1, dst_seqno=0) src=10.1.1.4
| |<------|------>| | ARP request. Who has 10.1.1.2? Tell 10.1.1.3
| |======>| | | ARP reply
| |<======| | | RREP (orig 10.1.1.1, dst 10.1.1.5, hop=2, dst_seqno=0) src=10.1.1.3
|<------|------>| | | ARP request. Who has 10.1.1.1? Tell 10.1.1.2
|======>| | | | ARP reply
|<======| | | | RREP (orig 10.1.1.1, dst 10.1.1.5, hop=3, dst_seqno=0) src=10.1.1.2
<-------|------>| | | | ARP request. Who has 10.1.1.2? Tell 10.1.1.1
|<======| | | |
|======>| | | | ICMP (ping) request 0 from 10.1.1.1 to 10.1.1.5; src=10.1.1.1 next_hop=10.1.1.2
|<------|------>| | | ARP request. Who has 10.1.1.3? Tell 10.1.1.2
| |<======| | | ARP reply
| |======>| | | ICMP (ping) request 0 from 10.1.1.1 to 10.1.1.5; src=10.1.1.2 next_hop=10.1.1.3
| |<------|------>| | ARP request. Who has 10.1.1.4? Tell 10.1.1.3
| | |<======| | ARP reply
| | |======>| | ICMP (ping) request 0 from 10.1.1.1 to 10.1.1.5; src=10.1.1.3 next_hop=10.1.1.4
| | |<------|------>| ARP request. Who has 10.1.1.5? Tell 10.1.1.4
| | | |<======| ARP reply
| | | |======>| ICMP (ping) request 0; src=10.1.1.4 next_hop=10.1.1.5
| | | |<======| ICMP (ping) reply 0; src=10.1.1.5 next_hop=10.1.1.4
| | |<======| | ICMP (ping) reply 0; src=10.1.1.4 next_hop=10.1.1.3
| |<======| | | ICMP (ping) reply 0; src=10.1.1.3 next_hop=10.1.1.2
|<======| | | | ICMP (ping) reply 0; src=10.1.1.2 next_hop=10.1.1.1
| | | |<------|------> Hello
|<------|------>| | | Hello
<------|------>| | | | Hello
| |<------|------>| | Hello
|======>| | | | ICMP (ping) request 1; src=10.1.1.1 next_hop=10.1.1.2
| | |<------|------>| Hello
| |======>| | | ICMP (ping) request 1; src=10.1.1.2 next_hop=10.1.1.3
| | |======>| | ICMP (ping) request 1; src=10.1.1.3 next_hop=10.1.1.4
| | | |======>| ICMP (ping) request 1; src=10.1.1.4 next_hop=10.1.1.5
| | | |<======| ICMP (ping) reply 1; src=10.1.1.5 next_hop=10.1.1.4
| | |<======| | ICMP (ping) reply 1; src=10.1.1.4 next_hop=10.1.1.3
| |<======| | | ICMP (ping) reply 11; src=10.1.1.3 next_hop=10.1.1.2
|<======| | | | ICMP (ping) reply 1; src=10.1.1.2 next_hop=10.1.1.1
| | | |<------|------> Hello
|<------|------>| | | Hello
<------|------>| | | | Hello
| | |<------|------>| Hello
| |<------|------>| | Hello
|======>| | | | ICMP (ping) request 2; src=10.1.1.1 next_hop=10.1.1.2
| |======>| | | ICMP (ping) request 2; src=10.1.1.2 next_hop=10.1.1.3
| | |======>| | ICMP (ping) request 2; src=10.1.1.3 next_hop=10.1.1.4
| | | |======>| ICMP (ping) request 2; src=10.1.1.4 next_hop=10.1.1.5
| | | |<======| ICMP (ping) reply 2; src=10.1.1.5 next_hop=10.1.1.4
| | |<======| | ICMP (ping) reply 2; src=10.1.1.4 next_hop=10.1.1.3
| |<======| | | ICMP (ping) reply 2; src=10.1.1.3 next_hop=10.1.1.2
|<======| | | | ICMP (ping) reply 2; src=10.1.1.2 next_hop=10.1.1.1
| | | |<------|------> Hello
<------|------>| | | | Hello
| |<------|------>| | Hello
|<------|------>| | | Hello
| | |<------|------>| Hello
|======>| | | | ICMP (ping) request 3; src=10.1.1.1 next_hop=10.1.1.2
| |======>| | | ICMP (ping) request 3; src=10.1.1.2 next_hop=10.1.1.3
| | |======>| | ICMP (ping) request 3; src=10.1.1.3 next_hop=10.1.1.4
| | | |======>| ICMP (ping) request 3; src=10.1.1.4 next_hop=10.1.1.5
| | | |<======| ICMP (ping) reply 3; src=10.1.1.5 next_hop=10.1.1.4
| | |<======| | ICMP (ping) reply 3; src=10.1.1.4 next_hop=10.1.1.3
| |<======| | | ICMP (ping) reply 3; src=10.1.1.3 next_hop=10.1.1.2
|<======| | | | ICMP (ping) reply 3; src=10.1.1.2 next_hop=10.1.1.1
| | | |<------|------> Hello
<------|------>| | | | Hello
|<------|--> | | | Hello |
| | <--|--> | | Hello |Node 3 move away => nobody hear his packets and node 3 doesn't hear anything !
| | | <--|------>| Hello |
|======>| | | | ICMP (ping) request 4; src=10.1.1.1 next_hop=10.1.1.2
| |==> | | | ICMP (ping) request 4; src=10.1.1.2 next_hop=10.1.1.3. 7 retries.
|<======| | | | RERR (unreachable dst 10.1.1.3 & 10.1.1.5) src=10.1.1.2
| | | |<------|------> Hello
<------|------>| | | | Hello
|<------|--> | | | Hello
| | <--|--> | | Hello
| | | <--|------>| Hello
<------|------>| | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=0, ID=2, org_seqno=2) src = 10.1.1.1
|<------|--> | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=1, ID=2, org_seqno=1) src = 10.1.1.2
| | | |<------|------> Hello
| | | <--|------>| Hello
| | <--|--> | | Hello
<------|------>| | | | Hello
<------|------>| | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=0, ID=3, org_seqno=3) src = 10.1.1.1
|<------|--> | | | Hello
|<------|--> | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=1, ID=3, org_seqno=3) src = 10.1.1.2
| | | |======>| RERR (unreachable dst 10.1.1.1 & 10.1.1.3) src=10.1.1.4
| | | |<------|------> Hello
| | | <--|------>| Hello
| | <--|--> | | Hello
|<------|--> | | | Hello
<------|------>| | | | Hello
<------|------>| | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=0, ID=4, org_seqno=4) src = 10.1.1.1
|<------|--> | | | RREQ (orig 10.1.1.1, dst 10.1.1.5, G=1, hop=1, ID=4, org_seqno=4) src = 10.1.1.2
..................................................................
* \endverbatim
*/
class ChainRegressionTest : public TestCase