计算机网络基础

1. 计算机网络的性能指标

  
1. 速率

    定义:数据率或数据传输率或比特率,即连接在计算机网络上的主机在数字信道上传送数据位数的速率
    单位:有b/s(比特每秒),kb/s,Mb/s,Gb/s,Tb/s
    单位转换:

             速率                    存储容量   1Byte(字节) = 8 bit(比特)
          千 1kb/s = 10³b/s                 1KB = 2^10B = 1024B = 1024 * 8 b
          兆 1Mb/s = 10³kb/s                1MB = 2^10KB = 1024KB
          吉 1Gb/s = 10³Mb/s               1GB = 2^10MB = 1024MB
          太 1Tb/s = 10³Gb/s                1TB = 2^10GB = 1024GB

  

  2. 带宽

    1. 定义:表示网络的通信线路传送数据的能力,通常指单位时间内从计算机网络中的某一点到另外一点所能通过的“最高数据率”
    2. 单位:比特每秒,b/s,kb/s,Mb/s,Gb/s

      

 

  3. 吞吐量

    1. 定义:在单位时间内通过某个网络(或信道、接口)的数据量
    2. 单位:比特每秒,b/s,kb/s,Mb/s

      

 

   4. 时延

    1. 定义:指数据从网络或链路的一端传送到另一端所需的时间,也叫延迟或迟延,单位s秒

    2. 计算:时延 = 发送时延 + 传输时延 + 排队时延 + 处理时延

     

 

    3. 时延带宽积

         

     

    4. 往返时延RTT

      1. 定义:从发送方发送数据开始,到发送发接收到接收方发送的确认(接收方接收到数据会立即发送确认)总共经历的时延

       

 

  5. 码元

    1. 定义:指用一个固定时长的信号波形(数字脉冲),代表不同离散数值的基本波形,是数字通信中数字信号的计量单位。这个时长的信号称为K进制
     码元,而该时长称为码元宽度,当码元的离散状态有M个时,此时码元称为M进制码元。
    2. 进制码元:
      二进制码元:01010101 只有两种状态,分为0状态和1状态 
      四进制码元:00011011 每两个数字组成一个状态,有四种状态,分为为00 01 10 11
      依次类推。。。
 

2. 分层结构

  1. 分层的原则
    1. 各层之间相互独立,每层只实现一种相对独立的功能
    2. 每层之间界面自如清晰,易于理解,相互交流尽可能少
    3. 结构上可以分隔开,都由最合适的技术来实现
    4. 保持下层对上层的独立性,上层单向使用下层提供的服务

  2. 分层结构

  

  3. OSI七层网络体系结构

 

    1. 定义:由上到下:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层,上三层为资源子网,负责数据处理,下三层为通信子网,负
     责数据通信,传输层起到承上启下的作用,用来检验数据的完整性和安全性

     2. 通信过程

      

 

   4. TCP/IP四层网络体系结构

    1. 定义:包括应用层、传输层、网络层、网络接口层

    2. 通信过程

     

 

3. 物理层基本概念

  1. 物理层解决了在连接各种计算机的传输媒体上传输数据比特流,而不是具体的传输媒体
  2. 特性
    1. 机械特性:定义物理连接,规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况。
    2. 电气特性:规定传输二进制时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制。
    3. 功能特性:致命某条线出现的某一电平表示何种意义,接口部件的信号线的用途。

4. 数据通信

  1. 常见术语
    1. 数据:传输信息的实体,通常是有意义的符号序列
    2. 信号:数据的电气/电磁的表现,是数据在传输过程中的存在形式
      1. 数字信号:代表消息的参数取值是离散的 
      2. 模拟信号:代表消息的参数取值是连续的,波浪形
      3. 基带信号:将数字0和1直接用两种不同的电压表示,在传送到数字信道上去传输(基带传输)
      4. 宽带信号:将基带信号经过调制后形成的频分复用模拟信号,在传输到模拟信道上去传输(宽带传输)
    3. 信源:产生和发送数据的源头
    4. 信宿:接收数据的终点
    5. 信道:信号的传输媒介,一条通信线路往往包含一条发送信道和一条接收信道
      1. 按照传输信号划分:分为模拟信道和数字信道
      2. 按照传输媒介划分:分为有线信道和无线信道
 

  2. 通信方式
    1. 单工通信:只有一个方向的通信而没有反方向的交互,仅需要一条信道
    2. 半双工通信:通信的双方都可以发送或接收信息,但任何一方都不能同时发送和接收,需要两条信道
    3. 全双工通信:通信双方可以同时发送和接收信息,需要两条信道
 

  3. 数据传输方式
    1. 串行传输:速度慢,费用低,适用远距离
    2. 并行传输:速度快,费用高,适用近距离

    

5. 编码与调制

  1. 数字数据编码数字信号

    1. 非归零编码:二进制数字1用高电平表示,0用低电平表示,高1低0,缺点没有检错功能,若是一条相同的电平很难进行判断。

        

    2. 归零编码:信号电平咋一个码元之内都要恢复到零。

               

    3. 反向不归零编码:电平翻转表示0,电平不变表示1,定1变0

           

    4. 曼彻斯特编码:将一个码元分成两个相等的间隔,高起低收表示1,低起高收表示0,亦可以反着自定义规定

              

    5. 差分曼彻斯特编码:前半个码元的电平与上一个码元的后半个电平相同,则为1,反之则为0,同1异0

          

 

  2. 数字数据调制为模拟信号

    1. 数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号,分别对应调制解调器的调制和解调过程。

      

 

6. 物理层传输介质

  1. 导向性传输介质

    1. 双绞线:即网线,由两根采用一定规则并排绞合的,相互绝缘的 同导线组成。

     

      

 

    2. 同轴电缆:由导体铜制芯线、绝缘层、网状编织屏蔽层和塑料外层构成。

       

      

 

     3. 光纤:利用光导纤维传递光脉冲来进行通信。有光脉冲表示1,无光脉冲表示0。

       

       

 

  2. 非导向性传输介质

    1. 无线电波:信号向所有方向传播,较强的穿透能力,可原远距离,广泛用于通信领域(手机通信)。

    2. 微波:信号固定方向传播,通信频率较高,频段范围宽,数据率高。

    3. 红外线、激光:信号固定方向传播,把要传输的信号分别转换为各自的信号格式,即红外光信号和激光信号,再向空间中传播。

 

7. 数据链路层的作用

  1. 基本概念

    1. 结点:主机、路由器

    2. 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波

    3. 数据链路:网络中的两个结点之间的逻辑通道,把视线控制数据传输协议的硬件好软件加到链路上就构成数据链路

    4. 帧:链路层的协议数据单元,封装网络层数据包

  

  2. 功能

    1. 为网络层提供服务:无确认无连接服务,有确认无连接服务,有确认面向连接服务

    2. 链路管理,即连接的建立、维持、释放(面向连接服务)

    3. 组帧,将数据封装成帧

    4. 流量控制,限制发送方发送的数据大小

    5. 差错控制(帧错/位错)

 

  3. 封装成帧

    1. 定义:在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端根据手部和尾部标识,来识别帧的开始和结束。

                    

   

    2. 组帧的方法

     1. 字符计数法:帧首部使用一个计数字段来标明帧内字符数。缺点:一旦某个帧出错,后续的所有帧都会出错

      

 

     2. 字符填充法:在帧的首部和尾部用专门的字符标识,为了避免数据报中出现和标识字符相同的字符,加入转义字符进行区分

       

 

     3. 零比特填充法:在发送端扫描整个信息字段,,只要连续5个1,就填充0

         

 

     4. 违规编码法:用两个不会用到的电平来界定帧的起始和终止位置

        

 

  3. 差错控制

    1. 差错分为位错和帧错:位错指比特位出错,1变为0,0变为1;帧错指丢失、重复、失序

    2. 分类

     1. 检错编码

      1. 奇偶校验码:由n-1位信息元和1位校验元组成,若1的个数为奇数,即奇校验码,若为偶数,即偶校验码,只能检查奇数个比特的错误

       

      2. 冗余编码:在数据要发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后在发送。当要发送的有效数字变化                                                          时,响应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否符合原规则来判断是否出错。

     2. 纠错编码

      1. 海明码:海明不等式=>2^r+1 >= k + r    r为信息冗余位,k为信息位

       1. 冗余码的位置:2的n次方位上,即1,2,4,8,16......

        举个例子:101101六位数据,代入海明不等式:2^r+1 >= 6+r      求得 r = 4,k = 6

           

       

       2. 冗余码的实际值算法:二进制数第n处所有为1的实际值进行异或后结果为0(相同为0,不同为1)

      • P1的实际值:P1⊕D1⊕D2⊕D4⊕D5=0(二进制数第一位为1的数,第一行的共性为第一位为1)即P1+1+0+1+0=0,所以P1的实际值为0
      • P2的实际值:P2⊕D1⊕D3⊕D4⊕D6=0(二进制数第二位为1的数,第一行的共性为第二位为1)即P2+1+1+1+1=0,所以P2的实际值为0
      • P3的实际值:P3⊕D2⊕D3⊕D4=0(二进制数第三位为1的数,第一行的共性为第三位为1)即P3+0+1+1=0,所以P3的实际值为0
      • P4的实际值:P4⊕D5⊕D6=0(二进制数第四位为1的数,第一行的共性为第四位为1)即P4+0+1=0,所以P4的实际值为1

        得出

          

   

       3. 接收端的处理

             接收端接收到海明码后,会和我们求冗余码的实际值一样做一个相同的操作——求所有位二进制数某一位的异或和(上例中的xxx1,xx1x,

         x1xx,1xxx)因为我们求冗余码时令所有的异或和结果为0,如果某一位发生跳变,那么那一位的异或和结果将会为1,如果没有发生跳变正

         常传输,那么结果就正常为0。

  

       4. 纠错单比特跳变
        假如我们刚刚的海明码的第五位发生了跳变,即0010011101→0010111101
        接收端执行冗余码的第n为相同的重复异或运算,和为0

        • 二进制第一位为1的进行异或运算:P1⊕D1⊕D2⊕D4⊕D5 → 0+1+1+1+0 = 1
        • 二进制第二位为1的进行异或运算:P2⊕D1⊕D3⊕D4⊕D6 → 0+1+1+1+1 = 0
        • 二进制第三位为1的进行异或运算:P3⊕D2⊕D3⊕D4 → 0+1+1+1 = 1
        • 二进制第四位为1的进行异或运算:P4⊕D5⊕D6 → 1+0+1 = 0

        得出结果:0101(由后往前)即第五位出现了跳变,将跳变的数改为相对的即可  

     

       5. 发现双比特错误
        假如我们刚刚的海明码的第五位和第六位发生了跳变,即0010011101→0010101101
        接收端执行冗余码的第n为相同的重复异或运算,和为0

        • 二进制第一位为1的进行异或运算:P1⊕D1⊕D2⊕D4⊕D5 → 0+1+1+1+0 = 1
        • 二进制第二位为1的进行异或运算:P2⊕D1⊕D3⊕D4⊕D6 → 0+1+0+1+1 = 1
        • 二进制第三位为1的进行异或运算:P3⊕D2D3⊕D4 → 0+1+0+1 = 0
        • 二进制第四位为1的进行异或运算:P4⊕D5⊕D6 → 1+0+1 = 0

        得出结果:0011(由后往前)即第三位出现了跳变,但是第三位并没有发生跳变,所有他只能发现错误,不能检查具体哪一位错误



  4. 流量控制

   1. 停止-等待协议:没发送完一个帧就停止发送,等待对方的确认,在收到确认后在发送下一个帧。

    无差错情况:发送M1→确认M1→发送M2→确认M2→....发送Mn→确认Mn,传输效率低

    有差错情况:

     1. 数据帧丢失或出错:接收方没有接收到发送方的数据帧,发送方在超时后重传丢失的数据帧

     2. ACK确认帧丢失:接收方接收到数据帧,但发送方没有收到确认帧,则在超时后进行重传,接收方收到重复数据帧,丢弃一个,再次发送确认帧

     3. ACK确认帧迟到:确认帧在超时重传后到达,发送方重新发送数据帧,接收方接收并发送确认帧,发送方收到确认帧发送下一个数据帧,迟到的数据帧被丢弃不作处理。

    超时计数器:当发送方在规定时间内收不到接收方的确认信息,则重新发送数据帧,重传时间比传输的平均往返时延RTT更长一点

 

   2. 滑动窗口协议:分为后退N帧协议(GBN)和选择重传协议(SR)

 

    1. 后退N帧协议(GBN):浪费资源

     发送窗口:发送方维持一组连续的允许发送的帧的序号,序列内的数据帧可以被连续发送,若收到确认帧后,序列向前移动

     

 

     接收窗口:只有一个窗口来接收发送端的数据帧,按照顺序持续接收数据帧,并采用累计发送的方式发送确认帧,表明接收方已经收到n号帧和它之前的帧。

      

 

     超时机制或数据帧丢失:

      接收方会按照顺序接收发送方的数据帧,当接收到0号帧,就会等待接收1号帧,假如1号帧丢失,接收到了2号帧、3号帧等,则接收方会直接丢弃

    2号帧、3号帧,并向每次发送方发送ACK0的确认帧,当发送方触发超时机制时,就会从超时的帧向后重新发送一次,即重新发送1号、2号、3号帧。

             

     2. 选择重传协议(SR)  

      发送窗口:发送方维持一组连续的允许发送的帧的序号,序列内的数据帧可以被连续发送,若序列首个数据帧被确认后,序列向前移动

       

 

      接收窗口:接收方收到一个数据帧就发送一个确认帧给发送方,(来者不拒,收谁确认谁),发送方若没有收到某一个帧的确认帧,触发超时重传,只会重传超时的数据帧,不会发送已经收到确认帧的数据帧,就是谁丢失重发谁 

       

 

   选择重传协议工作原理图:

   

 

      滑动窗口的长度:WTmax = WRmax = 2^(n-1)  WTmax为发送窗口,WRmax 为接受窗口,n为帧的log2,下列的n=2

      

 

    小知识

     停止-等待协议      发送窗口大小=1,接收窗口大小=1

     后退N帧协议(GBN)   发送窗口大小>1,接收窗口大小=1

     选择重传协议(SR)     发送窗口大小>1,接收窗口大小>1

 

8. 介质访问控制

  1. 静态划分信道—信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,合理分配时域和频域资源

   多路复用技术:吧多个信号组合在一条物理信道上进行传输,是的多个计算机或终端设备共享信道资源,提高信道利用率。

    

   

   多路复用的方式:

    1. 频分多路复用(FDM)

      

    2. 时分多路复用(TDM)

      

 

    3. 波分多路复用(WDM)

      

 

    4. 码分多路复用(CDM)

     码分多址是码分复用的一种方式

      1个比特分为多个码片/芯片,每一个站点被指定一个唯一的m位的芯片序列。

      发送1时站点发送芯片序列,发送0时发送芯片的序列反码。

       何如不打架:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交。

       如何合并:各路数据在信道中被线性相加。

       如何分离:合并的数据和源站规格化内积。

  

  2. 动态分配信道—轮询访问介质访问控制和随机访问介质访问控制

   轮询访问介质访问控制:

    1. 轮询协议:主节点轮流“邀请”从属节点发送数据

     

 

     

    2. 令牌传递协议

     令牌:一个特殊的MAC控制帧,不含任何信息,控制信道的使用,确保同一时刻只有一个结点独占信道。

     过程:

      令牌会在主机环网中来回传递,假如主机C要发送数据给主机A,主机C持下令牌并修改它的标识位,将令牌的状态从空闲转为忙碌,然后在令牌
     的后面加上数据,形成数据帧并进行发送,因为要指定发给主机A,所有主机B和主机D不会对令牌进行处理,主机A收到令牌并复制数据帧,在发送
     给主机D,主机D接收到数据帧后,检查其差错性并进行数据回收,令牌有恢复空闲状态

         

 

 

    

   随机访问介质访问控制:

    1. 纯ALOHA协议:不监听信道,不按时间槽发送,随机重发(想发就发)

     

 

     2. 时隙ALOHA协议:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,冲突则等到下一个时间片开始时在发送。

      

 

    3.CSMA协议(载波监听多路访问协议):发送帧之前,监听信道,信道空闲,发送帧,信道忙,推迟发送(先听再发) 

     1. 1-坚持CSMA:如果主机要发送信息,先监听信道,信道空闲则直接传输,忙碌则一直等待,直到空闲立即发送

      优点:只要信道空闲,站点马上发送,避免了信道利用率的损失

      缺点:假如有两个或两个以上的站点要发送数据,冲突不可避免

     2. 非坚持CSMA:监听信道忙之后就不继续监听信道,信道空闲直接发送,信道忙则等待一个随机的时间之后在进行监听

      优点:采用随机的重发延迟时间可以减少冲突发生的可能性

      缺点:可能错在都在延迟等待过程中,使得信道可能处于空闲状态,信道使用率降低

     3. p-坚持CSMA:监听信道空闲,信道空闲则以p概率直接传输,不需要等待,信道忙则等待一个随机的时间之后在进行监听

      优点:像非坚持那样减少冲突,又像1-坚持那样减少信道空闲时间

      缺点:发生冲突后还是要坚持把数据帧发送完,造成浪费

      

 

     4. CSMA/CD协议(载波监听多点接入/碰撞检测): 适配器边发送数据边检测信道上信号电压的变化情况,判断其他站是否也在发送数据(边发边听)

      1. 传播时延对载波监听的影响:

        

 

   

     5. CSMA/CA协议(载波监听多点接入/碰撞避免)

      工作原理:

       1. 发送数据前,检测信道是否空闲。

       2. 空闲则发出RTS(request to send),RTS包括发送端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。

       3. 接收端收到RTS后,将响应CTS(clear to send)。

       4. 发送端接收CTS后,开始发送数据帧(同时预约信道,告诉其他站点自己要传多久数据)。

       5. 接收端接收数据后,将用CRC检测数据帧是否正确,正确则响应ACK帧。

       6. 发送端收到ACK帧后,就可以进行下一个数据帧的发送,若没有则一直进行重传至规定重发次数为止。

 

posted @ 2022-12-08 18:34  无敌小豆包  阅读(35)  评论(0)    收藏  举报