网络
唐门问心
这个作者很懒,什么都没留下…
展开
-
【网络实验】非法(不按RFC标准)修改skb数据包遇到的现象
为论文做Linux内核编程实验总能遇到一些神奇的现象,现记录如下。一、修改IP Fragment Offset(失败)根据导师的需求,我在Netfilter Local Out钩子函数中把13bit fragment offset填为自定义的数据,同时保证flag DF位=1,即“不能分片”(Don‘t Fragment),希望各种网络软硬件设施能允许我发送这样的包。我装载原创 2017-07-10 22:15:21 · 1308 阅读 · 0 评论 -
使用ping命令快速测试MTU设置是否成功
主机设置MTU: ip link set p4p2(interface) mtu 1500 或者 ifconfig p4p2 mtu 1500这里略去交换机设置MTU,因为命令随厂商的不同而不同,请参考手册。检测:ping -M do -c 4 -s 8972 192.168.X.Y故意发出8972字节+8字节ICMP头部的包。-M do是关键,不允许分片。此时报错信原创 2017-06-25 17:51:42 · 5261 阅读 · 0 评论 -
缓解tcpdump丢包的方法
在高速网络(10Gbps及以上)中运行tcpdump,XXX packets dropped by kernel是十分常见的现象。有两个方法缓解,都是在缓冲区方面下功夫:1. 使用-s参数,比如-s 80,这样每个包只抓40个字节。2. 使用-B参数,增加缓冲区大小。原创 2017-06-25 17:46:28 · 1266 阅读 · 0 评论 -
实验常用的ethtool命令
网卡点灯是最让我兴奋的命令,在进入机房时能帮助我找网卡所插位置 ethtool --identify eth2 20看到很多网络接口的offload特性:ethtool -k eth_name控制开关 以下为打开,关闭GRO,GSO,TSOsudo ethtool -K em2 gro onsudo ethtool -K em2 gso原创 2017-06-25 17:40:34 · 1565 阅读 · 0 评论 -
机房交换机基础配置 -- Mellanox SN2700
以下出现的章节名采用配置手册中的。# 基础配置hostname switch-sn2700-rack1 (2号机架)hostname switch-sn2700-rack2 (3号机架)4.1 Management Interface4.1.1static IP 192.168.X.Y/24 (2号机架)static IP 192.168.M.N/24 (3原创 2017-06-25 17:36:34 · 5908 阅读 · 0 评论 -
网络字节序与字节内比特序
一、网络字节序(上图来自网络,侵删)本次讨论以IP首部ip.h为例。struct ip {#if BYTE_ORDER == LITTLE_ENDIANu_char ip_hl:4, /* header length */ip_v:4; /* version */#endif#if BYTE_ORDER == BIG_ENDIANu_char原创 2017-06-23 20:47:15 · 553 阅读 · 0 评论 -
机房交换机基础配置 -- HUAWEI CE6850
# 配置管理网的ipsystem-viewinterface MEth0/0/0 ip address 192.168.X.Y 255.255.255.0commit返回用户视图,输入save命令,保存为XX.cfg# 配置远程登录用户名密码本交换机从console登录只需要提供用户名,不需要密码远程登录(telnet/SSH)则需要手动原创 2017-06-25 15:13:44 · 3216 阅读 · 0 评论 -
机房交换机基础配置 -- Pica8
# 基础配置set interface management-ethernet eth0 address 192.168.X.Y/24 #pica 2.3.3set interface management-ethernet eth0 gateway 192.168.M.N #pica 2.3.3# 模式转换$cli原创 2017-06-25 15:04:07 · 2768 阅读 · 0 评论 -
在10Gbps网络下开启Huawei CE6850交换机的ECN功能并实验DCTCP协议
1. 准备知识1.1 Iperf命令假设iperf服务端为主机tian04,使用TCP协议,那么在控制台执行以下两个命令开启服务器进程。iperf-s -p 12000 -i1iperf-s -p 12001 -i1假设iperf客户端为主机tian05,tian06。注意,与1G的实验环境使用的命令不同,当关闭网卡TSO、GSO时,R320服务器无法使用一个进程达到满带宽原创 2017-07-12 16:52:02 · 4347 阅读 · 0 评论 -
关于Arista DCS 7048交换机不支持ECN功能的说明
备注:以下提到的参考文档指的是官方文档EOSSystem Configuration Guide (EOS-4.15.0F-Manual).pdf.一、EOS版本提示使用命令showversion,选取部分结果如下:参考文档的EOS版本为4.15,而我们使用的版本是4.12,可能会带来一些差异。二、Determining a Switch’s Operating Pla原创 2017-07-12 14:52:24 · 939 阅读 · 0 评论 -
【网络实验】10G网络下的真实带宽——CPU负载与网卡TSO、GSO
操作系统采用Ubuntu 14.04,CPU有4物理核8逻辑核。10G网卡为Intel X520。关掉主机网卡的TSO、GSO功能。sudo ethtool –K p1p1 tso offsudo ethtool –K p1p1 gso offiperf服务器端使用10G网卡,执行iperf -s -p 12003 -i1客户端多次执行如下命令,但每次启动的进程数会变化:原创 2017-07-11 11:34:30 · 5857 阅读 · 0 评论 -
使用串口转USB线配置交换机方法
1. 将 串口转USB线 的串口端插入交换机管理串口2. 将线的USB端插入主机的USB口3. 在主机上执行 ls /dev/ttyUSB* 查询设备名4. 在主机使用sudo minicom -s打开minicom主界面5. 选择Serial port setup,在Serial Device中填入刚查到的设备名6. 其他选项的配置依据各个交换机的说明手册具体配置7. 配原创 2017-07-11 10:49:37 · 4407 阅读 · 0 评论 -
DELL R730 iDRAC与IPMI的使用
一、简介iDRAC卡相当于附加在服务器上的一台小电脑,通过与服务器主板上的管理芯片BMC进行通信,远程监控与管理服务器的硬件状态信息。当前可用的官网详细介绍请参考:http://zh.community.dell.com/techcenter/w/techcenter_wiki/189.idrac-7这些工作原本由IPMI实现,当前版本为2.0。DELL的iDRAC封装了IPMI的功能,它原创 2017-07-11 10:31:54 · 37602 阅读 · 1 评论 -
【网络实验】IP identification字段与TSO,GRO
IP头的identification的值由IP层维持的计数器产生,每产生一个数据包,计数器就加1,,并赋值给ID。ID并不是序号,因为IP是无连接服务。在IP分片(fragmentation)时,此值将被复制到各个片的ID,这样能使各个片最终能被重新组装为原来的数据包。一 、在开启TSO后,内核每次发送大包,观察到连续两个大包的ID值和MTU、大包大小有关。Iperf TCP发包如下图原创 2017-07-11 00:27:52 · 4971 阅读 · 1 评论 -
【网络实验】TSO的大包和GRO的大包是否为一一对应关系
答案:不是。以下分别给出发送方和接收方的wireshark抓包情况。发送方:接收方:可以看到,发送方33和34两个大包被接收方合成了33号大包。备注:发送方TCP checksum没有计算是因为TSO。截图时,接收方忘了开启wireshark的TCP checksum验证。事实上,开启TSO后,发包的那方在wireshark中的看到的总是TCP chec原创 2017-07-10 23:15:41 · 801 阅读 · 0 评论 -
【网络实验】IP checksum的变化规律
在某次TCP反复重传中,观察IP checksum的变化规律。由于只有identification在增加,可以发现checksum的值在减小。这其实和checksum的反码计算有关,参考谢希仁《计算机网络》4.2节首部检验和的计算:先把IP首部划分成16位字的序列,并把checksum置0. 用反码运算把所有16位字相加后,把得到的结果求反码写入检验和。第1个数据包:原创 2017-07-10 22:56:39 · 849 阅读 · 0 评论 -
【网络实验】TCP重传时间的规律
两台Ubuntu Server,采用Cubic TCP协议通信。故意让接收方丢弃iperf报文。重传时间分别为1s,2s,4s,8s,16s,以此类推。理论依据是RFC 6298,RTO的初始值设定为1s 。参考2.1节内容:Until a round-trip time (RTT) measurement has been made for a segment s原创 2017-07-10 22:27:53 · 1433 阅读 · 0 评论 -
【网络实验】TCP timestamp的精度
需要主动开启时间戳选项,命令为:sysctl net.ipv4.tcp_timestamps=1实验发现精度太低,太多的包采用同样的值,这样不便于实现基于时间戳识别数据包的功能。随手摘录网上其他的人写的文档:双方各自维护自己的时间戳,时间戳的值随时间单调递增(规定为1ms-1s/次,常见值为1ms、10ms)。原创 2017-07-09 00:50:22 · 1057 阅读 · 0 评论