You are on page 1of 12

人工智能与大数据学院

实验报告

专业名称 网络工程
课程名称 TCP/IP 协议
实验名称 综设 2 综合实验
班 级 21 网工
学 号 21302031004
姓 名 郑宇
同组人员 无
实验日期 2023.5.13
一、实验目的与要求
1、实验目的
1) 掌握对传输层、应用层协议的理解。
2) 掌握两种以上的服务器工作原理。FTP 服务器、DHCP 服务器、DNS 服务
器、Web 服务器、邮件服务器等服务器中任选两种服务器,学习其工作
原理,并在模拟环境下完成服务器的搭建及使用工作。
3) 提高对网络协议的整体认识和分析能力。
2、实验基本原理(有关原理要有相关内容的简单介绍)
Web 服务器:
客户端输入一个 IP 或 URL(需要 DNS 解析),浏览器根据 IP 地址和默认
端口号(80)与 Web 服务器建立 TCP 连接。
浏览器向 Web 服务器发送一个 HTTP 请求报文,包含请求的方法(如
GET)、资源路径(如/)、协议版本(如 HTTP/1.1)和其他信息(如请求头、请
求体等);
Web 服务器接收到 HTTP 请求报文后,根据请求的方法和资源路径进行相
应的处理,如返回一个静态文件、执行一个动态脚本、调用一个后台程序等;
Web 服务器将处理结果封装成一个 HTTP 响应报文,包含状态码(如
200)、协议版本(如 HTTP/1.1)和其他信息(如响应头、响应体等);
Web 服务器将 HTTP 响应报文发送给浏览器,浏览器解析响应报文,根据
状态码判断请求是否成功,如果成功则显示响应体中的内容(如 HTML 网页),
如果失败则显示错误信息(如 404 Not Found);
Web 服务器根据 HTTP 协议的规定,决定是否关闭 TCP 连接或保持连接以
便后续请求。
DNS 服务器:
用户在浏览器中输入一个域名,如 www.baidu.com;
浏览器会先检查本地缓存和 hosts 文件是否有这个域名的对应 IP 地址,如
果有,就直接访问该 IP 地址;
如果没有,浏览器会向本地 DNS 服务器发送一个查询请求,询问这个域名
的 IP 地址;
本地 DNS 服务器会先检查自己的缓存是否有这个域名的记录,如果有,就
返回给浏览器;
如果没有,本地 DNS 服务器会向根 DNS 服务器发送一个查询请求,根
DNS 服务器会返回一个负责.com 顶级域的 DNS 服务器的 IP 地址;
本地 DNS 服务器再向该.com 顶级域的 DNS 服务器发送查询请求,该服务
器会返回一个负责 baidu.com 二级域的 DNS 服务器的 IP 地址;
本地 DNS 服务器再向该 baidu.com 二级域的 DNS 服务器发送查询请求,该
服务器会返回一个负责 www.baidu.com 主机的 IP 地址;
本地 DNS 服务器将这个 IP 地址缓存起来,并返回给浏览器;
浏览器根据这个 IP 地址与目标主机建立连接,并请求网页内容;
3、实验要求
本实验项目需要学生熟练掌握任意两种以上的应用层协议的工作原理,并
对协议运行过程中实现的报文交互进行深入研究,并完成交互报文的分析工作。
主要完成下列任务:
1) 拓扑结构自拟。
2) 拓扑结构中至少有两台设备中的 IP 地址,必须配置中含有学号后两位
3) 任选两种应用层上的服务器掌握其原理,并在模拟器上完成服务器的
搭建。
4) 完成服务器的搭建之后,要能演示服务器的基本应用,并解释该服务
器使用的协议是什么?封装在传输层的哪一层?
5) 抓包分析传输层的协议报文。
6) 抓包分析应用层的协议报文。

二、实验环境
华为模拟器

三、实验总体步骤
1. 搭建拓扑并配置各设备 ip;
2. 测试终端是否连通;
3. 配置 Web 服务器和 DNS 服务器。并设置客户端的 DNS;
4. 客户端分别用 ip 地址和域名访问 Web 服务器,使用抓包工具进行抓包;
5. 分析 TCP、HTTP、DNS 报文。
四、实验过程与报文分析
1、实际搭建的拓扑图

其中设备及端口 ip 已在图中标出,下面是对各设备的详细配置。
2、服务器的搭建
使用 80 端口并添加文件使客户端访问。
使用 53 端口,并添加一条 DNS 配置为 (baidu.com,200.0.0.3)使客户端能
用域名访问到服务器端。

3、报文分析
(1)TCP 协议报文抓包及分析
可以看到 TCP 的三次握手建立连接和四次握手释放连接。
第一次客户端发送请求报文,源端口 2052,目的端口 80,原序列号为
6545,相对为 0,flag 为 SYN,窗口为 8192,校验和为 0xcc31。

(2)HTTP 协议报文抓包及分析
HTTP 请求报文由请求行、请求头、空行和请求体组成。
请求行由请求方法、请求目标和版本号组成。图中为 GET/HTTP/1.1
请求头包含多个属性,包括 Accept 用户代理可处理的媒体类型、Accept-
Language 优先语言、User-Agent 客户端程序信息、Host 请求资源所在服务器等。
请求体即为数据。
HTTP 相应报文包括状态行,响应头、响应体。
状态行包括协议版本、响应状态码、状态描述。下图的 200 OK 表示请求正常

处理。
响应头与请求报文类似,主要描述服务器的信息。
响应体是服务器返回给浏览器的响应信息,常见的响应数据格式有:text/
html、application/json。这里是 text/html。

1) UDP、DNS 协议报文抓包及分析
DNS 请求报文和响应报文结构基本相同,由事务 ID、标志、问题计数、
回答资源记录数、权威名称服务器计数和附加资源记录数组成首部。
请求报文中的请求部分 Queries 包含 name 要查询域名、type 查询类型 、
class 查询类,这里是互联网地址。

响应报文中在 Answers 中,Time tu live 生存时间表示该资源记录的生命周


期 , Data length , 表 示 IP 地 址 的 长 度 为 4 字 节 , 即 Address 字 段 的 长
度,Address 是该域名对应的 IP 地址。
五、 实验过程中所遇到的问题
1、遇到的问题
(1) 华为模拟器 PC 不能访问 Web
(2) Client 不能进行抓包
2、解决方法
(1) 将 PC 换为 Client 客户端
(2) 抓取连接客户端的交换机的端口

六、实验小结
通过本次实验,我学习了 DNS 和 HTTP 的基本原理和配置方法,掌握了使
用华为 eNSP 平台搭建网络拓扑和配置 DNS 服务器、HTTP 服务器和客户端的技
能,了解并分析了 DNS 协议和 HTTP 协议的通信过程和数据格式,提高了我的
网络实验能力和分析能力。为今后的网络综合设计打下基础。
得分(百分制)

You might also like