OSI传输层功能及协议
“要肉肉不啦”通过精心收集,向本站投稿了4篇OSI传输层功能及协议,下面是小编精心整理后的OSI传输层功能及协议,希望能够帮助到大家。
篇1:OSI传输层功能及协议
OSI传输层功能及协议
一、传输层的作用
1、 跟踪各个会话
因为每台主机上可能有多个进程进行通信,传输层需要将各个数据段发送给相应的进程,这也可以理解,在传输层报头中加入了源和目的进程号(其实就是端口号)。
2、 分段数据并管理每个分段(源)
3、 重组数据(目的)
4、 标识应用程序
这一条和第一条类似,用端口号标识。
5、 流量控制
6、 错误恢复
7、 开始会话
二、端口号
类型:
公认端口——端口0到1023(210-1)
公认端口用于服务和应用程序。都是一些常用的应用程序所采用。
例如:FTP(端口20,21);HTTP(端口80);DNS(端口53)
已注册端口——端口1024到49151
分配给用户进程或应用程序。这些应用程序是用户选择安装的一些应用程序,不是已经分配了公认端口的常用应用程序。
这些端口在没有被服务器资源占用时,可由客户端动态选用为源端口。
例如:MSN Messenger(端口1812);HTTP备用(端口8008,8080)
动态或私有端口——端口49152到65535
也称为临时端口。这些端口往往在开始连接时被动态分配给客户端应用程序。客户端一般很少使用动态或私有端口服务(只有一些点对点文件共享程序使用)。
三、TCP头结构
TCP协议头最少20个字节,包括以下的区域:
TCP源端口(SourcePort):16位的源端口其中包含初始化通信的端口。源端口和源IP地址的作用是标示报文的返回地址。
TCP目的端口(Destinationport):这个端口指明报文接收计算机上的应用程序地址接口。
TCP序列号(序列码,SequenceNumber):32位的序列号由接收端计算机使用,重新分段的报文成最初形式。当SYN出现,序列码实际上是初始序列码(ISN),而第一个数据字节是ISN+1。
确认号(Acknowledgment Number):32位的序列号由接收端计算机使用,重组分段的报文成最初形式。如果设置了ACK控制位,这个值表示一个准备接收的下一个包的序列码。
注:可以将确认号简单理解为准备接收地下一个包得序列码。
数据偏移量(HLEN):4位包括TCP头大小,指示何处数据开始。
保留(Reserved):6位值域,这些位必须是0。为了将来定义新的用途所保留。
标志(Code Bits):6位标志域。表示为:紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN。
窗口(Window):16位,用来表示窗口大小。
校验位(Checksum):16位TCP头。源机器基于数据内容计算一个数值,收信息机要与源机器数值结果完全一样,从而证明数据的有效性。
优先指针(紧急,Urgent Pointer):16位,指向后面是优先数据的字节,在URG标志设置了时才有效。如果URG标志没有被设置,紧急域作为填充。加快处理标示为紧急的数据段,
选项(Option):长度不定,但长度必须以字节。如果没有选项就表示这个一字节的域等于0。
填充:不定长,填充的内容必须为0,它是为了数学目的而存在。目的是确保空间的可预测性。保证包头的结合和数据的开始处偏移量能够被32整除,一般额外的零以保证TCP头是32位的整数倍。
四、TCP三次握手
第一次握手(申请):建立连接时,客户端发送SYN包(SYN=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize SequenceNumbers)。
第二次握手(回复+申请):服务器收到SYN包,必须确认客户的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手(回复):客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
五、通信中各种状态
LISTENING:监听来自远方TCP端口的连接请求。
SYN-SENT:在发送连接请求后等待匹配的连接请求。
SYN-RECE:在收到和发送一个连接请求后等待对连接请求的确认。
ESTABLISHED:代表一个打开的连接,数据可以传送给用户。
FIN-WAIT-1:等待远程TCP的连接中断请求,或先前的连接中断请求的确认。
FIN-WAIT-2:从远程TCP等待连接中断请求。
CLOSE-WAIT:等待从本地用户发来的连接中断请求。
CLOSING:等待远程TCP对连接中断的确认。
LAST-ACK:等待原来发向远程TCP的连接中断请求的确认。
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认。
CLOSED :没有任何连接状态。
可以用netstat命令查看一下主机现在建立的连接和状态。
六、TCP会话终止
若要关闭连接,应设置数据报头重的FIN控制标志,需采用包含FIN数据段和ACK数据段的二次握手,因此要终止一个TCP支持的整个过程,需要实施4次交换,以终止两个双向会话。也可以用三次握手来终止(四次握手中的二、三两次合并为一次)。
七、TCP重传
关于确认号的一个小细节:如果接收到序列号为1500到3000以及3400到3500的数据段,那么确认号应当为3001。这是因为未接收到3001到3399之间的数据段,此时准备接收的下一个数据段的序列号为3001。
TCP的标准实施流程是:主机传输数据段,并将数据段的副本列入重新发送队列,然后启动计时器。当接收到数据确认信息时,主机将从队列中删除对应数据段;如果到及时器超时还没有收到确认信息,将重新传输数据段。
现在的主机还有一项备选功能:选择性确认。如果两台主机都支持选择性确认功能,目的主机便可以确认间断数据段中得数据,那么源主机就只要传输丢失的数据。
八、TCP的拥塞控制
主要要清楚的就是动态窗口大小控制,来使得每个TCP会话有最佳的窗口大小。
九、UDP协议:低开销通信
UDP是一种简单协议,提供了基本的传输层功能。与TCP相比,UDP开销极低,因为UDP是无连接的,并且不提供复杂的重新传输、排序和流量控制机制。
与TCP的通信机制不同,由于UDP是无连接的协议,因此通信发生之前不建立会话。UDP是基于事务的,换言之,应用程序要发送数据时,它仅是发送数据而已。由于不建立会话,因此一旦数据和端口号准备就绪,UDP就可以生成数据报并递交给网络层,并在网络上寻址和发送。
因为UDP不进行排序,所以数据到达的时候只是按先来后到的顺序进行排列。如果数据的顺序对应用程序很重要,那么应用程序只能自己标志数据的正确顺序,并决定如何处理这些数据。
TCP与UDP的关键区别在于可靠性。
篇2:传输层RDP:可靠数据协议网络知识
RDP:可靠数据协议(RDP:Reliable Data Protocol) RDP 是一种面向连接的传输协议,其主要设计来为主机监控应用程序的下载/上传以及远程调试支持数据的有效成批传输,RDP 尝试只提供那些必需的 服务器 ,达到操作有效、尺度小的效果。其主要功能如下: RDP
RDP:可靠数据协议(RDP:Reliable Data Protocol)
RDP 是一种面向连接的传输协议,其主要设计来为主机监控应用程序的下载/上传以及远程调试支持数据的有效成批传输。RDP 尝试只提供那些必需的服务器,达到操作有效、尺度小的效果。其主要功能如下:
RDP 将在每个传输连接端口提供一个全双工通信信道;
RDP 将尝试可靠发送所有的户信息,一旦发送失败,及时向用户报告错误。RDP 扩展 IP 数据包服务使之包括可靠发送;
RDP 将尝试发现并删除所有损坏的和多重复制的字段,它将在每字段头使用核对和及序列号实现这一过程;
RDP 将会随意地提供字段序列发送,一旦建立连接,字段序列发送必须要被声明;
RDP 将会响应确认字段的非顺序接收,释放发送端的资源。
与 TCP 相比,RDP 支持更为简单的函数集。RDP 的流控制,缓冲以及连接管理模式都是相当简单的。对于一个协议,我们的目标就是它能够既简单又有效地执行并能适合一系列的应用程序。
RDP 函数集也可能是子集从而进一步减小特殊执行的大小,
例如,一台向其它主机请求下载的目标处理器可能执行一个 RDP 模块以支持默认的开放式函数和单连接。这个模块也可能不选择非顺序响应确认。
协议结构
RDP 第二版协议头结构如下:
Control flags ? 8个控制位划分如下:
SYN:SYN 位表示当前为同步段。
ACK:ACK 位表示协议头有效的承认序号。
EACK:EACK 位表示当前为扩展承认字段。.
RST:RST 位表示该数据包为复位字段。
NUL:NUL 位表示该数据包为空字段。
0:表示该字段的值必须设置为0。
Ver no:版本号,当前版本号为2。
Header length ? RDP 协议头长度。
Source Ports ? 源地址,识别通信发生的过程。网络访问协议头中,源地址和目标地址的端口标识符的结合完全限定了连接并形成连接标识符。如此 RDP 可用于区分两台主机间的多连接。
Destination Ports ? 目标地址,识别通信中的目标过程。
Data Length ? 该字段中的数据长度(八位),该数据长度不包括 RDP 协议头。
Sequence number ? 该字段的序列号。
Acknowledgement number ? 如果 ACK 位设置在协议头部,这就是字段序列号,即该字段发送端最后正确按序列接收的顺序。一旦连接成功,就应该发送该字段。
Checksum ? 检验和确保完整性。
Variable Header Area ? 用于传输 SYN 和 EACK 字段的参数。
原文转自:www.ltesting.net
篇3:传输层RUDP:可靠用户数据报协议网络知识
RUDP:可靠用户数据报协议(RUDP:Reliable UDP) 可靠用户数据报协议(RUDP)是一种基于 RFC908 和 1151 (第二版)的简单包传输协议,作为一个可靠传输协议,RUDP 用于传输 IP 网络 间的电话信号。它允许连接的独立配置,这样在不同的平台可以同时执行不同
RUDP:可靠用户数据报协议(RUDP:Reliable UDP)
可靠用户数据报协议(RUDP)是一种基于 RFC908 和 1151 (第二版)的简单包传输协议。作为一个可靠传输协议,RUDP 用于传输 IP网络间的电话信号。它允许连接的独立配置,这样在不同的平台可以同时执行不同传输需求下的协议。UDP/IP 协议中的 RUDP 是分层的并为虚拟连接提供可靠顺序发送(直到大量转发)。RUDP 设计灵活,便于多种传输使用。传输电讯号协议就是其应用之一。
可靠 UDP 的服务质量有了明显的提高,如拥塞控制的改进、转发机制及淡化服务器运算法则等,从而在包丢失和网络拥塞的情况下,RTP (实时位置)面前呈现的就是一个高质量的 RTP 流,
在不干扰协议的实时特性的同时,可靠 UDP 的拥塞控制机制允许 TCP 方式下的流控制行为。
为了网络 TCP 通信量正常运行,RUDP 使用转发及类似于 TCP 运算法则的拥塞控制法则。在最佳允许带宽的选择利用上,这些运算法则都得到了很好的证明。
RUDP 特征包括:
客户机确认响应服务器发送给客户机的包;
视窗和拥塞控制,服务器不能超出当前允许带宽;
一旦发生包丢失,服务器转发给客户机;
实时流即快速缓存迅疾。
协议结构
原文转自:www.ltesting.net
篇4:CCSDS SCPS网络层与传输层协议分析与仿真验证
CCSDS SCPS网络层与传输层协议分析与仿真验证
空间数据系统咨询委员会(CCSDS)针对空间通信的`特点制定了空间通信协议标准SCPS(Space Communications Protocal Specification).文章从CCSDS标准在中国空间技术的实际应用出发,对CCSDS SCPS协议中网络层协议(NP)和传输层协议(TP)进行研究,分析其特点和适用性,并与TCP/IP协议进行对比,最后设计演示验证系统对所提方案进行验证并得出结论:在空间通信环境下,采用SCPS协议后的性能优于采用TCP/IP协议.
作 者:刘俊 王九龙 石军 Liu Jun Wang Jiulong Shi Jun 作者单位:中国空间技术研究院,北京,100094 刊 名:中国空间科学技术 ISTIC PKU英文刊名:CHINESE SPACE SCIENCE AND TECHNOLOGY 年,卷(期):2009 29(6) 分类号:P1 关键词:空间通信 协议标准 网络层 传输层 仿真 Space communication Protocol specification Network Transport Simulation【OSI传输层功能及协议】相关文章:
2.教你禁用Windows7的光盘刻录功能及去除快捷方式箭头
10.电功教学设计






文档为doc格式