[TOC]


第一章 计算机网络相关概念

基本概念

    • 互联:计算机系统之间是相互连通的
    • 自治:计算机系统之间没有主从关系
    • 数据通信(连通性)
    • 资源共享(硬件,软件,数据)
    • 分布式处理
    • 提高可靠性
    • 负载均衡

计算机网络的组成

基本组成部分

  • 硬件
  • 软件
  • 协议

工作方式

  • 边缘部分:用户直接使用的部分:
    1. C/S
    2. P2P
  • 核心部分:为边缘部分服务,包括路由器及相关的网络

功能组成

  • 通信子网:实现数据通信

  • 资源子网:实现资源共享、数据处理

计算机网络的分类

    • 广域网(WAN)----- > 交换技术
    • 城域网(MAN)
    • 局域网(LAN)------ > 广播技术
    • 个人区域网(PAN)
    • 公用网
    • 专用网:政府,军队...
    • 电路交换
    • 报文交换
    • 分组交换
    • 总线型
    • 星型
    • 环型
    • 网状型
    • 广播式网络:共享公共通信信道
    • 点对点网络:按照分组存储转发路由选择机制

计算机网络性能指标

    • 表示单位时间内通过某个网络的数据量
    • 时延包括:
      1. 发送时延
      2. 传播时延(由于介质一定,一般情况下无法降低传播时延)
      3. 排队时延
      4. 处理时延
    • 对于高速链路的主要提速手段即降低时延中的发送时延部分,即提高带宽
    • 发送方发送数据到发送方收到确认的时间段
    • RTT主要包括两倍的传播时延 + 末端处理时延
    • 信道利用率

      信道利用率 = (有数据通过时间) / (有 + 无数据通过时间)

    • 网络利用率

      信道利用率加权平均值

计算机分层协议和结构

分层结构

    • 语法:规定传输数据的格式
    • 语义:规定所要完成的功能
    • 同步:规定各种操作的顺序

OSI参考模型

    • 应用层:所有能和用户交互产生网络流量的程序(必须是联网程序)
    • 表示层:处理通信系统中交换信息的表示方式(语法和语义):
      1. 数据格式变换
      2. 数据加密和解密
      3. 数据压缩和恢复
    • 会话层:向表示层用户或实体建立连接,并在连接上有序的传输数据:
      1. 建立、管理终止会话
      2. 使用校验点可使通信失效从校验点/同步点继续恢复通信,实现数据同步
    • 传输层:负责两个进程的通信,即端到端通信。传输单位为数据报:
      1. 可靠传输,不可靠传输
      2. 差错控制
      3. 流量控制
      4. 复用分用
    • 网络层:分组从远端传输到目的端,为分组交换网不同主机提供通信服务,传输单位是数据包:
      1. 路由选择
      2. 流量控制
      3. 差错控制
      4. 拥塞控制
    • 数据链路层:主要任务把网络层传下来的数据包封装成帧:
      1. 封装成帧
      2. 差错检验
      3. 流量控制
      4. 访问控制
    • 物理层:主要任务是在物理媒体上实现比特流的透明传输,传输单位是比特
      1. 定义接口特性
      2. 定义传输模式(单工,双工,半双工)
      3. 定义传输速率
      4. 比特同步
      5. 比特编码

第二章 物理层

基本概念

    • 机械特性
    • 电气特性
    • 功能特性
    • 规程特性

数据通信

    • 电话线入网(需要调制解调器进行模拟信号和数字信号的转换)
    • 宽带入网(不需要调制解调器)

    • 数据:传送消息的实体,通常是有意义的符号序列

    • 信号:数据的电气、电磁表现,数据在传输过程中的存在形式:

      1. 数字信号
      1. 模拟信号
    • 信源:产生和发送数据

    • 新宿:接收数据的终点

    • 信道:信号的传输媒介:

      1
      2
      3
      4
      5
      6
      7
      8
      graph LR
      信道 ==> 传输信号 ==> 模拟信道
      传输信号 ==> 数字信道

      信道 ==> 传输介质
      传输介质 ==> 无线信道
      传输介质 ==> 有线信道

    • 单工通信:只有一个方向通信,而没有反方向的通信(需要一条)
    • 半双工通信:通信的双方都可接收和发送信息,但不能同时发送(需要两条)
    • 全双工通信:通信的双方可以同时发送和接收信息(需要两条)
    • 串行传输:速度慢,费用低,适合远距离传输
    • 并行传输:速度快,费用高,适合近距离传输

码元、波特、带宽

码元

速率

    • 码元传输速率:

      1. 别名:码元速率,波形速率,调制速率,符号速率

      2. 表示单位时间内传播的码元个数(也可以称为脉冲个数或信号变化的个数),单位是波特1波特表示单位时间内传输1码元,这里的码元可以是2进制也可以是多进制的,但码元速率与进制数无关

        上图表示虽然码元的进制不同但是,波特相同,即单位时间内传输码元的个数是相同的

    • 信息传输速率:

      1. 别名:信息传输速率,比特率
      2. 表示单位时间内传输比特的个数
    • 码元传输速率和信息传输速率的关系:

      若为M进制的码元,码元传输速率为N波特,则信息船速速率为(N * M)bit/s

    • 传输速率:在主机侧,将数据发送到链路上的速率为传输速率
    • 传播速率:在物理链路上的传播速率,即电磁波速率

带宽

概念与第一章相同,即网络中一点到另一点的最高数据率

奈式准则

    • 由于现实中的信道带宽有限,又有噪声和干扰,导致实际的波形和发送的波形不同
    • 码元的传输速率
    • 信号的传输速率
    • 噪声干扰
    • 传输媒体质量

码间串扰

      • 在上图中,低频无法通过的原因为震动频率太少,在传输的过程中可能由于信道的损耗,而消失

      太高频无法通过的原因是由于码间串扰,码元之间的界限不清晰

      • 信道带宽是信道的最高频与最低频之间的差距

奈奎斯特定理(奈式准则)

  • V:码元的进制数
  • 因此由于一般情况下为2进制码元,所以V = 2,即极限数据传输率 = 2W
  • 但若码元的进制数发生改变,则极限传输速率也会发生更改【若为4进制则极限速率 = 4W】
    • 在任何情况(任何码元进制的情况下)下,码元的传输速率是有上限的,若超过此上限,则会出现严重的码间串扰
    • 信道的频道带宽越高,则极限传输速率越大,可以用更高的传输速率进行传输
    • 奈式准则给出了码元传输速率的限制,但没有信息传输速率的限制

香农定理

    • 噪声存在于所有的电子设备。由于噪声是随机产生的,它的瞬时值有可能很大,对于信号的干扰可能会很强,但是如果信号的较强,则噪声的干扰就会减弱,从而得出合理的信噪比对于信号的传播非常重要
    • 信噪比 = 信号平均功率 / 噪声的平均功率常记为S / N(Signal-to-Noise),用分贝db作为计量单位
    • 一般情况下需要将db转换为S / N
    • 带宽或信噪比越大,极限传输速率越高
    • 对于一定的带宽和一定的信噪比,信息的极限传输速率就确定了
    • 只要信息的传输速率低于极限传输速率就一定能找到某种和方法实现无差错的传输
    • 香农定理为理想公式

对于上图问题,对于给出的信噪比db为单位需要先计算出S / N才能带入香农公式

香农定理和奈式准则的关系

    • 奈式准则 ==> 2W * log2(V)
    • 香农定理 ==> W*log2(1 + S/N)
    • final = Min(奈式准则,香农定理)

编码和调制

基带信号和宽带信号

    • 将数字01直接用两种不同的电压表示,再送到数字信道上去(基带传输)。来自信源的信号,像计算机输出的代表各种文字或图像的数据信号都属于基带信号。基带信号就是就是直接表达了要传输信息的信号【声波为基带信号】
    • 将数字信号进行调制,使得基带信号变为模拟信号,再放到模拟信道传输即为宽带传输

编码和调制

数字数据编码为数字信号

    • 非归零编码【NRZ】
    • 曼彻斯特编码
    • 差分曼彻斯特编码
    • 归零编码【RZ】
    • 反向不归零编码
    • 4B/5B编码

非归零编码

归零码元

反向不归零编码

曼彻斯特编码

差分曼彻斯特编码

    • 常用于局域网
    • 可以实现自同步
    • 抗干扰能力强于曼彻斯特编码

4B/5B编码

信号调制

数字数据调制为模拟信号

    • 调幅:不同的码元状态对于不同的振幅
    • 调频:不同的码元状态对于不同的频率
    • 调相:不同的码元状态对于不同的相位【一般0和1互为正/余弦
    • 几种调制结果对应几种码元状态
      • 4个相位已经对应4种基本的码元状态,每种码元又有4种调幅方法,则共有4 * 4 = 16种码元状态,码元宽度为4bit,所以信息传输速率 = 波特率 * 码元宽度 = 1200 * 4 = 4800bit/s

模拟数据编码为数字信号

    • 抽样:周期性扫描,把时间上德连续信号采样成离散信号,[ 采样频率 >= 2 * 信号最高频率 ]
    • 量化:把抽样取得电平幅值按照一定德分级标度转化为数字值,并取整数
    • 编码:把对应德量化结果转化为二进制编码

模拟信号调制为跟高频的模拟信号

物理层传输介质

    • 传输媒体不是物理层
    • 传输媒体只负责信号的传输,并不清楚不同信号的意义,而物理层之所以能够清楚不同信号的意义是因为物理层规定了电气特性
    • 导向型:沿着固定的介质进行传播
    • 非导向型:自由空间进行传播

导向型传输介质

    • 分类:
      1. 屏蔽双绞线(STP)
      2. 无屏蔽双绞线(UTP)【含有金属丝编制的屏蔽层】
    • 适用场景:模拟信道,数字信道均可适用
    • 设备补充:对于传输距离太远时,模拟信号需要放大器增强信号,数字信号需要中继器,将失真的信号整形
    • 功能:抗干扰能力强于双绞线,传输距离更远,价格更贵
    • 分类:
      1. 50Ω同轴电缆【传输基带信号】
      2. 75Ω同轴电缆【传输宽带信号】
    • 传输光信号,所以带宽大,通信量大(相比于电磁波信号)
    • 分类:
      1. 多模光纤【多条光纤进行折射】
      2. 单模光纤【一条光纤直接到达】
    • 特点
      1. 传输损耗小,中继距离长,对远距离传输特别经济
      2. 抗雷电和和电磁干扰性能好
      3. 保密性好,不易被窃取

非导向型传输介质

    • 所有方向传播
    • 具有较强穿透力,可远距离传输,应用于通信领域
    • 信号方向固定
    • 微波通信频率较高,频带范围宽,数据率高
    • 信号方向固定
    • 要把传输信号转化为各自的格式

物理层设备 [傻瓜层]

中继器

    • 两端的网络部分是网段,而不是子网适用于完全相同的两类网络的互联,且网速要相同
    • 中继器只将任何电缆上的设备由一端发送到另一端,它仅作用于电气部分,并不管数据中是否有错误数据或不适用于网段的数据
    • 两端可连相同的媒体,也可连不同的媒体
    • 中继器两侧必须遵循相同的协议
    • 原因:由于再物理链路上存在中继器等设备,增大了网络延迟,所以需要进行相应的约束
    • 在网络的两侧最多只能有5个网段,4个物理层设备(包括集线器和中继器),3个主机

集线器(多口中继器)


第三章 数据链路层

数据链路层功能概述

    • 结点:主机、路由器
    • 链路(物理链路):网络中两个结点之间的物理通道,链路传输介质即物理层的传输介质
    • 数据链路:网络中两个结点之间的逻辑链路,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路
    • 帧:链路层的协议数据单元,封装网络层的数据报
    • 为网络层提供服务:无确认无连接服务,有确认无连接服务,有确认面向连接服务
    • 链路管理,即链路的创建,维持和释放
    • 封装成帧
    • 流量控制
    • 差错控制(帧错/位错)

封装成帧

    • 字符统计法
    • 字符填充法
    • 零比特填充法
    • 违规编码法

字符统计法

字符填充法

    • SOH:Start of Head【开始标识符】
    • EOT:End of Transmission【结束标识符】

零比特填充法

违规编码法

透明传输

差错控制

    • 全局性噪声:链路原因 ---> 解决办法:提高信噪比
    • 局部性噪声:外界短暂的原因 ---> 解决办法:利用编码技术解决
    • 位错:0 - 1错误【数据链路层能够处理的差错
    • 帧错:
      1. 丢失
      2. 重复
      3. 失序
    • 检错编码:能够检查出错误:

      1. 奇偶校验码:

        N-1为信息元 + 1位校验元

        只能检查出奇数个错误,检错能力是0.5

      2. CRC冗余码:

        基本步骤:

        1. 加0:在要传的数后面添加多项式的阶个0
        2. 模二除法【异或】:将余数加至要传的数后面
        3. CRC为获得FCS的方法,FCS为余式即帧的检验序列
        4. 接收端检验方法:
          • 收到获得的数据
          • 将获得的数据除多项式计算是否为0,若为0则判断正确,否则丢帧
        5. CRC的实现说通过硬件实现的因此不会影响传输速率

    • 纠错编码:能够检查并纠正错误:

数据链路层的流量控制

    • 对于数据链路层的流量控制传输层的流量控制是不同层次的传输控制
    • 数据链路层的流量传输控制是点对点每两个相邻结点之间的流量控制】的,而传输层的流量控制是端到端
    • 停止等待协议
    • 滑动窗口协议
      1. GBN协议【后退N帧协议】
      2. SR协议【选择重传协议】

停止等待协议

    • 丢帧
    • 丢IP数据包
    • 丢数据段
  • 一. 发送方丢包

    • 发送方每发送一个数据就停下来等待确认,如果收到确认则继续发送,若在超时重传时间内【比RTT稍长一点】未收到确认,则重新发送

      1. 发送方需要保留发送数据的副本

      2. 数据帧和确认帧必须编号

    二. ACK丢失/ACK迟到

    • 如果ACK丢失或迟到:发送方执行超时重传,当接收方收到重复的帧时,丢弃新到的帧并重新发送该帧的ACK
    • 简单
    • 信道利用率低

  • 信道利用率:在发送过程周期内,有效发送数据占整个周期的比例

    信道利用率 = (L / C) / T

    L:发送方的L比特数据

    C:发送方的传输率

    T:发送周期【RTT + L / C

  • 信道吞吐量 = 信道利用率 * 发送方的发送速率

后退N帧协议(GBN)

  • 累积确认:

    • 收到ACK i:表示0 ~ i帧已经收到,希望收到i + 1帧
    • 完全的有序:如果第i帧未收到,但收到了i + n帧,则会将该帧进行丢弃
    • 如果出现超时重传,则会重传所有已发送但是没有被确认的帧,即发送窗口内的所有帧
    • 如果发送窗口过小:效率低
    • 如果发送窗口过大:来不及确认,容易丢包
    • 优点:提高了信道利用率
    • 缺点:重传了正确传输的帧

选择重传协议(SR)

    • 逐帧确认
    • 只重传出错的帧
    • 接收存在缓存窗口

信道划分和介质访问控制

链路划分

    • PPP协议
    • 广域网
    • 早期总线以太网
    • 无线局域网
    • 常用于局域网
    • 常见拓扑结构:
      1. 总线型
      2. 星型

介质访问控制

    • 采取一定的措施使得两对结点的通信不会被干扰
    • 将使用介质的每个设备与来自于同一信道上的其他设备通信隔离开,把时域和频域资源合理的分配给网络上的设备
    • 目的:多个计算机共享信道,提高了链路的效率,即将广播信道转变为点对点信道
    • 静态划分信道:

      1. 预先分配信道
      2. 基于多路复用资源划分:
        • 网络负载重时:效率高,且公平(平均分配)
        • 网络负载轻时:效率低(分配了资源,但是无信息传输,浪费资源)
    • 动态分配信道:

      • 随机访问MAC:
      1. 信道并非是在用户通信时固定分配

      2. 随机发送消息独占资源:

        • 网络负载重时:效率低,竞争压力大
        • 网络负载轻时:效率高
      • 轮询访问MAC:
      1. 既不产生冲突,又可以占用全部带宽

静态划分信道

    • 频分多路复用(FDM)
    • 时分多路复用(TDM)
    • 波分多路复用(WDM)
    • 码分多路复用(CDM)
频分多路复用
时分多路复用
    • 频分复用 ---> 并行
    • 时分复用 ---> 并发
统计时分复用
    • STDM帧:也为物理层中的划分,即发送固定比特所需要的时间
    • 用户想要发送数据就先将数据发送至集中器(一种缓存类似),集中器对信息进行排队,排满一个STDM就发送
    • 这样对于断断续续的数据传输调高了效率
    • STDM是一种按需动态分配信道
波分多路复用
码分多路复用
    • 对0和1进行编码编码未芯片序列,发送1时发送原芯片序列,发送0时发送芯片序列的反码
    • 信道合并方式:对各个站点发送的芯片序列进行线性叠加
    • 芯片分离:由于各个站点的芯片序列两两正交,对混合序列与各个站点的序列相乘相加 / 位数,得到的结构若为1或-1,则为该站点序列,若为0,则不是该站点序列

动态分配信道

    • 轮询访问介质访问控制
      1. 令牌传递协议
    • 随机访问介质访问控制
      1. ALOHA协议
      2. CSMA协议
      3. CSMA/CD协议
      4. CSMA/CA协议
随机访问控制
ALOHA协议
    • 不监听信道,不按时间槽发送,随即发送,想发就发
    • 如果发生冲突,接收方就会检测出差错,不予确认,发送方在一定时间内收不到确认就会判断出现冲突
    • 超时后等一随机时间重发
    • 简单
    • 链路吞吐量低,太随意
时隙ALOHA协议
    • 把时间分成若干个相同的时间片,所有用户在开始是同时接入,若发生冲突,则必须等到下一个时间片再发送
    • 即在下一个时间片开始时刻重传
CSMA协议
    • CS(Carrier Sence):载波监听,即在发送之前检测链路上是否有数据在发送【检测原理:检测总线上信号电压的摆动值,若摆动值太大,则有信号在发送】
    • MA(Multiple Access):多点接入,表示计算机以多点接入的方式连接在一条总线上
    • 信道占用:

      1. 1-坚持CSMA

        • 空闲则发

        • 占用则持续监听直到空闲立马发送

        • 若发生冲突,则等待随机长再发

      2. 非坚持CSMA

        • 空闲则发

        • 占用则停止监听,等待随机时间在监听

      3. p-坚持CSMA

        • 若空闲,则依概率p传输,1-p等到下一个时间片再传输

        • 若占用,则停止监听,等待一个随机时间再监听【非坚持特点】

CSMA/CD
    • 因为其边发送边监听,使得其只能应用在半双工网络
  • 因此只要在2 * η内没有发生冲突则此次不会有冲突,**因此 2*η为争用期**

    • k = min(重传次数, 10)
    • 随机从[1,2,3,...2^k - 1]取一个数字r
    • 退避r倍的争用期时间
    • 特别的当重传16次还没有成功则放弃,并向高层报告
    • 若在检测发生碰撞后使接下来的数据停止发送,至少一次发送不能发完整个帧
    • 因此帧的传输时间需要大于2倍的传输时延即一个争用期
    • 则最小帧长 = 争用期 * 传输速率
    • 特别的,以太网规定最小帧长为64字节(64B),小于64B的帧均为无效帧
CSMA/CA
    • CD:
      1. 协议应用在有线以太网
      2. 无法做到360度,全面检测碰撞
      3. 隐蔽站:同时对一个目的地发送数据导致碰撞
    • CA协议应用在无线局域网
    • 检测信道:

      1. 空闲:

        • 发送方发出RTS帧,包含发射端的地址,接收端的地址,持续时长等帧相关信息,
        • 接收方收RTS后返回CTS帧
        • 发送方收到CTS后,进行预约信道并通知其他站点占用时长
        • 发送端发送数据后,接收端必须ACK,否则持续重发
      2. 忙则等待

    • 预约信道
    • ACK
    • RTS/CTS

轮询访问控制

轮询协议

    • 无冲突
    • 全带宽
    • 轮询开销
    • 等待延迟
    • 单点故障【需要保证主节点正常工作

令牌传递协议

    • 令牌:一种特殊格式MAC控制帧,不含任何信息,通过令牌控制信道的使用,确保同一时刻只有一个结点持有令牌独占信道,即独占全部带宽,同时也保证了无冲突
    • 令牌开销
    • 等待延迟
    • 单点故障
    • 常用于负载较大,通信量较大的场景当中

局域网(LAN)

    • 简称LAN
    • 是指在某一区域内由多台计算机互联而成的计算机组
    • 使用广播信道
    • 局域网与广域网的区别:
      • 局域网只覆盖物理层和链路层
      • 广域网覆盖物理层,链路层和网络层

网络拓扑

    • 建网容易
    • 拓展容易
    • 单点故障
    • 共享能力强
    • 相应速度快
    • 单点故障
    • 单点故障(根节点)

传输介质

    • 双绞线
    • 同轴电缆
    • 光纤
    • 电磁波

介质访问控制

    • 应用于总线型树形局域网
    • 应用于总线型树形局域网
    • 总线或树形上的结点按照一定顺序连接在一起
    • 使用于环型局域网

局域网的分类

    • 标准以太网(10Mbps)
    • 快速以太网(100Mbps)
    • 千兆以太网(1000Mpbs)
    • 10G以太网
    • 采用的拓扑结构为星型
    • 采用星型拓扑结构,逻辑上为环型
    • 不常使用
    • 光纤分布式接口
    • 环型拓扑结构
    • WIFI为无线局域网的一种应用【即WIFI为无线局域网的一种实现技术】

以太网

    • 便宜,简单
    • 速度快
    • 由于以太网为一种局域网实现方式,因此属于链路层,所以提供的为无连接,不可靠服务
    • 遇到差错帧,直接丢弃
    • 拓扑结构:
      • 总线型
      • 星型
    • T:双绞线,在该类以太网中,双绞线的最大长度为100m
    • 采用曼彻斯特编码

广域网(WAN)

PPP协议

    • 只支持全双工
    • 无需可靠传输
    • 封装成帧
    • 透明传输
      1. 字符填充
      2. 0比特填充
    • 差错检验
    • 支持多种网络协议

HDLC协议

    • 在实现透明传输时只能使用0比特填充
    • 全双工通信

MAC子层和LLC子层

MAC地址

数据链路帧的结构

    • 8B的前同步码:对于接收方和发送方进行同步的的编码,前7个Byte位10重复,对于最后一个Byte的最后两位为11表示MAC帧的开始
    • 目的地址:目的MAC

    • 源地址:原MAC

    • 类型:表示网路层的类型

    • 数据:46~1500Byte【46 = (链路层最小长度)64 - 18(原MAC + 目的MAC + 类型 + FCS)】

    • FCS:帧的检验序列

    • ANS:以太网采用曼彻斯特编码,如果结束则没有高低电平变化,从而判断出帧结束

数据链路层设备

    • 在物理层:通过增加集线器来扩展以太网【会合并碰撞域,影响带宽
    • 在数据链路层:通过交换机扩展以太网

网桥

    • 转发,过滤

    • 当接收到MAC帧时,并不是将其转发给所有的接口,而是先对其过滤,若可以转发,再转发至相应接口,否则进行丢弃

    • 分割冲突域,增大吞吐量

      例:若有两个网段,网段之间通过网桥连接,若每个网段均为10Mbps带宽,则整个网段为20Mpbs

      若为集线器连接,则仍然为10Mbps

    • 扩展了网段

    • 提高可靠性【分割网段,网段之间不影响】

    • 可以互联不同速率以太网

网桥学习算法

    1. 对于每一个帧到达网桥后:
      • 原MAC和网桥接口写入转发表
      • 查看转发表,检查转发表中是否有目的MAC
        1. 若有目的MAC则进行相应接口的转发
        2. 若无目的MAC地址,则向所有的接口进行转发MAC帧
    2. 定时删除转发表
      • 删除方法:全部删除

交换机

    • 直通式交换机

      检查完前6B即目的MAC就直接转发,延迟小,可靠性低

    • 存储转发式交换机

      将帧放入高速缓存,正确则转发,否则丢弃,延迟大,可靠性高

冲突域和广播域

冲突域

    • 在同一冲突域内的结点都能收到被发送的帧的信息,即在同一冲突与内只能有一个结点发送信息
    • 一般由物理层设备连接(集线器,中继器)

广播域

    • 网络中能接收任意设备发出的广播帧的的所有设备集合
    • 即当站点发出一个广播信号,所有能接收广播信号的设备构成广播域


第四章 网络层

基本概述

    • 从源端到目的端IP数据包的传输
    • 路由选择转发
    • 异构网络互联
    • 拥塞控制:
      1. 开环控制(静态控制)
      2. 闭环控制(动态控制)

数据交换方式

电路交换

    • 独占资源
    • 建立连接
    • 通信
    • 释放连接
    • 时延小
    • 传输有序
    • 无冲突
    • 建立释放连接浪费时间
    • 灵活性差
    • 线路独占,效率低
    • 无差错控制能力

报文交换

    • 不需要事先建立连接
    • 存储转发,动态分配线路
    • 灵活性高
    • 存储转发时延
    • 报文大小不定,需要网络有较大的缓存空间

分组交换

    • 无需建立连接
    • 存储转发,动态分配链路
    • 相对于报文交换,更易于管理【缓存压力小与报文】
    • 存储转发时延
    • 传输额外的信息
    • 重新排序

分组交换与报文交换比较

  • Mbps = 10^6

    kbs = 10^3

数据报和虚电路

    • 数据报:为网络层提供无连接服务
    • 虚电路:为网络层提供连接服务
    • 不事先确定传输路径,每个分组独立确定传输路径
    • 事先确定传输路径,沿着确定路径传输

网络层次和PTU名称

---- 网络层次 ---- ---- PTU ----
应用层 报文
传输层 报文段
网络层 IP数据报 / 分组
链路层
物理层 比特流
数据报
    • 面向无连接

    • 携带源地址和目的地址

    • 路由器根据目的地址进行转发

虚电路
    • 虚电路将分组交换方式和电路交换方式进行结合【交换的单位是分组
    • 虚电路:一条源主机到目的主机的逻辑电路,路劲上的所有结点都需要维持该路径(单点故障),都维持一张虚电路表
数据报和虚电路对比

IP数据报格式

IP格式

    • 版本:IPV4 / IPV6 【4bit】
    • 首部长度:固定长度 + 可变长度 【4bit】
    • 区分服务:一般无意义【8bit】
    • 总长度:首部 + 数据部分【16bit】
    • 标识:对于同一个数据报的标识相同,其分组的标识与其相同【16bit】
    • 标志:是否可分片 + 是否有分片【3bit(只使用后两位)】
    • 片偏移:若为分组片,其在原包的位置【13bit】
    • 生存时间:即数据报的跳的次数,每跳一次-1
    • 协议:即上层使用的是什么协议【TCP:6 ,UDP:17】
    • 首部检验和:对首部进行检验
    • 源地址:~
    • 目的地址:~
    • 可选长度:自定义
    • 填充:使首部为8byte的整数倍
    • 首部长度单位 4字节
    • 总长度单位 1字节
    • 片偏移单位 8字节

IP地址

    • 分类的IP地址
    • 子网的划分
    • 无分类IP地址(超网)
    • 通过IP的网络号判断有几个网络
  • 因为如图有6个不同的网络号,因此有6个不同的网络

分类IP地址

    • 全0:本王络
    • 全1:广播地址
    • 全0:禁止
    • 全1:广播地址
    • 127.0.0.1
    • 被分配的本地IP
    • localhost

子网划分与子网掩码

    • 对于分类的IP地址,利用率太低
    • 分类不灵活
    • 子网划分划分的为主机部分
    • 子网划分为专用网内部的事情,对外仍然只暴露网络号
    1. 提取IP地址
    2. 是否直接交付
    3. 特定主机路由
    4. 逐次与子网掩码相与,若网络号相同则交付
    5. 默认路由
    6. 丢弃报错

无分类编址(CIDR)

构成超网
最长前缀匹配

注意主机号不能全0和全1

NAT协议

    • 在专用网(即使用私有地址的网络)连接到因特网的路由器上安装NAT软件的路由器叫做NAT路由器,一个NAT路由器至少有一个全球IP
    • 在专用网向互联网发送请求时,先通过NAT协议包装成全球地址,再通过NAT路由器向互联网发送请求
    • 在NAT转换时通过NAT转换表转成特定的网络号和端口号

ARP协议

    • 网络层的一种数据传输协议
    • 发送方发送请求MAC信号 ---> 目的地址回复MAC ---> 发送方收到MAC后发送有MAC的数据帧
    • 完成主机或路由器IP地址到MAC的映射
    • 解决下一条向哪走(找路问题)
    1. 准备阶段:

      • 网络层已有信息:发送方IP,发送方MAC,目的IP
    2. 请求目的MAC:

      • 发送方先检查自己的ARP高速缓存表,找到有没有对应IP的MAC地址,若在同一网段,则可直接获得目的MAC

      • 若不在同一网段,则向网关路由MAC,收到网关路由MAC后将帧发送至网关路由,网关路由从第1步开始重复

    3. 整个过程中,发送IP,目的IP是不变的,只有发送MAC和目的MAC在不断的变化

    • 在局域网内部只能看懂MAC地址,所以在局域网内只能使用MAC地址

DHCP协议

    • 静态配置
    • 动态配置【DHCP服务器分配】
    • DHCP协议为应用层协议
    • 使用客户/服务器模式
    • 基于UDP的协议
    • 动态的分配地址

ICMP协议

    • 差错报告
    • 网络探寻

ICMP报文

    • ICMP报文为差错检验报文
    • 装在IP数据报的数据部分
    • ICMP差错报文
    • ICMP询问报文

ICMP差错报文

    • 终点不可达

    • 源点抑制

    • 时间超过:

      1. TTL = 0(路由器)

      2. 终点在规定时间内无完整数据报

    • 参数问题:首部检验错误

    • 改变路由

    • 不会对ICMP的差错发送报告
    • 若有分片,只对第一个分片发送差错报告报文,后续分片不发送
    • 对具有组播地址的数据报不发送报文
    • 对具有特殊地址的数据报不发送报文【127... 0.0.0.0】

ICMP询问报文

    • 主机或路由器向特定的主机或路由器发出询问,收到的主机或路由器必须做出相应
    • Ping的原理
    • 即测试目的站是否可达
    • 请求某个主机的时间

ICMP的具体应用

    • 使用的为ICMP询问报文
    • 使用了ICMP差错报告报文

路由算法和路由选择协议

路由算法

    • 静态路由算法
    • 动态路由算法

动态路由算法

    • 全局性

      OSPF算法

      所有路由器掌握完整的网络拓扑和链路费用信息

    • 分散性

      距离向量路由算法

      RIP算法

RIP协议【内部网关协议】
    • 一种分布式的基于距离向量的路由选择协议
    • 最大的优点 ---- 简单
    • 维护的路由表为从该路由器到其他网络的最近距离
    • 距离指的是路由的跳数
    • RIP允许一条路由最多只能15跳,16跳即表示不可达【此特性也决定了RIP协议只能适用于小型的网络】
    • RIP属于应用层的协议
    • 好消息传得快,坏消息传的慢

      若一个路由器的直连设备断链,又恰好其相邻路由器先发的路由表,则会造成循环+1即坏消息传的慢

RIP表的维护
  • 路由器仅和相邻的路由器交换信息
  • 交换的信息是本路由器的全部信息
  • 30S更新一次路由表信息,若超过180s未更新说明路由器G了
距离向量算法
  1. 修改相邻路由器发来的所有表项
  • 将相邻路由器发来的表项 距离 + 1
  • 将下一跳改为 相邻路由器
  1. 对修改后的表项:
  • 若该路由器无该网络表项则直接加入
  • 若有该网络表项,查看下一跳:
    1. 若下一跳相同,则更新
    2. 若下一跳不同,则取最小的距离的下一跳并填入
  1. 若超过180s还没有收到路由表,则将该相邻路由器记为不可达路由器,并设置距离为16
OSPF协议【内部网关协议】
    • 使用了迪杰斯特拉的最短路径算法
    • 能够适用在大型的网络
    • 每隔30min,进行一次更新
    • 不存在坏消息好消息问题
    • 使用洪泛法向自治系统内的所有路由器发送信息
    • 交换的是相邻路由器链路状态
    • 只有当链路发送变化时才进行更新
    • 更新结果为全网的设备均有了全网拓扑图

分层次路由选择协议

    • 因特网规模太大
    • 隐私性
    • 一个自治系统的路由器必须在内部相互连通
    • 一个自治系统属于一个管辖
    • 内部网关协议IGP
      • RIP协议
      • OSPF协议
    • 外部网关协议EGP
      • AS之间
      • BGP协议

BGP协议【外部网关协议】

    • BGP边界路由器,即自治系统的边界路由器
    • 交换网络的可达信息
    • 发生变化时更新变化部分

IP数据报传输方式

单播

    • 发送单个数据报到单个目的地址
    • 是一种P2P传输方式

广播

    • 发送数据报到同一广播域所有设备的方式
    • 点对多形式
    • IP主机号全1 对应链路层的MAC 全F【即产生广播】

组(多)播

    • 在尽可能接近目的局域网才开始广播,而不是对所有局域网广播
    • 按组广播
    • D类地址用于组播【224.0.0.0 ~ 239.255.255.255】
    • 目的地址不能填写主机IP,这样会造成发送方发送给指定主机,而是需要发送给一组主机
    • IP组播地址只能作为目的地址,源地址为单播地址

IGMP和组播路由选择

IGMP
    • IGMP网际组管理协议

    • 让局域网清楚是否有主机参加了组播

单播和组播区别

    • 对于单播对于若干个目的主机,需要在源点处就复制对应数列副本并转发,而多播只需在靠近局域网时才复制副本,因此,多播的效率要高于单播

移动IP

相关术语

    • 移动结点以固定的网络IP地址,实现跨越不同网段的漫游功能

    • 即使物理位置改变,IP不变

    • 移动结点:具有永久IP的设备

    • 归属代理【本地代理】:一个移动结点拥有的居所称为归属网络,在归属网络中,代表结点执行移动功能的实体称为归属代理

    • 外部代理【外地代理】:在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理

    • 永久地址【归属地址/主地址】:移动节点的源地址

    • 转交地址:移动节点外部临时地址

隧道技术

若A拥有固定IP

  1. 当A刚进入新网络时,会将外部代理地址发送给归属代理,使得归属代理知到转发地址
  2. 当B向A发送请求时:
    • A不在归属地,则归属代理会代替A接收请求
    • 归属代理对请求进行重新保装,将目的地址改为转发地址【外部代理地址】
    • 转发给外部代理,再由外部代理发送给A
  3. 若A请求B:
    • 直接适用固定IP发送即可

第五章 传输层

基本概述

    • 传输层复制进程和进程之间的通信
    • 复用分用
    • 传输层非差错检测

复用和分用

复用

    • 应用层所有进程都可以通过传输层传给网络层
    • 发送端自上而下

分用

    • 传输层从网络层收到数据后交付给应用层
    • 接收端自下而上

端口

      • 长度为16bit即共65535个端口地址
      • 服务端端口号:

        1. 熟知端口号 【0 ~ 1023】

        2. 登记端口号 【1024 ~ 49151】

      • 客户端端口号 【49152 ~ 65535】:

        1. 仅在客户进程运行时才动态分配

传输层协议

TCP【可靠】

    • 传输前建立连接,传输后释放连接
    • 不提供广播和多播服务
    • 可靠,面向连接,适用于大文件
    • 每一条TCP连接只有两个端点,即点对点的【因此无法广播和组播
    • 提供全双工通信
      1. 发送缓存【发送窗口】
      2. 接收缓存【接收窗口】
    • TCP是面向字节流【滑动窗口】

TCP格式

TCP连接管理

    • C/S方式
    • 三次握手

      1. 第一次:

        SYN = 1,seq = x(随机数)

      2. 第二次:

        SYN = 1,ACK = 1,seq = y,ack = x + 1

      3. 第三次:

        SYN = 0,ACK = 1,seq = x + 1,ack = y + 1

        • 只有第一次和第二次握手SYN = 1,之后所有情况都为0
    • 释放对象:

      参与TCP连接两端的任何一个对象都可以释放连接

    • 四次挥手

      1. 第一次【结束对象】:

        FIN = 1,seq = u

      2. 第二次【接收对象】:

        ACK = 1,seq = w,ack = u + 1

      3. 第三次【接收对象】:

        FIN = 1,ACK = 1,seq = v, ack = u + 1

      4. 第四次【结束对象】:

        ACK = 1,sqe = w,ack = v + 1

TCP可靠传输

    • 校验【校验伪首部】
    • 序号
    • 确认
    • 重传
    • 确认方法采用累积确认

    • 只确认最小序号的期望字节

      【5】未到 4 【3】未到 2 1
      • 对于上述情况只确认3序号
    • 超时重传

      重传时间的确定:RTTs方法【加权平均往返时间】

    • 冗余ACK【快速重传】

      • 基本原理:当收到失序报文段时,确认最小编号

TCP流量控制【滑动窗口机制】

    • 滑动窗口机制
    • 根据自己接收缓存大小动态调整发送缓冲大小

    • 窗口的调整也受限于拥塞窗口大小

    • 窗口大小 = Min(接收串口,拥塞窗口)

    • 由于TCP采用全双工机制,对于两个端点,既有接收缓存也有发送缓存,发送时,暴露自己的接收缓存大小,接收时根据对方的接收缓存大小改变自己的发送缓冲大小和接收缓存大小

    • 对于rwnd为0的情况

TCP拥塞控制

    • 对资源需求的总和大于了可用的资源

    •   graph LR
        网络资源不足 --> 网络性能变差 --> 网络吞吐量变低 --> 网络资源不足
    • 全局性的问题

    • 慢开始
    • 拥塞避免
    • 快重传
    • 快恢复
慢开始 拥塞避免

  • 传输伦次 ---> RTT
  • ssthreash:慢开始门限【且下一个ssthreash为上一个网络拥塞值的0.5】
  • 慢开始即初始值小
  • 拥塞避免:加法增大
快重传 快恢复
  • 只要执行了快重传算法就直接降到新的sstreash【快恢复】

UDP【不可靠】

    • 传输之前不需要连接

    • 传输后不需要确认

    • 不可靠,无连接,适用于小文件

    • UDP是面向报文的:

      1. 应用层给多长的报文,UDP就发送多长的报文
      2. UDP不对报文进行拆分
    • 无拥塞控制,适合实时应用【视频,IP电话等延迟低的应用】

    • UDP首部开销小 ---> 8Byte【TCP为20Byte】

    • 靠应用层实现可靠传输

UDP格式

  • 源端口号:可有可无,若不需要回复则可以不使用
  • UDP校验和是校验首部 + 数据部分

第六章 应用层

基本概念

网络应用模型

客户服务器模型(C/S)

    • Web
    • FTP
    • 远程登录
    • 电子邮件

对等模型(P2P)

DNS域名解析

域名

  • 根:www.ych.nb.edu.com省略了最后的“点” . ,该最后一个点为根

  • 顶级域名:"com" 等

  • 二级域名:“edu” 等【com即使顶级域名也是二级域名

  • 三级域名...

文件传输协议FTP

  • 文件传输协议 FTP

  • 简单文件传输协议 TFTP ---> 适合UDP

    • 使用FTP协议可用屏蔽不同的OS的差异使得传输文件没有阻碍
    • 基于客户服务器模式
    • FTP使用TCP实现可靠传输【TFTP则使用的为UDP】

万维网和HTTP

万维网WWW

    • 统一资源定界符 URL

      URL形式:

      • <协议>://<主机>:<端口号>/<路径>
      • URL不区分大小写
    • 形式为客户服务器模式

HTTP超文本传输协议

    • 定义了怎样向万维网请求万维网文档
    • 以及服务器传输方式