计算机网络:思科实验【8-运输层端口、TCP的运输连接管理、动态主机配置协议DHCP的作用】
🌈个人主页:godspeed_lucip
🔥 系列专栏:Cisco Packet Tracer实验
本文对应的实验报告源文件请关注微信公众号程序员刘同学,回复思科获取下载链接。
- 实验目的
- 实验环境
- 实验内容
- 运输层端口
- TCP的运输连接管理
- 实验体会
- 总结
实验目的
1 验证运输层TCP/IP端口号的作用
2 验证TCP使用三报文握手建立连接
3 验证TCP使用四报文挥手释放连接
实验环境
Cisco Packet Tracer模拟器
实验内容
运输层端口
(1)第一步:构建网络拓扑:在逻辑工作空间上,分别拖动一台主机及两台服务器,使用一台交换机连接,并将一些基本信息标注在设备旁边。如图所1示。
图1 构建网络拓扑
(2)第二步:设置设备IP地址:鼠标左键单击设置的设备,选择桌面,选择IP设置,将主机IP地址设置为”192.168.0.1”,同时将DNS服务器设置为”192.168.0.2”。如图2所示。鼠标选择DNS服务器,选择桌面,选择配置,将设置IP地址为”192.168.0.2”,如图3所示。对于WEB服务器也进行相应的设置。由于本拓扑属于同一网络,因此无须进行子网的配置。
图2 配置主机的IP地址
图3 设置IP地址
(3)第三步:配置DNS服务器。鼠标选择DNS服务器,选择服务,选择DNS,添加www.porttest.com 对应的IP地址记录,如图4所示。
图4 配置DNS服务器
(4)第四步:验证主机与设备之间的连通性。鼠标选择主机,选择桌面,选择命令提示符,输入命令”ping 192.168.0.2”,结果如图5所示。输入命令”192.168.0.3”,结果如图6所示。收到回复表示主机与设备之间的连通性完好。
图5 测试主机与DNS服务器的连通性
图6 测试主机与WEB服务器的连通性
(5)第五步:设置监听的协议。切换到仿真模式,鼠标点击控制面板中的”全显/隐藏”按钮,选择”编辑过滤器”,在IPv4栏选择DNS,如图7所示。在Misc栏勾选HTTP,如图8所示。
图7 选择DNS协议
图8 选择HTTP协议
(6)第六步:主机浏览器向DNS服务器发送请求。鼠标选择主机,选择桌面,选择浏览器,如图所示。在浏览器窗口输入www.porttest.com,可以看到主机封装了一个报文,查看该报文,如图9所示。可以看到,报文在应用层使用了DNS协议,并在运输层封装了UDP,成为UDP用户数据报。UDP协议中的目的端口为53,为DNS的熟知端口号,源端口号为1025,为非熟知端口号,标识发送该请求报文的用户进程。UDP数据报在网络层被封装为IP数据报,IP数据报在数据链路层被封装为以太网帧。
该DNS请求帧被发往交换机,接着被转发给DNS服务器,服务器对请求层层解封,发现这是一个查询请求,于是将域名对应的IP地址封装在数据报中,如图所示。发送给交换机,交换机将该响应报文转发给主机。
主机对收到的数据报层层解封,如图11所示。在运输层发现目的端口号为1025,且数据报包含域名”www.porttest.com”对应的IP地址,于是主机的浏览器进程就可以通过所获取到的IP地址访问目的域名了。
图9 进入网页浏览器
图10 查看报文
图11 服务器解析请求
图12 主机解析DNS数据报
(7)第七步:主机浏览器进程向WEB服务器发送请求。鼠标选择下一步,可以看到主机构建了一个HTTP请求报文,如图13所示。可以看到,应用层使用HTTP协议,运输层使用TCP协议,成为了TCP报文。TCP报文中,目的端口为80,这是HTTP服务器端进程所使用的熟知端口;源端口号为1025,这是非熟知端口,用来标识发送请求的客户端HTTP进程。TCP报文在网际层使用IP协议,被封装为IP报文段。
图13 主机封装HTTP请求
(8)第八步:主机浏览器进程向WEB服务器发送请求。首先主机与服务器通过TCP三次握手建立可靠连接。点击”捕获/前进”按钮,报文被发往交换机,交换机将其转发给WEB服务器。点击报文查看细节,如图14所示。WEB服务器会对报文进行层层解封,在TCP报文中,目的端口为80,这是一个熟知端口,表示WEB服务器端进程HTTP进程;源端口为1025,这是一个非熟知端口,用来表示主机中发出HTTP请求的客户端进程。
WEB服务器查找该请求对应的内容,将其封装在HTTP响应报文中,该报文在运输层使用TCP协议进行封装,成为TCP报文段,该报文段的源端口、目的端口与之前对应。
报文会被转发到交换机,交换机再将其转发给主机。
主机收到报文后,鼠标点击报文查看细节,如图15所示。主机对报文层层解封,该运输层首部中提取出目的端口为1025,于是将该报文的数据载荷部分交付给应用层的HTTP客户端请求进程,该进程对HTTP响应报文中的内容进行解析,在网页浏览器中进行解析,显示内容如图16所示。
图14 WEB服务器解析报文
图15 主机解析报文
图16 浏览器显示内容
TCP的运输连接管理
(1)第一步:构建网络拓扑。拖动一台主机与一台服务器,通过自动连线连接,如图17所示。
图17 构建网络拓扑
(2)第二步:配置IP地址。鼠标选择主机,选择桌面,选择IP地址,输入”192.168.0.1”,按下回车,如图18所示。对于服务器进行类似的操作,配置其IP地址为”192.168.0.2”。
图19 配置IP地址
(3)第三步:测试主机与服务器的连通性。鼠标选择主机,选择桌面,选择网页浏览器如图所示。在实时模式下输入”192.168.0.2”,按下回车后显示网页内容,如图所示。得到结果说明主机与服务器之间连通性完好。
图19 进入网页浏览器
图20 网页内容
(4)第四步:监听部分协议。鼠标点击控制面板”全显/隐藏”,隐藏全部协议,点击”编辑过滤器”,在Misc列表中勾选HTTP、TCP,如图所示。
图21 选择部分协议
(5)第五步:主机向浏览器发送HTTP请求。在浏览器中输入”192.168.0.2”,点击”前往”。在HTTP协议中,HTTP请求在运输层是使用TCP协议,而TCP是面向连接的,因此主机此时会尝试与服务器建立TCP连接,如图所示。
在主机进程的运输层中,首先会是设置状态为同步已发送(SYN-SENT),之后会与服务器协商一些参数,例如最大窗口等等。,之后会发送一个SYN报文段,此报文段中,SYN=1,ACK=0,序号为主机自己选择的1,数据长度为24表示这条TCP连接请求报文段的总长度为24字节,由于该报文不可以携带数据,所以该报文实际上就是TCP的首部(20字节的固定部分及最大4字节的可变部分)。
服务器收到TCP连接请求后,进行层层解封,其细节如图所示。首先,服务器发现这是一个TCP SYN连接请求报文,于是接受请求,并设置状态为连接已接受状态(SYN-RECEIVED)。接着,服务器准备发送连接请求确认报文段(TCP SYN+ACK)。其中,SYN=1,ACK=1,序号被设置为0(服务器自行决定)。
图22 主机的TCP请求报文
图23 服务器解析报文
(6)第六步:服务器向主机发送确认连接报文。、鼠标点击下一步,TCP SYN-ACK报文被发往主机,点击该报文段查看细节,如图所示。
主机对报文层层解封,发现这是一个连接确认报文段,于是进入连接状态(ESTABLISHED)。并准备给服务器发挥确认报文段(TCP-ACK),其中,ACK=1,序号为1(为最开始的序号+1)
主机给服务器发送确认报文段,服务器收到后层解封发现这是一个确认报文段,如图所示。于是设置自己的状态为连接状态(ESTABLISHED)。此时,主机与服务器之间可以基于建立好的连接进行数据传输了。
图24 主机解析连接确认报文段
图25 服务器解析确认报文段
(7)第七步:主机向服务器发送HTTP请求。服务器收到后进行层层解封,细节如图所示。服务器发现这是一个HTTP请求报文,其中,ACK=1表明该报文段还对此前收到连接请求确认报文段进行了重复确认;序号为1,这是因为此前主机发送的普通确认报文段的序号为1,其不携带数据,不消耗序号。
服务器此时向主机发送响应报文。其中,确认号ACK=101,这是对之前收到的封装有HTTP请求的报文段的确认,其长度为100,因此此时的确认号为101。数据长度为471。
图26 服务器解析HTTP请求报文
(8)第八步:服务器向主机发送HTTP响应报文。主机收到后对其中的内容进行解析,将结果显示在浏览器中,如图所示。
图27 浏览器解析结果
(9)第九步:收到HTTP响应后,主机会向服务器解除TCP连接。此时主机会向服务器发送一个报文段,其细节如图所示。首先主机进行终止等待阶段(FIN-WAIT),并发送连接释放报文段(TCP FIN-ACK),其中ACK=472,这是对封装HTTP响应报文段的确认,因为其序号为1,且长度为471。序号为1,这是因为之前发送的HTTP请求报文的序号为0,且长度为100。
图28 主机发送断开连接报文段
(10)第十步:主机发送TCP连接释放报文段给服务器,服务器层层解封,其细节如图所示。发现这是一个连接释放报文段,于是进入关闭等待(CLOSE-WAIT)状态,此时服务器没有其他数据发送给主机,于是接着进入最后确认状态(LAST-ACK)
图29 服务器解析报文段
(11)第十一步:服务器给主机发送连接释放报文段(FIN-ACK)。其中,序号字段为472,这是因为此前发送的HTTP响应报文序号为1,长度为471。ACK为102,这是对收到的TCP连接释放报文段的确认。点击”捕获前进按钮”。主机收到报文段,进行层层解封,发现这是一个连接释放报文段,于是进行关闭状态(CLOSING)。
图30 主机收到服务器的连接释放报文段
(12)第十二步:至此,主机与服务器之间的连接已彻底关闭。
3 动态主机配置协议DHCP的作用
(1)配置网路拓扑。在逻辑结构中,配置如图所示的网络拓扑,并在各设备旁边标注对应的信息。
图31 网络拓扑
(2)第二步:配置web服务器。鼠标选中web服务器,选中桌面,选择IP配置,将IP地址、默认网关设置为一开始标注的信息,如图所示。
图32 路由器配置
(3)配置路由器。鼠标选中路由器,点击配置,选择0/0端口,将IP地址设置为一开始标注的内容,并将端口状态设置为开。,如图所示。对于1/0端口也进行相同的配置。
图33 配置路由器
(4)配置DNS服务器,鼠标选择DNS服务器,选择桌面,选择IP配置,将IP地址配置为一开始标注的内容,如图所示。点击服务,选择DNS,将www.dhcptest.com对应IP地址:192.168.1.1进行添加,如图所示。
图44 配置DNS服务器
图45 添加DNS记录
(5)配置DHCP服务器。鼠标选中DHCP服务器,选中桌面,选中IP配置,将IP地址、默认网关配置为一开始标注的信息,如图所示。选中服务,选中DHCP,将默认网关、DNS服务器配置为一开始标注的信息,将DHCP状态设置为开,如图所示。
图46 配置DHCP服务器
图47 配置DHCP服务器
(6)配置主机。鼠标选中主机,选中桌面,选择IP配置,将IP配置切换到DHCP,这样,主机会自动通过DHCP获取到一个IP地址,如图所示。
图48 配置主机
(7)第七步:访问网页。点击主机,选择桌面,选择网页浏览器,输入www.dhcptest.com,显示界面如图所示。
图49 显示网页
实验体会
1 MAC地址、IP地址在计算机网络通信中占有极其重要的低位。它们唯一标识了计算机的地址。
2 总线型网络的结构较为简单,但是不可避免的会发生消息的碰撞,这是它的缺点。
3 动态主机配置协议DHCP对于大面积的网络设备来说是必须的,省去了很多麻烦。
总结
无边的丝线,网罗天地间, 信息律动,编织着未来的领域。
电子雄心,携手共舞, 万象交融,数码之花灿烂。
时空交错,虚实相连, 网络之舞,激荡心弦。
无言的交流,电波悠扬, 互联的奇迹,在指尖绽放。
计算的魔力,解锁智慧之门, 网络如诗,奏响科技的赞歌。
渴望挑战计算机网络的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多计算机网络的奇迹吧。我们推出了引领趋势的💻计网专栏:【Cisco Packet Tracer实验】 ,旨在深度探索计算机网络的实际应用和创新。🌐🔍