计算机网络区
yanerhao
信雅之言,微言大意
展开
-
基于Linux环境下的NS3入门第一例子
安装完基于Linux环境下的NS3后,可以先尝试熟悉其仿真流程,下面以NS3自带example/tutorial/first.cc为第一个例子介绍:1.首先需要明确NS3仿真环境里几个重要概念:节点,有NodeContainer类描述,它提供了用于管理计算设备的各种方法;信道和网络设备:信道指的是数据流流过打媒介,网络设备指的是用于上网打硬件及网卡驱动程序,网络设备、信道。在真实的世界原创 2016-11-01 16:58:09 · 8573 阅读 · 0 评论 -
以wifi-example-sim.cc为例说明NS3统计数据模型
利用NS3已有的Trace系统或者Log机制收集记录和统计数据,例如MAC层收发帧数目,网络层以上收发包数目的跟踪与统计,这里选取example/stats/wifi-example-sim.cc为例来很好说明问题:这个仿真程序是一个简单的实验,包括两个节点,基于AdhocMAC信道模型,包含NS3仿真所需常见模型如节点/网络设备/协议栈和应用进程,这里的应用进程Sender 和Recei原创 2017-01-02 18:45:15 · 8496 阅读 · 7 评论 -
基于网络层的LTE(含EPC)网络常用类及其函数介绍
针对NS3出现的LTE及LTE+EPC网络仿真实例(src/lte/examples/lena-simple.cc,src/lte/examples/lena-simple-epc.cc)出现的针对LTE网络才出现的几个类及其函数进行介绍。首先仿真程序所需最重要的两个类:LteHelper(src/lte/helper/lte-helper.cc)和EpcHelper,而EpcHelper原创 2017-01-05 17:09:34 · 2336 阅读 · 0 评论 -
NS3 seventh.cc为例说明Probe< 一>
之所以选择example/tutorial里的seven.cc,是因为在统计数据画图时,不仅仅存在常有的Trace机制如ASCII trace file和PCAP文件,还存在利用GNUPLOT Helper和File Helper实现。具有代表意义。#include #include "ns3/core-module.h"#include "ns3/network-module.h"#i原创 2016-12-28 10:40:37 · 2196 阅读 · 0 评论 -
LTE 网络UE端测量
在LTE网络发生切换时首先需要激活UE端测量过程,UE端用户可采用以下方法实现:1 直接通过eNB的RRC实体实现(也是本文介绍)2 通过已有切换算法配置测量3 开发新的切换算法并对其配置首先需要研究测量的内容是什么,NS3通过LteRrcSap::ReportConfigEutra说明: struct ThresholdEutra { enum {原创 2017-01-09 16:08:46 · 3625 阅读 · 0 评论 -
doxygen查找NS3内部文件
安装配置好ns3后,转到/ns-3.19/ns-3.19目录,然后右键在终端中打开并在终端中输入"./waf --doxygen"。我的是23521个文件得等一会。完成之后就会在/ns-3.19/doc目录里生成一个html文件夹,打开此文件夹,双击里面的第一个html文件annotated.html,就能在浏览器中看到和官网一样的doxygen文档了。 在打开html文件夹时转载 2016-11-22 12:30:37 · 1038 阅读 · 0 评论 -
socket网络通信<二>
socket网络通信本文注意基于socket来分析TCP连接建立过程。先回顾一下TCP连接建立过程:主机A运行的是TCP客户端程序,主机B运行的是TCP服务器程序,最初两端TCP进程处于Closed态,A主动打开连接,对应客户端connect函数发起连接,B被动接受连接,对应于服务器listen函数。服务器TCP进程先创建传输控制块TCB,准备接受客户进程的连接请求;1原创 2017-03-08 18:41:04 · 450 阅读 · 0 评论 -
socket网络通信<一>
socket网络通信进程间通信(例如QQ进程与服务器,本地QQ与异地QQ之间通信)都是通过socket实现通信。socket接口是TCP/IP网络的API,具体而言,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信:socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可原创 2017-03-08 16:02:06 · 608 阅读 · 0 评论 -
windows 安装Python的networkx
1 首先是安装python,这里推荐安装python27安装过程参考:廖雪峰win下安装Python标记安装在C:\Python272 安装networkx安装networkx之前,需要下载并安装setuptools,,这样才能快速安装netwrkx。setuptools安装地址下载包下载到本地,最好下载到C:\Python27下,解压缩即此时路径C:\Py原创 2017-11-29 11:00:26 · 10935 阅读 · 0 评论 -
ubuntu 安装networkx
1. 安装setuptoolswget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2. 安装networkxpip install networkx(在root权限下安装,否则报错,但我在安装时出现一些警告信息)3. 安装numpy和matplotlib(支持networkx绘图)sudo apt-get i原创 2017-11-26 13:30:07 · 4265 阅读 · 1 评论 -
Ubuntu中利用GNUPLOT画NS3产生的数据
以NS3自带的例子程为例来说明。进行NS安装目录,下面有/examples/tutorial目录下,有一个拥塞窗口的例子 fifth.cccd NS3/cd ns-allinone-3.25/cd ns-3.25./waf --run examples/tutorial/fifth >fifth.dat 2>&1则在后台完成对fifth.cc的运行并把结果存在ns-3.25目录原创 2016-11-18 14:06:38 · 5213 阅读 · 1 评论 -
NS3 seventh.cc为例说明Probe<二>
对NS3 seventh.cc为例说明Probe长篇分析总结如下:一 结构要使用Gnuplot helper对象画图需要用到关键函数PlotProbe,其格式:PlotProbe(probetype, external trace source's path,probe trace source,legend of data line in the figure,the locat原创 2016-12-29 17:08:20 · 2271 阅读 · 0 评论 -
网络socket通信——InetAddress和InetSocketAddress
InetAddress类InetAddress是IP地址(也就是主机地址)类型。创建主机地址对象要靠InetAddress类的几个静态方法。InetAddress getByAddress(String host, byte[] addr):根据主机名和IP地址的各个字节创建IP地址对象。要把IP地址的高字节放在addr的低索引处。InetAddress getByName(Strin原创 2016-11-18 10:04:48 · 9407 阅读 · 1 评论 -
NS3搭建网络拓扑图
//// Network topology//// n0// \ p-p// \ (shared csma/cd) p-p// n2 -------------------------n3--------n7// / | | // / p-p n4--n8转载 2016-11-18 11:25:58 · 8337 阅读 · 1 评论 -
局域网LAN小结
不同于3GPP的蜂窝网小区网络,局域网诞生之初就不是由纯通信企业制定并实施的短距离网络,局域网LAN特点是:网络为一个单位所拥有,地理范围较近且站点数目较少,拥有高数据率。低延时和低误码的特点,其网络拓扑一般有以下几种:1)星型网,以一个集线器为中心多个站点分别连接集线器,这种需要双绞线作为连接线;2)环形网,最典型的就是令牌环形网,这一类具有分散控制的受控接入,故不存在共享信道冲突问题;原创 2016-11-21 21:18:57 · 1466 阅读 · 0 评论 -
NS3命令行学习
NS3提供了一种通过命令行传递参数来输出和改变脚本中的变量。在使用命令行机制时,一首先要声明一个命令行类的对象然后调用其函数成员Parse:int main(int argc,char*argv[]){...CommandLine cmd;cmd.Parse(argc,argv);...}这两行代表用户可用命令行来访问代码中全局变量和NS3的属性。二在编译脚本时附加一原创 2016-12-05 15:56:55 · 2867 阅读 · 0 评论 -
NS3 Tracing System
整个仿真的目的是为了进一步研究生成结果,其中NS3提供的Tracing系统就是为了这个目的而定制的。因为NS3是由C++编写的,所以C++的标准输入输出是在NS-3中是可以用的:#include…int main(){…std::cout…}我们可以用日志模块来为我们的解决方法添加一些小结构。这种方法会产生很多已知的问题,所以我们提供了一种生成事件的trac转载 2016-11-23 13:44:09 · 5201 阅读 · 1 评论 -
NS3为脚本运行创建日志LOG
Ns3 提供一个可供选择的、多级别的方法来记录日志。日志可以完全被禁用,或仅对部分组件可用,或全局可用。并且 ns3 提供了不同详尽程度的日志级别供选。NS-3日志模块提供了直观的、相对简单的使用方法来帮助用户获得仿真过程的所需信息。NS3也提供了一个一般性的记录机制,tracing,来获得仿真结果之外的数据(详情参见本教程的 tracing 系统的使用章节)。日志应当作为快速获得你的脚本原创 2016-11-22 16:43:18 · 3399 阅读 · 3 评论 -
NS3中回调
在了解NS3回调机制前先学习C/C++中的函数指针函数指针指的是指向函数的指针(* ptr)声明形式:返回类型 (*函数指针名)(函数形參表)(=初始值)C语言中的函数指针:int (*p)(int a)=0;int function(int a){a=0;}a=function;// or 加上地址符&int res=a(12)//类似 function(12)原创 2016-11-24 17:06:03 · 2275 阅读 · 0 评论 -
NS3学习资料
回答一:首先,ns3本身是必须要c++知识的,关于c++的学习如果题主没有基础就先补一下吧,具体方法就不赘述了。之后就是了解ns3的一些基本用法。这里又要分两种情况:只使用已有模块仿真和开发新的协议仿真对于前一种情况基本读一下官方文档《ns-3-tutorial》,跟着它边学边做,熟悉熟悉,就可以了。对于第二种情况,你需要仔细学习一下官方文档《ns-3-manual》,它介绍了ns转载 2016-11-25 15:52:38 · 3932 阅读 · 0 评论 -
基于ns3的LTE仿真基本架构代码
#include #include #include #include #include using namespace ns3;int main (int argc, char *argv[]){ CommandLine cmd; cmd.Parse (argc, argv); // Set the Configure File in input-defaults.tx转载 2016-12-09 17:06:08 · 4262 阅读 · 3 评论 -
NS3 LTE网络仿真程序,只含LTE无线接入网(无EPC)
NS3 LTE网络仿真程序#include"ns3/core-module.h"#include"ns3/network-module.h"#include"ns3/mobility-module.h"#include"ns3/lte-module.h"using namespace ns3;int main(int argc,char*argv[]){//原创 2016-12-20 15:27:00 · 5451 阅读 · 0 评论 -
NS3 LTE网络仿真程序, 含LTE无线接入网与EPC
NS3 LTE网络仿真程序, 含LTE无线接入网与EPC原创 2016-12-21 15:39:21 · 8930 阅读 · 2 评论 -
异步阻塞等概念
拿网上老张喝茶为例子:同步阻塞:老张把水壶放到火上,立等水开同步非阻塞:老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有异步阻塞:老张买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。老张把响水壶放到火上,立等水开异步非阻塞:老张把响水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响了再去拿壶总结:异步同步反映的是执行者执行方式,同...原创 2018-07-29 21:41:59 · 4170 阅读 · 1 评论