计算机网络(二)——物理层和数据链路层

一、物理层

       1.作用

           实现相信计算机节点之间比特流的透明传输,尽可能屏蔽具体传输介质和物理设备的差异。

       2.数据传输单位

           比特。

       3.相关通信概念

          ①信源和信宿:即信号的发送方和接收方。

          ②数据:即信息的实体,比如图像、视频等,在计算机内部通常采用二进制表示。

          ③信道:信号传输的通道,通常一条物理链路对应两个信道:发送信道和接收信道。

          ④信号、码元:数据的载体,分为数字信号和模拟信号,数字信号值是离散的,模拟信号值               是连续的。可以用电压、电磁波等作为信号,其数值就是信号值。一个信号就是一个码                   元。未经过调制的原始电信号称为基带信号。

         ⑤带宽:在通信中,带宽指的是信道允许通过的信号频带范围,单位为Hz、kHz、MHz等;               在计算机网络中,带宽指的是信道的最大传输速率,单位为bps、bit/s、kbps、Mbps等。               两种带宽都是反应信道的数据传输能力,带宽越大其数据传输能力越强。

         ⑥噪声:指影响信号在信道上传输速率、干扰信号传输的因素,如强磁场会对电磁波产生干                 扰,强磁场就属于噪声。

         ⑦比特率和波特率:都是用来描述数据传输的速率,比特率即单位时间内可以传输多少比                  特,单位是bps,波特率则是在一秒可以传输多少个码元,单位是码元/秒或波特。

         ⑧信噪比:即信号的功率和噪声的功率的比值,信噪比越大说明噪声对信号传输造成的影响                越小。在实际应用中,由于信号的功率往往远高于噪声的功率,所以信噪比的实际计算公              式为10log_{10}S/N,单位为分贝或dB,其中S/N就是信号的功率和噪声的功率的比值。

      4.奈奎斯特定理

           在一个没有噪声、带宽有限的理想低通信道中,极限波特率为两倍的带宽(指通信中的带               宽)。奈奎斯特定理说明了在理想情况下带宽越大信道传输码元的能力越强,但波特率不               能太高,会导致码间串扰,即接收方无法识别码元。

      5.香农定理

          在一个有噪声、带宽有限的信道中,极限比特率为:带宽×log_{2}(1+S/N),其中带宽也指            的是通信中的带宽,S/N为信号的功率和噪声的功率的比值。香农定理说明通过提高带宽和            信号功率、降低噪声功率能够提高信号的最大传输速率。

      6.编码&解码、调制&解调

          将二进制数据转换成数字信号就是编码,将数字信号转换为二进制数据就是解码;网络适配            器中有一部分就是编码-解码器。将二进制数据转换成模拟信号就是调制,将模拟信号转换              为二进制数据就是解调;光猫就是一种调制-解调器。

          在将数字信号调制为模拟信号时,可以将数字信号通过调幅、调频、调相的方式转换成模拟            信号;若将数字信号转换成类似Asin(Bx+C)的模拟信号,那么A代表振幅,B代表频率,C              代表相位,通过改变A使得不同振幅的模拟信号代表不同的数字信号的调制被称为调幅或                AM(也称幅移键控,ASK),通过改变B使得不同频率的模拟信号代表不同的数字信号的             调制被称为调频或FM(也称频移键控,FSK),通过改变C使得不同相位的模拟信号代表不             同的数字信号的调制被称为调相或PM(也称相移键控,PSK)。还有一种调制方式是正交幅             度调制QAM,即通过改变振幅和相位来代表不同的数字信号,调幅和调相的结合。

     7.传输介质

      8.中继器和集线器

二、数据链路层 

        1.功能概述

补充:

       ①透明传输:发送方的数据链路层会给网络层传来的数据进行处理,在加上一些附加信息后再进行传输,如果接收方的数据链路层收到帧后将这些附加信息去掉后再传给网络层,那么从网络层的视角来看是“原封不动”传过来的。

       ②广播信道要进行介质访问控制:广播信道为总线型拓扑,所以会出现总线争用的问题,这就需要介质访问控制来解决总线争用问题。

          2.封装成帧

        封装成帧要解决两个问题:给数据加上界限来分清一个个帧,还需要将处理后的帧恢复原样传给网络层。

       封装成帧有四种方法:

       ①字符计数法:在每个帧的开头加上一个定长的计数字段用来记录封装后的整个帧的长度,即所加计数字段的长度与数据部分的长度之和。这种方法实现简单但容易出错,如果一个计数字段出错,那么后面所有的数据都会出错。比如一组数据①②③④⑤,其中①②③、④⑤各为一帧,①和④为计数字段;此时①的数据出错,记录的帧长变成了2,那么接收方就会认为①②是一帧,所以后面的③会被视为下一帧的计数字段,进而形成连锁反应,导致后面所有的数据出错。

       ②字节填充法:设定三种特殊字符:标志帧起点的字符SOH和帧终点的字符EOT以及转义字符。在封装成帧时要在帧的前面和后面分别加上SOH和EOT字段以界定不同的帧。其中转义字符则是如果数据部分中出现了这三种特殊字符会被接收方误以为是特殊字符而不是数据,需要在这些特殊字符前面加上转义字符来告诉接收方这些是数据部分。

       ③零比特填充法:会在帧的前面加上一组字段01111110标志帧的开始,下一个帧的01111110既表示上一帧的结束也表示下一帧的开始。同时为了防止数据部分含有相同的字段,规定如果数据部分每出现5个连续的1就在后面加上一个0,这样数据部分就不会出现相同的字段了;同时接收方会对帧进行逆处理,去掉数据部分加上的0使其恢复成原来的数据。这种方式比较简单,并且HDLC和PPP协议都是采用的这种方式

       ④违规编码法:数据在编码成数字信号时是有一定的规则的,如果将一个不会出现在规则内情况的数字信号加在开头,那么不仅能界定每一个帧,而且也不用担心数据部分出现相同的编码。虽然需要物理层的配合,但实现方法很简单,是比较常用的方式。

        3.差错控制

       差错控制有两种处理方式,一种是采用检错编码只检查传输过程中数据有没有出错,如果出现错误则会再重新发送一次;另一种是采用纠错编码在检查是否出错的同时来纠正出现的错误。

            3.1检错编码
              3.1.1奇偶校验码

       奇校验码是在数据前面加上一位后将数据变成一个校验码。规定如果数据部分中1的个数为奇数,那么就在数据前面加上一个0使整个校验码中1的个数为奇数;如果数据部分中1的个数为偶数,那么就在数据前面加上一个1也使整个校验码中1的个数为奇数。

       偶校验码同样的道理,只不过在数据前面加上的那一位要使得整个校验码中1的个数为偶数。

       实际上使用偶校验码的更多一些,因为使用异或运算就可以判断出1的个数是否为偶数。

       异或运算:

      接收方会对整个校验码的每一位进行异或运算。由异或运算可以得出,出现偶数个1时结果为0,出现奇数个1时结果为1。如果在传输时有奇数个1变成了0,那么运算结果就会不同,这就可以检测出数据是否出现了错误;但如果有偶数个1变成了0则无法检测到,因为此时1的个数还是偶数个,异或运算的结果仍为0。

              3.1.2CRC循环冗余校验码

补充:

        ①生成多项式为g(x)=x^{^{n}}+x^{n-1}+...+x+1,如果少了其中的几项则说明该项前面的系数为0,将每一项前面的系数拼起来就形成了除数。除数有R+1位是因为还有一项1也就是x^{0}

       ②信息位是指原来的数据部分,使用二进制表示的。

       ③模二除:因为被除数和除数都是二进制数,所以要用二进制除法。所谓二进制除法,则是看被除数和除数的首位数字是否相同,如果相同则上1,不同则上0;随后对除首位之后的所有位数作对应的异或运算。例如1110÷101,首位相同则上1,变成111⊕101=10(因为首位不参与运算),随后和普通除法运算一样再向后取一位继续运算,即再计算100÷101,首位相同上1,变成100⊕101=01;所以1110÷101的商为11,余数为01。

       ④循环冗余校验码是有纠错能力的,是因为当选择合适的生成多项式且满足2^{R}\geq K+R+1时,CRC码中每一位出现错误后对应的模二除的余数都不为0且余数各不向同,根据这个性质可以推断出是哪一位出现了错误,进而可以纠正单比特错误(如果出错的那一位上的数是1,那么根据二进制原来这一位上的数必然是0)。只不过纠错能力有限,在实际生活中传输的数据通常位数有很多,所以只用于检验是否出现了错误。下面是例子:

       选择合适的生成多项式时:

       选择不合适的生成多项式时: 

           3.2纠错编码——海明码

         4.流量控制与可靠传输

       之所以要给帧编号,是因为如果有两个帧的数据完全一样,发送方在成功发送了一个帧再继续发送下一个一模一样的帧时,接收方就无法判断这个帧是发送方发送了一个重复的帧还是发送方又发送了一个新的帧,需要给每个帧编号用于区分不同的帧。 

               4.1滑动窗口机制

      在开始发送数据时:

       接收方在接收完接收窗口内的帧后,会滑动接收窗口来接收其他帧,同时控制发送窗口滑动来发送其他帧: 

           4.2停止-等待协议

①正常发送和接收

 ②当发送的帧丢失时

       发送方在发送一个帧的同时会启动计时器以等待接收方的确认帧。由于发送的帧丢失了,接收方就不会收到这个帧,也就不会发送确认帧和移动接收窗口,发送方也就不会收到对应的确认帧,进而也不会移动发送窗口。当发送方等待收到确认帧的时间超过一定值时,就会认为这一帧没有发送成功,便会再向接收方重新发送这一帧,同时计时器也会重新开始计时,直到在规定时间内收到接收方的确认帧才会滑动发送窗口,开始发送下一帧。

③当发送的帧出现错误时

        当接收方检查到帧出现错误后会将其丢弃,同时也不会发送确认帧;此时发送方就无法收到确认帧,计时器也就会超时,一旦超时发送方会重新向接收方再次发送这个帧,计时器也会重新开始计时,直到在规定时间内收到确认帧。

④当接收方发送的确认帧丢失时

       此时的状态是,发送方已经发送了这一帧并等待确认帧,接收方成功收到了这一帧且滑动了接收窗口以准备接收下一帧。由于确认帧丢失导致发送方迟迟收不到确认帧造成超时,发送方会重新发送这一帧;虽然接收方已经滑动了接收窗口,但还是会对这个重复帧进行响应:先丢弃这个重复帧,再向发送方重新发送一个确认帧,直到不再接收到重复帧为止(因为只有发送方成功收到了确认帧才不会重复发送)。

⑤为什么只用1bit来给帧编号?

       因为接收窗口和滑动窗口的大小都是1,发送窗口只有收到接收方的确认帧后才会滑动且两者每次都只滑动1格,所以接收窗口与发送窗口最多也只相差1格,也就只用分清当前帧和前一个帧即可(用于区分重传帧和新发送的帧);这就说明只需要两个编号,而一个bit正好可以表示两种编号,所以只使用1bit给帧编号。

⑥为什么不存在数据帧失序的问题?

       因为接收窗口和滑动窗口的大小都是1,且发送窗口只有收到接收方的确认帧后才会滑动,所以只有在接收方成功接收到帧时才会开始下一个帧的传输,这样就保证了每个帧都能成功传输且是按序传输。

          4.3后退N帧协议

 补充:

       ①由于发送窗口较多而接收窗口只有一个,并且GBN规定可以累计确认,所以正常情况下接收方会在接收完和发送窗口相同个数的帧后向发送方发送接收到的最后一个帧的确认帧。发送方在接收到这个确认帧后会将发送窗口滑动到下一组数据帧。

       ②当发送的帧丢失、出错或者确认帧丢失时,都会导致发送方接收不到确认帧使得计时器超时,引发重新发送。因为接收方是累计确认的,发送方并不知道哪些帧成功发送哪些帧需要重传,所以发送方会依次发送处于发送窗口的所有帧。而接收窗口的大小为1,此时接收方必然会收到不在接收范围内的帧,这些对于接收方来说都属于“非法帧”;遇到“非法帧”时接收方会将所有的“非法帧”丢弃并重新发送最后成功收到的帧的确认帧,发送方在收到确认帧后会将发送窗口滑动至确认帧对应的帧的下一个,然后继续依次发送发送窗口内的所有帧。

       ③相对于停止-等待协议,虽然不用每次都要发送确认帧,但是一旦出现了传输问题就需要重新发送更多的帧,而停止-等待协议只用每次重传1个帧即可,使得后退N帧协议在通信环境不好的情况下传输效率更为低下。

        4.4选择重传协议

        5.介质访问控制

       为了解决总线中多个终端同时发送数据造成数据混乱的问题,需要使用介质访问控制。

           5.1信道划分(时分复用、统计时分复用、频分复用、波分复用、码分复用)

       时分复用:先将时间等分成一个个周期,再将每个周期的时间划分成n等分,并将每一份分给不同终端用于传输数据,其中n为这条总线上终端的个数。如果在一段时间内只有某个终端要发送大量数据,其他终端暂不会发送数据,这种时间分配方式就会导致不发送数据的终端依旧被分配给了时间片,需要发送大量数据的终端并不能得到更多的时间,这就会产生时间的浪费,信道利用率低。所以在时分复用的基础上产生了统计时分复用会动态的分配时间,如果有需要,可以将一定时间都分配给某个终端;同时如果某台终端在一定时间内闲置,则可以不给它分配时间,这就使得信道利用率更高。 

       频分复用:给每台终端分配不同的子频带传输数据,这些子频带不会相交且每两个相邻的子频带之间会设置一个隔离频带用于防止不同子频带之间相互干扰。由于不会造成相互干扰,所以频分复用允许多个终端同时传输数据。但频分复用只能用于模拟信号传输数据,因为数字信号没有频带;频分复用会使得数据传输速率降低,每台终端都达不到最大传输速率,因为每台终端只能使用总带宽的一部分。

       波分复用:针对光纤的一种技术,因为光速=波长×频率且光速一定,所以采用不同波长的光传输数据相当于也是采用不同频率传输数据。并且光的频带非常大,很适合采用波分复用。

       码分复用:给每个节点分配不同的码片序列,所谓码片序列就是用一堆数字表示1,用与之每一位都相反的一堆数字表示0。引入向量来方便理解:如果给A终端分配的码片序列为(1,1,1,1),那么如果A终端发送数据(1,1,1,1)就表示A发送了1,发送(-1,-1,-1,-1)就表示A发送了0。在给不同终端分配不同的码片序列时,要保证不同的码片序列两两正交。当两个终端同时发送数据时,所发送的不同码片序列会叠加在一起形成一个新的序列;比如A发送(1,1,1,1),B发送(-1,1,-1,1),那么同时发送会叠加成(0,2,0,2)。接收方会对叠加序列进行处理来分别推出A和B发送了哪些数据:将叠加序列与不同的码片序列作规格化内积。规格化内积就是先对叠加序列和码片序列作点积,得出的结果再除以序列的位数,如果得到1则代表发送了1,如果得到-1则代表发送了0。以上面的例子为例,(0,2,0,2)·(1,1,1,1)÷4=1,(0,2,0,2)·(-1,1,-1,1)÷4=1,可得A发送了数据1、B发送了数据1。码分复用保证了即使不同终端同时发送数据,也能区分出不同终端发送了哪些数据。

            5.2随机访问(ALOHA协议、CSMA协议、CSMA/CD协议和CSMA/CA协议)

 

       纯ALOHA:优点是发送数据无限制,信道利用率高;缺点是发生冲突的可能性很大

       时隙ALOHA:优点是发生冲突的可能性较低,但会出现这种情况:只有某个终端想发送数据,但还没有轮到属于它自己的时间片无法发送数据,此时信道会一直空闲。信道利用率低

       1-坚持CSMA:优点是信道利用率高,一旦信道空闲就可以被其他终端使用;缺点是发生冲突的可能性大,当信道空闲时所有想发送数据的终端都会监听到并会同时发送数据造成冲突。

       非坚持CSMA:优点是由于在监听到信道被占用后会等待随机一段时间再监听,使得不同终端监听到信道空闲的时机可能会错开,进而降低发生冲突的概率;缺点是会发生虽然信道空闲,但每个终端都处于等待重新监听的状态而不会发送数据的情况,使得信道利用率降低

       p-坚持CSMA:属于1-坚持CSMA和非坚持CSMA的折中方案,既能降低发生冲突的概率,又能保持较高的信道利用率

       CSMA/CD协议

       在发送前先监听信道是否有其他终端在发送数据,如果有那么会坚持监听信道,当信道空闲后会立即发送数据。在发送数据的同时也会持续监听有没有发生冲突,如果有则立即停止发送,在等待随机时间后重新发送。

       什么是争用期?为什么争用期是两倍的最大单向传播时延?

       争用期是指如果在一段时间内未发现冲突就能确保一定不会发生冲突的最短时间。

       最大单向传播时延指的是总线上相距最远的两台终端的单向传播时延。现假设总线上相距最远的两台终端分别是A和B,只有A发送的数据到达了B,才能确保总线上的其他终端都会监听到A正在发送数据从而避免冲突,但此时仍无法保证不会发生冲突。在A向B发送的数据无限接近于B时B也想给A发送数据,由于信号还没有到达所以B会监听到信道是空闲的,便会立即发送数据,此时信道内必然会产生冲突;而只有等到B发送的信息传到A时A才能监听到发生了冲突进而停止发送数据来避免冲突,数据从B到达A需要一个最大单向传播时延。从A开始发送数据到监听到发生冲突的整个过程经历的时间无限趋近于两倍的最大单向传播时延。而如果在两倍的最大单向传播时延内A没有监听到冲突,那就说明距离最远的B也没有发送数据,进而可以得出总线上除A之外的其他终端也都没有发送数据,从而可以确保一定不会发生冲突。

      为什么要设置最短帧长?为什么最短帧长是争用期×信道带宽?

       由于CSMA/CD协议没有确认帧,所以在发送数据的时间内如果未检测到冲突便认为数据成功发送了。但如果所发数据的帧长过短,会出现还没有检测到冲突就发送完数据的情况,此时发送方认为数据传输过程中没有发生冲突,但实际上却是发生了冲突。为了尽可能保证数据传输的可靠性,需要规定一个最短帧长,所有小于最短帧长的数据都会视为无效帧;即使要发送的数据确实很少,也要给所发送的数据补充内容使其长度达到最小帧长。

       因为争用期是能确保不发生冲突的最短时间,所以要保证在争用期内即使以最大传输速率发送数据也不会被全部发送,所以最短帧长就是争用期×信道带宽。

       为什么要设置最长帧长?

       这是为了防止某台终端一直发送数据占用信道,致使其他终端长时间不能发送数据。最长帧长的设定在不同情况下有不同的设定。如果一个数据帧的长度大于最长帧长,那么就会给这个数据帧进行分片传输。

       为什么r的随机取值区间会随着监测到冲突的次数k的增大而增大?

       因为监测到冲突的次数越多,就认为信道越忙碌,就需要更大的取值区间来增加随机等待时间错开的可能性,尽可能避免冲突。

       CSMA/CD协议由于没有发送确认帧机制,所以为了尽可能使数据在传输过程中不发生错误,通常应用于有线网络中(如以太网)

       CSMA/CA协议

       发送方在发送前先监听信道是否空闲,如果空闲会等待DIFS的时间间隔后直接发送数据并会一直发完,如果不空闲则会进行随机退避:先利用二进制指数退避算法得到随机等待的时间,进入倒计时状态;然后开始持续监听信道,如果信道忙碌则倒计时停止,只有监听到信道空闲时倒计时才会继续。基于随机退避的规则,可以推断出当倒计时结束时监听到的信道一定是空闲的,所以倒计时一旦结束就会立即发送数据,并不会再次监听。

       DIFS:每次发送数据帧之前都要等待的时间,为了等待在上一个帧的确认帧收到后再发送新的帧,配合接收方完成停止-等待协议。

       SIFS:收到一个帧后需要进行处理的时间(如进行差错检测)。

       AS:接入点,即设备连接无线网时连接的其实是接入点,通过接入点再连接到网络上。

       RTS帧:需要预约信道时就要给AS发送RTS帧来请求预约,其中包括源地址-谁要预约、目的地址-找谁预约、时间-需要占用信道多少时间。因为设备和AS都是以广播的形式发送数据的,所以要有源地址和目的地址。

       CTS帧:AS同意预约后就要发送CTS帧,对于这个设备来说表示AS同意了预约,对于广播域的其他设备来说就是告诉他们信道已被预约。同样CTS帧中也包括源地址、目的地址、占用信道的时间。

       接收方使用停止-等待协议接收数据,在接收到数据后会等待SIFS的时间间隔用来校验发送的数据是否出现差错,若没有错误则发送一个确认帧。如果发送方超时未收到确认帧,则也进行随机退避,然后重传帧。

       当发送的数据帧较长时会启用信道预约机制,发送的数据帧较短时不会启用信道预约机制。在启用后,发送方会先监听信道是否空闲,如果空闲则在等待DIFS的时间间隔后向AS发送RTS帧来请求预约信道,否则随机退避。当AS收到RTS帧后如果允许预约则先监听信道是否空闲,如果信道忙碌则进入随机退避,如果空闲则会给所有终端广播CTS帧,其他终端收到这个CTS帧后会推迟发送数据。当发送方收到AS同意预约的CTS帧后要先等待SIFS的时间间隔检查CTS帧是否出错,如果未出现错误就开始传输数据。

        CSMA/CD、CSMA/CA的对比

       共同点:

        CSMA/CD协议和CSMA/CA协议都是先听后发,在发送前都会监听信道是否空闲。

        不同点:

        CSMA/CD协议侧重于在发送过程中如何避免冲突,CSMA/CA协议侧重于在发送之前尽可能降低冲突发生的可能性。

        监听到信道空闲后的处理方式不同:CSMA/CD协议在监听到信道空闲后会立即发送数据,而CSMA/CA协议则是需要等待DIFS的时间间隔后再立即发送数据。

        监听到信道忙碌后的处理方式不同:CSMA/CD协议是随机重传,而CSMA/CA协议则是随机退避。

        CSMA/CD协议在发送数据时会同时监听信道是否发生了冲突,边听边发;而CSMA/CA协议只是发送数据,只发不听。

        CSMA/CD协议不会发送确认帧,遇到差错帧直接丢弃;而CSMA/CA协议使用停止-等待协议,会给发送方返回确认帧。

        CSMA/CA协议有信道预约机制,而CSMA/CD协议则没有。

        CSMA/CD协议适用于有线以太网,CSMA/CA协议适用于无线网络。

           5.3轮询访问(令牌传递协议)

       6.物理链路层的设备(网桥和交换机)

       网桥:根据数据帧的目的地址(MAC地址)进行转发和过滤。当网桥收到一个帧时不会将帧广播到所有接口,而是根据帧中的目的地址转发到相应的接口;如果不能转发则直接丢弃(过滤)。

       网桥有两种,分别是透明网桥和源路由网桥。

       透明网桥:“透明”是指以太网的节点所发送的帧并不知道要经过哪些网桥,是一种即插即用的设备。透明网桥采用自学习算法来丰富自己的转发表:初始状态下转发表为空,如果有数据帧经过了网桥,网桥会先根据帧中的源地址查看自己的转发表中是否有源地址和对应接口号的记录,如果没有记录则会记录这个源地址以及对应的接口号;然后再根据目的地址查找转发表找到对应的接口以将帧转发出去,如果没有找到目的地址的记录则会将帧从所有接口转发出去,如果有记录则会将帧从指定的接口转发出去。网桥会每隔一定时间清空自己的转发表,然后开始新一轮自学习。

       源路由网桥:在发送帧时,会将最佳路由信息(哪条路由传输时间最短、哪条路由经过的节点最少)放在帧的首部中再发送 。源站先以广播的方式向欲通信的目的站发送发现帧,每个发现帧都记录自己所经过的路由。当发现帧到达目的站时就沿各自的路由返回源站。源站在得知这些路由后,会从所有可能的路由中选择出一个最佳路由。并规定凡从该源站向该目的站发送的帧的首部,都必须携带源站所确定的这一路由信息

       交换机本质上是一个多接口的网桥,包括直通式交换机和存储转发式交换机等。交换机内部也会维护一个转发表,且拥有和透明网桥相同的自学习机制和更新机制

       直通式交换机在查完数据帧的目的地址(MAC地址)后会直接转发,不会进行差错检测。直通式交换机转发时延小,同时可靠性较差,且不支持不同传输速率端口的数据交换

       存储转发式交换机在收到帧时会先放入高速缓存中并检查数据帧是否出现差错,如果数据帧无误则会转发,如果出现错误则直接丢弃。存储转发式交换机虽然有一定的转发延迟,但可靠性高且支持不同传输速率端口的数据交换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/65639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql server cdc漏扫数据

SQL Server的CDC指的是“变更数据捕获”(Change Data Capture)。这是SQL Server数据库提供的一项功能,能够跟踪并记录对数据库表中数据所做的更改。这些更改包括插入、更新和删除操作。CDC可以捕获这些变更的详细信息,并使这些信息…

AI数字人+文旅:打造数字文旅新名片

在数字化浪潮的推动下,人工智能技术正以前所未有的速度渗透到我们生活的每一个角落。特别是在文化和旅游领域,AI数字人的出现,不仅为传统文旅产业注入了新的活力,也为游客带来了全新的体验。 肇庆AI数字人——星湖 “星湖”是肇…

做一个 简单的Django 《股票自选助手》显示 用akshare 库(A股数据获取)

图: 股票自选助手 这是一个基于 Django 开发的 A 股自选股票信息查看系统。系统使用 akshare 库获取实时股票数据,支持添加、删除和更新股票信息。 功能特点 支持添加自选股票实时显示股票价格和涨跌幅一键更新所有股票数据支持删除不需要的股票使用中…

Protobuf编码规则详解

Protobuf编码规则详解 1 Message 结构1.1 tag1.1.1 字段编号(field_num)1.1.2 传输类型(wire_type) 1.2 字段顺序1.3 默认值 2 编码2.1 Varint编码2.1.1 Varint编码过程2.1.2解码过程2.1.3 存储2.1.4 小结2.2 有符号整数(sint32和sint64)编码的问题与zigzag优化 3 编码实践3.1测…

【docker】exec /entrypoint.sh: no such file or directory

dockerfile生成的image 报错内容: exec /entrypoint.sh: no such file or directory查看文件正常在此路径,但是就是报错没找到。 可能是因为sh文件的换行符使用了win的。

计算机的错误计算(二百零七)

摘要 利用两个数学大模型计算 arccot(0.125664e2)的值,结果保留16位有效数字。 实验表明,它们的输出中分别仅含有3位和1位正确数字。 例1. 计算 arccot(0.125664e2)的值,结果保留16位有效数字。 下面是与一个数学解题器的对话。 以上为与…

MCANet: 基于多模态字幕感知的大语言模型训练无关视频异常检测

目录 摘要01 引言02 相关工作2.1 视频异常检测2.2 基于视频的大语言模型(VLLMs) 03 方法论3.1 问题定义3.2 MCANet3.3 图像字幕分支3.4 音频字幕分支3.5 基于LLM的异常评分3.6 视频-文本分数优化 04 实验4.1 数据集和评估指标4.2 实现细节4.3 定性结果4.…

WMS仓库管理系统,Vue前端开发,Java后端技术源码(源码学习)

一、项目背景和建设目标 随着企业业务的不断扩展,仓库管理成为影响生产效率、成本控制及客户满意度的重要环节。为了提升仓库作业的透明度、准确性和效率,本方案旨在构建一套全面、高效、易用的仓库管理系统(WMS)。该系统将涵盖库…

【Uniapp-Vue3】创建自定义页面模板

大多数情况下我们都使用的是默认模板&#xff0c;但是默认模板是Vue2格式的&#xff0c;如果我们想要定义一个Vue3模板的页面就需要自定义。 一、我们先复制下面的模板代码&#xff08;可根据自身需要进行修改&#xff09;&#xff1a; <template><view class"…

【Go】:图片上添加水印的全面指南——从基础到高级特性

前言 在数字内容日益重要的今天&#xff0c;保护版权和标识来源变得关键。为图片添加水印有助于声明所有权、提升品牌认知度&#xff0c;并防止未经授权的使用。本文将介绍如何用Go语言实现图片水印&#xff0c;包括静态图片和带旋转、倾斜效果的文字水印&#xff0c;帮助您有…

springCloudGateWay使用总结

1、什么是网关 功能: ①身份认证、权限验证 ②服务器路由、负载均衡 ③请求限流 2、gateway搭建 2.1、创建一个空项目 2.2、引入依赖 2.3、加配置 3、断言工厂 4、过滤工厂 5、全局过滤器 6、跨域问题

【UE5 C++课程系列笔记】22——多线程基础——FRunnable和FRunnableThread

目录 1、FRunnable 1.1 概念 1.2 主要成员函数 &#xff08;1&#xff09;Init 函数 &#xff08;2&#xff09;Run 函数 &#xff08;3&#xff09;Stop 函数 &#xff08;4&#xff09;Exit 函数 2、FRunnableThread 2.1 概念 2.2 主要操作 &#xff08;1&#xff…

《图解HTTP》 学习日记

1.了解WEB以及网络基础 1.1使用HTTP协议访问WEB web页面显示:根据web浏览器地址栏中输入指定的URL,web浏览器从web服务端获取文件资源(resource)等信息&#xff0c;从而显示出web页面 1.2网络基础TCP/IP 通常使用的网络(包括 互联网)是在tcp/ip协议族的基础上运作的&#xf…

【Docker】docker compose 安装 Redis Stack

注&#xff1a;整理不易&#xff0c;请不要吝啬你的赞和收藏。 前文 Redis Stack 什么是&#xff1f; 简单来说&#xff0c;Redis Stack 是增强版的 Redis &#xff0c;它在传统的 Redis 数据库基础上增加了一些高级功能和模块&#xff0c;以支持更多的使用场景和需求。Redis…

kubesphere前端源码运行

一、下载源码 源码是react&#xff0c;下载地址是 GitHub - kubesphere/console at v3.3.2 然后直接用git下拉就可以了 下拉完成后差不多是这样一个目录结构&#xff0c;记得切分支到3.3.2 二、下载依赖 1、node & yurn 想要运行源码首先需要node&#xff0c;使用刚才…

蓝桥杯历届真题 #分布式队列 (Java,C++)

文章目录 题目解读[蓝桥杯 2024 省 Java B] 分布式队列题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路完整代码 题目解读 题目链接 [蓝桥杯 2024 省 Java B] 分布式队列 题目描述 小蓝最近学习了一种神奇的队列&#xff1a;分布式队列。简单来说&#x…

PySide6 Qt for Python Qt Quick参考网址

Qt QML BOOK&#xff1a; 《Qt for Python》 -Building an Application https://www.qt.io/product/qt6/qml-book/ch19-python-build-app#signals-and-slots Qt for Python&#xff1a;与C版本的差异即BUG处理&#xff08;常见的DLL文件确实的问题等&#xff09; Qt for Pyt…

如何稳定使用 O1 / O1 Pro,让“降智”现象不再困扰?

近期&#xff0c;不少朋友在使用 O1 或 O1 Pro 模型时&#xff0c;都会碰到“降智”或“忽高忽低”的智力波动&#xff0c;比如无法识图、无法生成图片、甚至回答准确度也不稳定。面对这些问题&#xff0c;你是不是也感到头疼呢&#xff1f; 为了找到更可靠的解决办法&#xf…

用户界面的UML建模11

然而&#xff0c;在用户界面方面&#xff0c;重要的是要了解《boundary》类是如何与这个异常分层结构进行关联的。 《exception》类的对象可以作为《control》类的对象。因此&#xff0c;《exception》类能够聚合《boundary》类。 参见图12&#xff0c;《exception》Database…

记录一次面试中被问到的问题 (HR面)

文章目录 一、你对公司的了解多少二、为什么对这个岗位感兴趣三、不能说的离职原因四、离职原因高情商回复五、你的核心优势是什么六、你认为你比其他面试候选人的优势是什么七、不要提及情感 一、你对公司的了解多少 准备要点&#xff1a; 在面试前&#xff0c;对公司进行充分…