传输层协议——精选推荐

传输层协议
传输层中的协议
传输层(又称主机到主机传输层)为应用层提供会话和数据报通信服务。传
输层承担OSI传输层的职责。传输层的核心协议是TCP和UDP。TCP提供一对一的、面向连接的可靠通信服务。TCP建立连接,对发送的数据包进行排序和确认,并恢复在传输过程中丢失的数据包。与TCP不同,UDP提供一对一或一对
多的、无连接的不可靠通信服务。
不论是TCP/IP还是在OSI参考模型中,任意相邻两层的下层为服务提供者,上层为服务调用者。下层为上层提供的服务可分为两类:面向连接服务和无连
接服务。
1)面向连接的网络服务
面向连接的网络服务又称为虚电路(Virtual Circuit)服务,它具有网络连接建立、数据传输和网络连接释放三个阶段。是按顺序传输可靠的报文分组方式,适用于指定对象、长报文、会话型传输要求。
面向连接服务以电话系统为模式。要和某个人通话,首先拿起电话,拨号码,通话,然后挂断。同样在使用面向连接的服务时,用户首先要建立连接,安全网关
使用连接,然后释放连接。连接本质上像个管道:发送者在管道的一端放入物体,接收者在另一端按同样的次序取出物体;其特点是收发的数据不仅顺序一致,而且内容也相同。
2)无连接的网络服务
无连接网络服务的两实体之间的通信不需要事先建立好一个连接。无连接
网络服务有3种类型:数据报(Datagram)、确认交付(Confirmed Delivery)与
请求回答(Request reply)。
无连接服务以邮政系统为模式。每个报文(信件)带有完整的目的地址,并
且每一个报文都独立于其他报文,由系统选定的路线传递。在正常情况下,当
两个报文发往同一目的地时,先发的先到。但是,也有可能先发的报文在途中延误了,后发的报文反而先收到;而这种情况在面向连接的服务中是绝对不可能发生的。
1.传输控制协议(TCP)
TCP全称是Transmission Control Protocol,中文名为传输控制协议,它可以提供可靠的、面向连接的网络数据传递服务。传输控制协议主要包含下列任务和功能:
确保IP数据报的成功传递。
对程序发送的大块数据进行分段和重组。
确保正确排序及按顺序传递分段的数据。
通过计算校验和,进行传输数据的完整性检查。
根据数据是否接收成功发送肯定消息。通过使用选择性确认,也对没有收到的数据发送否定确认。
为必须使用可靠的、基于会话的数据传输程序,如客户端/服务器数据库和程序,提供首选传输方法。
1)TCP包的结构
TCP数据包头部总长最小为20字节,其结构如图1-23所示。
源端口(16)目的端口(16)
序列号(32)
确认号(32)
TCP偏移量(4)保留(6)标志(6)窗口(16)
校验和(16)紧急(16)
选项(0或32)
圈禁by靡靡之音
数据(可变)
图1-23 TCP数据包头部结构
源端口:指定了发送端的端口。
快鸟卫星目的端口:指定了接受端的端口号。
序列号:指明了段在即将传输的段序列中的位置。
确认号:规定成功收到段的序列号,确认序号包含发送确认的一端所期望收到的下一个序号。
TCP偏移量:指定了段头的长度。段头的长度取决于段头选项字段中设置的选项。
保留:指定了一个保留字段,以备将来使用。
标志:SYN(表示同步)、ACK(表示确认)、PSH(表示尽快地将数据送往接收进程)、RST(表示复位连接)、URG(表示紧急指针)、FIN(表示发送方完成数据发送)。
窗口:指定关于发送端能传输的下一段大小的指令。
校验和:校验和包含TCP段头和数据部分,用来校验段头和数据部分的可靠性。
紧急:指明段中包含紧急信息,只有当URG标志置1时紧急指针才有效。
选项:指定了公认的段大小,时间戳,选项字段的末端,以及指定了选项字段的边界选项。
2)TCP工作原理
TCP的连接建立过程又称为TCP三次握手。首先发送方主机向接收方主机
刚果红
发起一个建立连接的同步(SYN)请求;接收方主机在收到这个请求后向发送方主机回复一个同步/确认(SYN/ACK)应答;发送方主机收到此包后再向接收方主机
发送一个确认(ACK),此时TCP连接成功建立,如图1-24所示。
图1-24 TCP建立连接
一旦初始的三次握手完成,在发送和接收主机之间将按顺序发送和确认段。关闭连接之前,TCP使用类似的握手过程验证两个主机是否都完成发送和接收
全部数据。TCP工作过程比较复杂,包括的内容如下。
TCP连接关闭:发送方主机和目的主机建立TCP连接并完成数据传输后,
会发送一个将结束标记置1的数据包,以关闭这个TCP连接,并同时释放该连
接占用的缓冲区空间。
TCP重置:TCP允许在传输的过程中突然中断连接。
TCP数据排序和确认:在传输的过程中使用序列号和确认号来跟踪数据的
接收情况。
TCP重传:在TCP的传输过程中,如果在重传超时时间内没有收到接收方
主机对某数据包的确认回复,发送方主机就认为此数据包丢失,并再次发送这
个数据包给接收方。
TCP延迟确认:TCP并不总是在接收到数据后立即对其进行确认,它允许主机在接收数据的同时发送自己的确认信息给对方。
TCP数据保护(校验和):TCP是可靠传输的协议,它提供校验和计算来实现数据在传输过程中的完整性。
3)TCP与端口号
TCP和UDP都是IP层的传输协议,是IP与上层之间的处理接口。TCP和UDP端口号被设计来区分运行在单个设备上的多重应用程序的IP地址。由于同
一台计算机上可能会运行多个网络应用程序,所以计算机需要确保目标计算机
上接收源主机数据包的软件应用程序的正确性,以及响应能够被发送到源主机
的正确应用程序上。该过程正是通过使用TCP或UDP端口号来实现的。
在TCP和UDP头部分,有"源端口"和"目标端口"段,主要用于显示发送和
接收过程中的身份识别信息。IP地址和端口号合在一起被称为"套接字"。TCP
端口比较复杂,其工作方式与UDP端口不同。UDP端口对于基于UDP的通信作
为单一消息队列和网络端点来操作,而所有TCP通信的终点都是唯一的连接。
每个TCP连接由两个端点唯一识别。由于所有TCP连接由两对IP地址和TCP端口唯一识别(每个所连主机都有一个地址/端口对),因此每个TCP服务器端口都能提供对多个连接的共享访问,如图1-25所示。
图1-25 TCP程序使用保留或已知的端口号
风流变形记IETF IANA定义了3种端口组。
公认端口(Well Known Ports)从0~1023。
注册端口(RegisteredPorts)从1024~49151。
动态和/或专用端口(Dynamic and/or Private Ports)从49152~65535。
所有小于1024(当然,也有一些更高的数)的TCP服务器端口号都是
Internet号码指派机构(IANA)保留和注册的。
2.用户数据报协议(UDP)
UDP全称是User Datagram Protocol,中文名为用户数据报协议。UDP提
供无连接的网络服务,该服务对消息中传输的数据提供不可靠的、最大努力传送。这意味着它不保证数据报的到达,也不保证所传送数据包的顺序是否正确。UDP数据包的头部结构如图1-26所示。
源端口目的端口
用户数据包的长度校验和
桑乐屋数据

本文发布于:2024-09-23 10:22:07,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/392793.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:连接   数据   发送
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议