1 / 28

实验 6 传输层协议分析

实验 6 传输层协议分析. 200 6.05. 总体说明. 4.1 节实验使用 Windows 系统,实验步骤按书本; 4.2 节实验同时使用 Windows 系统和 Linux 系统,实验步骤按补充教材; 4.3 节实验使用 Windows 系统,实验步骤按此补充教材。 两个人为一组( PCA 和 PCB 为一组, PCC 和 PCD 为一组); TCP 实验中 PCA ( PCC )为发送端, PCB ( PCD )为接收端。 TCP 实验中使用 Ethereal 截报文时切记 启用 TCP 报文过滤 。. 总体说明.

Download Presentation

实验 6 传输层协议分析

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实验6 传输层协议分析 2006.05

  2. 总体说明 • 4.1节实验使用Windows系统,实验步骤按书本; • 4.2节实验同时使用Windows系统和Linux系统,实验步骤按补充教材; • 4.3节实验使用Windows系统,实验步骤按此补充教材。 • 两个人为一组(PCA和PCB为一组,PCC和PCD为一组); • TCP实验中PCA(PCC)为发送端,PCB(PCD)为接收端。 • TCP实验中使用Ethereal截报文时切记启用TCP报文过滤。

  3. 总体说明 • 在Linux系统下做的实验先在本地磁盘保存相关实验数据,待此系统下所有实验(4.2节实验1、2、3)做完后再改动PC机IP地址设置,将相关实验数据上传FTP服务器(192.192.169.200);并同时清空保存在本地磁盘目录/root/DATA/中的实验数据。 • 在Windows系统下做的实验数据在切换Linux系统前上传FTP服务器。因为每次启动系统磁盘自动清空前次改动。 • 各实验的实验分析工作,可随实验同步进行,也可做完所有实验后进入Windows系统再从FTP服务器下载本组实验数据进行,完成实验报告。

  4. TCP协议测试软件 • 关于“TCP协议测试软件”的休眠设置的解疑说明: • 接收端中有“休眠时间”和“计数器阀值”两个与休眠有关的参数,此处休眠指的是“TCP协议测试软件”应用程序进程在从套接字中读取n次(由“计数器阀值”设置)数据后开始休眠,即应用程序进程停止从套接字中读取数据,而此时处于内核态的“TCP协议模块”仍在工作。

  5. 实验内容 • TCP协议分析 使用TCPTest程序分析TCP报文首部信息、TCP连接的建立过程、TCP连接的撤销过程、滑动窗口机制和拥塞控制机制。 • UDP协议分析 使用模拟通讯程序UDPTest发送消息数据,并使用Ethreal软件截获报文,分析UDP协议的报文格式。并进而了解和理解UDP协议的运行机理。

  6. 实验原理 — TCP协议简介 • TCP协议 —Transfer Control Protocol 特点: 传输之前建立TCP连接 可靠的 传输结束撤销TCP连接 滑动窗口 面向连接的 可靠传输技术

  7. 16位源端口号 16位目的端口号 32位顺序号 32位确认号 16位窗口大小 URG ACK PSH RST SYN FIN 16位校验和 16位紧急指针 选项 数据 实验原理 — TCP报文格式

  8. syn seq=N ctl=syn syn seq=M ctl=syn ack=N+1 PC A PC B seq=N+1 ctl=ack ck=M+1 数据 实验原理 — TCP建立连接过程 时间 时间

  9. Fin P Ack P+1 PC A PC B Fin Q Ack Q+1 实验原理 — TCP撤销连接过程 时间 时间

  10. 拥塞控制-滑动窗口 • 发送窗口 • 接收窗口:接收端空闲的接收缓存的大小

  11. 滑动窗口-发送窗口变化

  12. 糊涂窗口综合症 • 含义 • 接收方通告了一个小的窗口 • 发送方发送少量的数据 • 导致传输效率降低 • 解决 • 接收方不通告小窗口:推迟确认 • 发送方:Nagle算法(尽量一次发送较大数据)

  13. 慢启动和拥塞避免 • 接收窗口(rwnd)的变化 • 拥塞窗口(cwnd)的变化 • 慢启动:按照指数函数增加cwnd • 拥塞避免:按照线性函数增加cwnd

  14. 慢启动和拥塞避免

  15. 拥塞控制 • 网络拥塞的处理 ssthresh=cwnd/2 • 超时和重传 超时重传时间:RTO 平均往返时延:RTT 修正的Karn算法 • 窗口探查技术:探查报文的发送间隔 • 快重传和快恢复:定性分析 体会上述方法的协同工作。

  16. 实验原理 — UDP协议简介 • UDP协议 —User Datagram Protocol 无连接 不需要建立连接 不可靠的

  17. 16位源端口号 16位目的端口号 16位长度 16位校验和 数据 实验原理 — UDP报文格式

  18. 软件介绍

  19. 实验内容 • TCP协议基本分析实验 • TCP拥塞控制实验 • UDP协议分析实验 • TCP编程实验(选做)

  20. E0/0:192.168.1.1 E0/1:192.168.2.1 PCA PCB Vlan 2 E0/23 Vlan 3 E0/1 E0/24 E0/2 IP:192.168.2.2 网关:192.168.2.1 IP:192.168.1.2 网关:192.168.1.1 TCP协议分析 • 网络连接图,PCA(PCC)和PCB(PCD)都进Windows系统,实验步骤按书本不变 • 2人一小组,共用交换机和路由器各1台。

  21. 滑动窗口机制和窗口侦查机制分析 • 同上图 • 步骤 • 按照图4-10所示进行组网,确保组网正确和路由器、PC接口IP地址配置正确。 • PCA(PCC)在Linux下打开一个新的“终端命令行”,使用命令启动Ethereal软件,进行报文截获。 • PCA(PCC)(即发送端)在Linux下“终端命令行”中运行脚本来初始化“TCPConnection实时监控模块”: • PCA(PCC)(即发送端)在Linux下打开一个新的“终端命令行”,使用命令启动TCPTest程序, • 在PCA(PCC)(即发送端)的“终端命令行”中运行脚本来读取“TCPConnection实时监控模块”已记录的此TCP连接期间的相关参数数据: • 分析文件send2-组座号(或receive2-组座号)和send2-组座号-tcpsndwnddata.txt,体会滑动窗口机制。

  22. 慢启动、拥塞避免及拥塞处理和超时与重传机制分析慢启动、拥塞避免及拥塞处理和超时与重传机制分析 • 在路由器上配置端口转发速率为10Mbps • 在PCA(PCC)(即发送端)和PCB(PCD)(即接收端)重新开始Ethereal报文截获。启用TCP报文过滤 • 发送一个6MB的文件,TCPTest程序参数设置如图4-18和图4-19所示 • 在PCA(PCC)(即发送端)的“终端命令行”中运行脚本来读取“TCPConnection实时监控模块”已记录的此TCP连接期间的相关参数数据 • 更改路由器上的端口转发速率为8Kbps • 在PCA(PCC)(即发送端)和PCB(PCD)(即接收端)重新开始Ethereal报文截获。 • 发送一个100KB的文件,TCPTest程序参数设置仅发送端将要发送的文件处改成/root/snd100k.txt,其他设置均同图4-18和图4-19 • 读取数据,分析结果

  23. 快重传和快恢复算法分析 • 配置PCB(PCD)的eth0接口IP地址 • 在PCB(PCD)(即接收端)的“终端命令行”中装载“TCPConnection丢包内核模块”: • 在PCA(PCC)(即发送端)和PCB(PCD)(即接收端)重新开始Ethereal报文截获 • 发送一个300KB的文件,TCPTest程序参数设置如图4-20和图4-21所示检查参数设置无误后PCB(PCD)点击“接收”,然后PCA(PCC)点击“发送”。 • 在PCA(PCC)(即发送端)的“终端命令行”中运行脚本来读取“TCPConnection实时监控模块”已记录的此TCP连接期间的相关参数数据:

  24. 糊涂窗口综合症和Nagle算法分析 • 将所有PC都切换到Windows操作系统 • 配置好PCA(PCC)和PCB(PCD)的接口IP地址,并分别启动Ethereal进行报文截获 • 分别启动TCPTest程序。发送一个300KB的文件 • 重新发送一个300KB的文件,TCPTest程序参数设置如下 • 分析文件send6-组座号、receive6-组座号和send7-组座号、receive7-组座号,体会糊涂窗口综合症和Nagle算法作用。

  25. UDP协议分析 UDP协议分析组网

  26. UDP设计性实验(选作) • 本实验补充的内容就是基于C/C++语言或者JAVA语言使用套接字技术,编写基于UDP协议的可靠数据传输程序,并通过实验进行验证。 • 基于UDP协议的可靠数据传输程序的设计和实现可参考TFTP协议[1]的设计和实现。 • [1] RFC 1350,TFTP Version 2

  27. 下周实验 • 研究生 网络管理 • 本科生 应用层

More Related