1.  准备知识

1.1  Iperf命令

假设iperf服务端为主机tian04,使用TCP协议,那么在控制台执行以下两个命令开启服务器进程。

iperf-s -p 12000 -i1

iperf-s -p 12001 -i1

假设iperf客户端为主机tian05,tian06。注意,与1G的实验环境使用的命令不同,当关闭网卡TSO、GSO时,R320服务器无法使用一个进程达到满带宽(约为9.42 Gbps),命令和结果如下:

iperf -c 192.168.9.4 -p 12000 -i1 -t 15


为了利用全部带宽,至少需要在客户端开启两个进程。命令和结果如下:

iperf-c 192.168.9.4 -p 12002 -i1 -t 15 -P 2


在拥塞实验中,tian05和tian06同时对tian04发包,客户端只能分享到接近5Gbps的带宽,因此上述两种客户端命令对实验结果并无影响。

1.1  开启Linux内核ECN特性

三台主机均需执行:

sudosysctl -w net.ipv4.tcp_ecn=1

当Linux内核开启ECN特性之后,iperf会在TCP握手时自动协商,使得该TCP连接启用ECN。

2.  配置交换机

以下大多数知识在华为文档QoS配置指南的第3章和第5章。

2.1  本交换机的独特特性

与之前用过的交换机不一样(暂未写完)

2.2  配置WRED丢弃模板

system-view

drop-profile drop-profile-name

color { green | non-tcp | red | yellow } low-limitlow-limit-percentage high-limit high-limit-percentage discard-percentagediscard-percentage

low-limit-percentage:当队列中的报文长度占队列长度达到此百分比时,开始进行WRED丢弃。

discard-percentage:指定WRED的最大丢弃概率。

commit

2.3  应用WRED丢弃模板

配置WRED丢弃模板后,需要在接口或端口队列上应用,WRED丢弃模板才会生效。以下描述在端口队列上应用WRED丢弃模板

system-view

interface interface-type interface-number 进入接口视图

qos queue queue-index wred drop-profile-name 将WRED丢弃模板应用于端口队列

commit

2.4  应用ECN

队列仅当应用WRED丢弃模板后才可以使能(enable)该队列的显式拥塞通知功能。

system-view

interface interface-type interface-number 进入接口视图

qos queue queue-index ecn 指定队列显式拥塞通知功能

commit

2.5  检查配置结果

display drop-profile [ brief | drop-profile-name ]查看WRED丢弃模板的配置结果。

display qos configuration interface [ interface-typeinterface-number ] 查看接口上所有的QoS配置信息。

2.6  命令综合运用

#创建wred模板

system-view

drop-profile drop-profile-tyz

DCTCP ECN 配置方法:

color green low-limit 2 high-limit 2discard-percentage 100

commit

quit

#以下开始配置各个端口的ECN(配了客户端没用,客户端不会拥塞)

int 10ge1/0/4

qos queue 0 wred drop-profile-tyz  #查看3.5节服务等级与端口队列索引关系,可知发往队列0

qos queue 0 ecn

commit

quit

int 10ge1/0/5

qos queue 0 wred drop-profile-tyz

qos queue 0 ecn

commit

quit

int 10ge1/0/6

qos queue 0 wred drop-profile-tyz

qos queue 0 ecn

commit

quit

#查看配置结果

display drop-profile drop-profile-tyz

display qos configuration int 10ge1/0/4

display qos configuration int 10ge1/0/5

display qos configuration int 10ge1/0/6

3.  实验

首先,服务端tian04按照1.1节内容开启服务器进程。另外,服务端需要让10G网卡进入混杂模式并抓包。使用tcpdump完成这个工作。

sudotcpdump -i p1p1 -s 80 -w tian01.pcap

其中,-s80参数表示只抓取每个数据包的前80个字节,这已经抓取了完整的数据包头。注意到Ethernet、IP、TCP包头长度分别为14、20、20字节,而TCP经常启用了选项(option)字段,因此设为80字节是合理的。

不抓取完整数据包的原因:在1G实验环境中,如果抓取完整数据包,内核就会偶尔出现负载过大丢弃数据包的情况,极大影响了实验效果。

两个客户端tian05、tian06同时分别执行

iperf-c 192.168.9.4 -p 12000 -i1 -t 15

iperf-c 192.168.9.4 -p 12001 -i1 -t 15

15秒后运行完毕,终止tian04的tcpdump,并把pcap文件送往有图形界面的R730服务器中作分析。

scptian01.pcap commonuser@192.168.1.51:/home/commonuser/tyz/tian01.pcap

在wireshark中寻找IP包头CE 两个bit为11 = 0x3的数据包,过滤器设置ip.dsfield == 0x3。示例如下:

在10Gbps网络下开启Huawei CE6850交换机的ECN功能并实验DCTCP协议相关推荐

  1. SDN网络下有哪些SDN交换机选择?

    随着SDN技术的发展,SDN网络架构迎来了历史性的变革,SDN被认为是下一代网络变革的重要方向.而SDN交换机作为一款高性能,高密度的下一代交换机,为SDN大规模的商用部署和下一代网络技术的创新应用, ...

  2. NTP-Windows 2008和win7下开启网络对时方法

    [转自]http://www.yooan.net/a/huiyuanrizhi/2013/0710/78595.html Windows 2008和win7下开启网络对时方法 1.启用 NTPServ ...

  3. 使用网络模拟器 Packet Tracer和交换机的端口配置与管理及Telnet远程登陆配置

    实验一 实验名称 使用网络模拟器Packet Tracer 实验目的 1. 掌握安装和配置网络模拟器PacketTracer的方法: 2. 掌握使用PacketTracer模拟网络场景的基本方法,加深 ...

  4. 高清网络视频监控系统中交换机的选择

    目前视频监控系统已经完成从传统模拟视频监控到数字视频监控的全面升级,并逐渐发展到高清网络数字视频监控阶段,利用现有的办公网络.行业专网.光纤专网,甚至互联网和无线网络等基础架构,搭建以区域安防.生产监 ...

  5. 浙江师范大学网络改造总结(博达交换机网络安全防御技术应用)

                    浙江师范大学网络改造总结(博达交换机网络安全防御技术应用)                                                        ...

  6. 《VMware Virtual SAN权威指南(原书第2版)》一3.4 VSAN网络配置之vSphere分布式交换机...

    3.4 VSAN网络配置之vSphere分布式交换机 VSAN要使用VDS,需要配置一个分布式端口组来承载VSAN流量.创建分布式端口组后,就可以在独立的ESXi主机上创建VMkernel接口来使用这 ...

  7. 网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门

    1.前言 即时通讯网整理了大量的网络编程类基础文章和资料,包括<TCP/IP协议 卷1>.<[通俗易懂]深入理解TCP协议>系列.<网络编程懒人入门>系列.< ...

  8. 实现当前目录下开启CMD

    我们都知道在WIN7下,可以按shift+鼠标右键->在此处打开命令窗口 或者在 输入cmd,回车 那么,怎样去实现这样的功能呢? //当前目录下开启CMD#include <stdio. ...

  9. 交换机分布缓存_交换机网络嗅探方法 如何欺骗交换机缓存

    嗅探(sniff),就是窃听网络上流经的数据包,而数据包里面一般会包含很多重要的私隐信息,如:你正在访问什么网站,你的邮箱密码是多少,你在和哪个MM聊QQ等等......而很多攻击方式(如著名的会话劫 ...

最新文章

  1. C# 2.0 的partial
  2. python两列字符串合并_python两列字符串如何合并?
  3. 关于 printk() 对 spi slave 内核驱动程序的性能影响
  4. python分箱统计个数_【数据处理】python变量分箱常见手法:分类型、数值型、卡方、自定义...
  5. 【转】ASPxGridView 日期范围过滤扩展
  6. 基于JDBC的数据库连接池技术研究与应用
  7. 第二阶段团队项目冲刺第五天
  8. inDesign教程,如何设置打印出血?
  9. 一、JAVA基础(数据类型、运算符、变量常量)
  10. 远程桌面计算机名如何删除,如何删除远程连接记录?如何用电脑识别码实现远程控制?...
  11. matlab 图像傅里叶逆变换,用MATLAB实现图像的傅里叶变换.ppt
  12. window微信双开
  13. 巨蟒django之CRM1 需求分析表结构设计注册登录验证
  14. 计算机组成原理笔记(王道考研) 第二章:数据的表示和运算1
  15. Apache Log4j2 查找功能 JNDI 注入 (CVE-2021-44228)
  16. 各大高校自曝状态一览 排名不分先后
  17. 简单的http抓包(微信公众网页登录模拟)
  18. 逃离天坑之后——谈谈技术路线该怎么走
  19. 如何解决工厂工时计算问题
  20. Postgresql 修改数据库默认当前 schema

热门文章

  1. 海湾9000报初始未定义故障_海湾9000操作说明书.doc
  2. 什么是服务器,服务器与普通电脑有什么区别?
  3. 【React】使用Next.js构建并部署个人博客
  4. 在质心学习物理竞赛靠谱吗?
  5. 基于深度学习方法实现SPECT放射性核素定量测量(一)
  6. MYSQLDUMP参数详解 --all-databases
  7. 2017年(Lunar Year)读书与看剧
  8. ORACLE安装提示vip subnet configuration check failed
  9. 探讨安防行业产学研发展现状及问题
  10. php cstr,小心stringstream.str()字符串用法的陷阱