《计算机网络与因特网》复习纲要

《计算机网络与因特网》复习纲要

我一天糊弄完计网,主要参考书籍:《计算机网络与因特网》

第一章

TCP/IP互联网协议

要想一个通信系统成功,网络中的所有实体必须对如何表示信息和如何通信达成一致。

协议在一些具有完整性和协作性的集合中被设计出来,这些集合称为协议集或协议族,而不是相互隔离地设计每个协议。

分层模型是用于将协议统一为一个整体的基本抽象模型。

1.6 TCP/IP分层模型

  • 应用层:两个应用程序交互时如何互操作。
  • 传输层:为一台计算机上的应用程序到另一台计算机上的应用程序提供通信。描述如何控制一个接收者接收数据的最大速率、避免网络拥塞机制以及确保所有数据按顺序被接收的机制。
  • 互联网层:互联网的基础。互联网地址结构、互联网分组格式、将一个大的互联网分组分成更小的分组以便进行传输的方法以及报告错误的机制。
  • 网络接口/MAC层:描述在单一网络中通信的细节,以及网络迎接和第三层之间的接口、网络地址和网络可以支持的最大分组长度的规范、访问底层介质的协议以及硬件寻址。
  • 物理层:描述底层传输介质和相关硬件的细节。

1.7 数据如何在层间传递

  • 一个层中的协议输出作为下一层的协议输入
  • 不用复制一个完整分组,相邻层的一对协议之间只需要传递一个指向该分组的指针

1.8 头部与层

  • 发送计算机的每一层协议都会为分组添加一个头部,接收计算机上的相应协议层移除并使用头部
  • 实际上头部并不是统一大小的,物理层的头部是可选的
  • 分组可能不包含一个显式的物理层头部

1.9 国际标准化组织(ISO)与OSI七层参考模型🪐

ISO标准化的OSI七层模型(开放系统互连七层参考模型):应表会传网数物

TCP/IP在技术上优于OSI,互联网协议只使用五层,OSI中的第5、6层是不必要的

  • 第7层 应用层:包含用户通常需要的各种各样的协议。

  • 第6层 表示层:所传递信息的语法和语义

  • 第5层 会话层:允许不同机器上的用户建立会话。

    • 对话控制:记录谁来传递数据
    • 令牌管理:禁止双方同时执行同一个关键操作
    • 同步功能:在一个长传输过程中设置一些断点,以便在系统崩溃之后还能恢复到崩溃前的状态继续运行。
  • 第4层 传输层:接收来自上一层的数据,必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层。

    • 决定向会话层提供哪种类型的服务。
  • 第3层 网络层:控制子网的运行。

    • 如何将数据包从源端路由到接收方:
      • 路由建立在静态表的基础上,
      • 路由是动态的:路由自动更新,避免网络中的故障组件
      • 路由在每次会话开始时确定下来
      • 路由高度动态,对每个数据包都重新确定路径
    • 处理拥塞
  • 第2层 数据链路层:将一个原始的传输设施转变成一条没有漏检传输错误的线路。

    发送方将输入的数据拆分成数据帧,然后顺序发送这些数据帧。

    一个数据帧通常为几百个或者几千个字节长。

    如果服务是可靠的,接收方必须确认正确收到的每一帧,即给发送方发回一个确认帧,

    • 问题:流量调节,避免快速发送方用数据“淹没”慢速接收方。
    • 广播式网络的数据链路层:如何控制队共享信道的访问。
  • 第1层 物理层:关注在一条通信信道上传输原始比特。

第三章

  • 应用程序通过互联网通信时所遵循的概念模式
  • 互联网应用程序使用的套接字编程

3.2 两种基本的互联网通信模式

流模式消息模式
面向连接无连接
一对一通信多对多通信
发送方传送字节序列发送方传送消息序列
任意长度传送每个消息最大限制为64K字节
被大多数应用使用被多媒体应用使用
运行在TCP上运行在UDP上
  • 流:(大多数选择采用这个)
    • 字节序列从一个应用程序传输到另一个应用程序的一种模式
    • 互联网机制为一对通信应用安排了两条流,每个方向对应一条流
    • 流模式传输字节序列时,不对字节附加含义,也不插入边界。
    • 按顺序传递所有字节,但不保证接收端收到的字节块和发送端发出的字节块完全对应
  • 消息:
    • 传递给接收方的每条消息与发送方发出的每条消息一一对应
    • 消息服务并不能保证消息传递次序以及某条消息是否一定送达

3.4 交互中的客户-服务器模型🪐

互联网提供了基本通信功能,但它不会与一台远程计算机建立连接,或是接受对方的连接。

问题:如何协调两台独立计算机上运行的一对应用来保证同时请求建立一个连接?

客户-服务器模型:

两个进程

  • 服务器进程:一个被称为服务器的应用率先启动等待连接请求。
  • 客户机进程:另一个被称为客户的应用随后启动发起连接请求。
服务器客户
率先启动随后启动
不知道那个客户要建立连接必须知道要与哪个服务器建立连接
被动且无休止地等待某个客户建立连接在有通信需求时开始发起连接请求
通过收发数据与某个客户通信通过收发数据与某个服务器通信
在与一个客户通信后,持续运行并等待下一个客户的建立连接请求在与一个服务器通信之后,程序可能终止

3.5 客户和服务器的特征🪐

客户软件服务器软件
可以是任意一个应用程序,在需要远程访问时暂时地成为客户由一个专用的、具有特权的程序构成,专门提供一种服务
由用户直接调用,仅执行一个会话在系统启动后自动被调用,并在多个会话中持续被执行
运行在用户的本地计算机或设备上运行在专用计算机系统上
主动向服务器发起连接请求被动等待任意远程客户发起的连接
可按需访问多种服务,但通常同一时间只能与一台远程服务器建立连接可同时与很多客户建立连接,但通常仅提供一种服务
不要求特别强大的硬件支撑要求强大的硬件和复杂的操作系统支撑

3.6 服务器程序和服务器类计算机

服务器:被动等待通信的一个程序

当一个计算机专门用于运行一个或多个服务器程序,信息技术人员有时会称这台计算机本身为“服务器”

3.13 网络编程和套接字API🪐

应用程序接口(API):应用程序用来描述互联网通信的接口

套接字API:对于在互联网通信的软件,一种特定的API已经成为事实上的标准,可以被大多数的操作系统使用

3.14 套接字、描述符合网络I/O🪐

第四章

4.6 统一资源定位符和超链接🪐

  • 统一资源定位符:URL

  • URL的一般形式:

    protocol://computer_name:port/document_name?parameters

    • protocol:用于访问文档的协议的名称
    • computer_name:文档所在的计算机的域名
    • port:服务器正在监听的可选的协议端口号
    • document_name:计算机上可选的文档名字
    • ?parameters:页面的可选参数
  • 在html中,一个Anchor标签使用url来提供超链接的能力

    <A href = "www.baidu.com"></A>

4.7 用HTTP(超文本传送协议)进行Web文档传送🪐

HTTP是**浏览器Web服务器**进行交互时所使用的主要传送协议。

  • HTTP特征:

    • 使用文本控制信息
    • 传送二进制数据文件
    • 可以下载或上传数据
    • 采用缓存
  • HTTP请求:

    请求描述
    GET请求一个文档。服务器回复状态信息作为响应,并发送文档副本。
    HEAD请求状态信息。服务器回复状态信息作为响应,但不发送文档副本。
    POST发送数据到服务器。服务器将数据追加到描述的项目中。
    PUT发送数据到服务器。服务器使用数据完全替换描述的项目。
  • HTTP中版本信息允许协议改变后仍然向后兼容。当低版本的浏览器与高版本协议的服务器交互,服务器转换为旧版本的协议。

  • HTTP响应:

    基本响应头部的一般格式

    • status_code:状态码(十进制数字的字符串)
    • 200:OK
      • 400:bad request
      • 404:not found
    • status_string:状态解释
    • server_identification:服务器描述性字符串
    • datasize:后续数据项字段的大小(以字节衡量)
    • document_type:文件类型/表示:告诉浏览器有关文件内容。

4.17 域名系统(DNS)🪐

DNS:域名映射到计算机地址,浏览器、邮件软件、大多数互联网应用都使用。

  • gmail.google.com

    • 域名是层次化的,最重要的部分位于最右边。可以使用的值称为顶级域
    • gmail:单个计算机的名字。
    • 域名中其他片段标识出拥有该名字的组织。
  • DNS顶级域的例子:(书上图)

  • 一个组织需要在一个已有的顶级域下面申请一个名字。一个组织可以选择添加多少个额外的级别以及每一级的含义

  • DNS还允许组织使用地理位置注册。

4.20 名字解析🪐

  • 名字解析:将域名翻译为地址。
  • 在套接字API中,解析器被 gethostbyname()函数调用。解析器充当客户,联系→DNS服务器,并将结果返回给调用者。
  • 每个解析器都配置了一个或多个本地( Local )域名服务器’的地址。解析器构造一条DNS请求(Request)消息,将该消息发送给本地服务器,并等待服务器发送 DNS应答Reply消息,其中包含了结果。
  • 当解析器与DNS服务器进行通信时,它可以选择使用流模式或者报文模式;大多数解析器都使用报文模式,因为对于一个小的请求来说,报文模式的开销更小。
    • 作为名字解析的一个例子,让我们考虑图4.17( a)所示的服务器分层结构,并假设soap部门的一台计算机为名字chocolate.candy.foobar.com构造了一条请求。
    • 解析器被配置成将该请求发往本地DNS服务器(也就是 foobar.com的服务器)。
    • 虽然本地服务器无法回答该请求,但是它知道去联系能回答这个请求的服务器,也就是candy.foobar.com内服务器。

第五章

5.5 数据通信的子问题🪐

  • 信源:信息源既可以是模拟的,也可以是数字的。
    • 重要概念:信号特征:振幅/频率/相位
    • 分类:周期性、非周期性
    • 着重关注:信息的模拟和数字表示之间的转换
  • 信源编码器和解码器:一旦信息被数字化之后,数字化的表示可以被转换和修改
    • 数据压缩:
    • 对通信的影响:
  • 加密器和解密器传输前加密,被收到后解密
    • 加密技术和算法
  • 信道编码器和解码器信道编码用于检测和纠正传输错误。
    • 检测和限制差错的方法:奇偶校验、校验和、计算网络中的循环冗余码
  • 多路复用器和解复用器:多路复用是指来自多个源的信息被聚合在共享介质上传输的方法。
    • 同步共享技术
    • 多信源轮流使用介质技术
  • 调制器和解调器
    • 调制:电磁辐射被用来发送消息的方式
    • 模拟和数字调制的方案和设备
    • 调制解调器:实施调制和解调的设备
  • 物理信道和传输
    • 传输介质
    • 传输模式

第七章 传输介质

7.2 导向传输和非导向传输

  • 依据路径类型分类:
    • 沿着某条明确的路径:电缆
    • 没有特定路径:无线电传输
  • 依据能源分类:
    • 电能:电缆
    • 无线电传输:无线
    • 光:光纤

7.3 依据能源(能量类型)分类

  • 电:
    • 双绞线
    • 同轴电缆
    • 光导纤维
    • 红外线
    • 激光
  • 电磁(无线电)
    • 地面无线电
    • 卫星

7.4 背景辐射和电噪声

随机电磁辐射由电动机等设备产生,能干扰使用无线电传输或者通过导线传递电能的通信

7.5 双绞线

三种减少电噪声干扰的导线

  • 非屏蔽双绞线(UTP)

  • 同轴电缆

  • 屏蔽双绞线(STP)

每一条导线等量吸收了相同的辐射量,不会有额外电流产生,原始信号就不会被干扰

为了减少随机电磁辐射造成的干扰,通信系统使用双绞线而不是平行线

–7.6

7.18 近地轨道(LEO)卫星和卫星集群🪐

  • 近地轨道:高度不超过2000km的轨道
  • LEO卫星:通常放置在500KM或更高的位置
    • 优点:延时短(1-4ms)
    • 缺点:卫星的轨道与地球的自转不匹配
  • LEO卫星的部署技术:卫星集群或卫星阵列(一组LEO卫星被设计成可以一起工作。)
  • 除了与卫星地面站通信之外,一颗卫星也会和组内其他卫星进行通信。组内卫星保持通信并按照需要达成一致的转发信息。
  • LEO卫星集群一起工作转发报文。集群中的卫星必须知道当前哪一颗卫星处在给定地球区域上方,然后转发报文给适当的成员从而向地面卫星站进行传输。

奈奎斯特和香农也是重点

第八章

8.2 传输差错的3个主要源头

  • 干扰
  • 失真:所有物理设备都会导致信号失真。
  • 衰减

香农定理提示了一种减少差错的方法:增加信噪比

虽然传输差错不能完全消除,但是很多差错是可以被检测到的,差错检测机制要增加开销

8.3 传输差错对数据的影响

数据通信只关注传输差错对数据的影响,不去检查引起差错的确切原因

  • 单比特差错:在一组比特中有单个比特被改变,其他比特没有出错(通常是受到非常短时间的干扰)
  • 突发差错:在一组比特中有多个比特被改变(通常是受到稍长时间的干扰)
  • 擦除(模糊):到达接收方的信号非常模糊,不能清晰对应逻辑1或逻辑0(失真/干扰)

8.4 处理信道差错的两种策略

  • 前向纠错机制(FEC):发送时增加冗余信息,接收方根据冗余信息校验数据是否正确。
    • 能使接收方准确判定哪个比特被改变并计算出正确的值
  • 自动重传机制(ARQ):发送方和接收方之间交换消息,确保所有数据正确到达

8.5 分组码和卷积码

两类前向纠错技术:

  • 分组码:把要发送的数据划分成一系列组,然后给每个组添加额外信息(冗余)。
    • 这种编码机制不用将一个组的数据状态信息携带给下一个组。-》分组码无记忆
  • 卷积码:把数据作为一个比特序列来处理,对连续的序列计算编码。
    • 既要依赖当前的输入,又要依赖于此前输入的部分比特流-》卷积码有记忆

8.6 分组差错编码举例:单奇偶校验(SPC)🪐

理解如何使用冗余信息来实现差错检测

单奇偶校验机制:

  • 一种SPC定义每8bits(一个字节)为一组
  • 传输每一组前在这组中加一个额外bit,称为奇偶bit
  • 接收方收到后去掉奇偶bit并用它校验接收字节中的数据是否正确

偶校验规则:

  • 如果需要编码的字节中已含有偶数个1,则奇偶bit为0
  • 如果需要编码的字节中已含有奇数个1,则奇偶bit为1

奇校验规则与偶校验反过来

单奇偶校验是信道编码中能力较弱的一种,只能检测差错,不能纠正差错

奇偶机制只能检测奇数个bit被改变的情况

8.7 分组码的数学原理与(n,k)表示

理想信道编码方案是:改变一个有效码字的任意比特,就会产生一个无效组合。

8.8 海明距离:编码强度的度量

海明距离:两个比特串对应位置的不同比特的数量

计算方法:异或,结果有几个1,距离就是几

(异或:相同则0)

8.10 差错检测与开销之间的权衡

编码效率 = 数据字长度和码字长度的比值

8.11 采用纵横奇偶校验的纠错

能纠正所有单比特差错,并能监测到奇数个比特被改变的情况

8.12 用于互联网的16比特校验和🪐

互联网校验和:编码由一个16位1的补码校验和构成

互联网校验码用全1表示0,指出校验码已经算过了

  • 允许消息为任意长度,对整个消息计算校验和
  • 互联网校验和把数据以16bits为一组划分,不足16bits的补0
  • 发送方把每一组逐个相加,溢出部分加到去掉溢出部分的结果处,最后对整个结果取反
  • 接收方执行相同计算过程来验证消息是否出错

为什么校验和要对计算结果进行算数取反而不直接使用和值?

为了效率,接收方可以使用和发送方相同的算法

8.13 循环冗余码(CRC)🪐

用于高速数据网络中

3个关键特性

  • 任意长度消息
  • 出色的检错能力
  • 快速硬件实现

步骤:

  1. 定常数(n位二进制数)

  2. 在需要校验的码后加上n-1位的0

  3. 再除以这个常数

  4. 得到的余数即为CRC校验码

对任意一个码字进行循环移位将产生另一个码字

生成多项式:把二进制数中的每一比特看成多项式的系数

除数1011可以看成:
X 3 + X + 1 X^3+X+1 X3+X+1

8.15 自动重传(ARQ)机制

  • 要求发送方和接收方之间进行元信息的通信:无论何时一方发送消息给另一方,接收方都回送一条短的确认信息
  • 适用于提供差错检测但不提供差错纠正的情况
  • 如果发生了传输差错,则发送方重传该消息的一份副本

第九章

9.12 单工、半双工和全双工传输🪐

  • 单工:只能在单一方向传输数据
  • 全双工:底层系统允许两个方向的传输同时进行。
    • 全双工通信类似于电话对话时的情况。
  • 半双工:半双工机制要求有一个共享的传输介质,这个共享介质可用于每个方向的通信,但不同方向的通信不能同时进行
    • 半双工通信类似使用对讲机。
    • 介质两端需增加额外的机制来协调通信,以确保在给定的时间只有一端在传输。

第十章

10.2 载波、频率和传播

许多长距离的通信系统使用一种被称为载波的持续性振荡电磁波。

10.3 模拟调制方案🪐

调制:系统根据发送的信息对载波所做的改变

调制具有载波信号两个输入,生成调制后的载波作为输出。

三种基本类型

  • 振幅调制(AM)
  • 频率调制(FM)
  • 相移调制(PM)

10.4 振幅调制(AM)

  • 根据被发送的信息(即信号)成比例地改变载波的振幅。
  • 载波频率固定,振幅不断改变

10.5 频率调制(FM)

  • 载波振幅固定,频率改变
  • 信号增强,频率提高;信号减弱,频率降低(都是轻微)
  • 当用于调制的信号较强时,调制后的电磁波有较高频率

10.6 相移调制(PM)

很少用于模拟信号上

—10.7

10.12 调制解调器硬件🪐

接收数据比特序列作为输人,并根据比特值将其调制成载波的硬件被称为调制器(Modulator);接收调制后的载波作为输人,并恢复出用来调制成载波的比特序列的硬件被称为解调器(Demodulator)。

因此,数据的传输需要在传输介质的一端安装调

第十一章

//todo:补上看FDM

11.2 复用的概念

多路复用:来自多个信源的信息流组合起来在一个共享介质上传输

复用器:实现这一组合

解复用:从组合信息中分离并还原出各自的信息流

11.3 复用的基本类型

  • 频分多路复用
  • 波分多路复用
  • 时分多路复用
  • 码分多路复用

11.8 时分多路复用(TDM)

先传输来自一个源的数据项,再传输来自另一个源的一个数据项

11.9 同步TDM

  • 有些TDM系统采用轮询的顺序,有些则不用
  • 有些TDM系统数据项之间存在微小间隔,有些则没有

11.10 电话系统中的TDM组帧技术

数字电话系统中使用的同步TDM机制在每一循环的开始包含一个组帧比特。组帧序列保持1和0交替出现。这样解复用器就能保持同步或检测到差错

11.12 同步TDM的问题:空闲时隙

  • 如果每个源始终产生共享介质容量1/N的固定速率的数据,则同步TDM工作得很好。
  • 源随机产生数据项,某个源在轮到它发送信息的对应时隙未产生数据项,同步复用器就产生一个未填充的时隙

11.13 统计TDM

  • 统计复用/统计TDM:以轮询方式选择传输的数据项,跳过没有数据可发送的源。
  • 会招致额外的开销

第十二章

12.2 互联网接入技术:上行和下行

  • 互联网接入技术:指将互联网用户(通常是个人用户或商业用户)连接到互联网服务提供商的数据通信系统。

  • 大多数互联网用户都使用非对称模式。典型的居民用户从互联网接收的数据多于其发送的数据。商业用户发送的数据可能多于接收的数据。

  • 下行:互联网服务提供商到用户的数据传输

  • 上行:用户到服务提供商的数据传输

12.3 窄带宽带接入技术

  • 窄带:数据速率不超过128kbit/s
    • 拨号电话连接
    • 使用调制解调器的租用线路
    • 使用部分信道的TI数据线路
    • ISDN和其他电信数据业务
  • 宽带:大于128kbit/s
    • DSL技术
    • 电缆调制解调技术
    • 无线接入技术
    • TI速率或更高速率的数据线路

12.4 本地环路和ISDN

本地环路:电话公司的中心局与用户所处地点之间的物理连接。

12.6 本地环路特征和适配🪐(波波的重点)

  • ADSL:部署最广泛、居民最常用的数字用户线路

  • 没有两个本地环路具有完全相同的电特性。

  • 本地环路承载信号的能力取决于距离、所用电缆的直径和电磁干扰的强弱程度。

  • ADSL无法挑选出一组特定载波频率或调制技术,可以在所有本地环路中正常工作。

  • 为了适应本地环路特征的差异性,ADSL是自适应的:即当一对ADSL调制解调器加电时,为了发现线路的电气特征,两个调制解调器都探测彼此之间的线路,然后一致同意使用最适合该线路的技术进行通信。

  • 特别地,ADSL使用了离散多音频调制( DMT)方案,将频分多路复用和反向多路复用技术结合起来使用。

  • DMT的频分多路复用通过把带宽分成286个独立的频率来实现,这些频率称为子信道( Subchannels),其中255个子信道用于下行数据传输,31 个子信道用于上行数据传输。上行信道中的两个保留用于控制信息。从概念上讲,每个子信道都有独立工作的“调制解调器”,有各自的调制载波。

  • 为了防止信号彼此干扰,载波间隔为4.132 5kHz。此外,为了防止载波传输干扰模拟电话信号,ADSL避开使用26kHz以下的带宽。ADSL启动时,为了判定哪些频率可以正常工作,哪些频率会受到干扰,两端都探测适用的频率。除了选择频率,两端还评估每个频率的信号质量,并根据信号质量选择调制方案

  • 如果某一特定频率具有高信噪比,ADSL就选择每波特编码多个比特的调制方案;如果给定频率的信号质量差,ADSL就选择每波特编码较少比特的调制方案。

总结:因为本地环路电气特征彼此不同,ADSL采用了自适应技术,两端的调制解调器在彼此之间的线路上探测多种频率,然后选择在线路上能够产生最优结果的频率和调制技术。

12.7 ADSL的数据速率🪐(波波的重点)

  • 在短距离的本地环路中,ADSL下行速率可达8.448Mbit/s,上行速率可达640kbit/s。用户数据有效的上行速率为576kbit/s。最佳条件下ADSL2下载速率可以接近20Mbit/s。

  • ADSL不保证数据速率,只保证线路条件允许的技术尽可能好地执行

  • 下行速率变化范围:32kbit/s-8.448Mbits/s

  • 上行速率变化范围:32kbit/s-640kbits/s

12.9 电缆调制解调器技术🪐

双绞线的电特性:缺乏屏蔽会使线缆易受干扰,大大降低部分用户的性能体验。

有线电视电缆:同轴电缆

有线电视采用频分多路复用技术和统计多路复用技术结合,为一群用户(邻居)的数字通信分配一个信道。每个用户分配唯一“地址”。

第十三章

13.2 电路交换和模拟通信

电路交换:在发送方和接收方之间建立一条路径,保证与其他发送方和接收方使用的路径相隔离。

路径在使用时才被建立,并且在使用完成后断开

电路交换模式性质:

  • 点到点的通信
  • 电路的创建、使用和终止都使用独立的步骤
  • 性能上等价于一条独立的物理路径(意味着双方之间的通信不会以任何方式受到其他通信的影响

13.3 分组交换

分组交换奠定了互联网的基础。

分组交换系统采用统计多路复用。

分组交换与其他形式的统计复用系统的主要差别:需要发送方将消息拆分成小的数据块,这些数据块称为分组。每种分组交换一般都会定义自己的最大分组长度。

分组交换通信模式的3个主要性质:

  • 任意的异步通信:
    • 分组交换可以允许发送方同时和一个或者多个接收方通信;一个接收方也可以同时接收一个或者多个发送方的消息。
    • 此外,通信可以发生在任意时间,发送方在连续两次通信事件之间可以延迟任意长时间。
  • 在通信开始前,不需要额外设置:
    • 发送方不需要在通信之前做初始化工作,也不需要在通信结束时通知底层系统。
  • 分组之间的统计复用带来了性能变化:
    • 复用是针对分组进行的。当多个发送方共享一个分组交换网络时,网络给每个发送方相同的发送机会。也就是说,如果有N个发送方,每个发送方都有很大的分组集合需要发送,则每个发送方可以发送大约所有分组的1/N
  • 主要优点:低成本(由于共享线路)

13.4 局域和广域分组网络🪐

根据跨越的区域来分类:

  • 局域网LAN
  • 城域网MAN
  • 广域网WAN

13.5 关于分组格式与标识的标准

每个发送的网络中的分组都必须包含接收方的标识。

目前应用最广的针对LAN的协议是IEEE提出的

IEEE标准主要关注协议栈的下两层和LAN技术

13.6 IEEE802模型和标准

IEEE将第二层划分为两个子层:

  • 逻辑链路控制
  • 介质访问控制
  • XXX.YYY.ZZZ:类别.子类别.

13.7 点到点和多路访问网络

局域网:多路访问网络(多台计算机用特定的方式共享一种介质)

13.8 LAN拓扑

  • 总线型
  • 环形
  • 星形
  • 网状

13.9 分组标识、解复用、MAC地址🪐

  • 在分组交换系统中,通过地址来解复用
  • MAC地址(介质访问控制地址):
    • 48bit二进制值
    • 前三个字节标识设备生产商(OUI),另外三个字节标识具体的网络接口控制器(NIC)。
    • OUI最高字节的两个最低位,最低位指示单播(0)还是组播(1);倒数第二低位指示全球唯一(0)还是本地分配(1)
    • 全球唯一:IEEE分配的;本地分配:某些组织自己建立的
  • IEEE为每个网络接口硬件分配一个地址(并不分配单个地址,而是给每个设备生产商分配一块地址)

13.10 单播、广播与组播地址🪐

  • 单播:唯一地标识一台计算机,并指定只有被标识的计算机才能接收到该分组的副本

  • 广播:对应于所有计算机,并指定网络上的每台计算机都能够接收到分组的副本

  • 组播:标识给定网络上的一个计算机子集,并指定该子集中的每台计算机都能够接收到分组的副本

13.11 广播、组播与高效多点传递🪐

  • 组播和广播在局域网中特别有用,他们可以对多台计算机进行高效传递

    算法13.1-局域网中 分组处理算法
      
    //目的:
    //处理通过局域网到达的分组
      
    //方法:
    //从分组中提取目的地址D
      
    if(D与本机单播地址匹配) {
      接收并处理分组
    }else if(D与广播地址匹配) {
      接收并处理分组
    }else if(D与某个组播组的组播地址匹配,且本机为该组播组成员)
    {接收并处理分组
    }else{
      丢弃分组}
    

13.12 帧和组帧

在分组交换网络中,每个帧对应一个分组。

    • 帧头:包含元数据,例如标识期望接收方的地址。(先发送)
    • 载荷:包含要被发送的数据

13.13 字节填充和比特填充

  • 字节填充:发送方将控制字节替换为一个特殊序列,接收方将特殊序列替换回原始数据

第十四章

本部分采用分组交换网络

14.2 共享访问机制的分类

多台独立的计算机如何协调访问共享介质

多路访问协议:

  • 受控访问协议:
    • 预约
    • 轮询
    • 令牌传递
  • 随机访问协议:
    • ALOHA
    • CSMA/CD
    • CSMA/CA
  • 信道分配协议:
    • FDMA
    • TDMA
    • CDMA

14.3 静态和动态信道分配

信道分配:给定的通信和下层传输系统的信道之间的映射关系。

大多数FDM系统为每一对通信实体分配唯一的载波频率,即给每一对通信实体都分配了唯一信道。且通信实体和载波频率之间的映射关系保持不变。此时,通信实体和信道之间的映射是一对一的静态关系。

当通信实体的集合可提前预知且保持不变时,静态信道分配可以满足需求,但大多数网络需要动态信道分配

14.4 信道分配协议

  • 频分多路访问(FDMA)
    • 扩展频分复用技术
    • 新站点出现时:
      1. 站点使用预留的控制信道与控制器通信。
      2. 控制器选择一个尚未使用的频率并通知站点。
      3. 完成初始交换后,站点使用分配的载波频率(即分配的信道)进行通信。
  • 时分多路访问(TDMA)
    • 扩展时分多路复用
    • 当一个站点在网络中首次出现,就为该站点分配一个时隙。
  • 码分多路访问(CDMA)
    • 扩展码分多路复用
    • 对每次发送的数据进行数学编码,使得多个站点可以同时发送

14.5 受控访问协议

  • 轮询:中心控制器反复轮询各站点并让每个站点发送一个分组
    • 循环顺序
    • 优先级顺序
  • 预约:站点为了/下一轮的数据发送/提交请求
    • 常在卫星传输中使用,每一轮发送的分组都是提前计划好的
  • 令牌传递:各站点循环传递令牌,受到令牌的站点可发送一个分组
    • 常与环形拓扑联系
    • 令牌传递系统中没有站点需要发送分组时,令牌在所有站点间持续循环传递。

14.6 随机访问协议🪐

  • ALOHA:历史上十分重要的协议,真实网络中不再使用
  • CSMA/CD(带冲突检测的载波监听多路访问):早期以太网基础,交换式以太网不再使用
    • 解决“如果两个站点试图同时发送,信号会互相干扰,发生冲突“的3种方法:
      • 载波监听:站点监听电缆,检测是否有其他传输正在进行
      • 冲突检测:
        • 如果两个站点发现空闲,同时启动发送过程,还是会发生冲突。
        • 每个站点在传输过程中监听电缆,如果电缆上的信号与所发送的不同,表明发生了冲突。当检测到冲突时,发送站点中止传输
      • 二进制指数后退:每次冲突后随机延迟的取值范围加倍(意味着以太网能够在冲突中快速恢复)
  • CSMA/CA(带冲突避免的载波监听多路访问):WIFI无线网络的基础
    • 虽然CSMA可以在电缆介质中正常工作,但是在无线局域网中发射机的功率覆盖范围有限,到发射机的距离超过功率覆盖范围的接收机无法收到信号,也就无法检测到载波。
    • 在无线网络中有一个隐藏的站点问题,有些站可能检测不到其他各方之间的传输。为了确保所有站点正确地共享传输介质,无线局域网使用一种改进的访问协议,称为“带冲突避免的载波监听多路访问”(CSMA / CA)。
    • 无线局域网使用的CSMA /CA并不依赖于所有计算机都能接收全部传输,在发送分组之前,从预期的接收方触发一个简短的传输。其思想是,如果发送方和接收方都发送一个报文,那么处于这两台计算机任何一台范围内的所有其他计算机都将知道一个分组的传输即将开始。

第十五章

15.3 以太网帧格式🪐

传统以太网帧具有以下字段:

  • 报头:14字节(固定)

    • 6字节:目的地址
    • 6字节:源地址
    • 2字节:类型
  • 有效载荷:46-1500字节(由于碰撞检测,有最小帧大小)。

  • CRC: 4字节(固定)

15.4 以太网帧类型字段与解复用🪐

以太网帧中的类型字段提供了复用与解复用的功能,使得指定计算机可以同时运行多钟协议

IPv4数据报对应十六进制值 0x0800

IPv6数据报对应十六进制值 0x86DD

15.5 IEEE版本的以太网(802.3)🪐

传统以太网与802.3以太网的主要区别:在于对类型字段的解释。802.3标准将原来的类型字段解释为分组长度,并增加了一个额外的8字节头部,其中包含了分组类型。

额外的头部称为逻辑链路控制/子网络控制点(SNAP头部)

最大载荷减到1492字节,保持帧长度不变

15.7 以太网演进与粗缆网络布线🪐

  • 最初的以太网布线方案:粗缆以太网/粗缆网络
    • NIC:用于数字通信,
    • 收发器:独立电子装置连接在以太网电缆上,用于载波检测、将比特转换成适合传输的电压、以及将输入信号转换为比特
    • AUI(连接单元接口)将收发器和计算机的NIC连接起来

15.8 细缆以太网布线🪐

  • 第二代以太网布线设计:细同轴电缆(细缆以太网/细缆网络)
  • 不再使用AUI电缆,而是直接把收发器集成到NIC中
  • 较低成本,安装简单,易出故障

15.9 双绞线以太网布线和集线器🪐

  • 第三代以太网:双绞线以太网
    • 使用中心电子设备取代同轴电缆,中心电子设备与网络中连接的计算机是相互分离的
    • 采用双绞线替代屏蔽电缆
  • 集线器

第十六章

16.2 无线网络的分类🪐

  • 1m 个人区域网 PAN
  • 10m-1000m 局域网 LAN
  • 10km 城域网 MAN
  • 100km-1000km 广域网 WAN
  • 10000km 互联网 Internet

16.3 个人区域网(PAN)🪐

个人区域网的四大类

类型用途
蓝牙小型外围设备之间的短距离通信,如耳机或鼠标与手机或计算机等系统之间(主从操作模式:主设备告诉从设备以后广播什么地址,它们能传输多长时间、它们可以使用什么频率等所有传输有关的信息
红外线 infrared小型设备间的视线通信,通常是遥控器和就近的计算机或者娱乐设备主机之间
紫蜂 zigbee室内距离级别的通信,使家用电器可以连接到智能电网
其他的ISM无线技术使用为工业、科研、医学设备预留的频段的通信,该环境可能发生电磁干扰

16.5 无线局域网技术与WIFI🪐

IEEE标准

IEEE标准频带数据速率调制和多路复用技术
最初的802.112.4 GHz1或2 Mbit/sDSSS,FHSS
2.4 GHz1或2 Mbit/sFHSS
红外线1或2 Mbit/sPPM
802.11b2.4 GHz5.5到11 Mbit’sDSSS
802.11g2.4 GHz22到54 Mbit’sOFDM,DSSS
802.11n2.4 GHz54到600 Mbit/sOFDM

16.8 无线局域网架构🪐

  • 基础构件
    • 接入点(Access Point),有时也称为基站
    • 互连机制
    • 一群无线主机
  • 类型
    • 无线自组织网络(Ad Hoc):无线主机不通过基站而通过其本身进行通信
    • 基础设施网络:无线主机只通过接入点进行通信
  • 现实中很少有无线自组织网络存在。组织或服务提供商部署一组接入点,每个无线主机通过其中一个接入点进行通信。
  • 延伸到接入点的有线连接通常是双绞线以太网。
  • 某一接入点范围内的一组计算机被称作基本服务集
  • 架构图?P205

16.9 重叠、关联和802.11帧格式🪐

  • 如果一对接入点相距太远,会出现盲区。

  • 如果一对接入点距离太近,将存在重叠。

    • 在这个重叠部分中无线主机可以到达两个接入点。
    • 为了处理重叠,802.11网络需要一个无线主机与一个单一的接入点相关联。也就是说,无线主机给特定的接入点发送帧,这些帧在网络中被转发。
  • 802.11帧格式:

    • 地址1:AP或无线计算机的MAC
    • 地址2:发送方的MAC地址
    • 地址3:路由器的MAC地址
    • SEQ
    • 地址4:在ad hoc模式中使用
    • 载荷:0-2312字节
    • CRC

16.11 竞争和无竞争访问🪐

  • 802.11对于信道访问定义两种一般方法:

    • 面向无竞争式服务的点协调功能(PCF):一个接入点控制基本服务及中的站点来保证传输之间互不干扰。
    • 面向竞争式服务的分布式协调功能(DCF):让基本服务集中的每个站点运行随机访问协议。
  • 802.11定义3个计时参数(在CSMA/CA技术中包含):

    • SIFS:10微秒 短 帧间间隔

      • 发送回复前

      • 定义接收站点发送ACK或其他响应之前的等待时间

    • DIFS:50微妙 分布式 帧间间隔

      • 发送初始分组前

      • 定义一个站点在尝试传输数据之前必须有多长时间空闲

    • 20微妙的时隙

16.13 个人区域网技术和标准🪐

标准用途
802.15.1a蓝牙(1Mbit/s;2.4Ghz)
802.15.2个人区域网之间的共存
802.15.3高速个人区域网(55Mbit/s,2.4Ghz)
802.15.3a超宽带;高速个人区域网(110Mbit/s,2.4Ghz)
802.15.4Zigbee
802.15.4a低功耗的低数据速率个人区域网替代方案
  • 蓝牙
    • 用无线电波替代线缆
    • 2.4Ghz
    • 短距离
    • 主设备授予从设备许可
    • 数据速率可以达到721kbit/s
  • 超宽带:将数据分散到许多频率上可以用更低的功耗来达到相同的距离
    • 宽频谱
    • 低功耗
    • 短距离(2-10m)
    • 信号可以穿透障碍物
    • 在10m时有110Mibit/s,在2m时可达500Mbit/s
    • IEEE无法形成单一标准
  • Zigbee:规范化无线远程控制技术
    • 低数据速率
    • 工业和家庭自动化
    • 频带:868Mhz,915Mhz,2.4Ghz
    • 20kbit/s,40kbit/s,250kbit/s
    • 低功耗
    • 多层安全保障

16.17 蜂窝单元集群和频率重用

  • 基站集群:指多个基站按照蜂窝方式部署

  • 蜂窝通信遵循一个关键原则:如果相邻的一对蜂窝式不使用相同的频率,则干扰可最小化。

  • 为了实现这一原则,对一组蜂窝单元的模式进行复制。集群中每个蜂窝单元都被分配一个唯一的频率。任意两个相邻蜂窝单元的频率均不同。

第十七章

17.3 光纤调制解调器扩展🪐

大多数扩展机制插入额外硬件组件,在更远的距离上中继信号。

一条光纤和一对光纤调制解调器,用于将一台计算机连接到远程以太网。

17.4 中继器🪐

中继器:一个模拟设备,用于远距离传输局域网信号。放大收到的信号,将放大后的版本作为输出进行传输。

也在红外远程控制系统中使用

17.5 网桥与桥接🪐

网桥:连接两个局域网并在他们之间传送分组的设备

网桥以混杂模式在每一段局域网进行监听(接收每一段局域网发送的所有分组)

网桥从一个网段接收到有效帧时,它将帧的拷贝转发到另一个网段,因此,通过网桥连接的两个局域网段好像一个局域网一样

计算机并不能判断帧在单一网段中还是桥接的局域网中

17.6 学习型网桥与帧过滤🪐

网桥使用MAC地址来进行过滤,只有必要时才将帧转发到另一个局域网段

大多数网桥被称为适应型或者学习型网桥,因为它们可以自动获取计算机的位置。用源MAC地址来记录发送方的位置,目的MAC地址来决定是否转发帧。

17.7 为什么桥接能很好地工作🪐

因为网桥允许连接的网段同时活动,某一网段的两台计算机之间的通信能与另一网段的两台计算机之间的通信同时进行。

17.8 分布式生成树🪐

为了阻止环路产生无限循环,网桥实现了一个算法来计算分布式生成树(DST)

生成树协议(STP):

  • 根选举:每个网桥组播一个包含它的网桥ID的分组,拥有最小ID的网桥被选中
  • 最短路径计算:每个网桥计算一条到达根网桥的最短路径。结果就是所有网桥计算出的最短路径所包含的链路形成了生成树。
  • 转发:一旦生成树计算完毕,网桥就开始转发分组,连接最短路径的接口能够转发分组,不处于最短路径上的接口就会被关闭。

很多生成树的变种已经被设计出来并标准化:

  • per-VLAN生成树
  • PVST+
  • 快速生成树协议 802.1w(取代了STP)

第十八章

18.3 传统广域网体系结构

大多数广域网把分组交换机分离为两部分:一个负责连接本地计算机的二层交换机和一个负责连接到其他站点的路由器。

18.4 组建广域网

传统广域网通过互联分组交换机来组建,广域网不需要是对称的

18.5 存储转发模式

广域网的目标:允许尽可能多的计算机同时发送分组。

存储转发:

  • 分组交换机将分组缓存到内存中,当一个分组到达时,“存储”
  • 一个分组到达并正在内存中等待,“转发(检查分组,确定目的地,发送去往目的地的I/O接口上)”
  • 可以使每条数据链路保持繁忙,提高整体性能。
  • 如果多个分组被发送到相同的输出设备,分组交换机可以接收并在内存中保存分组,直到设备准备就绪。

18.6 广域网寻址

广域网地址往往遵从互联网中使用的一个关键概念:层次化编址
( 站 点 , 该 站 点 内 的 计 算 机 ) (站点,该站点内的计算机)
每个站点有一个分组交换机,为每一台分组交换机分配一个唯一的编号。

18.7 基于下一跳的转发🪐

  • 基于下一跳的转发:

    • 分组交换机不需要保存关于如何到达所有可能的计算机的完整信息,也不需要计算分组通过网络的整个路由。
    • 交换机基于分组交换机ID进行转发。
    • 每个分组交换机包含一个“转发表”,列出所有可能的分组交换机以及对应的下一跳。用地址的分组交换机ID部分作为索引。
  • 好处:转发分组所需的计算时间减少了,转发表可以以数组的形式组织,查表时直接索引而不用搜索;转发表的规模减小,转发表为每一个分组交换机而不是每一个目的计算机包含一个表项。

  • 到达最终交换机之前可以只使用目的地址的第一部分

18.8 源独立性

源独立性:并不依赖于分组源地址或之前走过的路径,分组即将被发送到的下一跳仅有分组的目的地址决定

18.9 域网动态路由更新🪐

转发表的值必须保证:

  • 通用通信:即每个交换机中转发表中必须为每个可能的目的地址包含一个有效的下一跳路由
  • 最优路由:在交换机中,转发表的下一跳的值必须指向去往目的地址的最短路径

路由软件:自动重新配置转发表的软件

18.11 转发表的计算

  • 静态路由:分组交换机启动时,程序计算并安装好路由,之后就不再改变。
  • 动态路由:分组交换机启动时,程序建立一个初始的转发表,之后该程序随着网络条件的变化来改变转发表。

18.12 分布式路由计算🪐🪐

  • 链路状态路由(LSR):Dijkatra
    • 最短路径优先路由(SPF)
      1. 在LSR路由中,分组交换机周期性地通过网络发送带有两个分组交换机之间链路状态的消息。每个状态消息被广播给所有的交换机。
      2. 每个交换机都运行软件收集进入的状态信息,并使用它们来构建网络图。
      3. 然后每个交换机利用算法,通过选择自己作为计算时的源节点来生成转发表。
    • 能够适应硬件故障。
      • 如果交换机之间某条链路断了,该链路所连的交换机将会检测并广播一个状态信息并指明该链路失效。所有交换机收到该广播后,修改网络图的拷贝来反映链路状态的改变并重新计算最短路径。
      • 当一条链路再次恢复有效时,就开始发送状态信息来报告其有效性。
  • 距离向量路由(DVR):
    • 两个分组交换机之间的“距离”定义为路径上所有链路权值之和。
    • 分组交换机周期性发送:“我可以到达目的地址x,目前我到他的距离是Y”的一系列列表。
      • 不是广播的,是对邻居的
      • 每个交换机保存一个可能的目的地址列表以及到达各目的地址的距离的下一跳
  • 何时执行计算
    • LSR中,网络中的所有结点在同一时间发现问题
    • DVR中,每个交换机在发送消息给其他交换机之前进行计算

18.13 最短路径和权值🪐

Dijkstra算法在计算最短路径时使用的是链路上的权值,可以使用地理距离之外的各类度量。

第二十章

20.6 使用路由器连接物理网络🪐

用来连接异构网络的基本硬件组件路由器

网络像处理到任何其他计算机的连接一样处理到路由器的连接

路由器不限于特定的网络技术,可以连接不同类型的网络

第二十一章

IPv4兼容了硬件技术的改变,容纳了异构的网络,并且支持非常大的网络规模。

IP地址被用作互联网中的目的地址

IPv4使用32bit的地址,IPv6使用128bit的地址

  • 前缀:物理网络
  • 后缀:xxx

21.7 IPv4地址的原始类别🪐

原始的IPv4编址方案将IP地址分成多个类别,D类至今仍然被用于组播,但是组播并没有在全球互联网得到部署

地址类型:

  • 最开始几个bit:标识每一种地址类型
  • 前缀部分
  • 后缀部分

组播地址:

1110 组播地址(4-31)

21.8 IPv4的点分十进制表示法

每8个bit当作一个部分,每个部分都被当作一个十进制数。

21.10 IPv4子网与无类编值🪐

两个新的机制:

  • 子网编址
  • 无类编址

前缀和后缀的划分边界可以发生在IP地址的任意一个bit

21.11 地址掩码(子网掩码)

处理IP地址的主机和路由器存储额外的信息:一个能够只能网络前缀和主机后缀之间的边界的数值

IPv4用一个32bit的数值(IPv6128bit)来标记这个边界。用比特1来表示网络前缀,用比特0来表示主机部分。

21.12 IPv4的CIDR表示形式

ddd.ddd.ddd.ddd/m

前面的部分是地址

m是掩码中从左到右连续的1的个数

21.15 特殊的IPv4地址

  • 主机地址0表示网络本身

  • 一个网络的定向广播地址由网络前缀和全是1的后缀组成

  • 32个1组成的地址为有限广播地址

  • 全为0的地址表示计算机本身

  • 127.0.0.1:最流行的环回地址

21.18 路由器与IPv4编址原则

每一台路由都被分配了两个或者更多IP地址

一个IPv4地址并不标识一台特定的计算机。相反,每个IP地址标识一台计算机到一个网络的连接。对于一台具有多个网络连接的设备,每一个连接都需要分配一个IPv4地址。

21.21 IPv6编址🪐

  • IPv6给一台计算机和一个物理网络之间的每条连接分配一个唯一的地址

  • IPv6允许给一个网络分配多个前缀

  • 层次结构

    • 全球前缀 K bit:
    • 子网 64-K bit:
    • 接口 64bit:用来标识一台特定计算机
  • 特殊地址:

    • 单播:一个地址对应一台单独的计算机。发送到该地址的数据报将会沿着一条最短路径被路由到这台计算机。
    • 组播:一个地址对应一组计算机。计算机可以在任意时候加入或退出这个组。IPv6复制数据报的副本,并发送到该组中的每一台计算机。
    • 任意播:一个地址对应一组具有相同前缀的计算机。发送到这个地址的数据报将会被传递给这组计算机中的一台计算机(即最靠近发送方的计算机)

第二十二章(波波的重点)

互联网分组格式不与任何硬件直接绑定,互联网协议定义一个独立于硬件的分组格式。

22.4 IP数据报🪐

  • TCP/IP协议使用“IP数据报”来表述一个互联网分组
  • 数据报格式:
    • 头部
    • 载荷
  • 一个分组的大小由应用程序发送的数据量决定。允许分组有不同的大小可以使IP适应各种应用。
  • IPv4一个完整数据报可以包含多达64K字节
  • IPv6数据报可以携带一个头部再加上多达64K字节的载荷

22.5 IPv4数据报头部格式🪐

  • 版本号( VERSION): 4比特的IP协议版本号,其值为4表明版本为IPv4。
  • 头部长度( HEADER LENGTH): 4比特的头部长度字段,指定头部中32比特块的个数。如果这个数据报不包含选项,则该值为5。
  • 服务类型( SERVICE TYPE):该8比特的字段携带这个数据报的服务类型信息(实际中几乎从来没有被使用)。
  • 总长度(TOTAL LENGTH):一个16比特的整数,指明这个数据报的总字节数,包括头部和载荷。
  • 标识( IDENTIFICATION): 一个唯一的16比特数(通常是连续的),被唯一分配给一个数据报,用来收集用于重组的所有片段。
  • 标志(FLAGS):该3比特的字段标记该数据报是否为一个片段,如果是,标记该片段是否为原数据报的最右边(最后一个片段)。
  • 段偏移量( FRAGMENT OFFSET):一个13比特的字段,标记在原数据报中该片段的位置。该值乘以8就得到了偏移量
  • 生存时间(TIME TO LIVE):一个8比特的整数,每次经过路由器时,路由器将该数据报的生存时间值减1;如果该值减为零,则该数据报被丢弃,并发送错误报告。
  • 类型(TYPE):一个8比特的字段,指出负载的类型
  • 头部校验和( HEADER CHECKSUM):根据算法8.1计算的头部字段校验和,值为16比特1的补码
  • 源IP地址( SOURCE IP ADDRESS): 32比特的IPv4地址表示最初发送方地址(头部不记录中间路由器的地址)。
  • 目的IP地址:32bit的IPv4地址表示最终目的地址
  • IP选项:选项字段可以控制转发和数据报处理,但几乎从来没有使用过
  • 填充:如果选项字段长度不是32bit的整数倍,多个0bit将被添加

22.7 IPv6基本头部格式🪐

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nXmRaEEX-1611756918703)(/Users/czzz/Library/Application Support/typora-user-images/image-20210112204128836.png)]

  • 版本号( VERSION): 4比特的IP协议版本号,其值为6表明版本为IPv6。
  • 流量类型( TRAFFICCLASS):该8比特的字段执行与IPv4头部中的服务类型字段相同的功能一指定服务的类型。
  • 流标签( FLOW LABEL ):该20比特的字段原本打算用于标签交换路径的数据报(参见MPLS)。然而,标签交换的使用已不再受青睐,流标签已经变得不那么重要。
  • 载荷长度( PAYLOAD LENGTH):该16比特的字段标识载荷的大小,单位为字节。
    不同于IPv4,载荷长度仅表示携带数据的大小(即载荷),不包括头部的大小。
  • 下一个头部( NEXT HEADER):该8比特的字段标识了紧跟当前头部的信息类型,可以是扩展头部或者载荷。
  • 跳数限制(HOP LIMIT): 该8比特的字段与IPv4的生存时间字段具有相同的语义一经过一个路由该值减 1,如果该值为0则丢弃该数据报。
  • 源地址( SOURCE ADDRESS):最初发送方的IPv6地址。
  • 目的地址( DESTINATION ADDRESS ):最终目的地的IPv6地址。

22.8 转发IP数据报🪐

因为在转发表中每个目的地址对应于一个网络,转发表中的表项的数量与互联网中的网络数量,而不是主机的数量,成正比。

22.11目的地址与下一跳地址🪐

为了解决多于一条表项匹配目的地时出现的歧义,互联网转发首先检查具有最长前缀的表项

路由器使用最终目的地D计算数据报将要发送至下一个路由器的地址N,虽然路由器将数据报转发给下一跳N,但数据报的头部依然保留目的地址D,下一跳地址不会存到数据报头部中

22.14 跨越互联网的传输🪐

IP数据报封装在一个帧中,整个数据报放在帧的载荷区域,帧头部有一个目的MAC地址

封装一次只适用于一个网络。

发送方确定下一跳后,发送方将数据报封装入帧并在物理网络上进行传输。当帧到达下一跳时,接受软件提供IP数据报并丢弃帧。

主机和路由器在内存中存储数据报时没有额外的头部。

22.15 MTU与数据报分片🪐

最大传输单元(MTU):每种硬件技术都指定来一个帧可以携带的最大数据量。

使用分片解决MTU不一致问题:数据报被分成更小的块,称为片段,每个片段在一个单独的帧中传输。

IPv4:

  • 只有需要时才进行分片
  • 一个IPv4片段与其他IPv4数据报具有相同格式,头部标志字段1bit指出数据报是一个片段还是一个完整的数据报,片段偏移量表示该片段在原始数据报中所处的位置

IPv6:

  • 要求发送主机执行分片操作

在最终目的地(接收方)将分片重组为原始数据报

22.19 片段丢失的后果

不会,IP规定了一个保存片段的最大时间,当数据报的第一个片段到达时,接收方开启重组计时器,如果所有数据报片段在计时器超时前到达,接收方取消计时器并重组数据报;如果计时器在所有片段到达前超时,则接收方丢弃已到达的片段。接收方没有机制告诉发送方哪些片段已经到达。

第二十三章

23.9 互联网控制消息协议(ICMP)🪐

用于报告错误给原始源的辅助协议:ICMP/ICMPv4;ICMPv6

IP依赖于ICMP来报告错误,ICMP使用IP来携带错误信息

ICMP包含两种消息类型

  • 用于报告错误的消息
  • 用于获取信息得消息

23.10 ICMP消息格式及封装🪐

当某个路由器有一条ICMP消息要发送时,他会创建一个IP数据报。ICMP消息被放置在IP数据报的载荷部分。

如果携带了ICMP错误消息的数据报出现错误,则不发送错误消息。

第二十四章 UDP:用户数据报协议

端到端协议:传输层

24.3 用户数据报协议🪐

UDP:用户数据报协议

UDP的特点:

  • 端到端,UDP是一个可以区分一台指定计算机上不同应用程序的传送协议

  • 无连接,UDP提供给应用的接口遵循无连接模式

  • 面向报文,使用UDP的应用发送并接收独立的报文

  • 尽力而为(最重要的特性)

  • 任意交互,UDP允许应用给很多应用发送消息,允许从很多应用接受消息,或者仅和一个其他的应用通信。

  • 独立于操作系统,UDP提供的标识应用程序的方法不依赖于于本地操作系统所使用的标识符

24.4 无连接模式🪐

使用UDP的应用不需要在发送数据前预先建立连接

不需要在通信结束时通知网络

允许应用在两次消息传输之间延迟任意长的时间

通信内容只有数据消息本身

开销非常低

UDP不会把数据分割成多个分组,也不会把几个消息合并起来传递(大于MTU会被分片)

24.7 交互模式和组播传递🪐

UDP允许4种交互类型:

  • 一对一
  • 一对多
  • 多对一
  • 多对多

UDP允许应用使用IP组播或IPv4广播来发送消息,而不是应用重复发送消息至每个接收方。

24.8 基于协议端口号的端点识别🪐

每个实现了UDP的操作系统必须提供协议端口号与操作系统使用的程序标识符之间的映射

当一个UDP消息到达时,UDP本地协议软件必须知道本地计算机上的哪个应用实现了对应服务,并且必须把到达的消息交给那个程序

对于不同的情况,应用必须指定的端点值如下所示:

在一对一通信中,应用指定本地端口号、远程IP地址和远程协议端口号;UDP只传递来自指定发送方的应用消息。

在一对多通信中,应用指定本地端口号和远程协议端口号;UDP将来自指定发送方的所有消息传递给应用。

在多对一通信中,应用指定本地端口号,但通知UDP:“远程端点可以是任何系统”。然后UDP将到达指定端口的所有消息传递给应用。

第二十五章 TCP:传输控制协议(波波的重点)

TCP(传输控制协议)提供了可靠的传输服务

25.3 TCP向应用提供的服务🪐

  • 面向连接。TCP提供面向连接的服务,应用程序必须首先和目的结点建立一条连接,然后使用该连接来传输数据。
  • 点到点通信。每一条TCP连接都恰好有两个端点。
  • 完全的可靠性。TCP保证通过一条连接发送的数据将会完整、按序、准确地被传递。
  • 全双工通信。 一条TCP连接允许数据沿任意一个方向流动,并且允许任意一端的应用程序在任意时刻发送数据
  • 流接口。 TCP提供了一个流接口,因此应用程序可以通过一条连接发送一个连续的字节序列。TCP 不会将数据划分成记录或者消息,也不保证实际发送的数据段大小与发送应用要传输的数据大小相同。
  • 可靠的连接启动。TCP让两个应用程序能够可靠地开始通信。
  • 优雅的连接断开。在关闭连接之前,TCP保证所有的数据都已经被传递,并且通信双方都已经同意断开连接。

25.4 端到端服务与虚连接🪐

TCP提供的连接称为虚连接,是通过软件实现的。

每一条TCP消息都被封装在一个IP数据报中并且通过互联网发送。

TCP把IP作为一个分组通信系统,它在连接两端的TCP模块之间提供通信

25.5 传输协议使用的技术🪐

主要问题

  • 不可靠的通信。 通过互联网发送的消息可能会丢失、重复、损坏、延迟以及乱序递交。
  • 端系统重新启动。 在通信过程中的任意时刻,两端的任意一个端系统都有可能崩溃并重启。即使某些嵌入式系统重启所需的时间比分组穿过互联网所用的时间还短,会话之间也不能出现混淆的情况。
  • 异构的端系统。 运行在强大的处理器上的应用能够快速生成数据,以至于大量数据会淹没在一个比较慢的处理器上的应用。
  • 互联网中的拥塞。如果发送方积极地发送数据,中间的交换机和路由器就会被分组淹没,就像公路上发生堵车一样。
  1. 通过定序来处理重复和乱序递交

    • 为了处理分组重复和乱序递交的问题,传输协议使用了定序技术(Sequencing)。
    • 发送方给每个分组分配一个序号。接收方保存最后一个按序到达分组的序号以及一个乱序到达分组的序号列表。
    • 当一个分组到达的时候,接收方检查其序号来决定如何处理这个分组。
    • 如果这个分组正是接收方期望的下一个分组(即按序到达),则协议软件将该分组传递给协议栈中更高的一层,并检查乱序分组序号列表,看是否有其他分组也可以被传递。
    • 如果这个分组乱序到达,则协议软件将这个分组添加到乱序分组序号列表中。

    定序技术可以解决分组重复的问题一接收方在检查新到达分组的序号的时候可以判断它是否是重复的。如果这个分组已经被传递了或者其序号和乱序表中的某个分组的序号相同,则协议软件就会将这个分组丢弃。

  2. 通过重传来处理分组丢失(丢包)

    • 为了解决分组丢失的问题,传输协议使用了肯定确认与重传( Positive Acknowledgementwith Retransmission)机制。
    • 当一个帧完好到达的时候,接收协议软件就会发送一个小的确认( Acknowledgement, ACK)消息以告知发送方接收成功。
    • 发送方负责确保每一个分组都被成功地发送。每当发送方发送一个分组,发送端的协议软件都会启动一个计时器。如果确认消息在计时器超时之前到达,软件就会取消这个计时器;如果计时器在确认消息到达之前超时,软件就会重新发送该分组的一个副本并重新启动计时器。
    • 重新发送分组副本的动作称为重传(Retransmitting),而发送的副本通常被称为重传分组
    • 当然,如果硬件故障使得网络永久性地断开或者接收计算机已经崩溃,那么重传是不会成功的。因此,支持消息重传的协议通常会限制最大的重传次数。当达到最大重传次数的时候,协议就会停止重传并且宣告无法通信。
      注意,如果分组在网络中被延迟了,那么重传可能产生重复的分组。因此,支持重传的传输协议通常要能够处理分组重复的问题。
  3. 避免重放的技术

    • 非常长的延迟会导致重放错误(ReplayError),即一个经历了延迟的分组会影响后面的通信。
    • 为了防止重放,协议给每一个会话标上一个唯一-的ID (例如会话建立的时间),并且要求每个分组都携带这个唯–的ID。协议软件将会丢弃所有携带了不正确ID的分组。为了避免重放,一个ID在一段合理的时间之内不应该被重复使用(比如几小时)。
  4. 通过流控制来避免数据泛滥

    • 有多种技术能够防止一个快速的计算机发送过多的数据而淹没一个慢速的接收方。我们使用术语“流控制”( Flow Control) 来表示解决这一问题的技术。
    • “停-走”系统( Stop-and-Go System):其中发送方每发送一个分组之后都会等待。当接收方准备好接收另一个分组以后,它会发送一个控制消息,通常是一个确认消息的形式。(网络吞吐率极低)
    • 为了获得更高的吞吐率,传输协议使用了一种被称为滑动窗口(SlidingWindow)的流控制技术:
      • 发送方和接收方被设定为使用一个固定的窗口尺寸( Window Size), 它表示在确认消息到达之前可以发送的最大数据量。
      • 例如,发送方和接收方可以使用4个分组的窗口尺寸。发送方首先获取需要发送的数据并填充4个分组(即第一个窗口),然后传输每个分组的副本。(在大多数传输协议中,发送方会为每一个分组保留一个副本,以便在需要的时候重传。)接收方必须事先为整个窗口分配缓冲区。如果一个分组按序到达,接收方将这个分组传递给接收应用并给发送方发送一条确认消息。当确认消息到达时,发送方本地保留的将被确认分组的副本丢弃,并传输下一个分组。

25.11 缓冲区、流控制和窗口🪐

TCP使用窗口( Window)机制来控制数据的流动。

与之前描述的过于简单的基于分组的窗口方案不同,TCP的窗口是以字节为单位的。

当一条连接建立的时候,连接的每一端都会分配一个缓冲区以容纳到达的数据,并将缓冲区的大小通告给连接的另一端。随着数据的到达,接收端的TCP会发送确认消息,其中指出了剩余缓冲区的大小。

TCP使用术语“窗口”(Window)来表示任何时候可用缓冲区的大小,指示窗口尺寸的通告消息称为“窗口通告”( Window Advertisement)。接收方在每一个确认消息中都会携带窗口通告。

如果接收方可以在数据到达的时候立即读取数据,那么接收方发送的每个确认消息中都会携带一个正的窗口通告。

然而,如果发送方的速度快于接收方(例如CPU更快),那么到达的数据就会最终填满接收方的缓冲区,使得接收方通告零窗口(ZeroWindow)。

发送方接收到零窗口通告后必须停止发送,直到接收方再次通告一个正的窗口。图25.7显示了窗口通告。

第二十六章

26.4 动态路由与路由器🪐

每个路由器运行路由软件,获知其他路由器可达的目的地信息,并通知其他路由器它自身能够到达的目的地。路由软件利用输入信息不断更新本地转发表。

26.7 互联网路由协议的两种类型🪐

  • 内部网关协议(IGP):
    • 一个自治系统内的路由器使用内部网关协议( Interior Gateway Protocol, IGP )来交换路由信息。有多种IGP可供选择,每个自治系统可以自由选择自己的IGP。通常,IGP易于安装和操作,但是每一种IGP都可能会限制自治系统的规模或路由的复杂性。
  • 外部网关协议(EGP):
    • 一个自治系统中的一台路由器使用外部网关协议( Exterior Gateway Protocol, EGP )与另一个自治系统中的一台路由器交换路由信息。
    • EGP的安装和操作一般比IGP复杂,但是EGP提供更大的灵活性和更低的开销(即较小的流量)。为了节省流量,EGP汇总一个自治系统的路由信息,然后发送给另一个自治系统。
    • 更重要的是,EGP实行策略约束(PolicyConstraints),使得系统管理员可以准确地决定哪些信息可以发布到组织之外。

26.10 路由信息协议(RIP)

特点

  • 自治系统内的路由。RIP被设计成内部网关协议,用于在自治系统内的路由器之间传递信息。
  • 跳数度量。RIP使用网络跳数( Hops)来度量距离,源地址和目的地址之间的每个网络看作一跳; RIP 将直接连接的网络计算为一跳。
  • 不可靠传输。RIP使用UDP在路由器之间传输消息。
  • 广播或组播传输。RIP被设计成可以在支持广播或组播的局域网(例如以太网)中使用。RIP 的版本1使用IPv4广播;版本2允许通过组播传送。
  • 支持IPv4的CIDR和子网。RIP的版本2包括每个目的地址的地址掩码。支持默认路由传播。除了指定明确的目的地,RIP允许路由器发布缺省路由。
  • 距离向量算法。RIP使用算法18.3定义的距离向量( Distance-Vector) 算法寻找路由。
  • 主机被动模式。虽然只有路由器可以传播路由信息,但RIP允许主机被动地收听和更新其转发表。在主机可以从多台路由器中进行选择的网络中,被动RIP很有用。
  • IPv6的扩展。虽然RIP最初是为IPv4定义的,但是-一个称为下一代RIP( RIP nextgeneration, RIPng) 的版本也适用于IPv6。

26.12 开放最短路径优先协议(OSPF)🪐

OSPF是一种使用链路状态算法来传播路由信息的内部网关协议。路由器使用Dijkstra的SPF算法计算最短路径。

为了满足路由协议可扩展到大型组织的需求,IETF设计了被称为开放最短路径优先协议( Open Shortest Path First Protocol, OSPF)的IGP。这个名字源于Dijkstra的SPF算法,该算法用于计算最短路径。

OSPF 具有如下特点

  • 自治系统内的路由。OSPF是一种用在自治系统中的内部网关协议。
  • 支持CIDR。为了适应IPv4的CIDR编址,OSPF包含了与IPv4地址对应的32316计算机网络与互联网(第6版)比特地址掩码。
  • 认证的消息交换。使用OSPF的一对路由器能够验证每个消息。
  • 导入路由。OSPF允许路由器引人通过其他方式(例如来自BGP )学习到的路由。
  • 链路状态算法。OSPF采用了第18章中所述的链路状态路由( Link-State Routing )。
  • 度量支持。OSPF允许管理员为每条路径指定开销。
  • IPv6扩展。OSPF的版本3 ( OSPFv3)能够为IPv6网络的目的地传播路由。
  • 支持多路访问网络。传统的链路状态路由在多路访问网络(例如以太网)中的效率低下,因为连到网络上的所有路由器都会广播链路状态。OSPF通过指定一台路由器在网络中广播的方法进行了优化。

26.16 组播路由🪐

  1. IP 组播语义

    单播路由是针对有静态地址且位置不变的目的地。

    设计单播路由传播的目的之一是稳定性,一旦单播路由协议发现了最短路径,它通常会保留该路径,直到该路径因故障无法使用为止。

    组播路由(MulticastRouting)信息的传播与单播路由的传播显著不同。原因是互联网组播允许动态组成员和匿名发送方。动态成员意味着应用程序可以随时选择加入一个组,并且充当任意时长的组员。也就是说,IP组播的抽象机制使得在任意计算机上运行
    的应用程序能够进行如下操作:

    • 随时加入组播组,并开始接收发送到该组的所有分组的副本。为了加一个组,主机需要通知邻近的路由器。如果同一台主机上的多个应用程序决定加一个组,主机接收发往该组的每个数据报的副本,并为每个应用程序生成一个本地副本。
    • 随时离开组播组:主机周期性地发送组成员消息到本地路由器。一旦主机上的最后一个应用程序离开该组,主机通知本地路由器不再参加该组。IP组播组的匿名体现在两方面。首先,发送方和接收方都不知道(也找不出)组成员的身份和数量。其次,路由器和主机都不知道哪些应用程序会把数据报发送给组播组,因为任何一个应用程序可以随时发送数据报给任意一个组播组。也就是说,组播组的成员只定义一组接收方,发送方在发送消息给组播组之前,无需加该组播组。
    • 总结如下:IP组播组的成员是动态的:一台计算机可以随时加入或离开组。组成员定义了一组接收方;任意应用程序都可以向该组发送数据报,即使它不是组成员。
  2. IGMP
    一台主机如何加入或离开组播组?

    当主机需要加入或离开组播组时,有一个标准协议用于让主机通知邻近的路由器,这个标准协议就是互联网组管理协议( Internet GroupManagement Protocol, IGMP )。

    该协议仅用在主机和路由器之间的网络上。而且,该协议定义主机,而不是应用,作为组成员,协议没有对应用做出规定。如果给定主机上的多个应用要加入组播组,主机必须为接收到的每个数据报制作副本,并将副本发送给本地应用。当主机上的最后一个应用离开该组,主机使用IGMP来通知本地路由器它不再是组的成员。

  3. 转发与发现技术
    当路由器得知其网络上的一台主机已加入组播组,路由器必须建立一条到该组的路径,并且把它接收到的该组的数据报传播给主机。

    因此,路由器而不是主机负责传播组播路由信息。
    组成员的动态性和支持匿名发送使得通用的组播路由变得非常困难。此外,组的规
    模和拓扑结构在不同的应用中差别很大。例如,远程会议通常创建小的组(例如2~5个
    组成员),成员可能分散在不同的位置或在同一个组织内。网络广播应用可能会创建-个
    遍布全球、有数百万成员的组。
    为了适应动态成员,组播路由协议必须能够快速地、不断地改变路径。例如,如果
    法国的用户加入一个有美国和日本成员的组播组,组播路由软件必须先找到该组的其他
    成员,然后创建一个最优的转发结构。更重要的是,因为任意-一个用户都能够向组播组
    发送数据报,所以路由信息必须扩散到组外。在实际应用中,组播协议采用了3种不同
    的方法转发数据报。

    ●洪泛与剪枝。
    ●配置与隧道。
    ●基于核心的发现。
    洪泛与剪枝(Flood-and-Prune)。当组较小且所有成员都连接至彼此邻近的局域网(例
    如,公司内的组)时,洪泛与剪枝方法比较理想。初始阶段,每个路由器将数据报转发
    到所有网络。也就是说,当一个组播数据报到达时,路由器通过硬件组播能力,将报文
    直接发送给所有直连的LAN。为了避免环路,洪泛与剪枝协议使用了被称为反向路径广
    播( Reverse Path Broadcasting, RPB) 技术来避免循环。在洪泛阶段,路由器交换有关
    组成员的信息。如果路由器获知给定网络中没有主机是该组成员,则停止向该网络转发
    组播数据报(即将该网络从组中“剪去”)。

    配置与隧道( Configuration- and-Tunneling )。当组成员的地理位置分散(即站点成员
    数量较少,且站点间距离较远)时,配置与隧道方法比较理想。每个站点的路由器通过
    配置获知其他站点的情况。当组播数据报到达时,站点的路由器通过硬件组播能力将它
    发送给所有直连的LAN。然后路由器查阅其配置表,以确定哪些远程站点应该接收数据
    报的副本,并使用IP-in-IP隧道来把组播数据报的副本传送到每个远程站点。
    基于核心的发现( Core-Based Discovery)。虽然洪泛与剪枝、配置与隧道能分别较
    好地处理两种极端情况,但是仍然需要一种组播技术,允许组播从区域内的小组较好
    地扩展到成员随意分布的大组。为了提供平稳增长,有些组播路由协议为每个组播组
    指定一个核心(Core)单播地址。每当路由器R:接收到必须传输到一个组播组的数据
    报时,R|在单播数据报中封装组播数据报,并将单播数据报转发到该组的核心单播地
    址。单播数据报在互联网传输时,每个路由器都检查其内容。当数据报到达属于该组
    的路由器R2时,R2去除外部的封装并处理内部的组播消息。R2使用组播路由将数据报
    转发给组成员。加入组的请求遵循相同的模式一如果 R2收到加入组播组的请求,R2
    在组播转发表中增加一-条新的路由,并开始向R1转发每个组播数据报的副本。因此,
    接收特定组播组数据报的路由器集合由核心向外生长。用图论的术语来说,路由器形
    成了一棵树(Tree )。

  4. 组播协议
    虽然人们已经提出了许多组播路由协议,但是目前还没有互联网范围的组播路由。
    已经提出的一-些协议如下。
    距离向量组播路由协议( Distance Vector Multicast Routing Protocol, DVMRP)。这是
    UNIX程序mrou
    uted和互联网组播骨干网( Internet Multicast backBONE, MBONE)使用
    的协议。DVMRP执行本地组播,并且采用IP-in-IP 封装将组播数据报,从互联网的一一个
    站点发送到另一个站点。有关MBONE的更多信息可以在以下网址找到:
    http://www.lbl.gov/web/Computers- and-Networks .html#MBONE
    基于核心的树( Core Based Trees, CBT )。路由器从中心点为每个组建立传递树的协
    议,CBT依靠单播路由来到达中心点。

  5. 协议无关组播-稀疏模式( Protocol Independent Multicast - Sparse Mode, PIM-SM )。
    该协议采用与CBT相同的方法形成组播路由树。设计者选用术语协议无关( Protocol
    Independent)来强调:虽然建立组播转发路径时采用单播数据报联系远程目的地,但是
    PIM-SM并不依赖任何特定的单播路由协议。
    协议无关组播- 密集模式( Protocol Independent Multicast - Dense Mode, PIM-DM )。
    该协议被设计用于组织内部。使用PIM-DM的路由器广播(即洪泛)组播分组到组织内
    的所有位置。没有特定组成员的路由器需要回送消息,用于组播路由树剪枝(即请求停
    止分组流量)。该方案对短期(例如几分钟)组播会话很有效,因为它无需在传输开始前
    建立路由树。
    对开放最短路径优先协议的组播扩展( Multicast Extensions to the Open Shortest Path
    First Protocol, MOSPF )。MOSPF并不是通用的组播路由协议,而是被设计用于在一个
    组织内的路由器之间传递组播路由。因此,MOSPF没有采用通用的组播方法,而是建立
    在OSPF的基础上并采用链路状态路由的方法。
    图26.7总结了,上述几种组播路由协议。
    协议,
    类型
    DVMRP
    配置与隧道
    CBT
    基于核心的发现
    PIM-SM
    基于核心的发现
    PIM-DM
    洪泛与剪枝
    MOSPF
    链路状态(组织内部)
    尽管经历了20多年的研究和许多实验,通用的互联网组播一直没有取得成功。 甚至
    远程会议应用都没有提供足够的推动力。我们把结果总结如下。互联网组播的动态特性使组播路由的传播非常困难。虽然人们已经提出了
    许多协议,但是互联网目前还没有全网范围的组播路由设施。

第二十九章

29.9 私钥加密🪐

在私钥( Private Key)系统中,比如DES标准,每对通信的实体共用一个密钥,它既做加密密钥( Encryption Key ),也做解密密钥( Decryption Key)。

私钥这一名字源于密钥必须保密一如果第三方获得了密钥的副本,第三方就可以解密双方的消息。

私钥系统是对称的( Symmetric),因为双方都可以发送或接收消息。

为了发送一条消息,需要使用密钥来产生密文,然后将密文通过网络发送。当一条消息抵达时,接收者使用密钥来解码密文,提取出原来的消息(明文)。所以,在私钥系统中,发送者和接收者使用同样的密钥K,也就是说:
(书上图)

29.10 公钥加密🪐

私钥加密的主要替代方案是公钥加密( Public Key Encryption),它被RSA标准所采用。公钥系统给每个实体分配一对密钥。

假定每个实体是一个单独的用户。用户的一个密钥称为私钥( Private Key),它是不公开的,而另一个密钥称为公钥(Public Key),它随着用户的名字一起公开,因此所有的人都知道这个密钥的值。

加密函数有这样的数学性质:用公钥加密的明文只有用私钥才能解密,而用私钥加密的明文只有用公钥才能解密。

两个密钥的加密和解密的关系可以从数学上来解释。令M表示明文消息,public_ ul表示用户l的公钥,private_ ul 表示用户l的私钥。

加密函数可以表示为:(书上图)

公开公钥是安全的,因为用于加密解密的函数有单向性质(OneWayProperty)。也就是说,告诉某人公钥并不会让他可以伪造用私钥加密的消息。

公钥加密可以保证机密性。希望保证通信机密的发送者使用接收者的公钥来加密消息。除非第三方知道私钥,否则即使他们从网络上获取了密文的副本,也不能读出内容,因为他们不能解密消息。因为只有接收者可以解密消息,所以此方案能保证数据的机密性。

29.11 使用数字签名的认证🪐

用接收方的公钥进行加密

加密机制也可以用于认证消息的发送者,这项技术被称为数字签名( Digital Signature )。

为了给消息签名,发送者用只有自己知道的密钥对消息加密。接收者使用反函数来解密消息。因为只有发送者拥有用来加密的密钥,所以接收者知道是谁发送了消息。

为了保证加密的消息不会被复制并稍后重传,原消息可以包含它被创建的时间和日期。让我们来考虑如何用公钥系统来提供数字签名。为了给一条消息签名, 发送者用他或她的私钥给消息加密。

为了验证签名,接收者查找发送者的公钥并用它来解密消息。因为只有发送者知道私钥,所以只有发送者能够加密一条消息,而该消息能被公钥解码。

有趣的是,消息可以被加密两次来保证身份认证和保密性。首先,用发送者的私钥对消息加密从而完成签名。然后,用接收者的公钥对加密过的消息再次加密。

从数学上看,这两步加密可以表示为:(书上图)
其中M表示要被发送的明文消息,X表示两次加密后的密文字符串,private_ ul 表示发送者的私钥,public u2 表示接收者的公钥。

在接收端,解密过程和加密过程相反。首先,接收者用他们的私钥来解密消息。这,次解密解除了一层加密,但还保留着消息的数字签名。然后,接收者用发送者的公钥再次解密消息。这个过程可以表示为:
(书上图)

其中X表示经过网络传送的密文,M表示原明文消息,private_ u2 表示接收者的私钥,public ul表示发送者的公钥。

如果这两步的结果是有意义的消息,那么该消息一定是机密的且可信的。这条消息一定抵达了它的预定接收者,因为只有预定接收者拥有可以解除外层加密的私钥。这条消息一定是可信的,因为只有发送者拥有私钥,使得加密后的消息能被发送者的公钥解密。

29.13 防火墙🪐

防火墙设置于组织和互联网其他部分之间,所有的分组,不论进人或离开组织,都要经过防火墙。

  • 所有进人组织的流量都要经过防火墙。
  • 所有离开组织的流量都要经过防火墙。
  • 防火墙实现安全策略,将违背安全策略的分组丢弃。
  • 防火墙自身要免疫安全攻击。

防火墙是最重要的安全工具,用于处理两个互不信任的组织之间的连接。通过在每个外部网络连接上设置防火墙,组织可以定义一个安全边界,以防止外部干扰组织内的计算机。

特别是,防火墙可以防止外部人员发现组织中的计算机,用无用的流量对组织的网络进行洪泛攻击,或者发送一组已知的IP数据报序列来攻击一台计算机使之不能正常工作。此外,防火墙可以防止不必要的数据导出(例如,用户无意中导入将用户磁盘副本发送给组织以外的人的病毒)。

29.14 基于分组过滤器实现的防火墙🪐

  • 虽然防火墙可以由独立工作的硬件构成,但是大部分防火墙是被集成到交换机或者路由器里的。不管是哪种情况,用来构建防火墙的底层机制被称为分组过滤器(PacketFilter)。

  • 过滤器包含一种可配置的机制,它检查每个分组的头部并决定允许该分组通过路由器或是丢弃该分组。管理员通过在每个方向上指定哪些分组可以通过来配置分组过滤器。(指定哪些分组允许通过比指定哪些分组被拒绝更安全–些)

  • 对于TCP/IP而言,分组过滤器的规则包括帧类型( 对于IPv4是0x0800,对于IPv6是0x86DD)、IP 源地址或者目的地址(或者都包括)类型、协议端口号。例如,要允许外部可以访问到组织的Web服务器,分组过滤器应该允许到来的包含IP数据报的帧,这些IP数据报要携带来自任意IP源地址和源端口,且目的地址等于该Web服务器的IP地址,目的端口号为80的TCP消息。

  • 因为防火墙中的分组过滤器允许管理员指定源地址、目的地址和服务的组合,它使管理员可以控制到指定计算机上的指定服务的连接。例如,管理员可以选择允许到来的流量访问一台计算机上的一个Web服务器,或者另一-台计算机上的电子邮件服务器,或者第三台计算机.上的DNS服务器。当然,管理员还必须配置防火墙规则来允许回复的分组离开站点。图29.9显示了对这样的站点的防火墙配置。

  • 有选择地允许一个特定服务的分组通过的能力意味着管理员可以小心地控制对外部可见的服务。所以,即使用户无意间(或者有意地)在他们的计算机上运行了一个电子邮件服务器,外部也不能连接到它。

第三十章

30.7 简单网络管理协议(SNMP)🪐

  • 用于网络管理的标准协议称为简单网络管理协议(SimpleNetworkManagementProtocol, SNMP )。
  • 现行的标准是第3版,写作SNMPv3。**SNMP协议精确定义了管理程序与代理如何进行通信。**例如,SNMP定义了管理程序发送给代理的请求格式和代理的回复格式。
  • 此外,SNMP定义了每个可能的请求和应答的确切含义。具体而言,SNMP规定SNMP消息使用被称为抽象语法表示法( Abstract Syntax Notation.1, ASN.1 )的标准进行编码。1虽然我们尊重习惯使用管理程序与代理这两个名字,但是读者应该记住它们的运行方式与其他的客户和服务器完全相同。
  • 虽然ASN.1编码的细节超出了本书的范围,但是我们将给出一个简单的例子来帮助解释其编码:
    • 假设在代理和管理程序之间发送一个整数。
    • 为了适应大数值且不用为每次传输浪费空间,ASN.1为每个被传送的对象使用了长度和数值的组合。
    • 例如,0255之间的整数以在一个字节传输。25665 535之间的整数需要两个字节,而更大的整数则需要3个或者更多的字节。
    • 为了对整数编码,ASN.1发送一对值:一个长度L,随后跟着L个字节来表示该整数。
    • 为了使消息能够包含任意大的整数,ASN.1 允许长度值占据多于一个字节的空间;扩展的长度对于典型的网络系统中使用的整数通常是不需要的。
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值