实验13 运输层协议分析
- 格式:docx
- 大小:20.39 KB
- 文档页数:1
实验四、传输层协议分析【实验目的】1. 通过捕获TCP 包并进行分析,了解传输层协议的工作过程,加深对TCP 及面向连接的服务的工作原理的理解与掌握,2. 观察简单的TCP 流传输,理解其首部各字段的变化。
3. 理解UDP 数据报的传输特点。
【实验原理】【实验内容】1、查看分析TCP 链路管理(1)、在PC2(192.168.2.24)中安装有FTP 服务端程序。
(2)、在PC1 中开启协议分析软件,进行数据包抓包。
(3)、在PC1 中的协议分析软件中利用工具栏中的TCP 连接工具对PC2 发起连接,如下图所示。
PC1 主动打开连接请求确认PC2 被动打开确认确认SYN ,SEQ = xACK,SEQ = x+1,ACK = y +1SYN,ACK,SEQ = y , ACK = x+1图 4-12 TCP连接工具在IP地址中填入PC2地址192.168.2.24,端口填入FTP服务端口21,然后点击连接。
分析捕获到的三次握手报文。
图 4-13 三次握手第一次连接查看上图TCP报文中的报头部分:源端口:3241,由于发起连接的是客户端,因此源端口为TCP程序随机出的短暂端口,在此连接中是3241。
目的端口:21,由于是向FTP服务发起连接,因此目的端口为FTP服务的熟知端口,为21。
序列号:0X732020CD,此序列号为TCP程序随机出的字节编号。
确认序号:0X00000000,第一个发出的连接请求中,确认号为0。
TCP首部长度:7,TCP首部长度包括TCP报头长度和数据长度,这个字段表示TCP报头长度,其中20字节为标准TCP报头长度,另有8字节选项字段长度,选项字段中和服务器端协商了最大报文段长度。
标识位:SYN位置1,只有TCP连接中三次握手第一次连接的报文段中SYN位置1。
窗口大小:65535,默认大小。
校验和:0X5D64,校验和是对TCP报头、数据和伪首部进行计算得出的校验和。
运输层协议运输层协议是计算机网络中负责在网络中的不同主机之间提供端到端通信的协议层。
它位于网络层之上,应用层之下,是OSI模型中的第四层。
运输层协议主要负责确保数据的可靠传输,并且提供流量控制和拥塞控制等服务。
### 主要功能1. 数据传输:运输层协议负责将应用层的数据分割成合适的大小,然后通过网络层发送到目的地。
2. 错误检测与纠正:通过使用校验和等机制,运输层协议能够检测数据在传输过程中的错误,并采取适当的措施来纠正这些错误。
3. 流量控制:确保发送方不会发送数据过快,导致接收方无法处理。
4. 拥塞控制:在网络拥塞时,控制数据的发送速率,以避免网络过载。
5. 多路复用:允许多个应用程序同时使用运输层协议进行数据传输。
### 主要协议运输层有两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
- TCP(Transmission Control Protocol):- 提供面向连接、可靠的字节流服务。
- 使用三次握手建立连接,四次挥手结束连接。
- 具有超时重传、流量控制(如滑动窗口机制)和拥塞控制等特性。
- UDP(User Datagram Protocol):- 提供无连接服务,不保证数据的可靠性。
- 数据传输速度快,适用于实时应用,如视频会议和在线游戏。
- 没有建立连接的过程,也没有超时重传机制。
### 应用场景- TCP:适用于需要可靠传输的应用,如Web浏览(HTTP)、文件传输(FTP)、电子邮件(SMTP)等。
- UDP:适用于对实时性要求较高的应用,如VoIP、在线游戏、DNS查询等。
### 端口号运输层协议通过端口号来区分不同的应用程序和服务。
端口号是一个16位的数字,范围从0到65535。
其中,0到1023是众所周知的端口号,通常被分配给常用服务;1024到49151是注册端口号,可以由用户或应用程序用于特定服务;49152到65535是动态或私有端口号。
### 总结运输层协议是网络通信中不可或缺的一部分,它确保了数据能够在网络中的不同主机之间可靠、有效地传输。
运输层1——运输层协议概述写在前⾯:本⽂章是针对《计算机⽹络第七版》的学习笔记⽬录提供应⽤进程之间的逻辑通信。
2. 运输层中两个主要的协议1. ⽤户数据报协议UDP(User Datagram Protocol)。
UDP在传输数据前不需要建⽴连接,远程主机收到UDP报⽂后也不需要给出任何确认,因此UDP是不可靠的通信协议。
UDP的运输协议单元(TPDU)是UDP⽤户数据报。
2. 传输控制协议TCP(Transmission Control Protocol)。
TCP提供⾯向连接的服务,在传输数据前必须先建⽴连接,数据传输结束后要释放连接,因此TCP是可靠的通信协议。
TCP不提供⼴播和多播服务。
TCP的运输协议单元是TCP报⽂段。
3. 运输层的端⼝为什么需要端⼝:为了使不同操作系统的计算机的应⽤进程能够互相通信,就必须使⽤统⼀的⽅法对TCP/IP体系中的应⽤进程进⾏标志。
何为端⼝:软件端⼝是指应⽤层的各种协议进程与运输实体进⾏层间交换的⼀种地址。
端⼝号只具有本地意义,不同计算机中相同的端⼝号没有联系。
运输层⽤16位端⼝号来标志⼀个端⼝,因此允许有65535个不同的端⼝号。
端⼝号分类:服务器端使⽤的端⼝号。
1. 熟知端⼝号:0~1023。
IANA把⼀些端⼝号指派给了TCP/IP最重要的⼀些程序。
当有⼀些新的应⽤程序出现后,IANA必须给它指定⼀个熟知端⼝号,否则互联⽹上的其他应⽤进程⽆法和它进⾏通信。
应⽤程序FTP TELNET SMTP DNS TFTP HTTP SNMP SNMP(trap)HTTPS熟知端⼝号2123255369801611624432. 登记端⼝号:1024~49151。
这类端⼝号是为没有熟知端⼝号的应⽤程序使⽤。
这类端⼝号必须在IANA中按照规定的⼿续进⾏登记,以防⽌重复。
客户端使⽤的端⼝号:49152~65535。
只有在客户端进程运⾏时才动态选择,因此⼜叫短暂端⼝号。
这类端⼝号留给客户进程选择暂时使⽤,通信结束后就释放,不再占⽤。
实验4 传输层协议分析一、实验目的1、学习3CDaemon FTP服务器的配置和使用,分析TCP报文格式,理解TCP 的连接建立、和连接释放的过程。
2、学习3CDaemon TFTP服务器的配置和使用,分析UDP报文格式,理解TCP 协议与UDP协议的区别。
二、实验工具软件3CDaemon软件简介3CDaemon是3Com公司推出的功能强大的集FTP Server、TFTP Server、Syslog Server和TFTP Client于一体的集成工具,界面简单,使用方便。
这里主要介绍实验中需要用到的FTP Server功能和TFTP Server功能。
1、FTP Server功能(1)配置FTP Server功能:选中左窗格功能窗口,打开FTP Server按钮,单击窗格中的Configure FTP Server按钮,打开3CDaemon Configuration配置窗口,配置FTP Server功能。
这里需要设置的就是“Upload/Download”路径,作为FTP Server的文件夹,其它选项可以使用系统缺省设置。
设置完成后,单击确认按钮,设置生效。
(2)在实验中,我们使用3CDaemon系统内置的匿名帐户“anonymous”登陆FTP服务器,客户端使用微软FTP客户端命令,关于Ftp命令的说明介绍如下。
(3) Ftp命令的说明FTP的命令格式:ftp[-v][-d][-i][-n][-g][-w:windowsize][主机名/IP地址]2、TFTP Server功能(1) TFTP Server功能配置基本同上(FTP erver功能)。
(2)实验中,为了与TFTP服务器连通,可以使用Windows命令行模式下的TFTP 客户端命令,命令格式如下:TFTP[-i]host[GET|PUT]source[destination]三、实验内容和步骤1、TCP协议分析实验(1)按照上面3CDaemon软件的介绍方法在PC1上建立FTP服务器;(2)在PC1和PC2中运行Ethereal,开始截获报文,为了只截获到与我们实验有关的内容,将截获条件设置为对方主机的IP地址,如PC1的截获条件为“host 192.168.1.xx”(注释:PC2的IP地址);(3)在PC2上打开命令行窗口,执行如下操作:C:\Documents and Settings\Administrator>ftpftp>openTo 192.168.1.yy(注释:PC1的IP地址)Connected to 192.168.1.yy.220 3Com 3CDaemon FTP Server Version 2.0User(192.168.1.yy:(none)):anonymous331 User name ok,need passwordPassword:230-The response'is not valid.230-Next time,please use your email address as password.230 User logged inftp>quit221 Service closing control connectionC:\Documents and Settings\Administrator>(4)停止截获报文,将截获的结果保存为FTP-学号,按下列要求分析截获的结果;a)结合本节TCP协议介绍部分的内容,分析TCP连接建立的“三次握手”过程,找到对应的报文,填写表1(传输方向填写PC2-> PC1或PC2<-PC1)。
运输层协议运输层协议是 OSI 模型中的第四层,它提供了应用程序之间的端到端通信。
运输层协议主要有两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
传输控制协议(TCP)是一种可靠的、面向连接的协议。
它能够保证数据的可靠传输,确保数据的有序性,并且能够进行拥塞控制。
TCP通过将数据分割成多个小的报文段,并对每个报文段进行编号和校验,以确保数据的完整和正确性。
在传输过程中,如果某个报文段丢失或损坏,TCP将重新发送该报文段,以保证数据的可靠性。
此外,TCP还通过使用滑动窗口机制来控制数据的流量,以及使用三次握手和四次挥手来建立和终止连接。
用户数据报协议(UDP)是一种不可靠的、无连接的协议。
UDP不保证数据的可靠性,也不保证数据的有序性。
它仅仅将数据从一个应用程序发送到另一个应用程序,没有任何添加额外的标识或控制信息。
UDP适用于一些对数据传输延迟要求比较高的应用场景,如音频和视频传输。
由于UDP没有拥塞控制机制,因此它在网络拥塞情况下会导致丢失大量的数据。
运输层协议在互联网中起着至关重要的作用。
它使得不同计算机上的应用程序能够通过互联网进行通信。
运输层协议通过为每个数据包添加特定的头部信息,在网络中识别该数据包属于哪个应用程序。
它还负责将数据分割成适当的大小,并确定传输顺序,以确保数据能够正确到达目的地。
此外,运输层协议还能够实现多路复用和多路分解。
多路复用是指多个应用程序可以共享同一个网络连接,而不需要建立多个独立的连接。
多路分解是指一个应用程序可以同时处理多个网络连接。
这些特性使得运输层协议能够更有效地利用网络资源,提高网络的性能和吞吐量。
总之,运输层协议是互联网中非常重要的一层协议,它使得应用程序能够进行端到端的通信。
通过提供可靠性、有序性和拥塞控制等机制,运输层协议能够保证数据在网络中的正确传输。
无论是TCP还是UDP,它们都有各自适用的场景和优点,可以根据应用程序的需求来选择使用。
运输层协议与流量控制方法运输层协议是计算机网络中的关键组成部分,它负责在源主机和目的主机之间提供可靠的数据传输服务。
而流量控制方法则是为了控制数据传输的速率,确保网络的可靠性和性能。
本文将介绍运输层协议的概念、常见的运输层协议以及流量控制方法的原理和应用。
一、运输层协议概述1.1 运输层的作用运输层协议主要负责将网络层提供的数据进行分段,并在目的主机上将分段数据重新组装为原始数据。
它还负责向目的主机提供可靠的数据传输服务,确保数据的完整性和可靠性。
1.2 常见的运输层协议常见的运输层协议包括传输控制协议(TCP)和用户数据报协议(UDP)。
TCP是一种面向连接的协议,它通过三次握手建立连接并提供可靠的数据传输服务。
而UDP则是一种无连接的协议,它提供了一种简单灵活的数据传输方式。
二、运输层协议的特点与优势2.1 TCP的特点与优势TCP协议通过序列号、确认应答和重传机制来确保数据的可靠性。
它还具备流量控制和拥塞控制的能力,可以有效地控制数据传输速率,保证网络质量和性能。
2.2 UDP的特点与优势UDP协议的优势在于它是一种无连接的协议,无需建立连接和维护状态信息,具有较高的传输效率。
UDP适用于对实时性要求较高、数据可靠性要求相对较低的应用场景,如音视频传输和实时游戏。
三、流量控制方法3.1 滑动窗口流量控制滑动窗口是一种常用的流量控制方法,其原理是发送方和接收方约定一个窗口大小,发送方的发送速率不超过接收方的窗口大小。
当接收方接收到数据后,滑动窗口向前滑动,发送方根据窗口大小进行发送。
3.2 慢开始算法慢开始算法是TCP协议中的一种流量控制机制,其目的是在传输开始时逐渐增加拥塞窗口的大小。
该算法通过控制发送方的报文段数量来控制数据传输速率,从而避免网络拥塞和数据丢失。
3.3 拥塞避免算法拥塞避免算法是TCP协议中的另一种流量控制机制,其目的是在网络拥塞时减少发送速率。
该算法通过动态调整慢开始阈值和拥塞窗口大小来控制数据传输速率,避免网络拥塞和数据丢失。
高校-----计算机学院 实验报告书课程名称: 《TCP/IP原理及应用》实验题目:实验名称:班 级:学 号:姓 名:成 绩:指导教师:年 月 日实验报告课程名称课程名称 计算机网络计算机网络 学号学号 学生姓名学生姓名学生姓名 组号组号组号_______________辅导教师辅导教师辅导教师 罗娅罗娅罗娅 系别系别网络工程系实验室名称实验室名称实验时间实验时间1.实验名称.实验名称实验四 传输层协议分析2. 实验目的实验目的(1)利用HTTP 协议,分析TCP 建立连接的三次握手、释放连接的四次握手以及数据传输的控制方法;(2)利用QQ 软件分析相应的UDP 报文结构 3. 实验内容实验内容(1)TCP 协议分析实验(2)UDP 协议分析实验4. 预习内容预习内容(1)描述UDP 协议的报文格式。
(2)结合TCP 标志字段的相应比特和SYN 、ACK 字段描述TCP 建立连接的过程第一次握手:主机A 发送位码为syn =1,随机产生seq number=1234567的数据包到服务器,主机B 由SYN=知道,A 要求建立联机;第二次握手:主机B 收到请求后要确认联机信息,向A 发送ack number=(主机A 的seq+1),syn=1,ack=1随机产生seq=7654321的包第三次握手:主机A 收到后检查ack number 是否正确,即第一次发送的seq number+1,以及位码ack 是否为1,若正确,主机A 会再发送ack number=(主机B 的seq+1),ack=1,主机B 收到后确认seq 值与ack=则连接建立成功。
完成三次握手,主机A 与主机B 开始传送数据。
(3)结合TCP 标志字段的相应比特和FIN 、ACK 字段描述TCP 释放连接的基本过程。
第一次握手:客户发送 FIN=1,seq=u 给服务器客户把连接释放报文段首部的 FIN = 1,其序号seq = u ,等待服务器的确认。
运输层运输层的两个重要的协议:(1)用户数据报协议UDP(User Datagram Protocol)(2)传输控制协议TCP(Transmission Control Protocol)UDP在传送数据之前不需要先建立连接,远地主机的运输层在收到UDP报文后,不需要给出任何确认;TCP则提供面向连接的服务。
在传送数据之前必须先建立连接,数据传送结束后要释放连接;一、用户数据报协议UDPUDP协议是英文User Datagram Protocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。
包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。
UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。
1,UDP数据报的首部伪首部:在计算检验和时,临时把“伪首部”和 UDP 用户数据报连接在一起。
伪首部仅仅是为了计算检验和。
用户数据报UDP有两个字段:数据字段和首部字段。
首部字段很简单,只有8个字节,有四个字段组成,每个字段都是两个字节;(1)源端口在需要对方回信时选用(2)目的端口在终点交付报文时必须要使用到;(3)长度UDP报文长度(4)检验和实验解析:练习二:UDP单播通信在UDP单播通讯模式下,客户端和服务端之间建立一个单独的数据通道。
从一台服务端传送出的数据包只能由一个客户端接收。
众所周知,UDP协议是不可靠的,数据包可能在传输过程中丢失、重复、没有按照发送顺序到达,而且作为UDP数据包,其大小还受限于数据包的最大上限。
实验环境:1. 主机B、C、D、E、F上启动“开始/程序/网络协议仿真教学系统通用版/工具/UDP工具”,作为服务器端,监听端口设置为2483。
2. 主机C、E上启动协议分析器开始捕获数据。
3. 主机A上启动“开始/程序/网络协议仿真教学系统通用版/工具/UDP工具”,作为客户端,以主机C的IP为目的IP地址,以2483为端口,填写数据并发送。
ensp运输层协议分析实验报告运输层概述运输层为运行在不同主机上的应用进程之间提供逻辑通信(logic communication),从应用程序的角度来说,运行不同进程的主机之间好像直接相连一样,而不用考虑承载这些物理基础设施的细节。
运输层协议是在端系统中而不是路由器中实现的:在发送端,运输层将从发送应用程序进程接收到报文转换成运输层分组成为运输层报文段(segment),(后续网络层可能会封装成网络层分组(数据报)向目的地发送,在这个过程中网络路由器仅作用于该数据报的网络层字段),在接收端网络层从数据报中提取出运输层字段,并将报文上交给运输层网络应用程序中可以有多种运输层协议,在因特网中包括UDP 和TCP协议。
运输层和网络层区别运输层主要负责两个host之间不同进程之间的通信;而网络层提供host之间的逻辑通信;以寄快递的方式来描述:应用层报文是快递里面的东西,运输层主要负责收件人的具体信息,运输层协议主要负责各地区收集和分发快递人员;网络层主要负责收货地址,网络层协议主要负责运输车辆、方式的分配这种解耦的过程可以为不同进程通信之间规定不同的协议,而不是每个人都安排一辆车或者一种地址编码方式来造成杂乱的情况;同时不同的运输层协议也可以搭配不同的网络层协议。
因特网运输层概述UDP:用户数据报协议,这个进程提供一种不可靠、无连接的服务TCP:传输控制协议,提供可靠的、面向连接的服务结合IP层理解可能会更好,这里需要了解的是:因特网网络协议的为IP协议(网际协议),提供主机与主机之间的逻辑通信,服务模型是尽力而为角度,并不作任何确保,也就是称为不可靠服务,在这一章我们需要知道的是每一台主机都有一个IP地址UDP和TCP的基本责任是将两个端系统之间的IP交付服务拓展到端系统上两个进程之间的交付服务,这个称为多路复用(transport-layer multiplexing)和多路分解(demultiplexing)。
【练习与思考】
1、如果要列出本机当前建立的连接,可以使用的命令是(C )
stat -s
stat -o
stat -a
stat -r
2、TCP 的主要功能是( B )
A .进行数据分组
B .保证可靠传输
C .确定数据传输路径
D .提高传输速度
3、TCP报文段中序号字段指的是(A )的序号。
A 数据部分第一个字节
B 数据部分最后一个字节
C 报文首部第一个字节
D 报文最后一个字节
4、TCP报文中确认序号指的是( B )。
A 已经收到的最后一个数据序号
B 期望收到的第一个字节序号
C 出现错误的数据序号
D 请求重传的数据序号
5、TCP的确认是对接收到的数据中(A)表示确认
A 最高序号
B 第一个序号
C 第二个序号
D 倒数第二个序号
6、TCP发送一段数据报,其序号是35~150,如果正确到达,接收方对其确认的序号为(D )。
A 36
B 150
C 35
D 151
填空题
7、TCP报文的首部最小长度是(20字节)
8、TCP报文段中给源端口分配了( 2 )字节的长度
9、TCP报文段中序号字段为( 4 )字节
10、TCP报文段中的数据偏移实际指明的是(首部长度)
11、TCP报文段中,如果要使当前数据报传送到接收方后,立即被上传应用层,可将(急迫比特PSH )置1。
12、TCP协议对每一个要发送(字节)编了一个号
判断题:
13、TCP报文段中的确认序号只有在ACK=1时才有效(T )
14、TCP报文段中的PSH字段置1时,表明该报文段需要尽快传输( F )
15、TCP报文段校验时也需要像UDP协议那样增加一个伪首部(T )
16、TCP协议是按报文段进行编号的( F )
17、。