传输层有两个主要协议:TCP、UDP
一、UDP协议的主要特点:
特点 | TCP | UDP |
通信方式 | 全双工 | 全双工 |
传输是否可靠 | 可靠 | 不可靠 |
双方是否需要建立连接 | 建立连接 | 不需要建立连接 |
面向字节流 | 面向数据报 |
全双工:例如:数据既能从A主机传向B主机,也能从B主机传向A主机。
无连接:知道对端的IP地址和端口号就可以进行传输,不需要建立连接。
不可靠:没有确认机制,没有重传机制。
面向数据报:应用程序交给UDP 多长的报文,UDP即不拆分,也不合并。
二、UDP 的报文格式:
1、注意:
(1)16位UDP长度是整个数据报(UDP首部+UDP数据)的最大长度。也是一个UDP能传输的数据最大长度为64K。
如果需要传输的数据超过64K,则需要在应用层手动分包,多次发送,并在接受端手动拼接。
(2)16位校验和:在数据传输的过程中,数据转化成光信号、电信号、电磁波,容易收到磁场的干扰,会使0->1,1->0,出现比特翻转,丢失等,数据发生变化。
所以,在发送方发送数据时,根据数据内容和某种算法,生成检验和数据,发送给接受方,接受方在收到数据后,根据数据和算法,计算检验和,并与发送的校验和验证,如果数据不一致,则将该数据报丢弃。
2.常见的校验数据方式:
(1)奇偶校验
(2)CRC校验
(3)md5算法
特点:①定长。无论发送什么数据,算出来的md5值的长度都是一致的。
②分散。两个相似的数据,MD5值有很大的差异。
③不可逆。一个MD5值,很难算出原始数据。