{"id":4595,"date":"2018-04-24T13:53:02","date_gmt":"2018-04-24T04:53:02","guid":{"rendered":"https:\/\/blog.bitmeister.jp\/?p=4595"},"modified":"2018-05-07T09:58:13","modified_gmt":"2018-05-07T00:58:13","slug":"ns-3%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9flte%e9%80%9a%e4%bf%a1%e3%81%ae%e3%82%b7%e3%83%9f%e3%83%a5%e3%83%ac%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3","status":"publish","type":"post","link":"https:\/\/blog.bitmeister.jp\/?p=4595","title":{"rendered":"ns-3\u3092\u4f7f\u3063\u305fLTE\u901a\u4fe1\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3"},"content":{"rendered":"<p><a href=\"https:\/\/www.nsnam.org\">ns-3<\/a>\u3068\u306f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u96e2\u6563\u4e8b\u8c61\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u3067\u3059\u3002ns-3\u3092\u4f7f\u3063\u3066LTE\u901a\u4fe1\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3044\u305f\u6642\u3001TCP\u3092\u4f7f\u3046\u3068\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u51fa\u306a\u3044\u73fe\u8c61\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u305d\u306e\u539f\u56e0\u3068\u89e3\u6c7a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u66f8\u3044\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<h2>\u8981\u7d04<\/h2>\n<p>\u672c\u8a18\u4e8b\u306e\u8981\u7d04\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<ul>\n<li>LTE\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30b5\u30f3\u30d7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u52d5\u304b\u3059<\/li>\n<li>\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u306e\u8868\u793a\u6a5f\u80fd\u3092\u8ffd\u52a0\u3059\u308b<\/li>\n<li>\u30b5\u30f3\u30d7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u6539\u9020\u3057\u3066UDP\u304b\u3089TCP\u306b\u5909\u66f4\u3057\u305f\u3068\u3053\u308d\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u51fa\u306a\u304f\u306a\u308b<\/li>\n<li>RLC\u30ec\u30a4\u30e4\u306e\u9001\u4fe1\u30d0\u30c3\u30d5\u30a1\u304c\u6ea2\u308c\u3001\u30d1\u30b1\u30c3\u30c8\u304c\u30c9\u30ed\u30c3\u30d7\u3057\u3066\u3001\u8f3b\u8f33\u5236\u5fa1\u304c\u50cd\u3044\u3066\u3044\u305f\u3053\u3068\u304c\u539f\u56e0<\/li>\n<\/ul>\n<h2>ns-3\u306b\u3064\u3044\u3066<\/h2>\n<p>\u672c\u8a18\u4e8b\u3067\u6271\u3046ns-3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u73fe\u5728\u306e\u6700\u65b0\u7248\u3067\u3042\u308bns-3.28\u3067\u3059\u3002ns-3\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\u306b\u3064\u304d\u307e\u3057\u3066\u306f<a href=\"https:\/\/www.nsnam.org\/docs\/tutorial\/html\/getting-started.html\">Getting Started \u2014 Tutorial<\/a>\u307e\u305f\u306f<a href=\"https:\/\/qiita.com\/haltaro\/items\/b474d924f63692c155c8\">ns-3.26\u3067\u59cb\u3081\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3<\/a>\u3092\u53c2\u7167\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>ns-3\u306b\u4ed8\u5c5e\u3057\u3066\u3044\u308bLTE\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<ul>\n<li><a href=\"https:\/\/www.nsnam.org\/docs\/models\/html\/lte-design.html\">LTE Module Design Documentation<\/a><\/li>\n<li><a href=\"https:\/\/www.nsnam.org\/docs\/models\/html\/lte-user.html\">LTE Module User Dodumentation<\/a><\/li>\n<\/ul>\n<h2>LTE\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30b5\u30f3\u30d7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8<\/h2>\n<p>\u307e\u305a\u3001LTE\u306e\u901a\u4fe1\u3092\u884c\u3046\u30b5\u30f3\u30d7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u52d5\u304b\u3057\u3066\u307f\u307e\u3059\u3002\u30b5\u30f3\u30d7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059 (EPC\u306f\u7701\u7565\u3057\u3066\u3044\u307e\u3059)\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/blog.bitmeister.jp\/wp-content\/uploads\/2018\/04\/kousei_udp.jpg\" alt=\"\" width=\"400\" height=\"400\" \/><\/p>\n<p>\u77e2\u5370\u306f\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u8868\u3057\u3066\u3044\u307e\u3059\u3002\u5404\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f100\u30df\u30ea\u79d2\u304a\u304d\u306bUDP\u30d1\u30b1\u30c3\u30c8\u30921\u500b\u9001\u4fe1\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001\u5404eNB\u3068UE\u306e\u30da\u30a2\u306e\u8ddd\u96e2\u306f0\u3067\u3059\u3002<\/p>\n<p>\u305d\u308c\u3067\u306f\u30b5\u30f3\u30d7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3092.\/scratch\/\u306b\u30b3\u30d4\u30fc\u3057\u3066\u52d5\u304b\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ cd ~\/ns-allinone-3.28\/ns-3.28\r\n$ cp .\/src\/lte\/examples\/lena-simple-epc.cc .\/scratch\/lte-example.cc\r\n$ .\/waf --run lte-example\r\n<\/pre>\n<p>eNB\u3068UE\u306e\u7121\u7dda\u533a\u9593\u306b\u95a2\u3059\u308b\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u304c\u3044\u304f\u3064\u304b\u30d5\u30a1\u30a4\u30eb\u51fa\u529b\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u306f\u8868\u793a\u3055\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u4ee5\u964d\u3067\u306f\u3001.\/scratch\/lte-example.cc\u306b\u624b\u3092\u52a0\u3048\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<h2>\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u306e\u8868\u793a<\/h2>\n<p>lte-example.cc(\u4ee5\u964d\u3001\u30b9\u30af\u30ea\u30d7\u30c8)\u306b\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u3001\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u306e\u8868\u793a\u306b\u306f\u3044\u304f\u3064\u304b\u65b9\u6cd5\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u4eca\u56de\u306fns-3\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306e<a href=\"https:\/\/www.nsnam.org\/docs\/models\/html\/flow-monitor.html\">Flow Monitor<\/a>\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u306fFlow Monitor\u3092\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n#include &quot;ns3\/flow-monitor-helper.h&quot;\r\n#include &quot;ns3\/flow-monitor-module.h&quot;\r\n<\/pre>\n<p>\u30b9\u30af\u30ea\u30d7\u30c8\u5185\u306eSimulator::Stop(Seconds(simTime));\u306e\u524d\u306b\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  FlowMonitorHelper flowmon;\r\n  Ptr&lt;FlowMonitor&gt; monitor = flowmon.InstallAll ();\r\n\r\n  Simulator::Stop(Seconds(simTime));\r\n<\/pre>\n<p>Simulator::Run();\u306e\u5f8c\u306b\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  Simulator::Run();\r\n\r\n  \/\/ Print per flow statistics\r\n  monitor-&gt;CheckForLostPackets ();\r\n  Ptr&lt;Ipv4FlowClassifier&gt; classifier = DynamicCast&lt;Ipv4FlowClassifier&gt; (flowmon.GetClassifier ());\r\n  FlowMonitor::FlowStatsContainer stats = monitor-&gt;GetFlowStats ();\r\n  for (std::map&lt;FlowId, FlowMonitor::FlowStats&gt;::const_iterator i = stats.begin (); i != stats.end (); ++i)\r\n    {\r\n      Ipv4FlowClassifier::FiveTuple t = classifier-&gt;FindFlow (i-&gt;first);\r\n      std::cout &lt;&lt; &quot;Flow &quot; &lt;&lt; i-&gt;first &lt;&lt; &quot; (&quot; &lt;&lt; t.sourceAddress &lt;&lt; &quot; -&gt; &quot; &lt;&lt; t.destinationAddress &lt;&lt; &quot;)\\n&quot;;\r\n      std::cout &lt;&lt; &quot;  Tx Packets: &quot; &lt;&lt; i-&gt;second.txPackets &lt;&lt; &quot;\\n&quot;;\r\n      std::cout &lt;&lt; &quot;  Tx Bytes:   &quot; &lt;&lt; i-&gt;second.txBytes &lt;&lt; &quot;\\n&quot;;\r\n      std::cout &lt;&lt; &quot;  TxOffered:  &quot; &lt;&lt; i-&gt;second.txBytes * 8.0 \/ (simTime) \/ 1000 \/ 1000  &lt;&lt; &quot; Mbps\\n&quot;;\r\n      std::cout &lt;&lt; &quot;  Rx Packets: &quot; &lt;&lt; i-&gt;second.rxPackets &lt;&lt; &quot;\\n&quot;;\r\n      std::cout &lt;&lt; &quot;  Rx Bytes:   &quot; &lt;&lt; i-&gt;second.rxBytes &lt;&lt; &quot;\\n&quot;;\r\n      std::cout &lt;&lt; &quot;  Throughput: &quot; &lt;&lt; i-&gt;second.rxBytes * 8.0 \/ (simTime) \/ 1000 \/ 1000  &lt;&lt; &quot; Mbps\\n&quot;;\r\n    }\r\n<\/pre>\n<p>\u52d5\u304b\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ .\/waf --run lte-example\r\n--- (\u7701\u7565) ---\r\nFlow 1 (1.0.0.2 -&gt; 7.0.0.2)\r\n  Tx Packets: 11\r\n  Tx Bytes:   11572\r\n  TxOffered:  0.08416 Mbps\r\n  Rx Packets: 10\r\n  Rx Bytes:   10520\r\n  Throughput: 0.0765091 Mbps\r\n\r\n--- (\u7701\u7565) ---\r\nFlow 6 (7.0.0.3 -&gt; 1.0.0.2)\r\n  Tx Packets: 11\r\n  Tx Bytes:   11572\r\n  TxOffered:  0.08416 Mbps\r\n  Rx Packets: 10\r\n  Rx Bytes:   10520\r\n  Throughput: 0.0765091 Mbps\r\n<\/pre>\n<p>1.0.0.2\u306fRemoteHost\u3067\u3059\u30027.0.0.2\u30017.0.0.3\u306f\u305d\u308c\u305e\u308cUE1\u3068UE2\u3067\u3059\u3002\u3053\u3053\u3067\u306f\u7701\u7565\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u5b9f\u969b\u306e\u51fa\u529b\u3067\u306f\u30013\u3064\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u6301\u3064UE\u304c2\u3064\u304c\u3042\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002Flow Monitor\u306fIP\u30ec\u30a4\u30e4\u3092\u76e3\u8996\u3057\u3066\u3001\u9001\u53d7\u4fe1\u30d1\u30b1\u30c3\u30c8\u6570\u3092\u53d6\u5f97\u3057\u3066\u3044\u307e\u3059\u3002\u5404\u30ce\u30fc\u30c9\u304c100\u30df\u30ea\u79d2\u304a\u304d\u306b1\u30d1\u30b1\u30c3\u30c8\u3092\u9001\u4fe1\u3057\u3066\u3044\u3066\u3001\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u6642\u9593\u304c1.1\u79d2\u306a\u306e\u3067\u300111\u30d1\u30b1\u30c3\u30c8\u9001\u4fe1\u3057\u3066\u3044\u307e\u3059\u3002\u53d7\u4fe1\u30d1\u30b1\u30c3\u30c8\u6570\u304c10\u306e\u7406\u7531\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u30b5\u30fc\u30d0\u306e\u8d77\u52d5\u6642\u9593\u304c\u540c\u6642\u306e\u305f\u3081\u3001\u30b5\u30fc\u30d0\u304c1\u500b\u76ee\u306e\u30d1\u30b1\u30c3\u30c8\u3092\u53d6\u308a\u3053\u307c\u3057\u3066\u3044\u308b\u304b\u3089\u3067\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u8d77\u52d5\u6642\u9593\u3092\u9045\u3089\u305b\u308b\u3068\u3001\u53d7\u4fe1\u30d1\u30b1\u30c3\u30c8\u6570\u304c11\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  serverApps.Start (Seconds (0.01));\r\n  clientApps.Start (Seconds (0.03));\r\n<\/pre>\n<h2>TCP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/h2>\n<p>\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u7a2e\u5225\u3068\u30c8\u30dd\u30ed\u30b8\u3092\u5909\u66f4\u3057\u3066\u307f\u307e\u3059\u3002\u30b5\u30f3\u30d7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u306f100\u30df\u30ea\u79d2\u304a\u304d\u306b1\u500b\u306eUDP\u30d1\u30b1\u30c3\u30c8\u3092\u9001\u4fe1\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u3053\u308c\u3092\u5909\u66f4\u3057\u3066\u3001\u9001\u4fe1\u5074\u306e\u9001\u4fe1\u30d0\u30c3\u30d5\u30a1\u304c\u3044\u3063\u3071\u3044\u306b\u306a\u308b\u307e\u3067TCP\u30d1\u30b1\u30c3\u30c8\u3092\u9001\u4fe1\u3057\u7d9a\u3051\u3001\u30d0\u30c3\u30d5\u30a1\u306b\u7a7a\u304d\u304c\u51fa\u305f\u3089\u9001\u4fe1\u3092\u518d\u958b\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002ns-3\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306eBulkSendApplication\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u898b\u3084\u3059\u3055\u306e\u305f\u3081\u306b\u3001eNB\u3068UE\u306e\u6570\u30921\u3064\u306b\u6e1b\u3089\u3057\u3001RetoteHost\u304b\u3089UE\u3078\u306e\u4e00\u65b9\u5411\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306b\u3057\u307e\u3059\u3002\u56f3\u306b\u793a\u3059\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002eNB\u3068UE\u306e\u8ddd\u96e2\u306f0\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/blog.bitmeister.jp\/wp-content\/uploads\/2018\/04\/kousei_tcp.jpg\" alt=\"\" width=\"500\" height=\"500\" \/><\/p>\n<p>eNB\u3068UE\u306e\u500b\u6570\u30921\u3064\u306b\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  uint16_t numberOfNodes = 1;\r\n<\/pre>\n<p>\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u8a2d\u5b9a\u3092\u5909\u66f4\u3057\u307e\u3059\u3002\u30b9\u30af\u30ea\u30d7\u30c8\u4e2d\u306e&#8221;\/\/ Install and start applications on UEs and remote host&#8221;\u304b\u3089&#8221;serverApps.Start (Seconds (0.01));&#8221;\u306e\u9593\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  \/\/ Install and start applications on UEs and remote host\r\n  uint16_t dlPort = 1234;\r\n  ApplicationContainer clientApps;\r\n  ApplicationContainer serverApps;\r\n  for (uint32_t u = 0; u &lt; ueNodes.GetN (); ++u)\r\n    {\r\n      PacketSinkHelper dlPacketSinkHelper (&quot;ns3::TcpSocketFactory&quot;, InetSocketAddress (Ipv4Address::GetAny (), dlPort));\r\n      serverApps.Add (dlPacketSinkHelper.Install (ueNodes.Get(u)));\r\n      BulkSendHelper dlClient (&quot;ns3::TcpSocketFactory&quot;, InetSocketAddress (ueIpIface.GetAddress (u), dlPort));\r\n      clientApps.Add (dlClient.Install (remoteHost));\r\n    }\r\n    serverApps.Start (Seconds (0.01));\r\n<\/pre>\n<p>\u30b5\u30fc\u30d0\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u8d77\u52d5\u304c\u540c\u6642\u306b\u306a\u308b\u3068\u3001SYN\u30d1\u30b1\u30c3\u30c8\u304c\u901a\u3089\u305a\u306b\u901a\u4fe1\u304c\u884c\u308f\u308c\u306a\u3044\u306e\u3067\u3001\u8d77\u52d5\u6642\u9593\u3092\u305a\u3089\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  serverApps.Start (Seconds (0.01)); \r\n  clientApps.Start (Seconds (0.1)); \r\n<\/pre>\n<p>\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u6642\u9593\u306f5.1\u79d2\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ .\/waf --run &quot;lte-example simTime=5.1&quot;\r\nFlow 1 (1.0.0.2 -&gt; 7.0.0.2)\r\n  Tx Packets: 1632\r\n  Tx Bytes:   958548\r\n  TxOffered:  1.5036 Mbps\r\n  Rx Packets: 1613\r\n  Rx Bytes:   947376\r\n  Throughput: 1.48608 Mbps\r\nFlow 2 (7.0.0.2 -&gt; 1.0.0.2)\r\n  Tx Packets: 871\r\n  Tx Bytes:   46320\r\n  TxOffered:  0.0726588 Mbps\r\n  Rx Packets: 864\r\n  Rx Bytes:   45956\r\n  Throughput: 0.0720878 Mbps\r\n<\/pre>\n<p>\u203b 1.0.0.2\u304b\u30897.0.0.2\u3078\u306e\u901a\u4fe1\u304cRemoteHost\u304b\u3089UE\u3078\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u3088\u308b\u901a\u4fe1\u3067\u3001\u9006\u65b9\u5411\u306e\u901a\u4fe1\u306fAck\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>LTE\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30ea\u30bd\u30fc\u30b9\u30d6\u30ed\u30c3\u30af(RB)\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f25\u306b\u306a\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u6700\u592718Mbps\u7a0b\u5ea6\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u671f\u5f85\u3067\u304d\u307e\u3059\u304c\u3001\u51fa\u529b\u7d50\u679c\u3092\u898b\u308b\u3068\u51fa\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n<p>\u539f\u56e0\u306f\u4ee5\u4e0b\u306e2\u70b9\u3067\u3059\u3002<\/p>\n<ul>\n<li>RLC\u30ec\u30a4\u30e4\u306e\u9001\u4fe1\u30d0\u30c3\u30d5\u30a1\u306e\u6ea2\u308c<\/li>\n<li>RemoteHost\u3068EPC\u9593\u306e\u30c7\u30a3\u30ec\u30a4<\/li>\n<\/ul>\n<p>RLC\u30ec\u30a4\u30e4\u306e\u9001\u4fe1\u30d0\u30c3\u30d5\u30a1\u30b5\u30a4\u30ba\u3092\u5909\u66f4\u3057\u307e\u3059\u3002&#8221;\/\/ Command line arguments&#8221;\u306e\u76f4\u524d\u306b\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  Config::SetDefault(&quot;ns3::LteRlcUm::MaxTxBufferSize&quot;, UintegerValue(1024 * 1024));\r\n  \r\n  \/\/ Command line arguments\r\n<\/pre>\n<p>RemoteHost\u3068EPC\u9593\u306e\u30c7\u30a3\u30ec\u30a4\u3092\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  p2ph.SetChannelAttribute (&quot;Delay&quot;, TimeValue (Seconds (0.001)));\r\n<\/pre>\n<p>\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ .\/waf --run &quot;simple-epc --simTime=5.1&quot;\r\nFlow 1 (1.0.0.2 -&gt; 7.0.0.2)\r\n  Tx Packets: 18923\r\n  Tx Bytes:   10688960\r\n  TxOffered:  16.767 Mbps\r\n  Rx Packets: 18687\r\n  Rx Bytes:   10555856\r\n  Throughput: 16.5582 Mbps\r\nFlow 2 (7.0.0.2 -&gt; 1.0.0.2)\r\n  Tx Packets: 9344\r\n  Tx Bytes:   485892\r\n  TxOffered:  0.762184 Mbps\r\n  Rx Packets: 9334\r\n  Rx Bytes:   485372\r\n  Throughput: 0.761368 Mbps\r\n<\/pre>\n<p>\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u51fa\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u3001\u5e2f\u57df\u5e45\u3092\u5909\u66f4\u3057\u3066\u307f\u307e\u3059\u3002\u3053\u3053\u3067\u306fRB\u6570\u309225\u304b\u3089100\u306b\u5909\u66f4\u3057\u307e\u3059\u3002\u5e2f\u57df\u5e45\u3067\u3044\u3046\u30685MHz\u304b\u308920MHz\u306b\u306a\u308a\u307e\u3059\u3002RB\u6570\u304c100\u306e\u5834\u5408\u3001\u6700\u592772Mbps\u7a0b\u5ea6\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u671f\u5f85\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: cpp; gutter: false; title: ; notranslate\" title=\"\">\r\n  Config::SetDefault(&quot;ns3::LteEnbNetDevice::UlBandwidth&quot;, UintegerValue(100));\r\n  Config::SetDefault(&quot;ns3::LteEnbNetDevice::DlBandwidth&quot;, UintegerValue(100));\r\n  Config::SetDefault(&quot;ns3::LteRlcUm::MaxTxBufferSize&quot;, UintegerValue(1024 * 1024));\r\n<\/pre>\n<p>\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ .\/waf --run &quot;simple-epc --simTime=5.1&quot;\r\nFlow 1 (1.0.0.2 -&gt; 7.0.0.2)\r\n  Tx Packets: 79477\r\n  Tx Bytes:   44841416\r\n  TxOffered:  70.3395 Mbps\r\n  Rx Packets: 79305\r\n  Rx Bytes:   44744408\r\n  Throughput: 70.1873 Mbps\r\nFlow 2 (7.0.0.2 -&gt; 1.0.0.2)\r\n  Tx Packets: 39653\r\n  Tx Bytes:   2061960\r\n  TxOffered:  3.23445 Mbps\r\n  Rx Packets: 39611\r\n  Rx Bytes:   2059776\r\n  Throughput: 3.23102 Mbps\r\n<\/pre>\n<p>70Mbps\u7a0b\u5ea6\u306e\u901f\u5ea6\u304c\u51fa\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>LTE\u3067\u306f\u30011\u3064\u306eUE\u304c1\u3064\u306eeNB\u3092\u72ec\u5360\u3059\u308b\u5f62\u3001\u304b\u3064\u901a\u4fe1\u54c1\u8cea\u304c\u826f\u597d\u306e\u5834\u5408\u3001\u304a\u3088\u305d70Mbps\u51fa\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<h2>\u304a\u308f\u308a\u306b<\/h2>\n<p>LTE\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3067TCP\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u51fa\u306a\u3044\u73fe\u8c61\u306b\u3064\u3044\u3066\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u671f\u5f85\u3057\u305f\u6570\u5024\u304c\u51fa\u306a\u3044\u3068\u304d\u306b\u306f\u3001LTE\u56fa\u6709\u306e\u30ec\u30a4\u30e4\u3067\u306e\u30d0\u30c3\u30d5\u30a1\u6ea2\u308c\u3084\u3001\u30ce\u30fc\u30c9\u9593\u306e\u9045\u5ef6\u304c\u539f\u56e0\u3067\u3042\u3063\u305f\u308a\u3057\u307e\u3059\u3002LTE\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u89e3\u6790\u306b\u306f\u5404\u30ec\u30a4\u30e4\u3092\u6ce8\u610f\u6df1\u304f\u898b\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ns-3\u3068\u306f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u96e2\u6563\u4e8b\u8c61\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u3067\u3059\u3002ns-3\u3092\u4f7f\u3063\u3066LTE\u901a\u4fe1\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3044\u305f\u6642\u3001TCP\u3092\u4f7f\u3046\u3068\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u51fa\u306a\u3044\u73fe\u8c61\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u305d\u306e\u539f\u56e0\u3068\u89e3\u6c7a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u66f8\u3044\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[151,150],"class_list":["post-4595","post","type-post","status-publish","format-standard","hentry","category-tech","tag-lte","tag-ns-3"],"_links":{"self":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/4595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4595"}],"version-history":[{"count":10,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/4595\/revisions"}],"predecessor-version":[{"id":4611,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/4595\/revisions\/4611"}],"wp:attachment":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4595"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4595"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}