Java经典面试题之传输层的UDP和TCP部分(重点)(记得收藏面试前可以快速回顾)

首先我们了解传输层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可能的考点和重点(十个):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值