第五章 传输层

第5章 运输层
传输层实现两个计算机之间可靠传输和不可靠传输,分别使用 TCP 协议和 UDP 协议。本章重点是 TCP 协议,该协议使用滑动窗口实现可靠传输,使用通过调整窗口大小实现发送端和接收端的流量控制,整个网络的流量控制使用拥塞控制机制。
本章实验为你通过捕包工具为你分析 TCP 首部各个字段,通过捕包工具捕获的数据包问你分析打开一个网站,TCP 建立会话的三次握手数据包,数据传输,滑动窗口调节,释放会话的数据包。
下图是数据包 TCP 首部。
第五章 传输层
实验 5.1:抓包分析 TCP 首部
实验目的
使用捕包工具捕获访问 Internet 上网站的数据包分析运输层 TCP 首部明白各个字段代表的意思
重点观察运输层首部的源端口、目标端口、序号、确认号
实验环境
物理机安装 ethereal 捕包工具
实验步骤
打开捕包工具,选择捕包的网卡,点击“Capture”。
第五章 传输层

打开 IE 浏览器访问网站。
第五章 传输层
点中 SYN seq=0 的数据包,这类数据包只有 TCP 的选项,没有数据,是计算机通信前和服务器之间建立会话协商通信参数的数据包。 截图:

第五章 传输层
点击传输数据的数据包,可以看到传输层首部和数据。 截图

第五章 传输层
实验 5.2:三次握手实验
计算机使用 TCP 进行可靠通信之前需要先建立会话,建立会话需要三次握手进行确认和协商一些参数。通信结束后,要释放会话。通过捕包工具捕获一次完整的网站访问过程,让大家看到会话建立,数据传输和会话释放的数据包。
实验目的
通过捕获的数据包,观察打开网站产生的流量。
找出建立会话的数据包。
传输数据的数据包。释放连接的数据包。
使用 netstat 查看关闭的会话,建立的会话。
实验环境
物理机安装 ethereal 捕包工具。
物理机能够访问 Internet。
实验步骤
设置 Internet 选项,设置 IE 首页位 www.baidu.com,这样一打开浏览器,就直接访问这个网站了。

开始抓包后,打开 IE 浏览器,过一会儿,关闭 IE。这样我们就会抓到释放连接的数据包。一定要等着网页完全打开,等一会儿再关闭 IE。这样释放连接的数据包我们也能抓到。

停止捕包后,看到 4 5 6 这三个数据包,是和网站建立会话的数据包。
第五章 传输层

第一个数据包,是我的计算机和百度网站请求连接数据包。请求建立会话的数据包特点是 SYN 标记是 1,ACK 标记是 0 。截图:

第五章 传输层
下面的数据包,SYN 位为 1,ACK 位为 1,这类数据包就是连接接受数据包。大家也可以看到协商的参数,这类数据包,不传输数据。 截图

第五章 传输层
客户端给服务器再次确认,这类数据包 SYN 标记位为 0,序号为 1,确认号为 1。截图
第五章 传输层
为了更好的说明序号和确认号的关系,咱们只观察从网站到本地的数据包。 建立了会话后,咱们看第一从网站下载内容的数据包。序号是 1。截图:
第五章 传输层
第二个数据包,大家观察序号和确认号以及数据包字节数之间的关系。截图
第五章 传输层
查看数据传输的数据包和确认数据包。就会发现我的计算机从网站收到 2 个数据包,就会给网站一个确认数据包,黑底色数据包是确认。 可以看到,确认数据包没有数据,只有 TCP 的一些选项,设置接收窗口。 截图:

第五章 传输层
查看释放连接的数据包,Fin 位设置为 1. 截图:

第五章 传输层
建立的会话使用命令也能看到。我们打开浏览器,访问几个网站,在终端下输入 ==netstat –n ==可以看到建立的会话,关闭几个网页,也可以看到释放的会话,处于 CLOSE-WAIT 状态。过一会儿 CLOSE_WAIT 会话就会消失。 截图:
第五章 传输层