传输层协议及其应用.docx
《传输层协议及其应用.docx》由会员分享,可在线阅读,更多相关《传输层协议及其应用.docx(15页珍藏版)》请在冰豆网上搜索。
传输层协议及其应用
传输层协议及其应用
实验目的
1掌握传输层端口的作用
2了解UDP协议的报文格式
3理解UDP协议的工作原理
1.了解TCP协议的报文格式
2.理解TCP连接建立和释放的过程
3.理解TCP数据传输中编号与确认的过程
4.理解TCP重传机制
实验内容
1.通过使用UDP工具,来学习传输层端口的作用。
1.通过使用UDP工具,来学习UDP单播通信的过程。
2.通过使用UDP工具,来学习UDP广播通信的过程。
1.通过使用TCP工具,来学习TCP连接建立和释放的过程。
2.通过使用TCP工具,来学习TCP重传机制。
练习一通信端口的作用
实验原理
在网络技术中,端口(Port)大致有两种意思:
一是物理意义上的端口,比如,ADSLModem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。
二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。
我们这里将要介绍的就是逻辑意义上的端口。
逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:
1.按端口号分布划分
(1)知名端口(Well-KnownPorts)
知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。
比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
(2)动态端口(DynamicPorts)
动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。
只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。
比如1024端口就是分配给第一个向系统发出申请的程序。
在关闭程序进程后,就会释放所占用的端口号。
不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY2.4是8011、Netspy3.0是7306、YAI病毒是1024等等。
2.按协议类型划分
按协议类型划分,可以分为TCP、UDP、IP和ICMP等端口。
下面主要介绍TCP和UDP端口:
(1)TCP端口
TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。
常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。
(2)UDP端口
UDP端口,即用户数据报协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。
常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。
查看端口,可以使用Netstat命令。
端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。
从这个意义上讲,端口是用来标志应用层的进程。
实验步骤
【实验说明】
实验开始前,首先使用分组切换器将实验主机切换到理论学习环境中;
将智能网络设备的网络结构切换到“网络结构一”;
主机A、B、C、D、E、F使用【快照】将Windows虚拟机恢复到“网络结构1”的状态;
该练习每组2人,主机A和B作为一组,主机C和D作为一组,主机E和F作为一组,实验步骤以主机A、B所在组为例进行说明,其他组的操作参考主机A、B所在组的操作。
主机C、F的操作与主机A的相同,主机D、E的操作与主机B的相同;
单击平台工具栏中的【网络拓扑验证工具】,进入到实验指定的网络结构中,单击【拓扑验证】进行验证,如果验证成功,则开始进行实验,如果失败,则检查网络的连接情况。
1.主机A在工具栏中单击【UDP工具】启动UDP工具,选择服务器端,端口为2000,单击【创建】,准备接收数据。
图9-1-1创建UDP服务器端
2.主机B首先单击工具栏中的【地址本】按钮,打开地址本工具。
图9-1-2地址本工具
3.主机B单击(【主机扫描】)按钮,在扫描的主机列表中,找出本组主机A的IP地址。
图9-1-3地址本工具扫描结果
4.主机B再选择【UDP工具】,启动UDP工具,选择客户端,端口为2000,在“地址”栏中输入主机A的IP地址,在“数据”栏中输入若干数据,点击【发送】按钮,发送数据给主机A,主机A进行观察。
图9-1-4UDP客户端发送数据
●主机A能收到主机B发送的数据吗?
●这说明什么?
5.主机B在“端口”栏中输入3000(“地址”栏中的信息不变)。
6.主机B在“数据”栏中输入若干数据,点击【发送】按钮,发送数据给主机A,主机A进行观察。
●主机A能收到主机B发送的数据吗?
●这说明什么?
7.结合上面的实验结果,说明传输层通信端口的作用。
8.主机A关闭UDP工具;主机B关闭UDP工具和地址本工具。
练习二分析VDP协议
实验原理
UDP(UserDatagramProtocol,用户数据报协议)协议主要用来支持那些需要在计算机之间传输数据的网络应用。
包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。
UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。
与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的上层。
根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。
UDP协议不提供端到端的确认和重传功能,它不保证信息包一定能到达目的地,因此称为不可靠协议。
UDP协议有以下特点:
(1)UDP是面向事务的协议,它用最少的传输量为其它程序发送报文提供了一个途径。
(2)UDP是无连接的、不可靠的传输机制。
在发送数据报前,UDP在发送和接收两者之间不建立连接。
(3)UDP能直接访问网络层的数据报服务,例如分段和重组等网络层所提供的数据报服务。
(4)UDP使用IP协议作为数据传输机制的底层协议。
(5)UDP报头和数据都以与最初传输时相同的形式被传送到最终目的地。
(6)UDP不提供确认,也不对数据的到达顺序加以控制,因此UDP报文可能会丢失。
(7)不实现数据分组的传送和重复检测。
(8)当数据包在传送过程中发生错误时,UDP不能报告错误。
(9)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、发送端和接收端主机性能的限制。
实验步骤
一VDP单波通信
【实验说明】
该练习每6人1组。
1.主机A、B、C、D、E、F在命令提示符下键入“netstat-a-n-pudp”来查看所有开放的UDP端口。
下图显示了主机A所开放的所有UDP端口。
图9-2-2本地UDP开放端口查询
●你知道“netstat”命令中“-a”“-n”“-p”各参数的作用吗?
2.主机B、C、D、E、F在工具栏中单击【UDP工具】,作为服务器端,监听端口设置为2483,单击【创建】按钮。
3.在主机B、C、D、E、F上再次在命令提示符下键入“netstat-a-n-pudp”来查看所有开放的UDP端口,便可发现刚打开的2483端口。
图9-2-3本地UDP开放端口查询
4.主机A单击工具栏中的【地址本】,启动地址本工具,单击左上角的主机扫描按钮开始扫描,扫描出本组主机的IP地址。
5.主机A启动【UDP工具】,作为客户端,以主机C的IP为目的IP地址,以2483为端口,填写数据并发送。
6.查看主机B、C、D、E、F上的【UDP工具】接收的信息,回答下面的问题。
●哪台主机上的【UDP工具】接收到主机A发送的UDP报文?
说明原因。
7.主机A关闭地址本工具和UDP工具;主机B、C、D、E、F关闭UDP工具。
二VDP广播通信
【实验说明】
在该实验中,各组实验主机设置的UDP通信端口不同,具体的规则为:
25XX,XX表示组别,第一组XX为01,第二组XX为02,...,依次类推。
在实验步骤中,我们以第一组为例进行描述,端口为2501,其它组在进行实验时,注意端口值的修改。
1.主机B、C、D、E、F在工具栏单击【UDP工具】,作为服务器端,监听端口设为2501,单击【创建】按钮。
2.主机A、B、C、D、E、F在工具栏单击【协议分析器】,启动协议分析器新建捕获窗口捕获数据,并设置过滤条件(提取UDP协议)。
3.主机A在工具栏单击【UDP工具】,作为客户端,以255.255.255.255为目的地址,以2501为端口,填写数据并发送。
4.查看主机B、C、D、E、F上的【UDP工具】接收的信息。
●哪台主机能接收到主机A发送的UDP报文?
●如果主机A也启动一个UDP工具作为服务器端,主机A能收到自己发送的信息吗?
5.主机A、B、C、D、E、F停止捕获数据,观察UDP报文格式,并回答问题。
●简述UDP数据报的各字段的意义。
6.主机A、B、C、D、E、F分别关闭UDP工具和协议分析器。
练习三分析TCP协议
实验原理
TCP(TransferControlProtocol,传输控制协议)是TCP/IP协议栈中的传输层协议,TCP称为面向字节流连接的和可靠的传输层协议。
它给IP协议提供了面向连接的和可靠的服务。
TCP与UDP不同,它允许发送和接收字节流形式的数据。
为了使服务器和客户端以不同的速度产生和消费数据,TCP提供了发送和接收两个缓冲区。
TCP提供全双工服务,数据同时能双向流动。
每一方都有发送和接收两个缓冲区,可以双向发送数据。
TCP在字节上加上一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节,如果在规定时间内,没有收到关于这个包的确认响应,重新发送此包,这保证了TCP是一种可靠的传输层协议。
实验步骤
一TCP连接的建立和释放
【实验说明】
该实验每组2人,主机A和B作为一组,主机C和D作为一组,主机E和F作为一组,实验步骤以主机A、B所在组为例进行说明,其他组的操作参考主机A、B所在组的操作。
主机C、F的操作与主机A的相同,主机D、E的操作与主机B的相同。
1.主机A、B在工具栏单击【协议分析器】,启动协议分析器新建捕获窗口捕获数据,并设置过滤条件(提取TCP协议)。
2.主机A在工具栏单击【地址本】,单击按钮进行主机扫描,扫描完成后再选中主机B,单击按钮,扫描主机B所开放的TCP端口。
图9-3-7TCP端口扫描
3.主机A在工具栏单击【TCP连接工具】,启动TCP连接工具。
选择客户端,在“地址”中填入主机B的IP地址,“端口”中填入刚才扫描到的某一大于1024的端口号(如1036),点击【连接】按钮进行连接。
4.在主机A、B上,单击协议分析器的按钮,刷新捕获的数据,通过会话分析(在“TCP其它会话”中)来观察三次握手建立连接的过程。
如下图所示:
图9-3-8TCP三次握手建立连接会话分析
5.观察TCP协议的各个字段,如下图所示,并回答以下问题。
图9-3-9TCP报文分析
●简述TCP协议各字段的意义。
●TCP协议是通过哪些字段来进行三次握手连接的?
6.在主机A、B上,单击协议分析器的按钮,清空已捕获的数据。
7.主机A点击【断开】按钮,断开与主机B的TCP连接。
8.主机A、B停止捕获数据,查看捕获的