首先我们了解传输层UDP和TCP之前要知道一些传输层前置知识:
UDP的可能考点和重点
1、整体构架图:
此处是书本整体图:
这是实际详细图:
2、UDP的校验和是什么?怎么工作的?
如何通过校验和进行数据校验?
这里要经过5个过程:
1、首先发送发把要发送的数据整理好(此处假设为data1),同时通过一定的算法,计算出校验和check1.
2、发送发把data1和check1通过网络一起发送出去。
3、接收方收到数据,假设收到的数据为data2(此时经过传输过可能和data1不同了),同时也收到了check1。
4、接收方根据收到的data2通过同样的算法计算出校验和check2。
5、最后接收方对比check1和check2是否一样,如果不一样则认为data1和data2不一样,反之如果check1和check2一样则认为data1和data2大概率相同(也有极小可能存在出错了但校验和相同的情况,但概率极低可忽略)。
此处要声明一点如果校验和传输过程出现错误而数据没错导致最终校验和不同,则也判定传输出错。因为我们的目的主要是判定这一次的网络传输有没有出现问题。
3、如何计算校验和
1、CRC算法:
2、md5算法
计算公式就不谈了肯定不会问(太难)主要谈特点:
1、定长:无论你原始数据是多长或者多短,你计算得到的md5都是固定的长度。
2、分散:给你2个原始数据哪怕他们只有一个字节不同,他们得到的md5都会差异很大。
3、不可逆:给你一个原始数据计算出md5很容易,但是你反过来计算出这个原始数据就很难,甚至理论上是不可行的,因此md5也很安全。
TCP可能的考点和重点(十个):