5 á ááááĽ
5.1 á¨ááá˘áŤ áááá á áá áá
5.1.1 á¨ááá˘áŤ á á ááá áĽááł
5.1.2 áááŁáľá á áá
5.1.3 áá° áŽáľá áááŁáľá áá¨á
5.2 á¨áľáĽáá ááľáá áá¤áśá˝á á áá áá
5.2.1 ááŁáŞ á¨áŁá
᪠áĽá´áśá˝á ááťá
5.2.2 á¨áŤáľáá áľáááá˝ á ááŤá áá
5.3 á¨áá¨áłá°áŤ áľáááąá áá áá
5.3.1 ASCII áá¨áłá°á
ᨠASCII áąáŤáá˝á á áá°áá°á áá
5.3.2 PCAP áá¨áłá°áŤ
áááŤá 5
á á°áἠááľá¨á
5.1 á¨ááá˘áŤ áááá á áá áá
áľááŞááąá á áááá¨áľ ᨠns-3 áá áááá á á áአá¸ááááᢠááááŞáŤ.cc. á áá ááĽáŤá ááľáĽáŁ ááá ááĄáľ áľáááľ áá áááŁá¸á á¨áá˝á ááłáŽá˝á á áá áĽáá áĽáááá¨áłááá˘
5.1.1 á¨ááá˘áŤ á á ááá áĽááł
áĽá áľááá á˛áľá°áá˝ á ááłááľ ááááľ á¨áááĽááľ ááááá˘áŤ á°áááľá áá°áááᣠáĽá ns-3 á¨áá á¨á°áᨠá áá°ááᢠá á ááłááľ á ááŁááá˝ á¨áľá á°áľ áááááśá˝ áĽáť áá° "áŚááŹá°á áŽááśá" (á á áĽááá á áŠáááľ áá á á°áá°á¨áą áľáááśá˝ áá stderr áá) áááá. á ááá˝ áľáááśá˝ áá á¨ááľá ááá፠áááĽááśá˝ áĽá á¨á áá áááá áá¨á ááłáŠ áá˝ááᢠá á ááłááľ á ááŁááá˝ áááŽá˝ áá¤áąá á ááĽááľ ááŤá°á áá á¨áá˝á á¨áá¨á áááááśá˝á ááá°á áŤáááááá˘
á ns-3 ááľáĽ áĽá á áá á¨ááá ááĄáľ áşá áĽááá áá á¨áá¨á á°á¨ááá˝ á áá áá¸á áĽá ááááłáᣠáĽá ááááĽááľ áááἠááľáłááť á¨á°áá¨á ᣠá¨á°á°áŤá¨á á ááŤá¨áĽ áĽááááŁááᢠáááἠááľáłááť áá ááá áá°áá¨áᣠáááá°áĽ á áŤááľ ááá ááá á ááá á áá á°á¨á ááá áá˝ááᢠááá á, áá á á¨áá˝á á¨áá¨á áááľ á°á¨ááá˝ áĽá á áá áááá. ᨠns-3 áá ááá á¨áĽááľá ááľáá°á á áá áá¨á áááááľ á á áááŤáááľ ááá ááááľá áá°áŁáá˘
á¨áá´áá˝á ááľáĽ áá¨áá ááááŁáľ á á ááá ááá áá´á - áááá - áĽáá°ááááἠáá¨áłáľ á ááŚáľ ᣠáá á áá´á á áá áŤá áľ áá á°ááŤá áá ááľ ááá á áá áľ (áľá áĽá ááá áľáááľ á¨á áá áá¨á ᣠá áἠáľáá á ááá 5.3 áááá¨áą)ᢠá¨áá¨á፠áá¨ááᣠááľá ááááŤáá˝áᣠá¨áľá á°áľ áááááśá˝á áááááľ ááá á ááááá áá á¨áĽááľá áľááŞááśá˝ ááá áá´áá˝ áááááśá˝á á ááĽááľ ááááŁáľ áááŁáą á°ááŤá áá´ ááá á áá áľá˘
á á áá áá áľáááą á°áŁáľ á°á¨ááá˝á (á áááśá˝á) á¨áááἠááľáłááťáá˝á á áá¨á á á°áŁáĽ á á°á á°á¨á°á áááááá˘
- LOG_ERROR á¨áááἠááľáłááť á¨áľá á°áľ áááááśá˝ (á°áŤáŤáĽ áááŽáĄ NS_LOG_ERROR)
- LOG_WARN á¨áááἠááľáłááť áááĽááśá˝ (á°áŤáŤáĽ áááŽáĄ NS_LOG_WARN)
- LOG_DEBUG á á áááŤáááľ áĽáá Ꮰá¨áá áአá¨áá¨á áááááśá˝á ááááᥠ(á°áŤáŤáĽ áááŽáĄ NS_LOG_DEBUG)
- LOG_INFO - áľá ááŽááŤá áá°áľ á¨áá¨á áááááśá˝ áááᣠ(á°áŤáŤáĽ áááŽ: NS_LOG_INFO);
- LOG_FUNCTION á¨á°á áŤáá áĽáŤááłááąá á°ááŁá á¨ááááš á¨áááᣠáááĽááśá˝ (áááľ á°ááá áááŽáá˝áĄ NS_LOG_FUNCTION áá áŁááľ á°ááŁáŤáľ áĽá NS_LOG_FUNCTION_NOARGS ááľáłá˛á á°ááŁáŤáľ áĽá á áá áááá)
- LOG_LOGIC - á á°ááŁáŠ ááľáĽ áŤááá á ááááŽá á áá°áľ á¨ááááš á¨ááá˘áŤ áááááśá˝ (á°áŤáŤáĽ áááŽáĄ NS_LOG_LOGIC);
- LOG_ALL - á¨áá á¨á°á áá°áá áá á ááááἠáá (ááá á°ááá
ááᎠá¨áá)á˘
ááĽáŤááłááą ááááľ (LOG_TYPE) áĽáá˛á LOG_LEVEL_TYPE á á áá á áĽá á áá á¨áá á¨áą á áá áŤááľ ááá á°á¨ááá˝ á¨áŤáłá¸á á°á¨á á á°á¨á᪠áĽáá˛áááᥠáŤáľá˝áá¸ááᢠ(á áá á ááááŤáľ LOG_ERROR áĽá LOG_LEVEL_ERROR áĽá LOG_ALL áĽá LOG_LEVEL_ALL á á°ááŁá á áť áá¸áᢠG_ERROR áááŽáá˝á˘
áĽáá˛áá á¨áááἠááľáłááťá á°á¨á ááá á áŤá áá፠ááá ááá áá áááá á¨ááłá á áľá áááł á¨ááá á¨áá ááᎠáĽááááŁááá˘
- NS_LOG_UNCOND á°ááá áááĽááľ áŤá á áľá áááł áááŁáľ (ááá á°ááá á¨áááἠááľáłááť á°á¨á á¨áá)á˘
áĽáŤááłááą á°á¨á á á°ááĽá ááá á áľáá áá á¨á áá˝ááᢠáááἠááľáłáᝠᨠNS_LOG sh á áŤáŁá˘ á°ááááá á áá áá ááá á¨áľáááľ á°ááŁá áĽáŞá á ááľááŁáľ áááá áá˝ááᢠáá°á á˛á áĽáá°áłá¨á á¨áááἠááľáłááť áľáááą Doxygen á°ááľ á áá áĽá á áá áŤáá°á¨ááľ áááááá áĽáŠ áá ááá˘
á áá á°ááśášá á áááá áŤáá ᥠá ááᣠáá á áĽáááľ á¨ááłáá áľááŞááľ á ááłááľ á áľá°áłá˝ áá¨ááá˝á áááááľ áĽáá ááá áľá˘ scratch/myfirst.ccá áľááľáá áŤá ááá¨á.
5.1.2 áááŁáľá á áá
á ááłááľ á°á¨á᪠áááἠááľáłááťáá˝á ááááá á¨NS_LOG á áŤáŁá˘ á°ááááá áĽáá ááᣠááá áá ááááŞáŤáŁ áĽá áá˝áá áááááľáŁ áá áĽáá°á ááą á¨áá¨á¨áťáá áľááŞááľ á áľááľáŁ
$ ./waf --run scratch/myfirst
á¨ááááŞáŤáá ns-3 ááłá ááŽááŤá á¨ááłáááá áá¤áľ áá¨áľ á ááĽá
$ Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build' 'build'
finished successfully (0.413s)
Sent 1024 bytes to 10.1.1.2
Received 1024 bytes from 10.1.1.1
Received 1024 bytes from 10.1.1.2
á¨áá á¨ááłáŤá¸á "á¨á°áá¨" áĽá "á¨á°áá ááľ" áááĽááśá˝ á áľááá á¨á°ááááĄáľ áááĽááśá˝ áá¸áᢠUdpEchoClient áá°áá áŞáŤ и UdpEchoServer áá°áá áŞáŤ. áááłáᣠá¨á°áá á á áááŹá˝á á¨ááá˘áŤ á°á¨ááá á NS_LOG á áŤáŁá˘ á°áááá á áááááľ á°á¨á᪠áá¨á áĽáá˛áŤáľá ááá ááá áĽáá˝áááá˘
á¨á áá áááŽáŁ âVARIABLE=valueâ á¨áááá á ááŁáĽ á¨áá áá sh-like áźá áĽá¨á°á áá áĽáá°áá áĽáááłááᢠcsh á¨áááľá áźá áĽá¨á°á áá á¨ááᣠá¨áĽáá ááłááá˝ á áĽáá፠áááá˝ áá°áááááľ á¨"setenv á°áááá áĽá´áľ" á ááŁáĽ ááá¨á á ááŚáľá˘
á á áá áá á¨UDP áááś á°áá á áá°áá áŞáŤ ááá¨á°áá á¨áŽáľ ááľáá ááá˝ áá°áŁá scratch/myfirst.cc,
LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
á¨LOG_LEVEL_INFO ááá˘áŤ á°á¨áá áŤáááłá á°ááᢠá¨áááἠááľáłááť á°á¨áá áľáááᣠáŤáá á°á¨á áĽá áááá áá á°á á°á¨ááá˝á áĽáááááᢠá áá á ááŁáᣠNS_LOG_INFOᣠNS_LOG_DEBUGᣠNS_LOG_WARN áĽá NS_LOG_ERRORá á áŤá°ááᢠᨠNS_LOG á áŤáŁá˘á á°áááá áĽáá°áá¨á°áá á áááááľ áľááŞááąá áłáááá áĽá áĽáá°áá áłáá áá á á¨áááἠááľáłááť á°á¨áá ááłá°á áĽá á°á¨á᪠áá¨á ááááľ áĽáá˝áááá˘
$ export NS_LOG=UdpEchoClientApplication=level_all
ᨠsh-shellá NS_LOG á°áááá áá°áá¨á°áá áĽá´áľ á¨áááááá á áá ááááľ ááá˘
UdpEchoClientApplication=level_all
á¨áá°áŁá á¨á፠áá áááá á¨á á¨áááááá á¨á°ááł áŁáá áľá á˛áá á áá á áŠá á°áá ááá ááá áľ á¨áááááá áŁáá˛áŤ ááᢠá áá á ááŁá á áá°áá áŞáŤá ááľáĽ áááá á¨áá¨á á°á¨ááá˝á áĽáááááᢠáľááŞááąá á NS_LOG á áá ááááľ áŤáľáŹáąáľáŁ ns-3 á¨áááἠááľáłááť áľáááą áááŚášá ááá áá áĽá á¨áá¨á°ááá áá¤áľ áá¨áľ á ááĽááľá˘
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.404s)
UdpEchoClientApplication:UdpEchoClient()
UdpEchoClientApplication:SetDataSize(1024)
UdpEchoClientApplication:StartApplication()
UdpEchoClientApplication:ScheduleTransmit()
UdpEchoClientApplication:Send()
Sent 1024 bytes to 10.1.1.2
Received 1024 bytes from 10.1.1.1
UdpEchoClientApplication:HandleRead(0x6241e0, 0x624a20)
Received 1024 bytes from 10.1.1.2
UdpEchoClientApplication:StopApplication()
UdpEchoClientApplication:DoDispose()
UdpEchoClientApplication:~UdpEchoClient()
á áá°áá áŞáŤá á¨áá¨á á á°á¨á᪠á¨áá¨á áá¨á á áá á¨NS_LOG_FUNCTION á°á¨á áá ááááłáᢠá áľááŞááľ á ááťá¸á áá
áľ áĽáŤááłááąá á¨á°ááŁá áĽáŞ áŤáłáŤáᢠáĽáá° á ááľ á°áἠᣠá áá´ á°ááŁáŤáľ ááľáĽ (á˘áŤááľ) áá áá á°ááŤá áá á˘NS_LOG_FUNCTION (this)
... áá áá NS_LOG_FUNCTION_NOARGS ()
á áá á°ááŁáŤáľ ááľáĽ áĽáť. ááá ááᣠᨠns-3 áľáááľ áááááá á¨áááἠááľáłááť á°ááŁáá ááá°áá á áŤáľááááᢠáá áŤá
á áá¨á áĽáá°ááááἠááłáá á¨ááá°áá á ááá°áĽ áá´á áá. á echo á áááŹá˝áá˝ ááľáĽ á¨áá°á áá á áŤáá á¨ááá˘áŤ áá
ááľ ááááá˘
á áá á áá°áá áŞáŤá á¨á°á°á¨á á¨á°ááŁá áĽáŞáá˝á áááἠáá¨áľ áá˝ááᢠá á áá áľ á¨á°ááá¨áą á ááľáአááŤá¨á á ááľ áŽáá áŤáŤáᢠUdpEchoClient áá°áá áŞáŤ áĽá ᨠC ++ áá°á áŚááŹá°á (::) ááá¨áľ á¨áá áĽáá áľ áá´ áľá. áá á¨áá°á¨áá áá á°áĽá ááá˘
áá á áĽáááą á¨ááá áľá á áá°áá ᣠáá á¨áááἠááľáłááť á áŤá áľá ááᢠá¨ááá ááá áĽá ááá ááŤá¨á ááĽá፠á˛áá á áĽáááá áá á¨ááá áľá áááŁááá áá á¨ááá áľá áĽááłááá ááá á ááŚáľáŁáĽá áŁá áááľ áŽáá áłááá á ááľ áŽáá á áᢠáá á á áááŤáááľ áľáá á áá ááááľ á¨áá áŁáá áľáá á¨ááá áľá áááá¨áľ á¨áá¨áłááľ ááááľ ááá˘
ááá áĽáá á á ááłááľ áááłáá˝ á¨áááἠááľáłááťáá á áľááá á¨ááŤááá¨á á¨áľáá áá´ áĽáá°áá áááá°á á áľá¸á᪠ááá áá˝áá. á¨áá áŤááá á˝áá á¨á°ááá¨áą, ááľáአá¨áľ áá áĽáá áŤáľáŁá.Received 1024 bytes from 10.1.1.2
". á°á¨ááá á áááááľ áá
áá á˝áá áááłáľ áá˝áá á
áľá á
áĽáŤ_func áá° NS_LOG á áŤáŁá˘ á°ááááᢠá¨áá¨á°ááľá áááľá¨á ááááŠ
$ export 'NS_LOG=UdpEchoClientApplication=level_all|prefix_func'
áĽá áśáš á áľááá áááá¸áá áἠáá á ááááŤáąá á¨áŚá áŚááŹá˝áá ááááá¨áľ á¨ááá ááá á§á᧠á¨áŠáááľ á¨á§á᧠ááľáá áááá áľááá ááᢠá ááᣠáľááŞááąá áŤáľáŹáąáŁ á¨ááá˘áŤ áľáááą á áá áááἠááľáĽ áŤáá áĽáŤááłááą áááĽááľ á ááá áľá á áľá á áĽáŤ ááŤáá áŤá¨áááŁáá˘
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.417s)
UdpEchoClientApplication:UdpEchoClient()
UdpEchoClientApplication:SetDataSize(1024)
UdpEchoClientApplication:StartApplication()
UdpEchoClientApplication:ScheduleTransmit()
UdpEchoClientApplication:Send()
UdpEchoClientApplication:Send(): Sent 1024 bytes to 10.1.1.2
Received 1024 bytes from 10.1.1.1
UdpEchoClientApplication:HandleRead(0x6241e0, 0x624a20)
UdpEchoClientApplication:HandleRead(): Received 1024 bytes from 10.1.1.2
UdpEchoClientApplication:StopApplication()
UdpEchoClientApplication:DoDispose()
UdpEchoClientApplication:~UdpEchoClient()
á áá ᨠUDP echo á°áá á áá°áá áŞáŤ á¨ááᥠááá áááááśá˝ áĽáá°á á°ááá°á ááááłá¸áá áá¨áľ áá˝ááᢠáááĽááľ "Received 1024 bytes from 10.1.1.2
' á áá ᨠecho á°áá á áá°áá áŞáŤ áĽáá°áᣠá ááá˝ á°áááˇáᢠá¨áá¨á áááĽáᾠᨠUDP echo á áááá áá°áá áŞáŤ áááŁáľ á áá áľá˘ á NS_LOG á áŤáŁá˘ á°áááá ááľáĽ á áŽáá-á¨á°áአáááá˝á áááá á ááľááŁáľ áá
áá á áŤá ááááľ áĽáá˝áááá˘
$ export 'NS_LOG=UdpEchoClientApplication=level_all|prefix_func:
UdpEchoServerApplication=level_all|prefix_func'
ááľá ááááŤáĄ- á¨áá áŁáá á¨ááłá á˝áá áá á°ááąá ááá á¨á˝ á¨ááŤáááááá áŽáá(:) á áá áŤááá á á˛áľ ááľáá ááá ááľáááľ áŤáľáááááłáᢠá áá áľááŞááąá áŤáľáŹáą á¨á°áá áá á¨áááĄáľá áááá á¨áááἠááľáłááťáá˝ áĽá á¨á áááá áááś á áááŹá˝áá˝á áŤáŤáᢠáá á áá¨á áá á áŁá á áá ááá áĽáá°áá˝á áá¨áľ áá˝áá.
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.406s)
UdpEchoServerApplication:UdpEchoServer()
UdpEchoClientApplication:UdpEchoClient()
UdpEchoClientApplication:SetDataSize(1024)
UdpEchoServerApplication:StartApplication()
UdpEchoClientApplication:StartApplication()
UdpEchoClientApplication:ScheduleTransmit()
UdpEchoClientApplication:Send()
UdpEchoClientApplication:Send(): Sent 1024 bytes to 10.1.1.2
UdpEchoServerApplication:HandleRead(): Received 1024 bytes from 10.1.1.1
UdpEchoServerApplication:HandleRead(): Echoing packet
UdpEchoClientApplication:HandleRead(0x624920, 0x625160)
UdpEchoClientApplication:HandleRead(): Received 1024 bytes from 10.1.1.2
UdpEchoServerApplication:StopApplication()
UdpEchoClientApplication:StopApplication()
UdpEchoClientApplication:DoDispose()
UdpEchoServerApplication:DoDispose()
UdpEchoClientApplication:~UdpEchoClient()
UdpEchoServerApplication:~UdpEchoServer()
áĽáá˛áá á ááłááľ áá á¨áááἠááľáłááťá á¨á°áá á¨á áľá á¨ááľáá°á áá áá¨áľ ááťá á áá ááᢠOR áľáá˝ á áá¨áá áá áá ááľá¨á áá˝ááᢠá áľá á áĽáŤ_áá:
$ export 'NS_LOG=UdpEchoClientApplication=level_all|prefix_func|prefix_time: UdpEchoServerApplication=level_all|prefix_func|prefix_time'
áĽáá°ááᣠá¨áá áŤááá á á˛áľ ááľáá ááá ááľáááľ ááááĽááłáᢠá áá áľááŞááąá áŤááąáľ á¨áá¨á°ááá áá ááľ áá¨áľ á ááĽááľá˘
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.418s)
0s UdpEchoServerApplication:UdpEchoServer()
0s UdpEchoClientApplication:UdpEchoClient()
0s UdpEchoClientApplication:SetDataSize(1024)
1s UdpEchoServerApplication:StartApplication()
2s UdpEchoClientApplication:StartApplication()
2s UdpEchoClientApplication:ScheduleTransmit()
2s UdpEchoClientApplication:Send()
2s UdpEchoClientApplication:Send(): Sent 1024 bytes to 10.1.1.2
2.00369s UdpEchoServerApplication:HandleRead(): Received 1024 bytes from 10.1.1.1
2.00369s UdpEchoServerApplication:HandleRead(): Echoing packet
2.00737s UdpEchoClientApplication:HandleRead(0x624290, 0x624ad0)
2.00737s UdpEchoClientApplication:HandleRead(): Received 1024 bytes from 10.1.1.2
10s UdpEchoServerApplication:StopApplication()
10s UdpEchoClientApplication:StopApplication()
UdpEchoClientApplication:DoDispose()
UdpEchoServerApplication:DoDispose()
UdpEchoClientApplication:~UdpEchoClient()
UdpEchoServerApplication:~UdpEchoServer()
ááá á á UdpEchoServer á á˛ááá˝á 0 á°á¨ááľ á°á ááˇáᢠáá á áĽáááą ááľáá°á á¨áááአá ááľ áá¨á°áłá ᣠáá áá áá áĽáá° áᎠá´áŽááľ áá á¨ááłá¨áᢠáááᢠáááĽááľá á°ááłáłá ááᢠUdpEchoClient.
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.418s)
0s UdpEchoServerApplication:UdpEchoServer()
0s UdpEchoClientApplication:UdpEchoClient()
0s UdpEchoClientApplication:SetDataSize(1024)
1s UdpEchoServerApplication:StartApplication()
2s UdpEchoClientApplication:StartApplication()
2s UdpEchoClientApplication:ScheduleTransmit()
2s UdpEchoClientApplication:Send()
2s UdpEchoClientApplication:Send(): Sent 1024 bytes to 10.1.1.2
2.00369s UdpEchoServerApplication:HandleRead(): Received 1024 bytes from 10.1.1.1
2.00369s UdpEchoServerApplication:HandleRead(): Echoing packet
2.00737s UdpEchoClientApplication:HandleRead(0x624290, 0x624ad0)
2.00737s UdpEchoClientApplication:HandleRead(): Received 1024 bytes from 10.1.1.2
10s UdpEchoServerApplication:StopApplication()
10s UdpEchoClientApplication:StopApplication()
UdpEchoClientApplication:DoDispose()
UdpEchoServerApplication:DoDispose()
UdpEchoClientApplication:~UdpEchoClient()
UdpEchoServerApplication:~UdpEchoServer()
áľááŞááąá á áľáłááľ scratch/first.cc á¨ááľá°ááŁáľ á°áá¨á á áááŹá˝áá á¨ááá¨á ááľáá°á á¨áááአá¨á ááľ á°á¨ááľ á ááľ ááᢠá áá áŤáá áá´ áá¨áľ áá˝áá áááá¨áť ááá á áááá á ááááŞáŤ á°á¨ááľ ááľáĽ áá áŤá. á áľááŞááą áá áĽáá°á á¨á áá á¨ááľá°ááŁáľ á°áá á á ááľá ááá°á á°á¨ááľ áá ááááŠá ááŤáľá°áá áá˝ááá˘
á áá á áĽáŞ áá á¨ááľáá°á áá°áľá áá¨áłá°á áá˝ááᢠáááááĽá ááľá°ááá á echo á áááá áá°áá áŞáŤ ááľáĽ ᨠHandleRead áááś áĽáŞá áá á áá°áá á°áá á ááľáĽá˘ á¨ááĽáĽ-áá°-ááĽáĽ áááá áá ááŹáľ áááá áŤááá áá 3,69 ááá°á¨ááľ áááá áἠáá áᢠá¨echo á áááአáááŹáą ááá˝ á¨á°á áá áááĽááľ á˛áááἠáĽá áťáá á¨ááᨠá áá á¨echo á°áá á á¨echo ááŹáąá á HandleRead áá´á áĽáá°á°áá á áá¨áľ áá˝ááá˘
áĽááľá áłáŤáááľ á áá á˛ááá˝á ááľáĽ áĽá ááá á áᢠááá áá á áľáááą ááľáĽ áŤááľá áááá á¨ááá˘áŤ áááá˝á á ááááľ á á ááá áá°áąá á ááá áá¨áłá°á áá˝ááᢠá¨NS_LOG á°ááááá áá°áá¨á°áá áĽá´áľ ááááá á ááááŠáŁ
$ export 'NS_LOG=*=level_all|prefix_func|prefix_time'
á¨áá áŤáá áŽá¨áĽ ááááľ á¨áááἠááľáłááť á áŤá ááááľ ááᢠáá á á˛áááą ááľáĽ áĽá á áá á ááá ááá áááá˝ ááľáĽ áŤááľá áááá áá¤áśá˝á áŤáľá˝ááᢠáá¤áąá áĽáá á áá°áááá (á áá˝áá áľ áá áá ááľ á˘áŽ ááŹáľ 1265 á¨áá¤áľ ááľááŽá˝á áŤááŁá) ááá áá áá áá áá¨á áá° ááá á ááá á áááąáľ á ááłá˘ áá¨áľ áá˝ááá˘
$ ./waf --run scratch/myfirst > log.out 2>&1
á˝áá á˛áŤááĽáá áĽá áááŽá˝ á¨áľ áĽáá°á°áłáłáą áłááá á áá áá á áĽá á á áŁá áááłá á¨áá á¨áááἠááľáłááť áľáŞáľ áĽá ááááᢠá¨ááá¨áŤ ááĽáŚá˝á áłááá áĽá á á áŤáá ááľáĽ áŤááá áŽáľ áłáá¨ááľ á¨áŽáľ á ááťá¸áá á ááá áá¨á°á áĽá˝áááᢠá ááá°á á ááłá˘ ááľáĽ áá¤áąá áĽáť á ááľá á¨áá áĽááá áááá áĽá áŤáá á á áŠáľá ááá áá¨áľ áĽá˝áááᢠáľá á°áą áá áĽáá°áá á á ááá ááłáĽ áŤááá á áá á˝ááŠá á áááá áááááá áá° á áŤáá ááľáĽ ááᏠáĽááŁááᢠá¨áĽááľá áľááŞááľ áá á áá áŤáá°á á á ááá á˛áŤá°áá á¨áá ááááą áá¤áľ á áá ááá áá˝ááᢠá áŤááá áĽáť áĽá¨á°á ááá á¨ááᣠá áááá áá á áá ááłáŁá áľá˝ááá ᢠááááŁá áĽáá°áá á áááľ áááŞáŤáá˝ áĽáá˛áłáŠ áŤá°ááá.
5.1.3 áá° áŽáľá áááŁáľá áá¨á
á¨á ááŤáł áááŽáá˝ áá° á¨áááἠááľáłááť ááá á áá°áá áá° ááľáá°áá˝á á á˛áľ áá¤áśá˝á áá¨á áá˝ááᢠá áľááŞááľ ááľáĽ áĽááľááá myfirst.cc, á "áášá " áá፠ááľáĽ áŤáá. á áá áááł ááľáĽ á¨áááἠááľáłááť áááá áĽáá°ááá á á áľáłááľáĄ-
NS_LOG_COMPONENT_DEFINE ("FirstScriptExample");
ᨠNS_LOG á áŤáŁá˘á á°áááá á á°ááŤáŠ á°á¨ááá˝ á áááááľ ááá
á áŤá áááá áááááśá˝ áááŁáľá ááááľ áĽáá°áá˝á áŤáááᢠáá° ááľ áĽáááľ áĽá áá° áľááŞááą á ááłááľ áá¤áśá˝á áĽáá¨ááᢠá¨áá¨á á°á¨á áááááśá˝á áá° áááἠááľáłááťá ááá¨áá á¨ááŤááááá ááᎠNS_LOG_INFO ááᢠá áááá˝á ááá á á¨ááááŤá˝á á ááľ áľááŞááą á "áśááá ááá á" á°á¨á áá áĽááłá á¨ááááááľá áááĽááľ áĽáá¨ááᢠáá
á áá¨á°áá á¨áŽáľ á
ááŁá˘ ááľáĽ áá¨áááá
ááááą scratch/myfirst.cc á áááąáľ á ááłá˘ ááľáĽ áĽá ááľááŠá áŤáá áŁ
NS_LOG_INFO ("Creating Topology");
á¨ááľááŽáš á ááľ áŁ
NodeContainer nodes;
nodes.Create (2);
á áá á áá áá áľááŞááąá áŤá áá á áá, áĽá ᨠNS_LOG á°ááááá á á˝áł áá°á áĽáá á¨ááááá á¨ááá˘áŤ áá ááá°áá¨ááĄ-
$ ./waf
$ export NS_LOG=
ТопоŃŃ, ĐľŃНи Đ˛Ń ĐˇĐ°ĐżŃŃŃиŃĐľ ŃĐşŃипŃ,
$ ./waf --run scratch/myfirst
á¨áĽáą áá á¨á°áŤáŤáá á¨ááá˘áŤ ááá (FirstScriptExample) áľáááá á á˛áąá áááĽááľ á áłááᢠáááĽááľá á ááá¨áľ á¨ááá˘áŤ áááá ááááľ á ááĽá á¨ááááŞáŤ áľááŞááľ ááłá á¨NS_LOG_INFO á áłá˝ á°á¨á áŤááᢠáŤáá á¨á°áᨠá¨áááἠááľáłááť á°á¨á áá¨áľ á¨ááááᣠáĽáá°á ááĽáŤáľ áľá˝ááá áŁ
$ export NS_LOG=FirstScriptExample=info
á áá áľááŞááąá áŤáľáŹáąáŁ âáśááá ááá áâ á¨áá á á˛áľ áááĽááľ áŤáŤáá˘
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.404s)
Creating Topology
Sent 1024 bytes to 10.1.1.2
Received 1024 bytes from 10.1.1.1
Received 1024 bytes from 10.1.1.2
5.2 á¨áľáĽáá ááľáá áá¤áśá˝á á áá áá
5.2.1 ááŁáŞ á¨áŁá ᪠áĽá´áśá˝á ááťá
áŤá á ááľááľ áĽá áááŁáł ᨠns-3 áľááŞááśá˝á áŁá ᪠áááá¨á áááá ááááľ á¨áľáĽáá ááľáá áá¤áśá˝á á áá áá ááᢠá¨áľááá ááľáá áá᪠áĽá´áśá˝á á¨ááá°áá°áá áľá áá´ áĽááááŁáá áĽá á áá¤áśáš áá á áááľá¨áľ á áŤáŁá˘áŤá áĽá ááá á áá á°ááááŽá˝á á áŤáľ-á°á áĽááááááá˘
á¨áľáĽáá ááľáá áááá áľáááľá ááá áá á¨ááááŞáŤá áĽááá á¨áľáĽáá ááľáá á°ááłá ááá ááᢠá áá¨á°áá áŽáľ ááľáĽ áĽáá°ááłá¨á áá (á áá ááŽááŤáá ááľáĽ) áááľáŤáľ á áŁá ááá ááá˘
int
main (int argc, char *argv[])
{
...
CommandLine cmd;
cmd.Parse (argc, argv);
...
}
áá ááá áááľ ááľáá á ááŁá˘ á áŤáą á áŁá á áá ááᢠá ns-3 á ááá áá á°áááá áĽá á¨áŁá ᪠áľáááľ á áŠá áá¨ááłá. á ááá á¨áľááŞááľ á°ááŁá á ááľ áá áááľ á¨áŽáľ ááľááŽá˝á áĽáá¨áá scratch/myfirst.cc. á ááá áᣠáľááŞááąá á á°áŁáľá á áĽáá°áŤáááᣠá áááłá áľ áá á¨áĽááłáł áĽáŤáá áĽáá°áá¨á°áá áĽááááŁááá˘
$ ./waf --run "scratch/myfirst --PrintHelp"
áá áľááá áá ááá áá á ááľ áľááŞááľ áá¨áľ/á¨ááááŞáŤáŹ áĽá á¨áľáĽáá ááľáá ááááá áŤáľá°ááá - á¨á áľááľ áĽáá. áááአáá¨áľáá ááŽááŤá áĽáá°áá áááłá¨áľ áĽá áśáš áŤáľááááᢠá¨áľáĽáá ááľáá á°ááłá ááááŠá áŤááá - á¨á áľááľ áĽáá áĽá áááąá á ááĄ
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.413s)
TcpL4Protocol:TcpStateMachine()
CommandLine:HandleArgument(): Handle arg name=PrintHelp value=
--PrintHelp: Print this help message.
--PrintGroups: Print the list of groups.
--PrintTypeIds: Print all TypeIds.
--PrintGroup=[group]: Print all TypeIds of group.
--PrintAttributes=[typeid]: Print all attributes of typeid.
--PrintGlobals: Print the list of globals.
á áá á ááŤáŠá á áľáĄá áľ - á¨á áľááľ áŁá áŞáŤáľ. á first.cc áľááŞááľ ááľáĽ ᨠns-3 áŁá ᪠áľáááľá á áľááľáá á á á°ááᢠá¨áá¨á°ááľá á¨áŽáľ ááľááŽá˝ á áá°áá
PointToPointHelper pointToPoint;
pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));
áĽáá á°ááአá¨ááἠáá á á áĽáááą áŁá ᪠ááᢠPointToPointNetDevice. áŁá áŞáŤáąá ááá¨áľ á¨áľáĽáá ááľáá áááá á°ááłá áĽáá áá PointToPointNetDevice. á¨áĽááłáł áááá áá á¨áĽ á ááĽá áááᢠááááľá ááľ. áá á¨ááááľ áŁá áŞáŤáľ á¨áŤáá áľ ááá áľá ááᢠá áĽá áááł ááľáĽ áááá ns3 :: PointToPointNetDevice. áá° ááľ áĽááᾠᣠáĽááᣠáŁ
$ ./waf --run "scratch/myfirst --PrintAttributes=ns3::PointToPointNetDevice"
áľáááą á¨áá á áááľ á¨á ááłá¨ áá¨áĽ ááłáŞáŤ áááá áŁá áŞáŤáľ áŤáľáá. á áááአááľáĽ áŤááľ áŁá áŞáá˝ ááŤá¨á áááŤá¸áá áŤáŤá-
--ns3::PointToPointNetDevice::DataRate=[32768bps]:
The default data rate for point to point links
áá áĽáá á˛áá á á áľáááą ááľáĽ áĽá á áá á¨áááá ááŁáŞ áĽá´áľ áá. PointToPointNetDevice. áá áá ááŁáŞ áĽá´áľ á áááŞáŤ áĽáá˝á¨á á áá᳠в PointToPoint á¨áłáľ á¨á áŤáᢠááŁáŞ áĽá´áśá˝á á¨ááĽáĽ-áá°-ááĽáĽ ááłáŞáŤáá˝ áĽá á°ááŚá˝ áĽáá ááᢠáá áá áááľá¨á, áĽáŞáá˝á áŤáľáááą á¨ááŁáŞáŤ áŁá ᪠и á¨Channel á áá᳠ᨠmyfirst.cc, á áášá áá፠ááľáĽ áŤáá.
á¨áĽááľá áľááŞááľ á áá á ááá ááá á áá áľá˘ PointToPoint á¨áłáľ áĽá á¨áá á áłá˝ áŁáá ááłá áĽáá°ááłá¨á ááá á áááľ á¨ááŤá áľáŤáá˝á á áŤáľáá,
...
NodeContainer nodes;
nodes.Create (2);
PointToPointHelper pointToPoint;
NetDeviceContainer devices;
devices = pointToPoint.Install (nodes);
...
áááĽá áĽá á á˛áľ áľááŞááľ ááá አáá (./áá) áĽá áá° áá á°ááá°á á ááłááľ á ááá˝á ᨠUDP echo á áááá á áááŹá˝á á áá áĽá á¨áá á áľá á áĽáŤáá áĽááŤá°áľá˘
$ export 'NS_LOG=UdpEchoServerApplication=level_all|prefix_time'
áľááŞááąá á¨á°áŤá á¨áá¨á°ááá áá ááľ áá¨áľ á ááĽá á˘
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.405s)
0s UdpEchoServerApplication:UdpEchoServer()
1s UdpEchoServerApplication:StartApplication()
Sent 1024 bytes to 10.1.1.2
2.25732s Received 1024 bytes from 10.1.1.1
2.25732s Echoing packet
Received 1024 bytes from 10.1.1.2
10s UdpEchoServerApplication:StopApplication()
UdpEchoServerApplication:DoDispose()
UdpEchoServerApplication:~UdpEchoServer()
ááá¨á¨áť áá á¨ááľáá°á á°ááąá á¨á°ááá¨áľáá áľ ááᣠááŹá á echo á áááá á á°áá áá áľ á á˝á áľáŁ ááá 2,00369 á°á¨ááľ áĽáá°áá á á áľáłááľá˘
2.00369s UdpEchoServerApplication:HandleRead(): Received 1024 bytes from 10.1.1.1
á áá ááŹáľ á 2.25732 á°á¨ááľ ááá ááᢠááááŤáąá á ááá á¨PointToPointNetDevice áłáł áá áá á¨á ááľáľ áá á˘áľ á á°á¨ááľ áá° ááŁáŞ áĽá´áą 32768 á˘áľ á á´áŽááľ áłáá áĽááľááá¨áááᢠá¨áľáĽáá ááľááŠá á°á á áá á á˛áľ áłáł áŹáľá á¨ááá°áŤ á¨ááᣠááľáá°áá áĽáá°áá ááá á áĽáá˝áááᢠá áĽááá á áŤá á á°áááá ááá áá á¨áľ áĽáá°áá áĽáá°ááááá-
$ ./waf --run "scratch/myfirst --ns3::PointToPointNetDevice::DataRate=5Mbps"
á áá¤áąáᣠá¨DataRate áŁá ᪠ááŁáŞ áĽá´áľ á á°á¨ááľ á ááľáľ áá á˘áľáľ ááááłáᢠá áá¤áą á°ááááá? á¨áľááŞááąá á¨ááááŞáŤ áŁá ᪠áááááľ á¨á°áᥠáááá¨áľ á¨áĽááá ááĽááľ áá áĽáá˛ááŁá á ááľá¨á á ááĽáᢠáá ááłá¨áá¨áĽ ááŁáŞáŤá áĽááłá°á¨ááá á¨áľáĽáá ááľáá áľáááąá á¨á°ááĄá áŁá áŞáá˝ áĽáá˛áŤáľá ááá ááá áĽáá˝áááá˘
$ ./waf --run "scratch/myfirst --PrintAttributes=ns3::PointToPointChannel"
á¨á°áᥠáááá¨áľ áŁá áŞá áĽáá°áá¨á°áá á°áááĽáŽ áĽááááááá˘
--ns3::PointToPointChannel::Delay=[0ns]:
Transmission delay through the channel
á¨ááŤá áĽááá á áááąáá ááŁáŞáá˝ á áľáĽáá ááľáá á˛áľá°á áááááľ áĽáá˝áááá˘
$ ./waf --run "scratch/myfirst
--ns3::PointToPointNetDevice::DataRate=5Mbps
--ns3::PointToPointChannel::Delay=2ms"
á áá á ááŁá á áľááŞááą ááľáĽ á¨áłáł á°áá áĽá áááá¨áľá á ááá áľáááá á¨áá á¨áá áá áĽá¨áááľá ááá˘
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.417s)
0s UdpEchoServerApplication:UdpEchoServer()
1s UdpEchoServerApplication:StartApplication()
Sent 1024 bytes to 10.1.1.2
2.00369s Received 1024 bytes from 10.1.1.1
2.00369s Echoing packet
Received 1024 bytes from 10.1.1.2
10s UdpEchoServerApplication:StopApplication()
UdpEchoServerApplication:DoDispose()
UdpEchoServerApplication:~UdpEchoServer()
ááŹá á¨2,00369 á°á¨ááľ á áá á á áááአá áľáá ááá áá áἠáá áᢠá áľááŞááą ááľáĽ áŤááľá ááá¸ááá áŁá áŞáŤáľ á áá ááááľ áááá áĽáá˝áááᢠá á°ááá á¨MaxPackets áŁá áŞáŤáľá á¨á ááľ áá áĽá´áśá˝ áá áááá áĽáá˝áááᢠUdpEchoClient.
áĽáá´áľ áá á¨ááľá ááá? ááá¨á. á¨áŁá áŞáá ááŁáŞ áĽá´áľ á¨áťááá áľá áĽá á ááá áŤááááá áľá áŚáł á áľá°áŤá¨áľ ááľá áľ áĽááłááŚáľ áŤáľáłááą áááľááŹáśá˝ á áľááŞááą ááľáĽ. á¨á፠áľááŞááąá áĽáá°áá ááááŁáľ á ááĽááľá˘ á á˛áľ ááŁáŞ áŁá ᪠áĽá´áľ ááááááľ á áľáĽáá ááľáá áá á¨á ááŁáĽ áĽááá ááááľ áá˝ááᢠáá áá áŤáá á áá, á áľáĽáá ááľáá áá á¨ááłáŠáľá á¨áĽá áá˝ áĽááľ áááŁá á áá˝áá. áľá á°áá˝ áľáááá á¨áľáĽáá ááľááŤá˝á áá á áááľááá˘
$ ./waf --run "scratch/myfirst
--ns3::PointToPointNetDevice::DataRate=5Mbps
--ns3::PointToPointChannel::Delay=2ms
--ns3::UdpEchoClient::MaxPackets=2"
á áá áá á¨áááłá á°ááĽáŻá áĽáŤá á¨áĽááá áá áŁá áŞáŤáľ áááŠá áĽáá´áľ ááá áĽáá°ááťá áá. á áľáá, á¨áľáĽáá ááľáá áľáááą á áá ááłá áá á¨áĽááłáł á°ááŁá á áá. á¨áľáĽáá ááľáá áĽááá á¨á á¨á á áá¨áľ á ááĽááĄ-
$ ./waf --run "scratch/myfirst --PrintHelp"
myfirst [Program Arguments] [General Arguments]
General Arguments:
--PrintGlobals: Print the list of globals.
--PrintGroups: Print the list of groups.
--PrintGroup=[group]: Print all TypeIds of group.
--PrintTypeIds: Print all TypeIds.
--PrintAttributes=[typeid]: Print all attributes of typeid.
--PrintHelp: Print this help message.
á¨"PrintGroups" ááááá á¨áá¨áĄ áááá á¨á°áááᥠáĄáľáá˝á áááá áá¨áľ á ááĽááľ ááááľá ááľ. á¨áĄáľá áľáá˝ á ááá áá፠ááľáĽ áŤááľ á¨áááá˝ áľáá˝ áá ááááłá (ááá áĽááłá á áŤááłá áá°á á˘ááá)ᢠáááá áá¨ááá˝ á á ááľ áá áá°á á áŁá áĽá áááá, áľááá á°á¨á᪠ááŁáŞáŤ á áĄáľáá˝ áá¨áá ááá°á áááá. áľááá ᣠáĽáá°áá ááĽáĽ-áá°-ááĽáĽ áááá áá á áá°áŽááĄ-
./waf --run "scratch/myfirst --PrintGroup=PointToPoint"
TypeIds in group PointToPoint:
ns3::PointToPointChannel
ns3::PointToPointNetDevice
ns3::PointToPointRemoteChannel
ns3::PppHeader
áŁá
áŞáŤáľá ááááá á¨ááááľá á¨TypeId áľáá˝ áĽáá
ááááľ áá˝áá áááłá á ááľáĽ
--PrintAttributes = ns3 :: PointToPointChannel
á¨áá áĽáá°ááłá¨á.
ááá áľá áŁá áŞáŤáą á¨áááá áľ ááááľ á Doxygen ns-3 á áŠá ááᢠá á˛ááá°áŠ ááľáĽ á¨á°ááááĄáľá áááá áŁá áŞáŤáľ á¨ááá¨áá áá˝ á áá˘
5.2.2 á¨áŤáľáá áľáááá˝ á ááŤá áá
áĽáá˛áá á¨áĽáŤáľáá ááá ááá˝ á áľáĽáá ááľáá áľáááľ á áŠá áá¨á áá˝ááᢠáá
á¨áá°á¨áá á ááá á¨áľáĽáá ááľáá á°ááłá áá´á á áá áá ááᢠAddValue.
áá
áá á ááŁá ááá á á°áᨠááአá¨ááłáŠáľá á¨áĽá
áá˝ áĽááľ áááĽááľ áĽáá ááá áľá˘ á¨á°á°á¨á á¨á áŤáŁá˘ á°áááá áĽáá¨áá nPackets áá° á°ááŁá áá. á¨áá°áá ááŁáŞ áŁá
áŞáŤá˝á áá áĽáá˛áááľ áá° á ááľ áĽááľááá áááᢠá¨áľáĽáá ááľáá á°ááłá áá
áá áĽá´áľ áĽáá˛ááἠáááááľáŁ áá
áá áĽá´áľ áá° á°ááłá ááŤá á ááĽáᢠáá
á á¨ááá°ááá áá°á á áá¨áá ááᢠAddValue. ááľ áĽá áľááŞááąá ááá scratch/myfirst.cc áľááá
á áá¨á°áá áŽáľ ááááá
int
main (int argc, char *argv[])
{
uint32_t nPackets = 1;
CommandLine cmd;
cmd.AddValue("nPackets", "Number of packets to echo", nPackets);
cmd.Parse (argc, argv);
...
ᨠMaxPackets á áááłá áá°ááááá á áľ áľááŞááľ ááľáĽ ááłáá ááĽáĽ áá°áłá˝ áá¸áĽáá áĽá á¨áá á áłá˝ áĽáá°ááłá¨á á¨ááá 1 ááá áá° nPackets á°áááá áááá¨á ááááĄáľá˘
echoClient.SetAttribute ("MaxPackets", UintegerValue (nPackets));
á áá áľááŞááąá áŤáľáŹáą áĽá --PrintHelp ááááá á¨á°á°áŠ á á˛áąá á¨á°á áá áááá áá¨áľ á ááĽááľá˘ á áĽáá ááłáŤá áá á°ááááŻá. ááŁáŁ
$ ./waf --run "scratch/myfirst --PrintHelp"
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.403s)
--PrintHelp: Print this help message.
--PrintGroups: Print the list of groups.
--PrintTypeIds: Print all TypeIds.
--PrintGroup=[group]: Print all TypeIds of group.
--PrintAttributes=[typeid]: Print all attributes of typeid.
--PrintGlobals: Print the list of globals.
User Arguments:
--nPackets: Number of packets to echo
á¨áá°ááááľá á¨ááŹáśá˝ áĽááľ ááááἠá¨ááá á áľáĽáá ááľáá áá ᨠ-nPackets ááááá á áááá á ááľá¨á áá˝áá áŁ
$ ./waf --run "scratch/myfirst --nPackets=2"
á áá áá¨áľ á ááĽá
Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.404s)
0s UdpEchoServerApplication:UdpEchoServer()
1s UdpEchoServerApplication:StartApplication()
Sent 1024 bytes to 10.1.1.2
2.25732s Received 1024 bytes from 10.1.1.1
2.25732s Echoing packet
Received 1024 bytes from 10.1.1.2
Sent 1024 bytes to 10.1.1.2
3.25732s Received 1024 bytes from 10.1.1.1
3.25732s Echoing packet
Received 1024 bytes from 10.1.1.2
10s UdpEchoServerApplication:StopApplication()
UdpEchoServerApplication:DoDispose()
UdpEchoServerApplication:~UdpEchoServer()
á áá áááľ ááŹáá˝á áá¨ááᢠá áŁá ááá ᣠáľááá?
áĽáá° ns-3 á°á áá á¨á ááá áá áĽá´áśá˝á áĽá áŁá
áŞáŤáľá ááááŁá á á¨áľáĽáá ááľááá á¨áááá áľáááľ áá áá áĽáá°áá˝á áá¨áľ áá˝ááᢠá¨áá´á á°áŤá˛ á¨ááá á áĽááá˝á
áá á áłá˛áľ áŁá
áŞáŤáľá áá¨á áľá˝ááá
áĽá á áľáĽáá ááľáá áľáááą áá°á áááá˝á
á áŤáľ-á°á ááááá ááá ááááᢠá¨áľááŞááľ á¸áá á¨ááá áá° áľááŞááśá˝á
á áłá˛áľ á°ááááŽá˝á áá¨á áĽá áŤá á
áá á¨áľáĽáá ááľáá áľáááľ áá áááááľ áľá˝ááá
á˘
5.3 á¨áá¨áłá°áŤ áľáááąá áá áá
á á ááá á¨ááľáá°á ááĽáĽ áááŁá áĽááľ áá¤áľá áááá¨áľ ááᣠáĽá ᨠns-3 á¨áá¨áłá°áŤ áľáááľ ááá áááá áá´ ááᢠns-3 á¨C++ ááŽááŤá áľááá áá°á ááá á¨C++ ááŽááŤá áá ááľ ááááŤáá˝á áá áá ááťáááĄ-
#include <iostream>
...
int main ()
{
...
std::cout << "The value of x is " << x << std::endl;
...
}
áá° áááľáá áľáá˝ ááá á ááá¨áá á¨ááá˘áŤ áááá áĽááłá áá áá áá˝ááᢠá áá á áŤááľ á¨á°áá አáĽá á¨ááłáá á˝ááŽá˝ á áᣠáĽá áľááá ᣠáĽááá á á˝ááŽá˝ ááááłáľáŁ á¨á፠á¨ááľá°áľ ááá áááľ áľáááľá á á áá ááá˘
ᨠns-3 áá¨áłá°áŤ áľáááľ áá ááŚá˝áĄ-
-
ááá á¨áłá á°ááŁáŤáľ, á¨áá¨áłá°áŤ áľáááą á°á ááá ááłáá áááŽá˝ áá°á á áááá áĽáá˛áŤááá ááááľ á áá áľ, áĽá ááááá á¨ááŤáááŠáľá áááŽá˝ ááá¨áĄ;
-
ááŤá¨áá á°á áááá˝ á¨á°áá á¨áá á¨áá¤áľ ááááľ ááááἠááá á á˛áľ á¨áá¨áłá°áŤ áááŽá˝á áááľááŁáľ á¨ááľáá°áŤáá áŽá áłáááአá¨áá¨áłá°áŤ áľáááąá ááŤáá á ááŁá¸áá˘
-
á¨áá á°á áááá˝ á á˛áľ á¨áá¨áłá°áŤ áááŽá˝á áĽá áá á˘áŤáá˝á ááá¨áá á¨á˛ááá°á áŽáá ááťáťá áá˝ááᢠᨠns-3 á¨ááľáľá áľáááľ á¨á°áááŁá á áááá°á á¨áá¨áłá°áŤ áááŽá˝ áĽá ááľá¨áťáá˝ ááááá˝ áĽáá˛áá áááŽá˝á á¨á°á áááá˝ áá ááááááľ á¨á°ááá° áá´ ááá˘
ᨠns-3 á¨ááľáľá áľáááľ á¨á°áááŁá á áááá°á á¨áá¨áłá°áŤ áááŽá˝ áĽá á°ááŁáŽá˝ ááááá˝ áĽáá˛áá áááŽá˝á á¨á°ááŁáŽá˝ áá ááááááľ á¨á°ááá° áá´ ááᢠá¨áá¨áłá°áŤ áááŽá˝ á á˛ááá˝á ááľáĽ á¨á°á¨á°áąáľá ááľá°áśá˝ á¨áá áá áĽá á¨ááááľ áá¨áá ááłá¨áť á¨ááŤááᥠáááŽá˝ áá¸áᢠáááłáᣠá¨áá¨áłá°áŤ ááá á¨á ááłá¨ áá¨áĽ ááłáŞáŤ ááź áĽáá°á°áá á ááŤááááľ áĽá á¨ááŹáąá áááľ ááááá á¨áá¨áłá°áŤ ááá áŤáá˝ áĽáá˛áá ááľá¨á áá˝ááá˘
á¨áá¨áłá°áŤ áááŽá˝ á áŤáłá¸á á°ááŁáŠ á áá°á á áá¨á á áá ááá á¨áá°áŠ ááá˝ á¨áŽáľ áááĽáŤáŽá˝ áá "á°áááá°á" áĽáľáŤááá áľá¨áľ ááá áááł á¨áá¸ááᢠáąáŤáá˝ á ááľáľá áááŽá˝ á¨áá¨áĄ á¨ááľá°áśá˝ áĽá áá¨ááá˝ á¸áážá˝ áá¸áᢠáááłá, (á¨áá°áá ááłá á¨áá¨áłá°áŤ ááá áá á˛ááá) á á°áá áá ááŹáľ ááľáĽ áŤááľá á¨ááááľ áááá˝á á¨ááłá°á á¨ááľáľá áá á˘áŤ ááá á áá˝áá.
á¨áá ááá˝ áááŤá¨áľ ááááŤáľ á°á áááá˝ á¨á˛ááá°á áŽáá áááľá áĽá áĽáá°áá áá ááá áłáŤáľáááá¸á á á˛áľ á¨á˛áá ááááśá˝á á áá áŁááľ á¨áá¨áłá°áŤ áááŽá˝ áá áĽáá˛á°áŠ ááááľ ááᢠáľááá á¨áá á ááłáá áá á°á ááá á áľááŞááłá¸á ááľáĽ á á˛áľ áá¨áłá°áŤ áĽáť áááá áĽá á¨á°á áááá áľááŞááľ á áá¨á á á˛ááá˝á áŽá ááľáĽ á¨á°áááá ááŁá á¨áá¨áłá°áŤ ááá áá áááááľ áá˝ááá˘
á áá áá áá¨áŞáŤ áľáá ááľ ááľáĽáŁ á¨á°áá°ááľá áá°á áĽáá á¨á°ááášáľá áááŽá˝ áĽá ááłá á˘áŤ áááłáá˝á áĽááłáááá áĽá á á°á ááá á áŠá á áľááš áĽá¨áľ áĽáá´áľ áĽáá°áááአáĽááłáŤááᢠá¨ááľáľá áľá áŚáłá ááŤáá áĽá á á˛áľ á¨áá¨áłá°áŤ áááŽá˝á ááá áá á¨áᎠá¨áá á¨ááľáľá áá á¨áľá á á°ááá¨á° áá¨á ááááᾠᨠns-3 ááááá ááá áĽáá´áľ áĽáá°áá°á¨á áááá¨áąá˘
5.3.1 ASCII áá¨áłá°á
ns-3 ááá á¨ááŹáľ áąáŤáá˝á á ááŤáááá áľ áá áááááŽáš áĽááľáá áááá áá á°á á°á¨á á¨áá¨áłá°áŤ áľáááľ á¨ááŤááἠá áἠá°ááŁáá áŤáááŁáᢠáá á áŁá ᪠áŤáááľ áá¤áąá á ASCII áááá˝ ááľáĽ áŤáŤáᢠᨠns-2 áá ááľá áááŤááᣠá¨áá á áááľ áąáŤ á°ááłáłá ááᢠááŞ.trá áĽá áľááŞááśá˝ á¨á°áá á¨á˘
áá° áľáŤ áĽááá¨áľ áĽá á ááłáᾠᨠASCII áá¨áłá°áŤ áá¤áśá˝á á áĽá scratch/myfirst.cc áľááŞááľ áá áĽáá¨ááᢠá¨áĽáŞá á ááľ Simulator :: Run ()
á¨áá¨á°ááľá á¨áŽáľ ááľááŽá˝ áŤáá
AsciiTraceHelper á áľáŞ;
pointToPoint.EnableAsciiAll (ascii.CreateFileStream ("myfirst.tr"));
áá áĽáá°ááá˝ áĽá ns-3 áááŚá˝áŁ áá áŽáľ á¨ASCII áąáŤáá˝á áááá á á áἠááá áá áááᢠááá°áá ááľáá áááľ á¨áá áá´ áĽáŞáá˝á áááᢠáá´ "ááľáĽ" CreateFileStream() á ááá áá á¨ááá áĽá¨áľ ááá áááá á (á¨ááá áľá á¨áá) áĽá áá°á°á áŤá áá´ áááľá°ááá á¨áááłáá ááá ááἠáá áááᢠáá° ááľ áá°áá ááłá áĽááá¨ááŤáá ááááá á áá áá ááá áŤááĽááľ ááá á˘áá á¨á°á°á¨á áááá á¨áááá áá áĽá¨áá አáááá ááᢠmyfirst.tr áĽá áá° ns-3 áŤáľá°áááᢠá¨á°áá á¨áá ááá á ááááľ ááá áá áĽáá˛áá¨áŁá¨áĽ áá° ns-3 áĽáá°ááááᣠá áá áá á¨C++ áĽá¨áľ áááá˝ á á á áááá˝ áá á°áŤáá á áľáá˝ á¨áłáá (áá á°áĽá) ááľáááľ á¨á°áá አá˝ááŽá˝ á°áá°ááá˘
á¨áá áĽáŞ á ááAsciiAll() áááá ááĽáĽ-áá°-ááĽáĽ á¨ááłáŞáŤ áááááśá˝ á ASCII á˛ááá˝á ááľáĽ áá¨áłá°áá ááááľ áĽáá°áááá áĽá (á¨á°áááš) á¨áá¨áłá°áŤ áááłáá˝ á¨ááŹáľ áĽáá áľáá´ áá¨áá á ASCII á áá¸áľ áĽáá˛áááᥠáá¨áłáą áááá¨ááá˘
ns-2á áááŤááᣠá¨áá¨áłá°áŤ ááľá°áśáš á¨"+"" -" "d" áĽá "r" ááľá°áśá˝á á¨ááááᥠá¨áłáá á¨áá¨áłá°áŤ ááĽáŚá˝ áá áĽáŠá áá¸áá˘
á áá áľááŞááąá ááááŁáľ áĽá á¨áľáĽáá ááľáአááľáŹáľ áá˝áá-
$ ./waf --run scratch/myfirst
áá áĽáá°á ááą áĽá ááᣠá¨áá áĽá áááááśá˝á áŤáŤá áĽá á¨á፠"'build' á á°áłáŤ áááł á°á áá áá" á¨áŠáŤ ááŽááŤá á ááłááľ áááááśá˝ ááá˘
á áá°áŤá áľ áá ááŽááŤá á¨á°á°á¨á ááá áááĽáŤá myfirst.tr. á áľáŤá áŁá
᪠ááááŤáľ áá, á ááŁáŞááľ ááá á á áŤáŁá˘á áá፠ááľáĽ á áá°áá á¨á, ááá áá á áá áŤáááŤá á¨áá°á-á°á¨á áá፠ááľáĽ. áąáŤáá˝ á¨ááááĄá áľá ááááľ áááá¨á á¨ááá áĽáąá áááá¨áľ ᨠWaf áááŞáŤá áá áá áá˝ááᢠ--cwd
. á áá°á¨áááᣠáľááá
á á°ááłá
á ááłáá ááľáĽ áŤááá á¨ASCII áá¨áłá°áŤ ááá myfirst.trá ááááá¨áľ áá° á¨áĽá áá¨ááť á¨áá°á á°á¨á áá፠áááľ á ááĽáá˘
ᨠASCII áąáŤáá˝á á áá°áá°á áá
á áŁá áĽá áĽá áŁá ááአáĽá áá¨á á áᣠááá áá á ááááŞáŤ ááłáá á¨áááŁá ááá ááá á¨á°ááŤáŠ ááľááŽá˝á áŤáŤá°á° ááá ááᢠá¨áááá¨áť áŚáłáá á áľááľ áŤáľáá áá á ááá˝ á¨ááłá áááá.
á ááá ááľáĽ áŤáá áĽáŤááłááą ááľáá á¨ááľáľá ááľá°áľ áá ááááłáᢠá áá áááł, á áĽáŤááłááą ááĽáĽ-áá°-ááĽáĽ á ááłá ááłáŞáŤ ááľáĽ á á˛ááá˝á ááľáĽ á¨ááááľá á¨ááľá°ááá፠áá¨á ááľá°áśá˝á áĽá¨áááá áá. á¨ááľá°ááá፠áá¨áá áĽáŤááłááą ááŹáľ á¨ááĽáĽ-áá°-ááĽáĽ áááá ááá áŤáá áľ áá¨á áá. á ááľáľá ááá ááľáĽ áŤáá áĽáŤááłááą ááľáá á áá á ááá (áĽá á¨áĽáą á áá áŚáł áĽááłáá) áĽáá°áááá áἠáá áᢠáá ááá á¨áá¨á°áá áľááá ááá¨áá:
+: á ááłáŞáŤ áá¨á ááľáĽ á¨ááľáá°á ááá á°á¨áľáˇá;
- á ááłáŞáŤá áá¨á ááľáĽ á¨á¤ááááľá áááś ááá ááá á°á¨áľáˇá;
á: ááŹáą á°áĽáá, áĽááá áá áá¨áá áľááá;
r: ááŹá á ááľááአááŁáŞáŤ á°á¨á°á˘
á áá¨áłá°áŤ ááá ááľáĽ áŤááá á¨ááááŞáŤáá ááľáá á áááá áĽáááá¨áľá˘ áá° áááá˝ (áááá˝ááľ á¨á°á áá) áĽá á á፠á áŠá áŤááá á¨ááľáá ááĽá áĽá°áĽáŤáááĄ-
0 +
1 2
2 /NodeList/0/DeviceList/0/$ns3::PointToPointNetDevice/TxQueue/Enqueue
3 ns3::PppHeader (
4 Point-to-Point Protocol: IP (0x0021))
6 ns3::Ipv4Header (
7 tos 0x0 ttl 64 id 0 protocol 17 offset 0 flags [none]
8 length: 1052 10.1.1.1 > 10.1.1.2)
9 ns3::UdpHeader (
10 length: 1032 49153 > 9)
11 Payload (size=1024)
á¨áá á¨á°áŤáá á¨áá¨áłá°áŤ ááľá°áľ (ááľáá 0) á¨ááááŞáŤá ááá ááá ááᢠáĽáá á¨+ ááááľ á áá ᣠáá á áááľá°ááá á¨áá¨áá á á áŤá áá ááááłáᢠááá°áá ááá (ááľáá 1) á á´áŽááśá˝ ááľáĽ á¨á°ááá¸á á¨ááľáá°á áá áá. á¨á á¨á ááá áłáľáłááłáá˝á UdpEchoClient áá°áá áŞáŤ áĽá˝áá˝á á áááľ á°á¨ááśá˝ ááľáĽ ááá ááááŠá˘ áĽáá áá áá á áĽááἠáĽá¨á°áá¸á áľáááá áá¨áá፠áĽááŤááá˘
ááŁáŠ á¨ááłáá ááá (á¨ááľáá 2) áá ááľá°áľ á¨áľááá á¨áá¨áłá°áŤ ááá áĽáá°áá á¨á áŤáłáŤá (á¨áľá áŚáł áąáŤ ááááťá)ᢠáá áĽáá° á¨ááá áľáááľ á¨áľá áŚáł á°ááłáłá á áá ááአá¨áá¨áłá°áŤ áľá áŚáłá áá°áĽ áá˝ááᢠá¨áľá áŚáł áľá ááᢠááľááá áááá. áá á ns-3 áŽá áŽáľ ááľáĽ á¨áá°áłá°á¨á ááŤáŁ áá ááááłáᢠá áľááŞááą ááľáĽ á¨á°áá áŠáľá áááá á áááá˝ ááá. áá á¨ááá áľáááľ á áľá áľá áááŤáá˝ áááŠáľ áá˝ááᣠin ááľááá áááá áĽá á áááá˝ ááá¨á áá˝áá. áľááá ᣠááľáአ/NodeList/0 á¨ááŤáááá°á á ááľááá áááἠááľáĽ áŤááá áŁáś ááľ ááᣠáĽáąá áááľá áĽáá° "ááľááá 0" á¨ááá¨áłáᢠáĽáŤááłááą ááľááá ááááľ á¨á°áŤá ááłáŞáŤáá˝ áááá á áá. áá áááá á áľá áŚáł ááĽá ááááᢠáá á¨áá¨áłá°áŤ ááľá°áľ á¨áááŁá ᨠáááá áá¨áľ áá˝ááᢠá¨ááŁáŞáŤ áááá/0, áá á á ááľ ááľáĽ á¨á°áŤáá ááłáŞáŤ áŁáś áá.
ááŁáŠ áááľ ááĽá¨áááᣠ$ ns3 :: PointToPointNetDevice
, á¨áľáá ááłáŞáŤ á áᎠáŚáł áá áĽááłá áááá¨ááᥠá¨áᎠááľááá ááááľ á¨ááłáŞáŤ ááááᢠá ááľáá 0 áá áŤáá + ááá á ááľ á¤ááááľ áá° ááłáŞáŤá ááľá°ááá፠áá¨á áłááá áááľ áĽáá°áá áŤáľáłááąá˘ áá
á "áąáŤ áąáŤ" á¨áá¨á¨áť áááá˝ áá á°áá¸áŁááááĄ- TxQueue/Enqueue.
á ááľáľá ááľáĽ áŤááľ á¨ááŠáľ áááá˝ á áľááá á¨ááłáá ááá á ááŁá¸áᢠááľáá 3-4 á¨ááŤáááá°á ááŹá á ááĽáĽ-áá°-ááĽáĽ ááŽáśáŽá ááľáĽ á¨áłá¸á ááᢠááľáá 5-7 ááŹáą á¨á áá 4 áĽáŞáľ áŤáľá áĽááłáá áĽá á¨á áá á áľáŤáť áĽáá°áᣠáŤáłáŤá 10.1.1.1
áĽá á¨áłá°á 10.1.1.2
. ááľáá 8-9 áá
ááŹáľ ᨠUDP áŤáľá áĽááłáá áĽá á áá¨á¨áť ááľáá 10 á¨ááŤáłá¨á áá፠á¨áá á áá 1024 áŁááľ ááá˘
á ááľáľá ááá ááľáĽ áŤáá ááŁáŠ ááľáá á°ááłáłá ááŹáľ á á°ááłáłá ááľááá ááááľ áá áŤáá á¨ááľá°ááá፠áá¨á áĽáá°á°áá áŤáłáŤáá˘
á ááľáľá ááá ááľáĽ áŤáá áŚáľá°áá ááľáá áĽáá°ááŤáłá¨á ááŹá á á ááłá¨áá¨áĽ ááłáŞáŤá ááľááá ááááľ áá áŤáá á¨á˘áŽ á áááá áá ááá áá áŤáłáŤáᢠáá áá ááľá°áľ á¨áá á áłá˝ áĽáá°áá á ááá áťááá˘
0 r
1 2.25732
2 /NodeList/1/DeviceList/0/$ns3::PointToPointNetDevice/MacRx
3 ns3::Ipv4Header (
4 tos 0x0 ttl 64 id 0 protocol 17 offset 0 flags [none]
5 length: 1052 10.1.1.1 > 10.1.1.2)
6 ns3::UdpHeader (
7 length: 1032 49153 > 9)
8 Payload (size=1024)
á¨ááľáľá áááá á áá r áĽá á¨ááľáá°á áá áá° 2,25732 á°á¨ááľ á¨ááŻáᢠá¨áá áá¨áŞáŤ áľáá ááľ áááŞáŤáá˝á á áĽááá á¨á°á¨á°áᣠáá áááľ á¨á ááłá¨ áá¨áĽ ááłáŞáŤ áłáł á°áá áĽá á¨ááá áááá¨áľá á ááŁáŞ áĽá´áśáťá¸á áľá°áá áááľ ááᢠáŁááá ááá áá áĽááłá¨á¸á áá áá á¨á°ááá° ááá á áá áľ.
á¨áá¨áłá°áŤ ááá á¨áľá áŚáł áá¤áľ (ááľáá 2) áá ááľá°áľ á¨ááľ 1 (/) á¨áᣠáááá áááááŁá¨á á°ááá§áá˘ááľááá áááá/1) áĽá ááŹá á ááľáľá ááá á°ááŁáááľ á áááˇá (/ááá áááľ). á ááá ááľáĽ á¨á°áááĄáľá áąáŤáá˝ á áááá¨áľ á¨ááŹáąá áá°áľ á áśááá áá¨áłá°á ááĽááľá á áŁá ááá ááá á áá áľá˘
5.3.2 PCAP áá¨áłá°áŤ
ᨠns-3 ááłáŞáŤ á¨áłáśá˝ á¨.pcap áá¨áłá°áŤ áááá˝á áááá áá áĽá á áá ááá áá˝ááᢠáá áťá¨ áá pcap (á á°áááś á áľááá˝ áá á¨á°áá) ááŹáľ áá¨áá á¨ááŤááááľ á˛áá á áĽáááą á¨.pcap ááá á áá¸áľá á¨ááŤáŤáľáľ á¤áá á ááᢠáá áá á áá¸áľ ááá ἠáĽá ááłá¨áľ á¨áá˝á á áŁá áłááá ááŽááŤá ááᢠWireshark (á¨áá áá°á á°áĽá áá áŤá Ethereal). áááᣠáá áá á¨ááŹáľ á áá¸áľ á¨áá áá áĽá á¨áľáŤáá áá¨áłá°áŤ á°ááłáá˝ á áᢠá°á áááá˝ á¨ááŹá áąáŤáá˝á ááá°áá°á áŤááľá áĽá ááłáŞáŤáá˝á áĽáá˛á áá áĽáá á¨áłáłááᢠá áá áá áá¨áŞáŤ áľáá ááľ á¨ááŤá áąáŤáá˝á á áááá¨áľ áá áĽáá°áŠáŤáá tcpdump.
á¨ááŤá ááľáľáá ááááľ á¨áá¨áááá á á ááľ á¨áŽáľ ááľáá ááá˘
pointToPoint.EnablePcapAll ("myfirst");
á áá á¨á¨áááá áľ ASCII áá¨áłá°áŤ áŽáľ á áá áá á á¨áŽáľ ááľáá ááĽá scratch/myfirst.cc. "myfirst" á¨áááá ááĽá¨ááá áĽáť áĽááłááá á áľá°áá áĽáá "myfirst.pcap" ááá áĽáá°áá áŤá ááá á áá°ááᢠááááŤáąá áááŞáŤá á áľá á áĽáŤ áĽáá áá áĽááľ áŤáá á¨ááá áľá á áá°ááᢠá ááľá áá áľáŁ á¨áłáą á áĽáááą ááĽáŤááłááą ááĽáĽ-áá°-ááĽáĽ ááłáŞáŤ á¨áá¨áłá°áŤ ááá áááĽáŤáᢠá¨ááá áľááš á¨ááááĄáľ á áľá á áĽáŤáŁ ááľááá ááááľ ááĽáᣠá¨ááłáŞáŤ ááĽá áĽá á áĽáŤ "á á áá áá ááá˘pcapÂť.
áááá áľááŞááłá˝ááŁ" á¨á°á°á¨á áááá˝á áĽáá¨ááłááá˘myfirst-0-0.pcap"áĽá"myfirst-1-0.pcap'ᣠáĽááąá pcap á node 0-device 0 áĽá node 1-device 0ᣠá á á°á á°á¨á°áᢠá áá´ á¨ááŤá ááľáľáá áááááľ á¨áŽáľ ááľááá áŤá¨áᣠáľááŞááąá á á°ááá°á ááááľ ááľáŹáľ áá˝ááá˘
$ ./waf --run scratch/myfirst
á áľáááľá á¨áá°á-á°á¨á áá፠ááľáĽ á¨á°ááá¨áąáŁ áśáľáľ áááá˝á áá¨áľ á ááŚáľáĄ á¨ASCII áá¨áłá°áŤ ááá myfirst.tr, áá°á áĽáá áŤá ááá, áááá˝ myfirst-0-0.pcap и myfirst-1-0.pcap á áá á¨áá ááá¸á á á˛áľ pcap áááá˝ áá¸áá˘
á¨ááŁáĽ áá¤áľ á tcpdump
áá ááᣠᨠpcap áááá˝á ááá¨áľ ááá ááááľ tcpdumpá áá áá ááá˘
$ tcpdump -nn -tt -r myfirst-0-0.pcap
reading from file myfirst-0-0.pcap, link-type PPP (PPP)
2.000000 IP 10.1.1.1.49153 > 10.1.1.2.9: UDP, length 1024
2.514648 IP 10.1.1.2.9 > 10.1.1.1.49153: UDP, length 1024
tcpdump -nn -tt -r myfirst-1-0.pcap
reading from file myfirst-1-0.pcap, link-type PPP (PPP)
2.257324 IP 10.1.1.1.49153 > 10.1.1.2.9: UDP, length 1024
2.257324 IP 10.1.1.2.9 > 10.1.1.1.49153: UDP, length 1024
á ááťáť áá áŤáá፠ááľáĽ myfirst-0-0.pcap (á¨á°áá á ááłáŞáŤ) á¨ááľá°ááŁáľ ááŹáľ á¨2 á°á¨ááľ á˛ááá˝á á áá áĽáá°á°áᨠáá¨áľ áá˝ááᢠááá°ááá ááťáť á¨á°ááá¨áą (myfirst-1-0.pcap), ááŹáą á 2,257324 á°á¨ááľ áĽáá°á°áá á áŤáŤá. á ááá°áá á¨ááťáť ááŁáŤ ááľáĽ ááŹáą á 2.257324 á°á¨ááľ áĽáá°á°ááá° áĽá á áá¨á¨áťá ááŹá á á°áá áá áĽáá°á°áá áá á ááááŞáŤ ááŁáŤ á 2.514648 á°á¨ááľ áŤáŤáá˘
á¨ááŁáĽ áá¤áľ ᨠWireshark áá
á¨ááŤáááľ á¨áá WiresharkááŽááŤáá˝á áĽá á°ááśá˝á ááá¨áľ á¨ááľá˝áá áľ áľá
ᨠáá˝ á ááĄ-
ááá: hab.com