计算机网络是考研的重点,也是日后工作最基本的知识点之一。本博文详细的总结了计算机网络的基础知识,方便日常查看和复习,希望有所帮助。
视频学习链接:https://www.bilibili.com/video/BV19E411D78Q

目录

  • 第一章 计算机网络概述
    • 1.1 基本概念
    • 1.2 计算机网络的分类
    • 1.3 标准化工作
    • 1.4 计算机网络的性能指标
    • 1.5 分层结构
    • 1.6 OSI参考模型
    • 1.7 五层参考模型 综合了OSI和TCP/IP的优点
  • 第二章 物理层
    • 2.1 基本概念
    • 2.2 奈氏准则 and 香农定理
      • 2.2.1 奈氏准则
      • 2.2.2 香农定理
    • 2.3 编码 and 调制
    • 2.4 传输层传输介质
    • 2.5 物理层设备
  • 第三章 数据链路层
    • 3.1 基本概念
    • 3.2 封装成帧
      • 3.2.1 字符计数法
      • 3.2.2 字符填充法
      • 3.2.3 零比特填充法
      • 3.2.4 违规编码法
    • 3.3 差错控制(检错编码)
      • 3.3.1 检错编码——奇偶校验码
      • 3.3.2 检错编码——CRC循环冗余码
      • 3.3.3 纠错编码——海明码
    • 3.4 流量控制和可靠传输机制
      • 3.4.1 流量控制
        • 3.4.1.1 停止-等待协议
        • 3.4.1.2 后退N帧协议(GBN)
        • 3.4.1.3 选择重传协议(SR)
    • 3.5 信道划分介质访问控制
      • 3.5.1 介质访问控制
      • 3.5.2 频分多路复用FDM(并行)
      • 3.5.3 时分多路复用 TDM
      • 3.5.4 改进的时分复用——统计时分复用 STDM
      • 3.5.5 波分多路复用 WDM——光的频分多路复用
      • 3.5.6 码分多路复用 CDM
      • 3.5.7 ALOHA协议(随机访问介质访问控制)
      • 3.5.8 CSMA协议(载波监听多路访问协议)
      • 3.5.9 CSMA/CD协议——【有线】总线型以太网
      • 3.5.10 最小帧长问题(使检测到碰撞时帧还未发送完,可以及时叫停)
      • 3.5.11 CSMA/CA协议
    • 3.6 局域网基本概念和体系结构
    • 3.7 以太网
    • 3.8 PPP协议和HDLC协议
    • 3.9 链路层设备

第一章 计算机网络概述

1.1 基本概念

计算机网络:计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备线路连接起来,由功能完善的软件实现 资源共享信息传递的系统。
(计算机网络是互连的,自治的计算机集合)
互连——互联互通
自治——无主从关系

计算机网络的功能

  • 数据通信
  • 资源共享
  • 分布式处理
  • 提高可靠性
  • 负载均衡

组成部分
硬件(主机,线路,通信设备)、软件、协议

工作方式:

  • 边缘部分:用户直接使用(C/S方式,P2P方式)
  • 核心部分:为边缘部分服务

功能组成:

  • 通信子网:实现数据通信
  • 资源子网:实现资源共享/数据处理

1.2 计算机网络的分类

  • 按分布范围分:

    • 广域网(WAN)
    • 城域网(MAN)
    • 局域网(LAN)
    • 个人区域网(PAN)
  • 按使用者分
    • 公用网
    • 专用网
  • 按交换技术分
    • 电路交换
    • 报文交换
    • 分组交换
  • 按拓扑结构分
    • 总线型
    • 星型
    • 环型
    • 网状型(常用与广域网)
  • 按传输技术分
    • 广播式网络(共享公共信道通信)
    • 点对点网络(使用分组存储转发和路由选择机制)

1.3 标准化工作

法定标准:OSI
事实上的标准:TCP/IP

标准化工作的相关组织:
国际标准化组织ISO指定的OSI参考模型、HDLC协议

1.4 计算机网络的性能指标

速率(数据率或数据传输率或比特率):
单位:b/s,kb/s,Mb/s,Gb/s,Tb/s
表示连接在计算机网络上的主机在数字信道上传送数据位的速率

带宽:用来表示网络的通信线路传达数据的能力
通常指的是单位时间内从网络中的某一点到另一点所能通过的"最高数据率"(网络设备所支持的最高速率)
单位:b/s,kb/s,Mb/s,Gb/s

吞吐量(车流量)
单位时间内通过某个网络(接口或信道)的数据量
单位:b/s,kb/s,Mb/s
吞吐量受网络带宽或网络额定速率的限制

速率VS带宽VS吞吐量

时延:指数据(报文/分组/比特流)从网络或链路的一端传送到另一端所需要的时间,也叫延迟或迟延,单位是s
分类:

  • 发送时延(传输时延)= 数 据 长 度 信 道 带 宽 ( 发 送 速 率 ) \frac{数据长度}{信道带宽(发送速率)} 信道带宽(发送速率)数据长度​
  • 传播时延= 信 道 长 度 电 磁 波 在 信 道 上 的 传 播 速 率 \frac{信道长度}{电磁波在信道上的传播速率} 电磁波在信道上的传播速率信道长度​,取决于电磁波的传播速度和链路长度
  • 排队时延:等待输入/出链路
  • 处理时延:检错、找出口

注意:发送速率提高,而非电磁波的速率提高。

时延带宽积
时延带宽积(bit)=传播时延(s)*带宽(b/s)【可以类别为容量】
时延带宽积又称以比特为单位的链路长度,即某段链路现有多少比特

往返时间RTT
从发送方发送数据开始到发送方接收到接收方的确认(接收方收到数据立即发送确认)总共经历的时延
RTT越大,在收到确认前,可以发送的数据就越多
RTT包括:往返传播时延=传播时延*2+末端处理时间

利用率
信道利用率= 有 数 据 通 过 的 时 间 有 + 无 数 据 通 过 的 时 间 \frac{有数据通过的时间}{有+无数据通过的时间} 有+无数据通过的时间有数据通过的时间​
网络利用率=信道利用率的加权平均值

1.5 分层结构

网络体系结构是从功能上描述计算机网络结构
计算机网络体系结构建成网络体系结构是分层结构
每层遵循某个/些网络协议以完成本层功能
计算机网络体系结构是计算机网络的各层及其协议的集合

1.6 OSI参考模型


目的:支持异构网络系统的互连互通
国际标准化组织ISO于1984年提出开放系统互连OSI参考模型

应用层:所有能和用户交互产生网络流量的程序
典型应用层服务:

  • 文件传输(FTP)
  • 电子邮件(SMTP)
  • 万维网(HTTP)

表示层:(用于处理两个通信系统中交换信息的表示方式(语义和语法))
功能一:数据格式的转换(翻译官)
功能二:数据加密解密
功能三:数据压缩恢复

会话层:向表示层实体/用户进程提供建立连接并在连接上有序的传输数据,这是会话,也是建立同步(SYN)
功能一:建立管理,终止会话
功能二:使用检验点可使会话在通信失效时从检验点/同步点继续恢复通信,实现数据同步(适用于传输大文件)

传输层:负责主机中两个进程的通信,即端到端的通信
传输单位是报文段或用户数据报
功能一:可靠传输,不可靠传输
功能二:差错控制
功能三:流量控制
功能四:复用分用
主要协议:TCP,UDP协议

网络层:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务
网络层传输的是数据报
功能一:路由选择(最佳路径)
功能二:流量控制
功能三:差错控制
功能四:拥塞控制
主要协议:IP,IPX,ICMP,IGMP,ARP,RARP,OSPF

数据链路层:主要任务是把网络层传下来的数据报组装成帧
数据链路层/的传输单位是
功能:

  • 成帧(定义帧的开始和结束)
  • 差错控制(帧错+位错)
  • 流量控制
  • 访问(接入)控制(控制信道的访问
    主要协议:SDLC,HDLC,PPP,STP

物理层:在物理媒体上实现比特流的透明传输
传输单位是比特
功能:

  • 定义接口特性
  • 定义传输模式(单工,半双工,双工)
  • 定义传输速率
  • 比特同步
  • 比特编码
    主要协议:RJ45,802.3

层次 ISO/OSI参考模型 TCP/IP模型
网络层 无连接+面向连接 无连接
传输层 面向连接 无连接+面向连接

1.7 五层参考模型 综合了OSI和TCP/IP的优点

第二章 物理层

2.1 基本概念

物理层:定义标准

  • 机械特性:定义物理连接的特性(引线数目,引脚数量)
  • 电气特性:电压范围阻抗匹配,传输速率距离限制等
  • 功能特性:某一电平表示何种意义,用途
  • 规程特性(过程特性):定义各条物理线路的工作规程和时序

三种通信方式:(想想打人的例子)

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

两种数据传输方式:

  • 串行传输:速度慢,费用低,适合远距离
  • 并行传输:速度快,费用高,适合近距离(用于计算机内部数据传输)

几个名词:
码元:用一个固定时长信号波形(数字脉冲),代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元,而该时长称为码元宽度,当码元的离散状态有M个时(M大于2),此时码元为M进制码元
1码元可以携带多个比特的信息量

k进制码元-》4进制码元-》码元的离散状态有4种-》4种高低不同的波形
00 01 10 11

速率:也叫数据率,是指数据的传输速率。表示单位时间内传输的数据量,可以用码元传输速率和信息传输速率表示

  • 码元传输速率

    • 1s传输多少码元 单位:波特(Baud) 1Baud=1码元/s
  • 信息传输速率
    • 1s传输多少比特 单位:b/s

关系:若一个码元携带nbit的信息量,则M Baud的码元传输速率所对应的信息传输速率为M*n bit/s

带宽:最高数据率(理想)

2.2 奈氏准则 and 香农定理

2.2.1 奈氏准则

影响失真程度的因素:

  • 码元传输速率
  • 信号传输距离
  • 噪声干扰
  • 传输媒体质量

失真的一种现象——码间串扰
码间串扰:接受端接受到的信号波形失去了码元之间清晰界限的现象
信息带宽:信道能通过的最高频率和最低频率之差,单位是HZ。注意:只有在这两个准则使用的带宽是HZ为单位的

奈氏准则:
在理想低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速率为2WBaud,W是信道带宽,单位是HZ

理想低通下的极限码元传输速率为 : 2 W l o g 2 V 2Wlog_2^V 2Wlog2V​(b/s) (其中W是信道带宽,V是几种码元/码元的离散状态数目/波形种类数)

奈氏准则说明了:

  • 在任何信道中,码元的传输速率是有上限的
  • 信道的频带越宽,(即能通过的信号高频分量越多),就可以用更高的速率进行码元的有效控制
  • 奈氏准则给出了码元传输速率的限制,但并没有对信息传输速率给出限制
  • 要提高数据的传输速率,设法提高每个码元携带的比特信息量

例子:在无噪声的情况下,若某通信链路的带宽为3KHZ,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输率是多少?
解析:信号有4x4=16种变化
因此最大数据传输率= 2 W l o g 2 V 2Wlog_2^V 2Wlog2V​=2x3x l o g 2 16 log_2^{16} log216​=6*4=24 kb/s

2.2.2 香农定理

信噪比=信号的平均功率/噪声的平均功率。常记为S/N
并用分贝(dB)作为度量单位(单纯的S/N是无单位标注的)
信噪比(dB)=10 l o g 10 S / N log_{10}^{S/N} log10S/N​ 数值等价

香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限。
信道的极限数据传输速率= W l o g 2 ( 1 + S / N ) Wlog_2^{(1+S/N)} Wlog2(1+S/N)​(b/s)(其中,W是带宽,单位是HZ,S/N为信噪比)

根据香农定理得出:

  • 香农定理得出的是极限信息传输速率,实际信道能达到的传输速率要比他低不少

例子:电话系统的典型多数是信道带宽为3000HZ,信噪比为30dB,则该系统的最大数据传输速率为?
30dB= 10 l o g 10 ( 1 + S / N ) 10log_{10}^{(1+S/N)} 10log10(1+S/N)​
S/N=1000
最大数据传输速率= W l o g 2 1 + S / N Wlog_2^{1+S/N} Wlog21+S/N​=3000* l o g 2 1 + 1000 log_2^{1+1000} log21+1000​≈30kb/s

例子2:二进制信号在信噪比为127:1的4KHZ信道上传输,最大的数据传输速率可达到多少?
奈氏: 2 W l o g 2 V 2Wlog_2^{V} 2Wlog2V​=24000log_2^2=8000b/s
香农: W l o g 2 ( 1 + S / N ) Wlog_2^{(1+S/N)} Wlog2(1+S/N)​=4000* l o g 2 ( 1 + 127 ) log_2^{(1+127)} log2(1+127)​=28000b/s
因此,最大的数据传输速率为8000b/s(选这两个中最小的)

2.3 编码 and 调制

信道上传送的信号:

  • 基带信号:将数字信号0和1直接用两种不同的电平表示,再送到数字信道上传输(基带传输)来自信源的信号。直接表达了要传输信息的信号
  • 宽带信号:将基带信号进行调制后形成的频分复用模拟信号。再传送到模拟信道上传输(宽带传输)把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输。

注意:在传输距离较近时,采用基带传输方式(近距离衰减小,从而信号内容不易发生变化);在传输距离较远时,采用宽带传输方式(远距离衰减大,即使信号变化大也能最后过滤出来宽带信号)

数据-》数字信号 编码
数据-》模拟信号 调制

数字数据编码为数字信号

  • 不归零制(高1低0)

    • 编码易实现,但没有检错功能,且无法判断一个码元的开始和结束收发双方难以保持同步
  • 归零编码:信号电平在一个码元之内都要恢复成0
  • 曼彻斯特编码:将一个码元分为两个相等间隙,前高后低位1,前低后高为0,也可以相反。数据传输速率只有调制速率的1/2(可以理解为一个时钟周期内有一个比特,两个码元)
  • 差分曼彻斯特编码:(同1异0)(自同步)抗干扰能力强于曼彻斯特编码

数字数据调制为模拟信号:
调幅,调频,调相(正弦余弦)
模拟数据编码为数字信号,最典型的例子就是对高频信号进行编码的脉码调制(PCM)

在计算机应用中,能够达到的最高保真水平就是PCM编码,被广泛用于素材保存及音乐欣赏。主要包括三步:抽样,量化,编码

  • 抽样:采样定理: f 采 样 频 率 f_{采样频率} f采样频率​>= 2 f 信 号 最 高 频 率 2f_{信号最高频率} 2f信号最高频率​
  • 量化:把抽样取得的电平幅值按一定的分级标度转化为对应的数字值
  • 编码:把量化结果转化为与之对应的二进制编码

模拟数据调制成模拟信号

2.4 传输层传输介质

传输媒体并不是物理层

双绞线
他由两根采用一定规则并排绞合的,相互绝缘的铜线组成。绞合可以减少对相邻导线的干扰

距离太远时,对于模拟信号,要用放大器放大衰减的信号,对于数字信号,要用中继器将失真的信号整形

同轴电缆
导体铜质芯线、绝缘层、网状编织屏蔽层和塑料外层构成
分为基带同轴电联和宽带同轴电缆

同轴电缆VS双绞线
抗干扰,传输距离同轴电缆更优,价格也更贵

光线
利用光导纤维(简称光纤)传递光脉冲来进行通信,有光脉冲表示1,没有表示0
带宽远远大于其他传输媒体
光纤是由纤芯(实心的!)和包层构成(光线在纤芯中传输的方式是不断地进行反射) 超低损耗,传送超远距离!

名称 定义 光源 特点
单模光纤 横向模式 定向性很好的极光二极管 衰减小,适合远距离传输
多模光纤 多种传输光信号模式 发光二极管 易失真,适合近距离传输

光纤的特点:

  • 传输损耗小,中继距离长,远距离经济
  • 抗雷电和电磁干扰性能好
  • 无串音干扰,保密性好,也不易被窃听或截取数据
  • 体积小,重量轻

2.5 物理层设备

中继器:对信号进行再生和还原(再生数字信号)
中继器两端:两端的网络部分是网段,而不是子网,使用与完全相同的两类网络的互连,且两个网段速率要相同
中继器只将任何电缆段上的数据发送到另一段电缆上,它仅作用于信号的电气部分,并不管是否有错误
两端可连相同媒体,也可连不同媒体
两端同一协议

5-4-3规则 (否则会网络故障)

集线器:(多口中继器) 再生,放大信号
集线器的功能:对信号进行再生放大转发,对衰减的信息进行放大,接着转发到其他所有(除输入端口外)处于工作状态的端口上,以增加信号传输的距离,延长网络的长度,不具备信号的定向传播能力,是一个共享设备

集线器不能分割冲突域,连接在集线器上的工作主机平分宽带

第三章 数据链路层

3.1 基本概念

结点:主机、路由器
链路:网络中的两个结点之间的物理通道,传输介质主要有双绞线,光纤和微波,分为有线链路和无线链路
数据链路:网络中的两个结点的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上
:链路层协议的数据单元,封装网络层数据报
负责通过一条链路从一个节点向另一个物理链路直接相连的节点传送数据报

数据链路层的功能服务

  • 为网络层提供服务,无确认无连接服务,有确认无连接服务,有确认面向连接服务(有连接必有确认)
  • 链路管理,即连接的建立,维持,释放(用于面向连接的服务)
  • 组帧
  • 流量控制(限制发送方)
  • 差错控制(帧错/位错)
    向上层网络层提供服务,其最基本的服务是将源自网络层来的数据可靠的传输到相邻节点的目的网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路

形象比喻:
网络层——boss
数据链路层——秘书
物理层——傻子

3.2 封装成帧

组帧的四种方法

  1. 字符计数法
  2. 字符(节)填充法
  3. 零比特填充法
  4. 违规编码法

透明传输:不管所传输的数据是什么样的比特组合,都应当能够在链路上传送,因此链路层就“看不见”有什么妨碍数据传输的东西

3.2.1 字符计数法

帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数

痛点:鸡蛋装入一个篮子中

3.2.2 字符填充法

3.2.3 零比特填充法

  • 遇到连续5个"1",在其后填0
  • 遇到5个很后面有"0",删除一个0

保证了透明传输:在传输的比特流中可以传送任何比特组合,而不会引起对帧边界的判断错误

3.2.4 违规编码法

由于曼彻斯特编码是由高到低或者低到高,因此高-高/低-低都是错误的,因此可以用"高-高","低-低"来定界帧的起始和终止

3.3 差错控制(检错编码)

传输中的差错都是由于噪声引起的
全局性:由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的
解决方法:提高信噪比来减少或避免干扰
局限性:外界特定的短暂原因造成的冲击噪声,是产生差错的主要原因
解决方法:编码技术

链路层为网络层提供服务:无确认无连接服务(通信质量好,有线传输链路),【有确认无连接,有确认有连接】(通信质量差,无线传播链路)

3.3.1 检错编码——奇偶校验码

奇偶校验码的特点:
只能检验出奇数个比特的错误,检错能力为50%

3.3.2 检错编码——CRC循环冗余码

例子:要发送的数据是1101011011,采用CRC检验,生成多项式是10011,那么最终发送的数据应该是?
要发送的数据+帧检验序列FCS
计算冗余码:

  • 加0:假设生成多项式G(x)的阶为r,则加r个0
  • 模2除法:数据加0后除以多项,余数为冗余码/FCS/CRC检验的比特序列

解析:
10011表示为生成多项式 x 4 + x 1 + 1 x^4+x^1+1 x4+x1+1,阶为4,因此加4个0
进行异或:同0异1

接收端检验的过程
把收到的每一帧都除以同样的除数,然后检查得到的余数R

  • 余数为0,判定这个帧没有差错——接受
  • 余数不为0,判定这个帧有差错(无法定位)——丢弃

FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。接近于1的概率认为传输过程无差错

“可靠传输”:数据链路层发送什么,接收端就收到什么
链路层使用CRC检验能够实现无比特差错的传输,但这还不是可靠传输

3.3.3 纠错编码——海明码

海明码:发现双比特错,纠正单比特错
工作原理:动一发而牵全身
工作原理:
确定校验码位数r-》确定检验码和数据的位置-》求出检验码的值-》检错和纠错

  • 确定检验码的位数r

    • 海明不等式: 2 r > = k + r + 1 2^r>=k+r+1 2r>=k+r+1,r为冗余信息位,k为信息位
  • 确定检验和数据的位置
  • 求出检验码的值

假定这4位检验码分别为 P 1 , P 2 , P 3 , P 4 P_1,P_2,P_3,P_4 P1​,P2​,P3​,P4​,数据从左到右为 D 1 . . . D 6 D_1...D_6 D1​...D6​

检错和纠错
假设第5位出错,因此接收到的数据是0010111101
令所有要检验的为异或运算

3.4 流量控制和可靠传输机制

较高的发送速率和较低的接受能力的不匹配
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的
传输层流量控制手段:接收端给发送端发送一个窗口公告

3.4.1 流量控制

流量控制方法:

  • 停止-等待协议(每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧)
  • 滑动窗口协议:一次可发送多个,但只有接收窗口收到确认后,才移动一个窗口
    • 后退N帧协议(GBN)
    • 选择重传协议(SR)

停止-等待协议:发送窗口大小为1,接收窗口大小为1
后退N帧协议:发送窗口大小>1,接受窗口大小=1
选择重传协议:发送窗口大小>1,接收窗口大小>1

3.4.1.1 停止-等待协议

超时计时器:每次发送一个帧就启动一个计时器
比RTT往返时间要长一点,超时则重传

  • 发送一个帧后,要保留其副本
  • 数据帧和确认帧必须得编号

性能分析:

  • 简单
  • 信道利用率低!

信道利用率=U= T D T D + R T T + T A \frac{T_D}{T_D+RTT+T_A} TD​+RTT+TA​TD​​= ( L / C ) T \frac{(L/C)}{T} T(L/C)​其中,L是T内发送L比特的数据,C是发送方的数据传输速率,T是发送周期,即从开始发送数据到收到一个确认帧为止

例子:一个信道的数据传输速率为4kb/s,单向传播时延为30ms,如使停止-等待协议的信道最大利用率为80%,要求的数据帧长度至少是多少?
解析:RTT=30*2=60ms
根据U= ( L / C ) T \frac{(L/C)}{T} T(L/C)​= L / 4000 L / 4000 + 0.06 \frac{L/4000}{L/4000+0.06} L/4000+0.06L/4000​=80%
解得:L=960bit

3.4.1.2 后退N帧协议(GBN)

运行中的GBN

GBN发送方必须响应三件事:

  • 上层的应用
  • 收到一个ACK
    • 采用累积确认的方式,标明接收方已收到n号帧之前的所有帧
  • 超时事件
    • 若出现超时,则重传所有已发送但未确认的帧

滑动窗口长度

若采用n个比特对帧编号,那么发送窗口的尺寸 W T W_T WT​应满足:
1 < = W T < = 2 r − 1 1<=W_T<=2^r-1 1<=WT​<=2r−1,因为发送窗口尺寸过大,会使接收方无法判断区别新帧和旧帧

重点总结

  • 累积确认
  • 接收方只按顺序接受帧,不按序无情丢弃
  • 确认序号最大,按序到达的帧
  • 发送窗口最大为 2 n − 1 2^n-1 2n−1,接受窗口为1

协议性能
优点:提高了信道利用率
缺点:在重传时必须把原来正确传送的数据帧重传,使传送效率低——选择重传协议SR

3.4.1.3 选择重传协议(SR)

运行中的SR:

由于GBN的累积确认机制,所以使得必须批量重传。但可不可以只重传出错的帧?
解决:设置单个确认,同时加大接受窗口,设置接收缓存,缓存乱序到达的帧

SR发送方必须响应的三件事

  • 上层调用
  • 收到一个ACK
  • 超时事件(一个超时事件发生时只重传一个帧)

SR接收方要做的事
来者不拒(窗口内的帧)——失序的帧会被缓存
(SR接收方将确认一个正确的帧不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有的帧(即序号更小的帧皆被接收为止),这时才可以将这一批帧按序交给上层,然后向前移动滑动窗口)

滑动窗口长度

  • 发送窗口大小最好等于接收窗口大小
  • W T m a x = R T m a x = 2 n − 1 W_{T_{max}}=R_{T_{max}}=2^{n-1} WTmax​​=RTmax​​=2n−1

重点总结

  • 对数据帧逐一确认,收一个确认一个
  • 只重传出错帧
  • 接收方有缓存
  • W T m a x = R T m a x = 2 n − 1 W_{T_{max}}=R_{T_{max}}=2^{n-1} WTmax​​=RTmax​​=2n−1

3.5 信道划分介质访问控制

点对点链路:两个相邻节点通过一个链路相连,没有第三者;应用:PPP协议,常用于广域网 类似于打电话
广播式链路:所有主机共享通信介质(应用:早期总线型以太网,无线局域网,常用于局域网) 类似于村子里的广播

典型的拓扑结构:总线型,星型(逻辑总线型)

3.5.1 介质访问控制

采取一定的措施,使得两节点之间的通信不会发生互相干扰

信道划分介质访问控制(MAC)协议:
基于多路复用技术划分资源;网络负载重,共享信道效率高,且公平

随机访问MAC协议:用户根据意愿随机发送消息,发送信息可独占信道带宽

轮询访问MAC协议/轮流协议/轮转访问MAC协议:
既不产生冲突,又要发送时占用全部带宽

3.5.2 频分多路复用FDM(并行)

用户在分配到一定频带后,在通信过程中自始至终都占用这个频带
频分复用的所有用户在同样的时间占不同的带宽(频率带宽)资源
优点:充分利用传输介质带宽,系统效率较高,实现比较容易

3.5.3 时分多路复用 TDM

3.5.4 改进的时分复用——统计时分复用 STDM

STDM不是固定分配时隙,而是按需动态分配时隙

3.5.5 波分多路复用 WDM——光的频分多路复用

3.5.6 码分多路复用 CDM

**码分多址(CDMA)**是码分复用的一种方式
1比特分为多个码片/芯片,每一个站点被指定一个唯一的m位芯片序列。发送1时站点发送芯片序列,发送0时站点发送序列反码(通常把0写成-1)

如何不打架:多个站点同时发送数据时,要求各个站点芯片序列相互正交
如何合并:各路数据在信道中被线性相加
如何分离:合并的数据和源站规格化内积

3.5.7 ALOHA协议(随机访问介质访问控制)

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

冲突如何检测
如果发生冲突,接收方就会检测出差错,然后不予确认,发送方在一定时间内收不到就会判断发生了冲突
冲突如何解决
超时后等一随机时间再重传

时隙ALOHA协议思想:把时间分为若干时间的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始再发送——控制想发就发的随意性

3.5.8 CSMA协议(载波监听多路访问协议)

协议思想:发送帧之前,监听信道

1-坚持CSMA
坚持指的是对于监听信道忙之后的坚持
思想:如果一个主机要发送信息,那么它先监听信道

  • 空闲则直接传输,不必等待
  • 忙则一直监听,知道空闲马上传输(如果有冲突,(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程)

优点:只要媒体空闲,站点就立马发送,避免了媒体利用率的损失
缺点:假如有两个或两个以上的站点要发送,冲突不可避免

非坚持CSMA
非坚持指的是对于监听信道忙之后不继续监听
思想:如果一个主机要发送信息,那么它先监听信道

  • 空闲则直接传输,不必等待
  • 忙则等待一个随机时间后再进行监听

优点:采用随机重发延迟时间可以减少冲突发生的可能性
缺点:可能存在大家都在延迟等待的过程中,使得媒体仍可能处于空闲状态,媒体利用率降低

p-坚持CSMA
P-坚持指的是处于监听信道空闲的处理
思想:如果一主机要发送信息,那么先监听信道

  • 空闲则以p概率直接传输,不必等待,概率1-p等待下一个时间槽再传输
  • 忙则等待一个随机时间之后再监听

优点:既可以像非坚持那样减少冲突,有可以像1-坚持那样减少媒体空闲时间
缺点:发生冲突后还是坚持把数据帧发送完,造成浪费

3.5.9 CSMA/CD协议——【有线】总线型以太网

载波监听多点接入/碰撞检测
发送数据执之前和发送时都要检测一下总线上是否有其他计算机在发送数据

CS:载波监听/侦听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络
CD:碰撞检测(冲突检测):“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。——半双工网络(如果是全双工,说明这时候他既可以发送也可以接受,说明网络中还有其他站点在发送数据,因此会发生冲突,所以不行)

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

  • 最多是两倍的总线端到端的传播时延(即2τ)才检测到发生碰撞(这里的τ指的是传播时延)
  • 总线的端到端往返传播时延
  • 争用期/冲突窗口/碰撞窗口
  • 只要经过2r时间还没有检测到碰撞就肯定这次发送不会发生碰撞

如何确定碰撞后的重传时机:——截断二进制指数规避算法

  • 确定基本退避(推迟)时间为争用期2τ(因为不可能一发生碰撞就马上重传,因为这样很可能永远都在碰撞,因此要确定一个重传时间)
  • 定义重传参数k,他等于重传次数,但k不超过10,即k=min[重传次数,10],当重传次数不超过10时,k等于重传次数,当重传次数大于10时,k就不再增大而一直等于10
  • 从离散的整数集合[0,1, 2 k − 1 2^k-1 2k−1]中随机取出一个r,重传所需要规避的时间就是r倍基本退避时间,即r*2τ
  • 当重传次数达16次仍不成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错

例子:站点A检测出碰撞。
第一次重传,k=1,r从[0,1]中选;重传推迟时间为0或2τ,在这两个时间中选一个;
若再次发生碰撞,则进行第二次重传,k=2,r从[0,1,2,3]中选一个;重传推迟时间为0,2τ,4τ或6τ,在这四个中选一个
若再次发生碰撞,则进行第三次重传,k=3,r从[0,1,2,3,4,5,6,7]中选一个,重传时间为0,2τ,4τ,6τ,8τ,10τ,12τ,14τ中选一个
…(若重传到16次还是发生碰撞,那就放弃重传了)
——若连续发生多次冲突,就表明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传的次数增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定

例子:在以太网的二进制回退算法中,在11次碰撞之后,站点会在0~(?)之间选择一个随机数
答:因为k=min{重传次数,10},因此k=10,因此,r从[0,…, 2 10 − 1 = 1023 2^{10}-1=1023 210−1=1023]中选择一个,因此重传时间从[0τ,…,2046τ]中选一个

3.5.10 最小帧长问题(使检测到碰撞时帧还未发送完,可以及时叫停)

帧的传输时延至少要两倍信号在总线中的传播时延
帧 长 ( b i t ) 数 据 传 输 速 率 > = 2 τ ( τ 是 传 播 时 延 ) \frac{帧长(bit)}{数据传输速率}>=2τ(τ是传播时延) 数据传输速率帧长(bit)​>=2τ(τ是传播时延)
最小帧长= 总 线 传 播 时 延 ∗ 数 据 传 输 速 率 ∗ 2 = 2 τ ∗ 数 据 传 输 速 率 总线传播时延*数据传输速率*2=2τ*数据传输速率 总线传播时延∗数据传输速率∗2=2τ∗数据传输速率

以太网规定最短帧长是64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧

3.5.11 CSMA/CA协议

载波监听多点接入/碰撞避免(无线局域网)
发送数据前,先检测是否空闲
空闲则发出RTS(request to send)(我要发送数据了哦),信道忙则等待
接收端收到RTS后,将响应CTS(clear to send)(好,我知道你要发送数据给我了)
发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)
接收端收到数据帧后,用CRC来检测是否正确,正确则相应ACK帧
发送方收到ACK后可进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止。(采用二进制指数退避算法规定随机推迟时间)

CSMA/CD VS CSMA/CA
相同点:核心都是先听再说,换言之,两个在接入信道之前都需要先进行监听,当发现信道空闲后,才能进行接入
不同点:

  • 传输介质不同:CSMA/CD用于总线型以太网【有线】,CSMA/CA用于无线局域网【无线】
  • 载波检测方式不同:因传输介质不同,CSMA/CD 和CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化。而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测信道空闲的方式
  • CSMA/CD 检测冲突CSMA/CA 避免冲突,二者出现冲突后都会进行有上限的重传

3.6 局域网基本概念和体系结构

简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道
特点:

  • 覆盖地理范围比较小,只在一个相对独立的局部范围内
  • 使用专门铺设的传输介质(双绞线,同轴电缆)联网,数据传输效率高
  • 通信延迟时间短,误码率低,可靠性较高
  • 各站点平等,共享传输信道
  • 多采用分布式控制和广播通信,可进行广播和组播

决定局域网的主要因素:
网络拓扑,传输介质和介质访问控制方法

拓扑结构

传输介质

介质访问控制方法

  1. CSMA/CD:常用于总线型局域网
  2. 令牌总线:常用于总线型局域网
  3. 令牌环网:常用于环型局域网

分类

  1. 以太网:逻辑拓扑总线型,物理拓扑是星型或拓展星型(802.3标准)
  2. 令牌环网:物理星型,逻辑环型(802.5)
  3. FDDI网:物理双环拓扑,逻辑环型拓扑(802.8)
  4. ATM网
  5. 无线局域网(WLAN)(802.11)

MAC子层和LLC子层

3.7 以太网

提供无连接,不可靠的服务
不可靠:对发送发的数据帧编号,不向发送方进行确认,差错直接丢弃,差错纠正由高层负责
以太网只实现无差错接收,不实现可靠传输

10BASE-T以太网
传送基带信号的双绞线以太网,T表示双绞线,现10BAST-T采用的是无屏蔽双绞线UTP,传输速率是10Mb/s
物理上采用的是星型拓扑,逻辑上是总线型,每段双绞线最长为100m,采用曼彻斯特编码,采用CSMA/CD介质访问控制

适配器与MAC地址
计算机与外界有限局域网连接是通过通信适配器的。
适配器上装有处理器和存储器(RAM和ROM)
ROM上有计算机硬件地址MAC地址(标识符)

以太网MAC帧

高速以太网:速率>=100Mb/s

  1. 100BASE-T以太网
    在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE 802.3的CSMA/CD协议。支持全双工和半双工,全双工无冲突
  2. 吉比特以太网
    光纤或双绞线上传送1Gb/s信号
  3. 10吉比特
    光纤上传输10Gb/s信号,只支持全双工,无争用问题

无线局域网

  • 有固定的基础设施无线局域网
  • 无固定基础设施无线局域网自组织网络

3.8 PPP协议和HDLC协议

通常用于广域网 WAN

因特网是最大的广域网
PPP协议的特点(点对点)
目前使用最广泛的数据链路层协议,用户使用拨号电话接入
因特网一般使用PPP协议,只支持全双工链路

PPP协议应该满足的要求

  • 简单:对于链路层的帧,无需纠错,无需序号,无需流量控制
  • 封装成帧:帧定界符
  • 透明传输:与帧定界符一样的比特组合的数据应该如何处理,异步线路用字节填充,同步线路用比特填充
  • 满足多种网络层协议:封装的IP数据报可以采用多种协议
  • 满足多种类型的链路:串行/并行,同步/异步,光/电
  • 差错检测:CRC冗余,错就丢弃
  • 检测连接状态:链路是否正常工作
  • 最大传送单元:数据部分最大长度MTU,默认是不超过1500字节
  • 网络层地址协商:知道通信双方的网络层地址
  • 数据压缩协商

PPP协议的三个组成部分

  • 一个将IP数据报封装到串行链路(同步串行/异步串行)的方法
  • 链路控制协议LCP:建立并维护数据连接(身份验证)
  • 网络控制协议NCP

PPP协议状态图

PPP协议的帧格式

HDLC协议
高级数据链路控制,是一个在同步网上传输数据,面向比特的数据链路层协议,由ISO制定,采用全双工通信,采用CRC检验。

PPP与HDLC对比
都只支持全双工链路
都可以实现透明传输
都可以实现差错检测,但不就正差错

PPP协议 面向字节 2B协议字段 无序号和确认机制 不可靠
HDLC协议 面向比特 没有 有编号和确认 可靠

3.9 链路层设备

链路层扩展以太网:网桥和交换机
网桥根据MAC帧的目的地址对帧进行转发和过滤,当网桥收到一个帧时,并不是向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪个接口,或丢弃

网桥的优点

  • 过滤通信量,增大吞吐量
  • 扩大了物理范围
  • 提高了可靠性
  • 可互连不同物理层,不同Mac子层和不同速率的以太网

网段:
一般指一个计算机网络中使用同一物理设备(传输介质,中继器,集线器等)能够直接通讯的那一部分

网桥分类——透明网桥
透明网桥:“透明”指以太网的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用的设备——自学习

源路由网桥
在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧首部中
方法:源站以广播方式向预通信目的站发送一个发现帧

多接口网桥——以太网交换机

以太网交换机的两种交换方式

  • 直通式交换机:查完目的地之(6B)立刻转发

    • 延迟小,可靠性低,无法支持具有不同速率的端口的交换
  • 存储转发式交换机:将帧放入高速缓存,并检查是否正确,正确则转发
    • 延迟大,可靠性高,可支持具有不同速率的端口交换

总结

设备 能否隔离冲突域 能否隔离广播域
物理层设备(傻瓜)中继器,集线器 × ×
链路层设备(路人)网桥,交换机 ×
网络层设备(大佬)路由器

计算机网络基础知识总结一(详细)相关推荐

  1. 计算机网络基础知识总结二(详细)

    计算机网络是考研的重点,也是日后工作最基本的知识点之一.本博文详细的总结了计算机网络的基础知识,方便日常查看和复习,希望有所帮助. 视频学习链接:https://www.bilibili.com/vi ...

  2. 超详细的计算机网络基础知识总结 第一章:概述

    本文基于:王道计算机考研-计算机网络 顺便提一嘴,王道计算机网络的小姐姐声音真滴好听 相关文章 超详细的计算机网络基础知识 第二章-物理层 超详细的计算机网络基础知识 第三章:数据链路层 超详细的计算 ...

  3. 超详细的计算机网络基础知识总结 第三章:数据链路层

    本文基于:王道计算机考研-计算机网络 其他文章: 超详细的计算机网络基础知识 第一章:概述 超详细的计算机网络基础知识 第二章:物理层 超详细的计算机网络基础知识 第四章:数据链路层 超详细的计算机网 ...

  4. 超详细的计算机网络基础知识总结 第四章:网络层

    本文基于:王道计算机考研-计算机网络 ☺其他文章: 超详细的计算机网络基础知识 第一章:概述 超详细的计算机网络基础知识 第二章:物理层 超详细的计算机网络基础知识 第三章:数据链路层 超详细的计算机 ...

  5. 最容易理解的计算机网络 基础知识概论(下)

    文章目录 1.计算机网络的分类 1.1按照传输介质分类 1.2按照网络的使用者进行分类 1.3按照网络的规模和作用范围进行分类. 2.计算机网络的性能指标 2.1 带宽 2.2 时延 2.2.1网络时 ...

  6. 网络通信学习笔记之——计算机网络基础知识

    一.计算机网络基础知识 1.什么是计算机网络 ​ 把分布在不同地理位置的计算机与专门的网络设备用通信线路互相连成一个规模大.功能强的系统, 从而使众多计算机可以方便地互相传递信息.共享软件.硬件.数据 ...

  7. 计算机网络基础知识及面试总结-这应该是最全的了

    文章目录 计算机网络基础知识及面试总结 1 基本概念 1.1 TCP/IP协议栈,OSI参考模型 1.2 简要的介绍各层的作用 1.3 常见的协议 2 应用层 2.1 HTTP请求有哪些常见状态码? ...

  8. 就这一篇,计算机网络基础知识总结

    如果说计算机把我们从工业时代带到了信息时代,那么计算机网络就可以说把我们带到了网络时代.随着使用计算机人数的不断增加,计算机也经历了一系列的发展,从大型通用计算机-超级计算机-小型机-个人电脑 -工作 ...

  9. 计算机网络基础知识 学习笔记

    计算机网络基础知识 从浏览器输入一个url中间经历的进程 TCP三次握手 TCP状态 TCP握手为什么不能两次 幂等和安全性 tcp 怎么保证数据包有序 TCP什么时候发送复位包 TCP心跳包机制 t ...

最新文章

  1. 使用WinHttp接口实现HTTP协议Get、Post和文件上传功能
  2. 【转载】flash时间轴中变量的作用域
  3. 图像傅里叶变换-不错
  4. python爬取csdn排名积分等信息
  5. Hasor JDBC 的难关,嵌套事务处理思路
  6. [翻译] WindowsPhone-GameBoy模拟器开发二--Rom文件分析
  7. XCTF-MISC-新手区:pdf
  8. UI5 Navigation execution entry point
  9. jzoj3920-噪音【贪心,dp】
  10. 实例2:python
  11. 一套完整的Selenium自动化测试框架设计实战,这次38K, 妥了
  12. CentOS7下安装达梦数据库的步骤
  13. spring mvc 解决csrf跨站请求攻击
  14. python做excel自动化-Python如何控制Excel实现自动化办公
  15. java中用Executor代替Thread的四大理由
  16. CTR 预估模型简介--非深度学习篇
  17. AAAI2021论文: 时空Kriging的归纳式图神经网络
  18. 合肥辰工科技有限公司简介及公司产品介绍
  19. 联盟决策大会 By K龙
  20. tableau中LOD:fixed、include、exclude 区别

热门文章

  1. 关于微信小程序接入珊瑚助手踩过的雷
  2. 手机到底该怎么充电?想不到和之前自己了解的都不一样,涨知识了
  3. Google AI Residency 计划集锦
  4. 全球及中国智慧水产养殖行业发展规模及未来前景展望报告(2022-2027年)
  5. 如何用SEMrush Keyword Magic工具布局网站关键词?
  6. Python之UDP编程
  7. php关键词匹配度排序,MySQL_mysql 关键词相关度排序方法详细示例分析,小项目有时需要用到关键词搜 - phpStudy...
  8. 计算机资源属于校内还是校外,KingCMS:运营地方门户站之推广总结篇(6)
  9. stm32使用红黑树
  10. 智能家居来了,未来的你需要一个会思考的房子