• 239查看
  • 0回复

[网络开发] 以太网通信之TCP和UDP

[复制链接]


该用户从未签到

发表于 21-4-2024 08:29:08 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


1 网络模型介绍
OSI(open system interconnection)开放系统互联模型是由ISO(InternationalOrganization for Standardization)国际标准化组织定义的网络分层模型,共七层。TCP/IP网络协议栈分为:应用层(Application)、传输层(Transport)、网络层(Network)、链路层(Link)和物理层(Physical)。如下图所示。两者的对应关系如下图所示。
以太网通信之TCP和UDPw1.jpg

OSI参考模型与TCP/IP五层模型对应关系
物理层就是传输介质,如网卡,网线等。数据链路层前文介绍的MAC层,主要提供可靠的数据传输服务,实现无差错数据传输。网络层负责将各个子网之间的数据进行路由选择,分组与重组,如IP、ICMP(ping命令的协议)、IGMP都属于这层的定义的规范。传输层提供可靠的数据传输服务,这层就出现了本文要重点介绍的UDP(User Datagram Protocol)和TCP(Transmission Control Protocol))两种方式。应用层就是我们的应用代码了,如http协议等。以太网数据在传输时每层都会在payload前加上自己的tag,五层协议(传输层为TCP)对应的数据包结构如下所示。
以太网通信之TCP和UDPw2.jpg

2 TCP和UDP的区别
TCP和UDP从其名字也可以看出来,前者是由传输协议层来控制发送,而后者时用户来来控制的。TCP是一种面向连接的协议,通过三次握手建立可靠的连接,通过4次挥手断开连接。发送端将数据分割成多个TCP段,并通过IP进行传输。接收端接收到TCP段后进行重组,并通过确认机制确保数据的可靠性。TCP还使用拥塞控制和流量控制机制来保证网络的稳定性。而UDP是一种无连接的协议,数据以数据报的形式独立发送。发送端将数据打包成UDP数据报并通过IP进行传输,接收端接收到数据报后直接提取数据。UDP不提供可靠性保证和拥塞控制机制,因此传输速度较快。3 TCP数据传输流程TCP三握四挥的过程如下图所示。
以太网通信之TCP和UDPw3.jpg

三次握手
第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端;第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了你想要发送数据的信息并且我现在是否可以接收你的数据;第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道你能正常收到报文了,接下来我可以正常把数据发出了,此时握手结束。其中:SYN标志位数置1,表示建立TCP连接;ACK标志表示验证字段。
四次挥手
第1次挥手:客户端发送一个FIN数据包,用来关闭客户端到服务端的数据传送,客户端进入FIN_WAIT_1状态;第2次挥手:服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入CLOSE_WAIT状态;第3次挥手:服务端会先确保断开前,所有传输到A的数据是否已经传输完毕,一旦确认传输数据完毕,服务端发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态;第4次挥手:客户端收到FIN后,客户端t进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,服务端进入CLOSED状态,完成四次挥手。
传输过程的数据保证
TCP (传输控制协议) 是一种可靠的面向连接的协议,它通过以下几种方式来保证数据的可靠传输:1、确认和重传机制:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传(可采用滑动窗口机制缓存一些数据包)。2、序列号和确认号:TCP将每个数据段都分配一个序列号和确认号,序列号用于标识数据段的位置,确认号用于确认已经收到的数据段的位置,这样可以避免数据丢失或乱序。3、流量控制:TCP使用滑动窗口协议来控制发送方发送数据的速率,接收方会告诉发送方它的缓冲区大小,发送方会根据接收方的缓冲区大小来控制发送速率,确保接收方不会因为太快而丢失数据。4、拥塞控制:当网络拥塞时,减少数据的发送。
4 传输层协议的选择
TCP提供可靠性和顺序性,适合数据完整性要求高、顺序处理的应用;而UDP提供快速传输和较低的开销,适用于实时性要求高、对数据可靠性要求较低的应用。根据具体需求和应用场景的不同,选择适合的协议可以提高网络性能和用户体验。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 1-2-2025 07:58 , Processed in 0.205072 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.