南京航空航天大学
实 验 报 告
课程名称 泛在网技术实验
姓 名 张图图
学 号
班 级
日 期
南京航空航天大学实验报告
姓名: 学号: 班级:
实验地点: 实验时间:
同组人员: 成绩:
教师评语:
实验报告正文:
-
实验名称
实验五、分析TCP特性
-
实验目的
1) 深入理解TCP的如下重要机制的工作原理:利用序号和确认号实现可靠数据传输,TCP拥塞控制算法(慢启动和拥塞避免),接收方通告的流量控制。
2) 掌握利用网络实验仪器Wireshark和Iperf研究网络协议性能和交互过程的基本方法。
-
实验内容和要求
同要求二
-
实验环境
其中包括两台虚拟主机,三台路由器,虚拟主机H1已预安装好Iperf和Termshark,虚拟主机H2已预安装Iperf。Termshark是一个简单的 tshark 终端用户界面,受 Wireshark 启发。能够读取分析pcap数据,使用wireshark的显示过滤器。
虚拟仿真实验教学平台:
http://114.215.201.229:8380/spoc/pages/publish/showExperiment.aspx?id=102
-
操作方法与实验步骤
H2 :ifconfig eth0 192.168.5.2 netmask 255.255.255.0
- 同时其他的包含 H1和其他的路由器全部按照四.2图中所示配置!!!
附上R3的
- 其他的路由器和H2配置类似!
- 在H1上发现 H2还是ping不同 所以我们需要采用实验4的技术 为路由器设置下 rip或者ospf 将这些路由器连接起来才行
附上R1的(建议按照网卡012的顺序配置network)
附上R3 (尤其要主要 network配置的顺序 对应端口保证对应ip不然后面ping不同)
附上R2的
- 发现后面H1还是ping不同 因为又没配置默认路由
给H1 route add default gw 192.168.1.2
H2 route add default gw 192.168.5.1
- 然后H1就可以pingH2了
- 接下来就可以 使用iperf模拟cs的方式了
如上图我们可以发现 h1和h2已经进行了正常的交流
同时我们可以看到中间过程的报文
至此 tcp分析到此结束
-
实验数据记录和结果分析
启动/关闭网卡
如果要关闭eth0网卡,运行下列命令:ifconfig eth0 down
如果要启动关闭的eth0网卡,运行下列命令:ifconfig eth0 up
配置IP地址
设置网卡eth0 IPv4地址,运行以下命令:
ifconfig eth0 192.168.1.1
设置网卡eth0 IPv4地址,并加上子网掩码,运行以下命令:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0
设置网卡eth0 IPv4地址,并加上子网掩码和广播地址,运行以下命令:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
临时添加默认网关
route add default gw 192.168.1.2
该命令将临时网关设置为192.168.1.2
-
实验体会、质疑和建议
- 对于route用法: route命令详解-linux运维-PHP中文网
或者https://blog.csdn.net/hzhsan/article/details/44753533
如:route 查看当前linux主机的路由表
输出项说明:
Destination | 目标网段或者主机 |
Gateway | 网关地址,”*” 表示目标是本主机所属的网络,不需要路由。 |
Genmask | 网络掩码 |
Flags | 标记。一些可能的标记如下: |
| U — 路由是活动的 |
| H — 目标是一个主机 |
| G — 路由指向网关 |
| R — 恢复动态路由产生的表项 |
| D — 由路由的后台程序动态地安装 |
| M — 由路由的后台程序修改 |
| ! — 拒绝路由 |
Metric | 路由距离,到达指定网络所需的中转数(linux 内核中没有使用) |
Ref | 路由项引用次数(linux 内核中没有使用) |
Use | 此路由项被路由软件查找的次数 |
Iface | 该路由表项对应的输出接口 |
- 关于TCP
(1)传输控制协议报文段结构。
TCP(Transmission Control Protocol,TCP) [RFC 793]是TCP/IP体系中面向连接的运输层协议,它提供全双工的和可靠交付的服务。TCP报文段结构如图44所示。TCP与UDP最大的区别就是TCP是面向连接的,而UDP是无连接的。
(2)TCP拥塞控制算法。
通常包括3个主要部分:(1)加性增(additive-increase),乘性减(multiplicative-decrease),即每发生一次丢失事件时就将当前的拥塞窗口CongWin值减半,每当它收到一个ACK后就把CongWin增加一个MSS(最大报文段长)。 (2)慢启动(slow start),即TCP发送方在初始阶段不是线性地增加其发送速率,而是以指数的速度增加,即每过一个RTT将CongWin值翻倍,直到发生一个丢包事件为止,此时CongWin将被降为一半,然后就会像上面所讲的那样线性地增长。(3)对超时事件作出反应。对于收到3个冗余ACK后,TCP将拥塞窗口减小一半,然后线性地增长。但是超时事件发生时,TCP发送方进入一个慢启动阶段,即它将拥塞窗口设置为1 MSS,然后窗口长度以指数速度增长。拥塞窗口持续以指数速度增长,直到CongWin达到超时事件前窗口值的一半为止。此后,CongWin以线性速度增长,就像收到3个冗余ACK一样动作。