当前位置:   article > 正文

深入理解网络原理2----UDP协议

深入理解网络原理2----UDP协议


前言

随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同⼯作来完成业务,就有了⽹络互连。


一、UDP协议

协议段格式(简图)

在这里插入图片描述
在这里插入图片描述

校验和

校验和的作用:尝试检查当前传输的数据是否存在问题?是否出现了bit翻转?如果发现存在问题,就可以把这个错误的数据包丢弃掉,避免将错就错。

UDP中,校验和使用比较简单的CRC算法(循环冗余校验)来完成校验。
原理是:UDP数据报发送方,在发送之前,先计算一遍CRC,把算好的CRC值放到UDP数据报中(设这个CRC值为value1),接下来这个数据包通过网络传输到达接收端,接收端收到这个数据后,也会按照同样的算法再算一遍CRC的值,得到的结果为value2,比较这两个值是否一致,如果一致说明数据没问题,如果不一致,说明传输过程中发生了比特翻转。上述CRC算法,只要有一个bit位发生翻转,此时一定可以发现问题。如果两个/多个bit位发生翻转,有可能恰好校验和和之前一样(低概率事件忽略不计)。

二、UDP与TCP

TCP特点UDP特点
有连接无连接
可靠传输不可靠传输
面向字节流面向数据报
全双工全双工

有连接/无连接

此处连接”不是物理意义的连接,而是抽象,虚拟的连接。
相当于打电话、拨号,直到对方接通,才算完成建立连接。TCP进行编程的时候,也存在类似的建立连接的过程。 像发微信、发短信,不论对方是否同意都能发过去,则不需要建立连接,就能进行通信。UDP进行编程时,则不需要进行连接。

可靠传输/不可靠传输

网络上存在的“异常情况”很多,无论使用什么样的软硬件的技术手段,无法100%保证网络数据能从A一定传输到B。此处的可靠传输是尽可能的完成数据传输,虽然无法确保数据到达对方,至少可以确认对方是否收到这个数据。则此处可靠传输,主要指的是发的数据到没到,发送方能够清楚感知到。

面向字节流/面向数据报

面向字节流:此处字节流和文件操作中的字节流完全一致,网络中传输数据的基本单位就是字节。
面向数据报:每次传输的基本单位是一个数据报(由一系列的字节构成特定的结构)。

全双工/半双工

全双工:一个通道可以双向通信。
半双工:一个通道只能单向通信。


最后,码字不易,如果觉得对你有帮助的话请点个赞吧,关注我,一起学习,一起进步!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/539629
推荐阅读
相关标签
  

闽ICP备14008679号