Android面试笔记——HTTPHTTPS

Android面试笔记——HTTPHTTPS,第1张

TCP协议

TCP面向连接的可靠的传输协议,在数据传输之前需要建立三次握手;

有点类似我们打的电话,通话之前需要先建立连接,双方确认在线后在进行数据传输。

UDP协议

UDP面向非连接的不可靠的传输协议,不必建立连接,直接发送数据;

有点类似我们的微信,发送之间无需确定对方是否在线,只需发送信息即可

DNS中对TCP和UDP的使用

通过抓包软件,我们常看到的是UDP的数据包,那么究竟什么时候使用TCP协议呢?

DNS的区域传输时使用TCP协议

什么是DNS的区域传输,DNS服务器分为主DNS服务器和辅DNS服务器;

在副DNS服务器和主DNS服务器进行通信,加载DNS信息时叫做DNS的区域传输。DNS的区域传输使用的是TCP协议,能够提供更加可靠的数据。

DNS的域名解析时使用UDP协议

用户端向DNS服务器发起域名解释,使用的是UDP协议;

UDP协议无需建立连接,能够提供更快的数据访问。

通过UDP包头的结构总结另一个“公式”:

UDP Data长度=IP总长度-IP Header长度-UDP Header长度

从公式可以可以看到UDP也不需要长度也可以完成工作,那UDP长度实际有什么意义呢?个人认为没有什么实际的意义。只是说不把Length写入UDP包头的话,某些应用程序会报错,因为不知道是从IP包头获取长度还是从UDP包头获取长度。因此,在UDP报文里,有两个携带重复信息的Length字段。

TCP协议

TCP面向连接的可靠的传输协议,在数据传输之前需要建立三次握手;

有点类似我们打的电话,通话之前需要先建立连接,双方确认在线后在进行数据传输。

UDP协议

UDP面向非连接的不可靠的传输协议,不必建立连接,直接发送数据;

有点类似我们的微信,发送之间无需确定对方是否在线,只需发送信息即可

DNS中对TCP和UDP的使用

通过抓包软件,我们常看到的是UDP的数据包,那么究竟什么时候使用TCP协议呢?

DNS的区域传输时使用TCP协议

什么是DNS的区域传输,DNS服务器分为主DNS服务器和辅DNS服务器;

在副DNS服务器和主DNS服务器进行通信,加载DNS信息时叫做DNS的区域传输。DNS的区域传输使用的是TCP协议,能够提供更加可靠的数据。

DNS的域名解析时使用UDP协议

用户端向DNS服务器发起域名解释,使用的是UDP协议;

UDP协议无需建立连接,能够提供更快的数据访问。

通过UDP包头的结构总结另一个“公式”:

UDP Data长度=IP总长度-IP Header长度-UDP Header长度

从公式可以可以看到UDP也不需要长度也可以完成工作,那UDP长度实际有什么意义呢?个人认为没有什么实际的意义。只是说不把Length写入UDP包头的话,某些应用程序会报错,因为不知道是从IP包头获取长度还是从UDP包头获取长度。因此,在UDP报文里,有两个携带重复信息的Length字段。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10730486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存