计算机网络
应用层实验
计算机网络计算机网络
实验项目
DNS与HTTP协议分析
DHCP协议配置与分析
TCP套接字编程
2
计算机网络计算机网络
3
DNS与HTTP协议分析
一、实验目的
(1)理解DNS协议的报文格式和工作原理。
(2)理解HTTP协议的报文格式和工作原理。
计算机网络计算机网络
4
DNS与HTTP协议分析
二、实验内容
(1)配置eNSP与物理PC连通。
(2)配置DNS服务。
(3)分析DNS报文。
(4)配置WWW服务。
(5)分析HTTP协议。
计算机网络计算机网络
网络拓扑
5
计算机网络计算机网络
配置eNSP与物理PC连通
(1)在物理PC上安装一个
环回网卡。
(2)并在eNSP中为Cloud1
绑定网卡。
(3)PING命令测试物理PC
与DNS服务器和Web服务器
的连通性。
6
计算机网络计算机网络
配置DNS服务
(1)配置DNS服务器
DNS Server服务器域名
为“”,
Web Server服务器域名
为
(2)配置DNS代理
(3)测试域名服务
7
计算机网络计算机网络
分析DNS报文
(1)清除物理PC上的DNS缓存记录
(2)抓包并分析DNS查询报文和响应报文
8
计算机网络计算机网络
配置WWW服务
(1)创建Web文档
(2)配置并启动WWW服务
(3)测试WWW服务
实验1 9
计算机网络计算机网络
分析HTTP协议
(1)启动浏览器,访问
地址
(2)在LSW1的接口
Ethernet 0/0/1上启动
抓包
(3)分析网页显示内容
与对应HTML文本的关系
10
计算机网络计算机网络
实验小结
(1)DNS是互联网上的名字服务系统,采用客户/服务器模式。
DNS的查询请求和回答报文使用UDP数据报进行传输。
(2)HTTP定义了浏览器向Web服务器请求获取Web页面的协议,
包括HTTP请求报文和HTTP响应报文。通常浏览器默认使用
HTTP/,采用持续连接方式传送HTTP报文。
11
计算机网络计算机网络
思考题
(1)TCP提供的是面向连接的字节流服务。若不使用PUSH操作,
有没有可能两个连续的HTTP响应报文封装在一个TCP报文段中进
行传输?为什么?若可能,Web浏览器如何识别两个HTTP响应
报文之间的边界?
12
计算机网络计算机网络
13
DHCP协议配置与分析
一、实验目的
(1)掌握DHCP服务的基本配置方法。
(2)分析并理解DHCP协议的工作原理。
计算机网络计算机网络
14
DHCP协议配置与分析
二、实验内容
(1)配置DHCP服务器。
(2)分析客户机通过DHCP自动获取IP地址配置的过程。
(3)配置DHCP中继代理。
(4)分析客户机通过DHCP代理自动获取IP地址配置的过程。
计算机网络计算机网络
15
建立网络拓扑
路由器选用AR2240,交换机选用S3700,AR1作为DHCP服务器,AR2作
为DHCP中继代理,为局域网1和局域网2提供DHCP服务。
计算机网络计算机网络
16
建立网络拓扑
为路由器AR1和AR2配置OSPF路由协议。
计算机网络计算机网络
配置DHCP服务器
(1)路由器AR1上启动并
配置DHCP服务
(2)修改各PC的IPv4配
置,将静态配置IP地址改
为DHCP动态配置IP地址,
并勾选自动获取DNS服务
器地址
(3)使用ipconfig命令查
看各PC的IP地址
17
计算机网络计算机网络
分析PC1通过DHCP自动获取IP地址配置的过程
(1)发现阶段
(2)提供阶段
(3)请求阶段
(4)确认阶段
18
计算机网络计算机网络
配置DHCP中继代理
(1)在路由器AR2上启动并配置DHCP中继代理服务
(2)分析PC2通过DHCP代理自动获取IP地址配置的过程
实验1 19
计算机网络计算机网络
实验小结
(1)DHCP主要作用是集中的管理、分配IP地址,使网络环境中
的主机动态的获得IP地址、Gateway地址、DNS服务器地址等网
络参数信息。
(2)采用DHCP协议可以减轻网络管理员的负担,可以提高IP地
址的使用率。
20
计算机网络计算机网络
思考题
(1)若一个局域网中配置了多个DHCP服务器,应注意什么?
21
计算机网络计算机网络
22
TCP套接字编程
一、实验目的
(1)掌握Windows环境下Socket开发方法。
(2)掌握Socket实现TCP通信的流程。
(3)理解TCP面向字节流的概念。
计算机网络计算机网络
23
DHCP协议配置与分析
二、实验内容
(1)编写、编译和调试TCP服务器端代码。
(2)编写、编译和调试TCP客户端代码。
(3)执行并测试程序功能
(4)代码功能分析。
(5)修改并增加代码功能。
(6)编写客户向服务器请求下载文件的文件传输程序。
计算机网络计算机网络
编写、编译和调试TCP服务器端和客户端代码
(1)在Code::Blocks中创建TCP服务器端项目,在主程序
文件中输入TCP服务器端代码。
(2)在项目的“Build options”中,添加库文件“ws2_32”,然
后进行编译,生成执行文件。
(3)在Code::Blocks中创建TCP客户端项目,在项目的“Build
options”中,添加库文件“ws2_32”。在主程序文件中输入
TCP客户端代码,然后进行编译,生成执行文件。
24
计算机网络计算机网络
执行并测试程序功能
在Windows命令行窗口中执行编译好的执行程序,在
Code::Blocks也可以直接运行代码
25
计算机网络计算机网络
(1)代码功能分析
(2)增加代码功能:服务器记录服务过的客户数量。
(3)编写新的文件传输程序:编写客户向服务器请求下载文件的
程序
26
计算机网络计算机网络
实验小结
(1)一条TCP连接必须包含本地IP地址、本地端口、对端IP地址、
对端端口四要素,那么在Socket中也必须包含这四个要素。
(2)服务器调用accept()采用阻塞方式等待接受客户端的连接请
求。
(3)服务器启动后会一直循环等待客户端的连接以及文件发送,
当多个客户端同时连接时, accept()返回的套接字应该交由新创
建的线程处理,而主线程继续accept()其它客户端。
27
计算机网络计算机网络
思考题
(1)若利用UDP来实现以上文件传输的功能,在实现上的主要
不同是什么?要考虑传输大文件并且可能多个客户会几乎同时
向服务器传输文件的情况。
28