主机到主机层(OSI称为传输层)提供的两个主要服务------TCP和UDP简要总结

1.TCP:传输控制协议,TCP向应用提供了可靠的、面向连接的服务(也就是我们一般称为的可靠传输协议)。
在这里插入图片描述
源端口和目标端口:字段长度各16位,它们为封装的数据指定了源和目的应用程序。
序列号:字段长度32位,序列号确定发送方发送的数据流中被封装的数据所在的位置。
确认号:字段长度32位,确认号确定了源点下一次希望从目标接受的序列号。
报头长度:又叫数据偏移量,4位,指定了以32位为单位的报头长度。
标记:字段长度为8位,每一位分别代表(从左到右的顺序)------拥塞窗口减少CWR、ECN-echo(ECE)、紧急(URG)、确认(ACK)、弹出(PSH)、复位(RST)、同步(SYN)和结束(FIN)。
窗口大小:字段长度为16位,主要用于流控。

TCP除了完成主机到主机层的基础工作(数据包的分段+端口号)外,还需要保障数据的可靠传输。
TCP是如何实现面向连接保障数据的可靠传输呢?
1)握手机制:TCP在传输数据之前,首先会通过三次握手机制与自己的目标建立虚拟的点到点连接(通俗的讲,就是首先你得知道你的目标是谁,他在哪)。
在这里插入图片描述
如图所示,主动方发出SYN连接请求后,等待对方回答SYN+ACK,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接。
建立虚拟的点到点连接的好处:
1>仅存在一条到达目的地的路径。进入连接的数据包不会丢失,因为数据包唯一可去的地方就是连接的另一端。
2>数据包到达的顺序与发送的顺序相同。

2) 可靠传输:通过确认、重传(接受方按照数据包的顺序识别出未能到达或发生错误的数据包时会通知发送方或一定时间内接收方没有给发送方回复确认包)、流控(窗口机制)、排序(TCP使用序列号对数据包进行标记,以便TCP接收服务在向目的应用传递数据之前,修正错序的数据包排序)。
2.UDP:用户数据报协议,UDP提供了一种无连接、尽力而为传送数据包的服务(也就是我们一般成为的非面向连接的不可靠传输协议)。
在这里插入图片描述
UDP完成主机到主机层的基础工作(数据包的分段+端口号)。
UDP相比于TCP的优势:
1)UDP不需要花费时间来建立连接,直接就可以发送数据。
2)UDP的报头长度远远小于TCP的报头长度。
3)UDP的校验和包括整个段,校验和是可选的,不使用时全为0。

总结: TCP适合用于对一些重要的流量进行传输;UDP适合对大数据量且不是很重要的流量进行传输(例如你利用播放器看视频)。

猜你喜欢

转载自blog.csdn.net/ZhangPengFeiToWinner/article/details/84572403
今日推荐