????????掌握UDP的特点和用户数据报结构。
????????1.?华为eNSP软件。
????????2. Wireshark。
????????网络层为主机提供逻辑通信,运输层则为应用进程提供端到端的逻辑通信。TCP/IP的运输层有两个主要的协议:UDP和TCP。
????????UDP(User Datagram Protocol,用户数据报协议)具有以下主要特点:
????????(1)无连接。发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。
????????(2)尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
????????(3)是面向报文的。UDP对应用进程交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,一次交付一个完整的报文。
????????(4)没有拥塞控制。网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的,很适合多媒体通信的要求。
????????(5)支持一对一、一对多、多对一和多对多的交互通信。
????????(6)首部开销小,只有8个字节。
????????由于UDP开销小,因此被广泛用于即时聊天、IP电话等对可靠性要求不高、但对实时性要求较高的应用。在互联网中,DHCP、DNS、SNMP等都是基于UDP实现的。
????????某网络的拓扑结构如图 5-1所示。PC、客户机(Client)和服务器(Sever)通过1台S5700交换机互连,都属于默认VLAN 1。请配置PC、客户机和服务器的IP地址,在服务器上配置并启动DNS、FTP和WEB服务器,允许PC和客户机使用IP地址和域名访问FTP和WEB服务器。PC、客户机和服务器的IPv4地址、子网掩码和域名定义如表 5-1所示。请完成系统配置,抓取并分析PC访问域名服务器时所产生的UDP通信。
表 5-1?PC、客户机和服务器的IPv4地址、子网掩码和域名定义
IPv4地址/域名 | 子网掩码 | 网关 | |
PC-1 | 192.168.10.10 | 255,255.255.0 | |
Client-1 | 192.168.10.11 | 255,255.255.0 | |
Server-1 | 192.168.10.12 | 255.255.255.0 | |
DNS服务器 | |||
FTP服务器 | ftp.myftp.com.cn | ||
WEB服务器 | www.myweb.com.cn |
????????①启动eNSP,单击工具栏中的“新建拓扑”图标。
????????②在网络设备区中选择设备,向空白工作区中添加1台S5700交换机、1台PC、1台Client和1台Server。
????????③按指定端口将交换机和PC、Client和Server互连。
????????④为交换机和PC、Client和Server命名。
????????①分别用鼠标左键单击PC-1、Client-1和Server-1,在弹出的配置窗口中选中“基础配置”标签,按定义为其配置IPv4地址、子网掩码和域名服务器地址(不需要配置默认网关地址)。
????????②配置完毕后,单击工具栏中的“保存”图标,将拓扑保存到指定目录,将文件命名为lab-5.1.1-UDP.topo。
????????单击工具栏中的“开启设备”图标,启动全部设备。
????????①双击PC-1,在弹出的配置窗口中选中“命令行”标签,在命令窗口中输入以下命令,测试是否能与Client-1和Server-1通信:
????????ping 192.168.10.11? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
????????pìng 192.168.10.12? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
????????②双击Client-1,在弹出的配置窗口中选中“基础配置”标签。在“PING测试”区中的“目的IPV4”输入栏中输入Server-1的IP地址,在“次数”输入栏中输入ping次数(如4),然后单击“发送”按钮,如图 5-2所示。
????????检查“本机状态”区中的ping成功次数,或查看“日志信息”标签中的ping结果信息。
????????可以按类似方法测试Server-1能否与Client-1通信。
????????注:若不能ping通,则不能进入后续步骤。请检查并重新配置PC-1、Client-1和Server-1的IP地址,直到ping成功为止。若彼此能ping通,则继续后续步骤。
-[提示.思考.动手]
????????双击Server-1,在弹出的配置窗口中选中“服务器信息”标签,选中左边栏中“DNSServer”选项。保持服务端口号不变,在主机域名和IP地址栏中输入域名www.myweb.com.cn和对应的IP地址,单击“增加”按钮。再输入ftp.myftp.com.cn和其对应的IP地址,单击“增加”按钮。配置完成后的结果如图 5-3所示。
????????配置完成后,单击“启动”按钮启动DNS服务器。选中“日志信息”标签可以查看日志,确认服务器是否成功启动。
????????①配置并启动FTP服务器。双击Server-1,在弹出的配置窗口中选中“服务器信息”标签,选中左边栏中的“FtpServer”选项,保持服务端口号不变,单击“配置”区中的目录选择按钮,为FTP服务器设置文件根目录,然后单击“启动”按钮启动FTP服务器。FTP服务器的配置如图 5-4(a)所示。
????????②配置并启动WEB服务器。选中“服务器信息”标签左边栏中“HttpServer”选项,保持服务端口号不变,单击“配置”区中的目录选择按钮,为WEB服务器设置文件根目录,然后单击“启动”按钮启动WEB服务器。WEB服务器的配置如图 5-4(b)所示。
(a)FTP服务器配置页面
(b)WEB服务器配置页面
????????①开启交换机LSW1端口GE 0/0/12的数据抓包。本实验关注的是UDP通信,所以将Wireshark过滤器设置为udp,然后按“回车”键,如图 5-5所示。
????????②在PC-1命令窗口中输入以下命令,测试是否能按域名与FTP和WEB服务器通信:
????????ping ftp.myftp.com.cn? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
????????ping www.myweb.com.cn? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
-[提示.思考.动手]
表 5-2?从PC-1到ftp.myftp.com.cn的第一个UDP用户数据报相关信息
Ethernet帧信息 | ||
源MAC地址 | 54:89:98:f4:1c:f1 | |
目的MAC地址 | 54:89:98:50:07:40 | |
IP数据报信息 | ||
源IP地址 | 192.168.10.10 | |
目的IP地址 | 192.168.10.12 | |
协议 | 值:17 | 名称:UDP |
总长度(字节) | 62 | |
UDP用户数据报信息 | ||
字段长度 | 字段值 | |
源端口 | b6 e9 | 46825 |
目的端口 | 00 35 | 53 |
总长度(字节) | 00 2a | 42 |
校验和 | a5 aa | 0xa5aa |
数据 | b6 e9 00 35 00 2a a5 aa |
表 5-3?从ftp.myftp.com.cn到PC-1的第一个UDP用户数据报相关信息
Ethernet帧信息 | ||
源MAC地址 | 54:89:98:50:07:40 | |
目的MAC地址 | 54:89:98:f4:1c:f1 | |
IP数据报信息 | ||
源IP地址 | 192.168.10.12 | |
目的IP地址 | 192.168.10.10 | |
协议 | 值:17 | 名称:UDP |
总长度(字节) | 78 | |
UDP用户数据报信息 | ||
字段长度 | 字段值 | |
源端口 | 00 35 | 53 |
目的端口 | b6 e9 | 46825 |
总长度(字节) | 00 3a | 58 |
校验和 | 49 40 | 0x4940 |
数据 | 00 35 b6 e9 00 3a 49 40 |
????????1. 掌握TCP的特点及其报文结构。
????????2. 理解TCP三报文握手建立TCP连接的过程。
????????3. 理解TCP四报文握手释放TCP连接的过程。
????????1.?华为eNSP软件。
????????2. Wireshark。
????????网络层为主机提供逻辑通信,运输层则为应用进程提供端到端的逻辑通信。TCP/IP的运输层有两个主要的协议:UDP和TCP。
????????TCP(Transmission Control Protocol,传输控制协议)具有以下主要特点:
????????(1)面向连接。发送数据之前必须先建立连接。主动发起TCP连接建立的应用进程叫作客户,而被动等待连接建立的应用进程叫作服务器。TCP采用三报文握手建立TCP连接,服务器要确认客户的连接请求,然后客户要对服务器的确认进行确认。TCP采用四报文握手释放TCP连接,任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后就进入半关闭状态。当另一方也没有数据再发送时,则发送连接释放通知,对方确认后就完全关闭了TCP连接。
????????(2)每一条TCP连接只能是点对点的(一对一),仅支持单播,不支持广播和多播。
????????(3)提供可靠交付的服务。这是TCP最重要的特点。TCP使用序号、应答、重传、超时等机制解决了网络层造成的数据的损坏、丢失、重复、失序等错误:利用滑动窗口协议进行流量控制;维持一个拥塞窗口,采用慢开始、拥塞避免、快重传和快恢复等4种算法,根据网络状态进行拥塞控制。
????????(4)提供全双工通信。在建立好的一条TCP连接上实现双向通信。
????????(5)面向字节流。TCP给每个字节赋予一个序号,将字节流封装到TCP报文进行传输。
????????TCP主要用于对可靠行要求较高的应用。在互联网中,SMTP、FTP和HTTP等都是基于TCP实现的。
????????某网络拓扑如图 5-6所示,与实验5.1.1中的网络拓扑结构相同。请配置PC、客户机(Client)和服务器(Server)的IP地址,在服务器上配置并启动DNS、FTP和Web服务器,允许PC和客户机使用IP地址和域名访问FTP和Web服务器。PC、客户机和服务器的IPv4地址、子网掩码和域名定义如表 5-4所示,与实验5.1.1中的定义相同。请完成系统配置,抓取客户机访问WEB服务器时所产生的TCP通信,分析TCP连接建立和释放的过程。
表 5-4?PC、客户机和服务器的IPv4地址、子网掩码和域名定义
IPv4地址/域名 | 子网掩码 | 网关 | |
PC-1 | 192.168.10.10 | 255.255.255.0 | |
Client-1 | 192.168.10.11 | 255.255.255.0 | |
Server-1 | 192.168.10.12 | 255.255.255.0 | |
DNS服务器 | |||
FTP服务器 | ftp.myftp.com.cn | ||
WEB服务器 | www.myweb.com.cn |
????????①启动eNSP,单击工具栏中的“打开文件”图标,加载实验5.1.1的拓扑文件lab-5.1.1-UDP.topo。
????????②按定义配置PC-1、Client-1和Server-1的IP地址和子网掩码,以及域名服务器地址。
????????③单击工具栏中的“另存为”图标,将该拓扑另存为lab-5.2.1-TCPConnection.topo。
????????单击工具栏中的“开启设备”图标,启动全部设备。
????????按实验5.1.1中的步骤6和7,在Server-1上分别配置并启动DNS、FTP和Web服务器。
????????①开启LSW1端口GE?0/0/12的数据抓包。本实验关注的是TCP通信,所以将Wireshark过滤器设置为tcp,然后按回车键,如图 5-7所示。
????????②产生TCP通信。让Client-1按域名访问Web服务器。双击Client-1,选中“客户端信息”标签,选中左边栏中的“HttpClient”选项,在地址栏输入:http://www.myweb.com.cn,然后单击“获取”按钮。HttpClient将显示该Web服务器返回的HTTP响应,如图 5-8所示。
-[提示.思考.动手]
Ethernet帧信息 | ||
源MAC地址 | 54:89:98:a8:16:83 | |
目的MAC地址 | 54:89:98:50:07:40 | |
IP数据报信息 | ||
源IP地址 | 192.168.10.11 | |
目的IP地址 | 192.168.10.12 | |
协议 | 值:6 | 名称:TCP |
总长度(字节) | 44 | |
TCP用户数据报信息 | ||
字段长度 | 字段值 | |
源端口 | 08 01 | 2049 |
目的端口 | 00 50 | 80 |
序号 | 00 00 19 6d | 0 |
确认号 | 00 00 00 00 | 0 |
数据偏移(首部长度) | 60 | 24 |
[SYN,ACK] | 60 02 | SYN=1??????ACK=0 |
窗口大小 | 20 00 | 8192 |
最大报文段长度(MSS) | 02 04 05 b4 | 1460 |
第一次握手:客户端发送一个SYN报文给服务器,其中序号字段的值为客户端的初始序号(ISN)。
第二次握手:服务器接收到客户端的SYN报文后,发送一个SYN-ACK报文给客户端,其中序号字段的值为服务器的初始序号(ISN),确认号字段的值为客户端的序号加1。
第三次握手:客户端接收到服务器的SYN-ACK报文后,发送一个ACK报文给服务器,其中序号字段的值为客户端的序号加1,确认号字段的值为服务器的序号加1。
通过这样的握手过程,双方可以确认彼此的序号和确认号,并建立起可靠的TCP连接。
TCP连接成功建立之后,客户发出的第1个数据报文的序号是由客户端随机生成的。这个序号与建立TCP连接的三次握手报文中的序号有关系。在三次握手过程中,客户端和服务器会交换各自的初始序号(ISN,Initial Sequence Number)。客户端发送的第一个握手报文中的序号作为客户端的ISN,服务器发送的第二个握手报文中的序号作为服务器的ISN。当连接建立成功后,客户端发送的第一个数据报文的序号将是客户端的ISN加1,即ISN+1。这样可以确保序号的唯一性和顺序性。
-[提示.思考.动手]
Ethernet帧信息 | ||
源MAC地址 | 54:89:98:a8:16:83 | |
目的MAC地址 | 54:89:98:50:07:40 | |
IP数据报信息 | ||
源IP地址 | 192.168.10.11 | |
目的IP地址 | 192.168.10.12 | |
协议 | 值:6 | 名称:TCP |
总长度(字节) | 40 | |
TCP报文信息 | ||
字段长度 | 字段值 | |
源端口 | 08 01 | 2049 |
目的端口 | 00 50 | 80 |
序号 | 00 00 1a 10 | 163 |
确认号 | 00 00 5c 88 | 308 |
数据偏移(首部长度) | 50 | 20 |
[SYN,ACK] | 50 11 | SYN=1??????ACK=1 |
窗口大小 | 1e cd | 7885 |
最大报文段长度(MSS) | 无 | 无 |