Loading... views

计算机网络复习笔记


绪论

将自治的计算机相互连接在一起的系统称为计算机网络. 通信子网中只有两种元素: 网络节点和通信链路.

按照地理范围递增, 网络包括

  • PAN 个域网(Personal)
  • LAN 局域网(Local)
  • MAN 城域网(Metro)
  • WAN 广域网(Wide)

单位:

  • 字节: 大 B, 存储介质中存储的数据量
  • 比特: 小 b, 吞吐量

参考模型: OSI 七层, TCP/IP 四层

OSI 模型 TCP/IP 模型 功能
应用层 应用层 应用
表示层 数据表示, 格式转换, 加解密
会话层 管理两个端点的通信, 建立, 维护, 拆除会话
传输层 传输层 端点(不一定是主机)间的数据段传输
网络层 网络层 路由
链路层 网络接口层 可靠帧传输
物理层 透明比特流传输

对等实体之间的通信经过了 U 形的协议栈处理, 是虚拟通信. 而 U 型通道中相邻的通信是实通信.

ICANN 管理 IP 地址资源分配和顶级域名, 前身是 IANA.

ISOC 是互联网协会, 下辖

  • IAB: 互联网结构委员会
  • IETF: 制定互联网标准(STD文档, RFC(Request for Comment)文档)的, 解决实际的工程问题
  • IRTF: 互联网技术研究

认为 IETF 和 IRTF 是 IAB 的下属.

服务和协议是完全相分离的, 于是能自由更改协议而不影响提供的服务.

IEEE 802 包括

  • 802.1: 网络互连

    • 802.1Q: VLAN
    • 802.1X: 基于端口的网络访问控制
    • 802.1D: 生成树协议STP
  • 802.2: 逻辑链路控制 LLC
  • 802.3: 以太网
  • 802.11: 无线局域网 WiFi

物理层

透明传输比特流.

规定了:

  • 机械特性: 接口所用接插件的形状, 尺寸, 引脚数目, 排列方式
  • 电气特性: 接口的各条线上应有的电压范围
  • 功能特性: 出现某种电平时的意义, 如高电压代表1
  • 过程特性: 实现特定功能的事件应该出现的顺序

信号传输有同步和异步, 主要看两边有没有一样的时钟. 同步的特点是:

  • 收发方使用严格一致的时钟
  • 比特传输效率高
  • 实现复杂
例 1

在一根有传输延迟为 5ms 的 4Mbps 链路上发送 500 字节的消息, 此消息从发送到传播至目的地的延迟共有多少?

链路的吞吐量(带宽)决定了发送数据的速度, 延迟决定了最后一个数据包从发出到到达的时延, 于是

例 2

在一个传播延迟为 4ms 的 5Mbps 互联网访问链路上, 传输数据最大数量是多少?

这里的"传播延迟"其实是"可以容忍的从首个数据发出到最后一个数据接收之间的时间", 所以

例 3

1bit在一个传输速度为 1 Gbps 的有线网络上可以传播多远? 假设通过线传播的信号的传播速度是真空中光速的 .

其实是想问"最后一个数据发出时, 第一个发出的数据已经传播了多远", 于是

信道的最大数字带宽

数字带宽是理想的, 静态的, 而吞吐量是实际可测得的.

定理 1 (奈奎斯特定理)

显然超过 的采样率没有意义, 所以没有噪声的理想信道的数字带宽上限是

其中

是最大采样率, 是每秒采样的次数, 是频带范围, 是信号的离散级别, 比如采样两个二进制位, 则 .

定理 2 (香农定理)

在有噪声的信道里, 有

其中 是信噪比, 当其单位为分贝时, 有

例 4

有一条4 kHz的无噪声信道, 每秒采样8000次, 如果每个采样是 16比特, 则信道的最大传输速率是?

其实我们不关心他实际上每秒采样多少次, 只关心信道本身的性质.

例 5

如果一个二进制信号通过一条 4 kHz的噪声信道, 噪声是30分贝, 则最大传输速率是?

例 6

如果一条信道的带宽在 3MHz和4MHz之间, 且信噪比是24分贝, 问:

  1. 信道的传输能力(最大传输速度)如何?
  2. 为了达到这个传输能力, 信号级别需要多少级?

注意两个公式里面的 都是频带范围, 所以这里的 应该是

编码和调制

  • 编码: 对数字信号

    • 归零RZ: 正负电平, 发送完回到 0
    • 非归零NRZ: 正电平和负电平
    • 非归零逆转NRZI: 传输 0 时逆转信号, 传输1时不变
    • 曼彻斯特: 使用向上, 向下跳变行为编码 0, 1
    • 差分曼彻斯特: 在时钟开始的时候使用跳变和不跳变编码 1 和 0, 在每个周期中间都跳变用于同步时钟.
    • b/ b 编码: 用 位前缀码编码 位数据.
  • 调制: 对模拟信号

    • 调幅
    • 调频
    • 调相
    • 综合调制: QAM- 代表有 个信号级别, 每个码元表示 比特数据

信号经过傅里叶分析可以分解成不同频率的谐波, 谐波的频率是基频的整数倍.

复用

在单个信道中传输多个信号.

  • 时分复用 TDM: 在小的时间片上轮流使用信道. 一种方法是均分, 还可以使用统计时分复用(STDM)的方法根据用户需求分配时间片.
  • 频分复用 FDM: 把物理带宽分为若干频率范围, 形成子频带和子信道, 子信道之间可以有很窄的保护带. 计算子信道带宽时, 直接用总带宽除以子信道数量. 有一种技术是正交频分复用(OFDM), 相邻信号必须正交, 但是信道可以重叠, 从而能提升信道的总带宽.
  • 波分复用 WDM: 光信号的FDM.
  • 码分复用 CDM: 把每个连接的一个比特分为到 个时间间隔中发送, 这些离散的时间是码片, 把 1 编码为 维的双极向量(分量为 ), 称为码片序列. 所有用户的码片序列两两正交, 所以可以全都混在一起线性叠加地发送, 接收方只需要用发送方的码片和接收的叠加信号点积, 观察结果 ( , , ) 就能得知发送内容.
例 7

五个用户使用 TDM 或 FDM 共享1 Mbps 链路. 使用 TDM的每个用户都要以一个固定的顺序轮流完全占据链接 1 ms. 使用FDM的每个用户在所有时间中获得 1/5 的链路. 当用户传输一个 1250 字节的消息时, 哪个方法具有最低的可能延迟, 且该延迟时间是多少?

  • TDM: 每个 1ms 内可以发送

    故共需要等待 9 个 和发送 10 个 , 共 .

  • FDM:

故为 TDM, 46 ms.

介质

  • 同轴电缆
  • 双绞线

    屏蔽双绞线 STP 非屏蔽双绞线 UTP
    外屏蔽层
    线对屏蔽层
    尺寸
    重量
    安装
    特点 局域网中广泛使用
  • 光纤: 光纤中不同入射角的光线可以互不干扰地传播, 每个入射角是一个"模式", 因此有多模光纤和单模光纤. SONET 是光纤标准(O是Optical).

    单模光纤 多模光纤
    发光器件 半导体激光器 发光二极管
    发光器件价格 便宜
    发光器件寿命
    传输距离
    带宽
    芯线
    规格 内 8-10 微米, 外 125 微米 62.5 / 125 微米

    模式数量 内径(模式多的需要粗) 传输距离(细长短粗) 激光器价格(传输距离长的贵) 激光器寿命(贵的寿命短).

  • 非导引性介质, 如微波. 微波容易发生多径衰落.

有线介质传播距离: .

PSTN

由交换局, 本地回路, 干线组成. 使用 PCM(脉冲编码调制技术) 把本地回路上的模拟信号数字化.

一些干线规格:

等级 速率 (Mbps) 路数 说明
Ex系列(欧洲/中国标准)
E1 2.048 30
E2 8.448 120 4 倍 E1
E3 34.368 480 4 倍 E2
E4 139.264 1920 4 倍 E3
E5 565.148 7680 4 倍 E4
Tx系列(北美/日本标准)
T1 1.544 24
T2 6.312 96 4 倍 T1
T3 44.736 672 7 倍 T2
T4 274.176 4032 6 倍 T3

T1 干线上复用 24 路语音, 每路电话每帧发送 8 位, 其中 7 位是用户数据, 1 位是控制信号, 此外还有额外的 1 位控制开销, 所以利用率为

设备

  • 放大器: 去噪和放大信号, 多用于总线拓扑
  • 集线器: 收到信号广播给其他所有节点, 多用于星形拓扑. 现在已经基本不用了

中继器和集线器能扩大冲突域.

链路层

负责把数据打包成帧, 并做纠错和流量控制.

包括 MAC(介质访问控制) 子层和 LLC(逻辑链路控制) 子层.

成帧

  • 字节计数法: 帧头标记这一帧多大(包括帧头), 但是第一帧错了就全完了.
  • 带字节填充的字节标记法: 用一个特定的定界符 FLAG(一个特殊字节) 来标记首尾. 包长度只能是字节为单位, 如果包中间也出现了 FLAG 就要用特定的转义符ESC (也是一个特殊字节)转义, ESC自身也转义.

    • 帧界: 7E -> 7D 5E
    • 转义: 7D -> 7D 5D
  • 带位填充的位标志法: 允许一帧为任意长度. 起始和终止标志是 01111110(中间有6个1), 但是中间如果发送了五个连续的1, 就会强制发送一个 0, 所以永远都不会重复. 接收方收信的时候碰到五个1接一个0就会把0删掉.
  • 物理层编码违例: 如果物理层用跳变编码 0 和 1, 那可以留出来连续高(低)电平定界.

检错和纠错

数据传输可能出现错误, 主要有突发错误和随机错误.

奇偶校验

通过在数据后 append 一位, 保证整个帧的所有 1 的个数是奇数或者偶数.

能检一位错, 海明距离是偶数.

CRC

  • 发方

    1. 约定 阶多项式 , 其中 , 于是可以仅取系数表示为 位二进制数 , 高阶对应高位.
    2. 对数据 , 左移 位, 也即 .
    3. 作模二除法 余数为

      • 二进制除法中直接使用异或作为加减法, 不需要试商, "够除"只看位数
    4. append 上 , 作为真实发送的数据
  • 收方

    1. 对收到的信息作模二除法查看是否能被 整除, 若不能则出错, 若能则无错.
例 1

用标准 CRC 方法来传输位流 10011101. 生成多项式为 .

  1. 试问实际被传输的位串是什么?
  2. 假设在传输过程中从左边数第三位变反了. 请说明这个错误可以在接收端能否被检测出来.
  3. 给出一个该比特流传输错误的实例, 使得接受方无法检测出该错误.

故为 10011101100.

  1. 若第三位取反, 也即接收到 10111101100, 则

    余数不为 0, 故检测到出错.

  2. 只需要令正确数据再异或(加)上除数即可

互联网校验和

  1. 发送方: 把数据按一定比特长度分为多个位串, 然后执行反码求和, 得到的即为校验和
  2. 接收方: 把收到的数据按同样方式分为多个位串, 把这些位串和校验和做反码求和, 得到 0 即为无错误, 得到 1 则为有错误.

反码求和也即先求和, 溢出部分当作加数继续求和, 直到没有溢出后, 对结果取反.

纠1位错的海明码

两个位串中不同的位的个数为这两个位串的海明距离(也即 xor 后统计 1 的个数).

一个编码中任取两个码字, 最小的海明距离就是这个编码的海明距离.

海明距离为 的编码方案能实现 位的错误检测, 因为只有 位同时发生错误才有可能不被察觉地从一个编码变为另一个.

令码字长度

求出最小 满足

位中 位是校验码, 分布在从第一位开始的 2 的幂次位上.

编码时, 把原数据每一位的序号分解为 2 的幂的和. 然后对于每一个2的幂位置的校验码, 取出所有分解包含该位置序号的位, 把这些位异或(或者做奇偶校验)就能得到这个校验码的值.

解码时, 按编码的方式重新计算校验位, 并且统计所有不一致的校验位. 如果全都一致, 那么认为没有错误, 如果有不一致, 把所有出错校验位的序号加起来就是出错的实际位的序号, 把那一位取反即可.

例 2

偶校验纠1位错海明码编码 10101111.

使用 4 位纠错码, 则

序号 1 2 3 4 5 6 7 8 9 10 11 12
1 0 1 0 1 1 1 1
纠错码1 1
纠错码2 0
纠错码4 0
纠错码8 0
结果 1 0 1 0 0 1 0 0 1 1 1 1
例 3

偶校验纠 1 位错海明码纠错 100110001100, 其中 , .

序号 1 2 3 4 5 6 7 8 9 10 11 12
1 0 0 1 1 0 0 0 1 1 0 0
纠错码1 0
纠错码2 1
纠错码4 1
纠错码8 0
结果

故第 位出错, 取反, 正确值为 101110001100.

可靠传输

停等

接收方收到正确数据返回一个确认帧 ACK, 否则什么都不发. 发送方收到确认帧就发下一帧, 若长时间没有收到就重传这一帧(ARQ, 自动重复请求协议).

由于是一帧一帧地发, 所以只需要一位二进制标识帧号, 在发送和确认时传送.

信道利用率

常常认为 为 0, 因为比较小. 为延迟.

例 4

使用 ARQ 协议在一个 1 Mbps 链路上发送一系列的 1250 字节消息. 此链路的传播延迟为 5 ms. 问可以使用的链路带宽的最大百分比是多少?

滑动窗口

同时进行 个停等.

信道利用率

可以看出只要窗口够大, 利用率就能达到 .

出错时有两种方案

  1. 回退 n 帧 GBN: 从出错那帧(没收到 ACK 开始)全部重发, 需要发送方有较大缓冲区, 因为发送方需要重传. 发送窗口最大为 , MAX_SEQ 为最大序列号(从 0 开始), 接收窗口固定为 1. 可以结合无滑动窗口的情况记忆, 也即序号从 0 开始, 最大为 1 , 窗口也为 1 .
  2. 选择性重传: 只重传出错的帧, 需要接收方有较大缓冲区, 因为要等待和排序收到的帧. 窗口最大为

这种最大窗口区别的本质是回退 n 帧的渐进的, 即使只确认了一个也能向下滑动, 而选择性重传是累计的, 本窗口必须全部完成才能向下滑动. 因此回退n帧只需要提供 1 的冗余, 而选择性重传需要提供一个完整窗口的冗余.

选择性重传不需要重传大量帧, 效率比较高.

例 5

两台主机之间的数据链路层采用了回退 n 帧协议(GBN)传输数据, 数据传输速率为 16 kbps, 单向传播延迟是 270 ms, 数据帧长度为 128 - 512B, 接收方总是以数据帧等长的帧进行确认, 为使得信道利用率达到最高, 帧序号的比特数至少为多少位?

要求至少, 所以我们求上界, 取数据帧长度 128 Bytes.

, 则帧序号至少有 , 也即至少 4 位.

数据链路控制(LCP)协议

HDLC

带位填充的位标志法成帧, CRC 检错.

链路控制功能包括连接的建立, 数据的传输, 连接的断开.

信息帧用来传有效信息和数据.

PPP

PPPoE

介质访问控制和局域网

一条信道需要被许多工作站共享, 因此需要考虑信道的分配和使用, 这就是 MAC 介质访问控制, 这部分功能由 MAC 层完成.

局域网信道包括

  • 广播式信道: 所有节点共享一条信道, 只有这种情况才需要解决冲突的介质访问控制方法. 总线拓扑, 星形拓扑, 环形拓扑都属于广播式信道
  • 点对点信道: 两个节点专用的通信链路. 如点对点拓扑

多路访问协议

目的是为了让每台工作站都有信道的部分使用权. 分为

  • 随机访问协议
  • 受控访问协议
  • 有限竞争协议

随机访问协议

工作站不是提前获得预分配的资源, 而是有了要传输的数据帧之后, 用一种机制竞争共享信道的使用权.

纯 ALOHA 协议

"任性", 所有计算机想发就发.

  • 如果发送成功, 接收站回一个确认帧, 网络中有一个特殊计算机会把收到的确认帧广播出去, 发送站收到了确认帧就认为发送成功.
  • 如果同时有两台计算机在发送信息, 就会发生碰撞, 发送失败, 无法通过 CRC 校验, 于是会遵循二进制指数回退算法进行重传.
定义 1 (二进制指数回退算法(BEB))

次传输失败, 从 中随机抽一个时间等待后再重发.

定理 2

ALOHA 协议的吞吐量为

其中 是每个标准帧时(传输一个数据帧需要的时间)内产生和重传的平均数据帧数.

分槽 ALOHA 协议

把时间离散化, 存在某些同步的时隙的开始, 只有在开始处才能发信.

定理 3

分槽 ALOHA 协议的吞吐量为

载波侦听多路访问(CSMA, Carrier Sense Multiple Access)系列
非持续 CSMA

要发信的时候先侦听信道是否在使用, 如果在用, 就先等待一个随机时间再来, 如果没在用, 就发.

-持续 CSMA

要发信的时候先侦听信道是否在使用, 如果在用, 那就一直监听, 直到空闲. 如果发现空闲, 有概率 发信, 空出一个时隙再监听.

1-持续 CSMA

-持续 CSMA 的一种特例.

带冲突检测的 CSMA (CSMA/CD)

是 1-持续 CSMA 的改进.

即使使用上述策略, 还是有冲突的可能.

CSMA/CD 的网卡有发送器Tx和接收器Rx, Tx发信的时候也给Rx一份, Rx同时也会监听网络上的信号, 如果Rx监听到两个信号一样, 就说明没冲突, 如果检测到冲突, 就停止发送, 并且广播一个拥塞信号 jam.

冲突只能在开始发送后 ( 是最远的一台机器的时延)时间内发生, 这是显然的: 极端情况本机消息的头部(已经传播了 )与最远的一台机器发送的另一条消息的头部发生碰撞, 最远的机器马上广播 jam, 在 后该 jam 才被本机接收. 这个时间是冲突窗口, 只要在这个时间内没有检测到冲突, 就说明发送成功.

同时, 也是最小帧长, 因为如果比此长度还短, 即使检测到冲突, 消息也已经发完了.

经典以太网使用 CSMA/CD, 除此了上面描述的之外, 还有以下设计

  • 检测到冲突后重发的等待时间使用 BEB
  • 如果失败次数超过了 15 次, 放弃重发, 所以"每一次冲突都会重传, 都会随机等待两倍时间"是错的

因此以太网的 MAC 协议提供的是无连接不可靠的服务, 因为显然没有连接, 而且可能放弃.

例 1

在经典以太网中, 有A, B和C共3个站点, 采用CSMA/CD 和 BEB(二进制指数回退算法). 假设所有站点都未开始发送消息. 当下面这些事件按顺序发生之后, 哪些说法是正确的? 你观察这些事件的顺序:

  1. A 成功发送了一帧
  2. A 和 B 都发送了帧, 出现冲突
  3. A 成功地重新发送了一帧

A. A将重新等待两个时隙
B. A和B处于不同的工作状态
C. B准备好发送下一帧, 不执行BEB
D. B已经等待了至少两个时隙

AB冲突后, 他们按照BEB将从 个时隙中随机选择进行等待, 之后 A 成功发送而 B 暂时没有发送表明 A 选择等待 0 时隙, B 选择等待 1 时隙, 故显然选择 BD.

例 2

假定1km长的CSMA/CD网络的数据率为1Gb/s. 设信号在网络上的传播速率为200000km/s. 求能够使用此协议的最短帧长.

带冲突避免的 CSMA (CSMA/CA)

有确认机制, 是无线局域网中最常见的介质访问控制协议, 这是因为无线不能边发边听, 所以不能用 CSMA/CD.

受控访问协议

位图协议

台机器发消息之前要先经过一个 个比特时间的竞争期, 期间每台机器在各自的一个比特时间内发送 举手表示自己有数据要发, 竞争期结束之后是传输期, 台机器根据比特位从低到高各自排队发送.

二进制倒计数协议

上一个协议中, 如果参与的计算机太多, 竞争期就会很大, 效率不高.

每个计算机分配一个 的编号. 竞争期内相应地也有 个比特时间, 每个比特时间内各自发送自己的对应位, 所有计算机在同一时间内发送的位求或, 如果一台机器发现结果和自己的对应位不一样, 那就退出竞争, 一直这样决出得到发送权的机器.

有优先级, 编号越大优先级越高.

令牌传递协议

令牌在环状的网络中轮流.

  • 发信: 取得令牌时, 查看令牌中有无数据

    • 无数据: 把数据插入令牌, 令牌成为数据帧. 当令牌下一次到达时, 本机负责把令牌中的数据删除
    • 有数据: 等待令牌下一次到达

    然后把令牌递给下一台机器

  • 收信: 取得令牌时, 查看令牌中有无数据, 数据是否发给自己, 如果是, 那么收到了数据, 然后把令牌递给下一台机器

以太网

从参考模型看, 这部分设计覆盖了物理层和数据链路层, 但是 IEEE 802.3 只覆盖了物理层和 MAC.

分类

经典以太网

使用 CSMA/CD, 曼彻斯特编码, 有以下几种传输介质

特点 10Base-5 10Base-2 10Base-T 10Base-F
线缆类型 粗缆 细缆 双绞线 光纤(Fiber)
最大长度 500m 185m 100m
安装难度 不易安装 比粗缆易安装
拓扑结构 物理总线拓扑 物理星状拓扑, 逻辑总线拓扑

线缆名字中, 10 是指速度为 10mbps, 前二者的 5 和 2 指的是传输距离, 后二者的 T 和 F 指的是传输介质.

交换式以太网

集线器, 中继器慢慢被交换机替代, 形成了交换式以太网.

交换机可以对所连接的任意两个接口进行无冲突的通信(通过交换机内部 的阵列交换点形成虚拟电路), 端口和工作站形成无冲突域, 每个端口所在的 LAN 段形成独立冲突域, 效率高.

如果交换机端口不是全双工, 而是半双工, 那还是要用 CSMA/CD 防止冲突.

快速以太网

各以太网版本和速度:

名称 速度
经典以太网 10 Mbps
快速以太网 100 Mbps
千兆以太网 1 Gbps
万兆以太网 10 Gbps
其他更快的 顾名思义

帧格式

精品背书课.

MAC 地址

最高字节的最低位是单播(0)/组播(1)切换位, 次位是全局(0)/本地(1)切换位.

MAC 地址的高 24 位是所谓 OUI 地址, 也即组织唯一标识符, 后 24 位是组织内给设备的标识符.

L2 交换

交换机需要按照地址把数据发送到对应端口, 但是交换机是即插即用的透明设备, 需要学习才能知道什么端口是谁.

当数据来到交换机的时候, 以下情况:

  1. 交换机的地址表中不存在目标地址, 或者目标地址就是广播地址, 于是广播(向除了源端口的其他端口发送), 并且把源端口和其地址记录(或更新)在路由表中
  2. 交换机的地址表中存在目标地址

    1. 目标地址对应的端口就是源端口, 丢弃这一帧, 并更新路由表中的源端口地址
    2. 目标地址对应的端口不是源端口, 把一帧传送到目标端口, 并更新路由表中的源端口地址

表中存储的地址-端口对都是有时限的, 如果长时间没有更新就会删除.

交换方式有三种:

  • 存储转发: 缓存完整帧, 然后转发. 转发前要进行CRC校验. 出错少, 但是慢
  • 直通交换: 读取到帧的目标地址后, 立即在源端口和目标端口之间建立通道, 转发这一帧, 出错多, 但是快
  • 无分片交换: 介于两者之间. 接收到帧的前64帧再开始转发, 因为冲突往往在刚开始传输的 64 字节内, 这样做可以过滤冲突碎片.

交换机工作在物理层和链路层, 因为他们接收转发物理信号, 而且需要根据物理地址决策.

交换机是全双工, 所以计算全双工状态的总带宽时要注意乘2.

交换机是工作在混杂模式的设备, 也即网卡会接收所有监听到的包, 无论目标是不是自己, 因为交换机要进行转发, 所以这是必须的. 而正常模式(一般情况下的模式)下, 网卡则只处理目标是自己的包.

网桥就是旧版本的交换机, 行为和交换机一样.

VLAN

人工限制交换机的广播域(分隔广播域), 使用的标准是 IEEE 802.1Q.

生成树协议 STP

在交换机上运行, 通过选举根节点和到根节点的端口并屏蔽其他端口阻断物理链路中的回路, 解决广播风暴等问题. 使用的标准是 IEEE 802.1D.

无线技术

  • ZigBee: 物联网用的多
  • 蓝牙: 基本单位是微微网(Piconet)
  • WiFi

只有 WiFi(IEEE 802.11) 是无线局域网协议, 其他都是个域网.

802.11 的帧格式见 各协议 PDU 及相关数值.

其中标志位后八位有一些标志, 如

  • 去往DS(Distributed System, 分发系统): 也即去往AP
  • 来自DS: 也即来自AP

四个地址字段的含义也根据这两个标志位的情况改变, 具体来说, 可以是

  • DA: 目标地址
  • SA: 源地址
  • BSSID
  • TA: 发送数据帧的站点地址
  • RA: 接收数据帧的站点地址

网络层

寻路.

提供的服务有两种.

服务 数据报网络 虚电路网络
有无连接
数据寻径 每个分组独立寻径 每个分组只带有连接号, 不需要自己寻径
抗毁性 故障不会瘫痪网络, 分组可以自由寻路 连接发生故障需要重新搭建
到达顺序 乱序到达 按序到达
状态 无状态 有状态
服务质量 难以保证 可以保证

数据报网络提供的是数据包交换(分组交换, 包交换), 乱序到达是其特点.

IPv4 协议

注意, IPv4 并不能保证分组不丢失.

分组格式

精品背书课.

分片

链路层的 MTU 的限制会导致分片.

IPv4 分组中存在标记位:

  • DF(Don't Fragment): 若为 0 表示可以分片, 为 1 表示不要分片
  • MF(More Fragment): 若为 0 表示这是最后一个分片, 为 1 表示还有更多分片

如果分组长度 大于转出网络 MTU (对于以太网来说, MTU 是 1500 Bytes), 且分组中 DF 为0, 那么一片的载荷长度为

这里是为了保证分片长度为8字节整数倍, 因为分片偏移的单位是8字节.

总分片数为

其中 为头部长度, 往往为 20.

例 1

节点 A 到 B 通过路由器 R1 和 R2 路由. 通过网络发送的 IP 数据报有 20 字节长的报头. A-R1 链路的 MTU 是1800 字节, R1-R2 链路的 MTU 是 1200 字节, R2-B 链路的 MTU 是 600 字节. 如果 A 想要发送长度为 2800 的消息, 问: B 接收的数据报的总个数是多少? (假定源数据报中的DF=0).

首先计算出各个链路允许的最大有效载荷.

于是

共 7 个.

IPv4 地址

本质属性是位置相关性.

一些特殊地址

名称 地址 备注
受限广播地址 全1 只做目的地址, 向全网主机广播, 实际上只是本地广播
未指定地址 全0 只用作特殊情况下的源地址
网络广播地址 网络号.全1 只做目的地址, 向对应网络
网络地址 网络号.全0 不做源或目的地址, 代表网络本身
网络特定主机地址 全0.主机号 用来给本网络的某主机发信, 只做目标地址
环回地址 127.* 用于本机测试, 注意 127.0.0.0 不行, 因为是网络地址. 此外, 环回地址不会发送到网络上, 直接在本机处理, 所以不做源地址

私人地址空间:

  • 10.*
  • 172.16.* - 172.31.*
  • 192.168.*

ABCD类地址: 看第一个八位组开头有几个连续1, 0个是A, 1个是B, 依此类推. 其中 D 类是组播地址, E 类保留未用.

类ABCD地址: 只看子网掩码有多少网络位

IPv4 地址的获取

动态主机配置协议 DHCP.

获取地址有以下状态:

  • 初始状态INIT: 主机开机后进入初始状态, 广播 Discover 消息, 寻找 DHCP 服务器
  • 选择状态SELECTING: 收到 Discover 的服务器单播 Offer 应答消息给主机, 由于局域网内可能不止一台 DHCP 服务器, 所以还需要等待主机的应答, 主机选择一个 Offer 回复 Request 消息
  • 请求状态REQUESTING: 被请求服务器回复 ACK 消息
  • 绑定状态BOUND: 主机收到 ACK 消息后, 正式绑定 DHCP 服务器提供的 IP 地址, 子网掩码, 默认网关, 租期. 租期消耗一半的时候, 再次发送 Request 消息更新租期. 客户端也可以发送 RELEASE 消息主动取消租约
  • 更新状态RENEWING: 发送更新后, 等待 ACK 消息的时期
  • 再绑定状态REBINDING: 更新成功, 租期重置

CIDR 无类域间路由

CIDR 是一种路由汇聚技术.

没有 ABCD 类地址限制, 可以按需分配网络号长度(VLSM 可变长子网掩码), 所以

  • 缓解 IP 地址耗尽(通过 VLSM)
  • 减小路由表规模(CIDR 路由汇聚)
  • 按需分配 IP 地址
  • 统一管理不同类别 IP 地址
子网划分

先分配地址多的, 再分配地址少的, 分配的时候可以基本按照树状的分配方式.

需要注意, 如果子网内有 台客户机需要上网, 则实际上至少需要 个IP, 因为需要

  • 子网本身的地址
  • 子网广播地址
  • 网关自身的地址

其他IP协议或技术

ARP地址解析协议

主机发信需要对方的MAC, 但是有时候只知道IP不知道MAC, ARP就是用来通过IP获得MAC的协议.

数据帧格式

精品背书课.

基本工作原理

基本工作方式为:

  1. 一方发送ARP请求, 其中目标硬件地址保留全零
  2. 由于目标地址是广播地址, 所有主机都会接受
  3. 除了目的主机, 其他主机不理睬
  4. 目的主机收到后发送ARP应答, 其中所有地址都填好, 因此不再是广播
  5. 源主机收到应答并获得地址

每个主机都会维护一个ARP表, 按如下方式更新

  • 发出请求, 接到应答后按应答更新
  • 收到请求的主机, 无论是不是目标, 都提取请求中的发送方地址更新

实际上记录都有生存时间, 时间太长自动删除. 如果主机启动或者重新配置网卡, 主机会广播一个免费ARP请求, 目标和发送方都是他自己, 之前存储过这台机器的接收到这个请求就会用里面的信息更新. 除此之外, 免费 ARP 请求的发送和接收方都是自己, 不期望得到任何回答, 如果得到了, 说明有地址冲突, 所以也可以用来检测 IP 地址冲突.

如果是对远程网络中的主机ARP, 则最开始要把路由器MAC设置为目标MAC, 路由器拿到ARP请求后再根据IP地址在网络层进一步处理, 直到路由器拿到MAC地址, 再重新封装一个ARP应答发给源主机.

ICMP

消息格式中包含类型1B, 代码1B, 校验和2B:

  • 差错报告

    • 类型3

      • 主机不可达消息
      • 端口不可达消息
      • 需要分片但不允许消息
    • 类型11

      • 超时消息
      • 重组超时消息
  • 查询信息类型

    • 类型8: 回声请求
    • 类型0: 回声应答

几种情况对应的差错:

  • 不可达(TTL耗尽): 超时
  • 拥塞: 源抑制

PMTU 利用 ICMP 发现链路上的最大 MTU.

NAT网络地址转换

让多个私有IP的主机通过同一个公有IP连接外部网络, 具体做法就是

  1. 内网分组到达NAT转换器, NAT转换器修改源IP为公有IP, 并且分配一个端口号, 对转换前后的端口号和源IP做好记录
  2. 转发
  3. 收到回信, 按照记录好的端口号, 源IP修改回信
  4. 转发

这个服务是完全透明的.

IPv6 协议

IPv6地址

128位, 记作 的冒分十六进制. 也有和 IPv4 一样的前缀表示法.

一些特殊地址

名称 地址 备注
站点本地地址 fec0::/48
组播地址 ff00::/8
链路本地地址LLA fe80::/10
全球单播地址GUA 现在往往是2或者3开头
子网路由器任播地址 网络号后全0

任播地址做目的地址时, 包会发送到最近的一个该地址的接口. 其实任何一个单播地址都能成为任播地址: 只要他被分配给多个接口, 而且这个接口明确知道自己这个地址是任播地址.

省略规则:

  • 前导零必须省略, 如
  • 最长零省略, 如果有连续多组四位十六进制全为0, 那就全都省略为一个 ::, 最长的优先, 等长最前面的优先, 不省略一组0.

链路本地地址可以使用 EUI-64 根据 MAC 地址生成, 具体来说

  1. 原MAC地址为 AA-BB-CC-DD-EE-FF
  2. 在正中间插入 FFFE: AA-BB-CC-FF-FE-DD-EE-FF
  3. 翻转U/L位(最高一组的次低位): A8-BB-CC-FF-FE-DD-EE-FF

IPv6 过渡技术

  • 双协议栈技术

    • 一般: 一个机器同时支持两种协议, 要和什么协议的机器交互就用什么协议
    • 双协议栈过渡机制: 在最后的过渡期服务少数的 IPv4 主机, 在一个纯 IPv6 网络内提供一个类似 NAT 服务的 DSTM 服务器和一个双栈的 TEP 端点, 网络内主机通过 DSTM 获取 NAT 后的 IPv4 地址, 把整个包封在 IPv6 帧里面通过 TEP 和纯 IPv4 主机交互.
  • 隧道技术

    • IPv6 over IPv4: 多为协议41封装, 也即 IPv4 分组中的协议字段为41, 数据段即为纯 IPv6 分组
    • IPv4 over IPv6
  • 网络地址转换-协议转换 NAT-PT: 通过一个双栈网关作为代理沟通两种纯 vX 的主机(通过做NAT和PT), 但是对于部分双栈机器可以直通. 主要用来转换协议

其他 IPv6 技术

邻居发现(ND)

是通过 ICMPv6 实现的. 功能有

  • 自动地址配置
  • 重复地址检测
  • 邻居不可达性检测
ICMPv6

"ICMPv6用于主要用于报告IPv6分组的传输问题".

路由协议

作用是自动学习网络(网络发现)并维护路由表, 从而达到寻路的目的.

局域网内不需要经过路由器(网关), 消息可以直达目标主机.

距离矢量路由协议(DV)

基本上分为三步

  • 维护距离矢量
  • 交换距离矢量
  • 更新距离矢量

每个路由器维护一个他到其他所有节点的距离的矢量, 与邻居交换信息的时候通过自己到邻居这条路径优化自己的矢量.

RIP 协议就是一个 DV 协议的例子.

RIP 协议默认用跳数量度, 每个 RIP 路由器周期性和邻居交换, 默认30s一次, 最大量度为15跳, 再高认为不可达, 缺点有

  • 收敛慢
  • 不能到15跳之外
  • 路径量度不合理

除此之外, 还有 IGRP, BGP 也是 DV.

链路状态路由协议(LS)

基本运作:

  • 发现邻居: 通过 Hello 报文
  • 设置链路: 了解自己和链路的状况, 并为此链路设置量度, 代价, 开销
  • 构造 LSA(链路状态公告): 一个小地图, 包括邻居信息, 到邻居的链路, 链路上的量度
  • 分发 LSA: 把LSA发给其他所有路由器
  • 计算: 构建以自己为根, 到其他所有路由器的最短路径, 以及最短路径生成树
OSPF协议

开放, 使用带宽量度, 无类, 收敛快, 无路由环, 有层次性.

运行过程

  • 建立全毗邻关系: 相互交换数据, 同步数据库
  • 选举 DR指定路由器 和 BDR备用路由器: 为了减少同步次数
  • 发现路由: 从邻居交换的信息里面获取新的路由
  • 计算最佳路由
  • 维护路由: 默认30min更新一次

用到五种报文:

  • Hello: 发现邻居, 建立和维护关系
  • DD(Database Description): LSA摘要
  • LSR(Link State Request): 要求详细的LSA
  • LSU(Link State Update): 回应 LSR 或主动发送链路变化
  • LSAck(Link State Acknowledgement): 确认收到

全毗邻关系的建立过程和状态迁移:

  1. 互发 Hello (Down Init 初始状态), 建立双向双边关系 (Two-way 双向状态)
  2. 首次交换 DD, 确立主从关系, 交换初始序列号 (ExStart 准启动状态)
  3. 交换全部 DD (Exchange 交换状态)

    • 如果拓扑数据库一致, 直接进入全毗邻状态 (Full adjacency 全毗邻状态)
    • 否则, 通过 LSR, LSU, LSAck 报文交互(Loading 加载状态), 最终达到数据库一致, 建立了全毗邻关系 (Full adjacency 全毗邻状态)

BGP

前面的协议都是 IGP, 也即在自治系统(AS)内部运行的路由协议. AS之间运行的是BGP, BGP 也是一种 DV.

BGP报文中包含路径属性, 包括

  • 起点
  • AS路径: 记录了完整路径, 可以防止环路
  • 下一跳
  • 多出口辨识属性
  • 本地优先属性

IP 组播

IGMP互联网组管理协议: 在主机和组播路由器之间建立, 维护和拆除组播组成员关系.

  • 源树: 组播源为根到组播组成员的树, 每个组播源都会生成一个
  • 共享树: 组播源发出的分组先到达一个汇聚点, 然后再从汇聚点转发到组播组成员, 每个组播组只有一个

有一系列组播路由协议:

  • 域内

    • 密集模式: 只支持源树

      • DVMRP
      • PIM-DM: 使用泛洪-剪枝的方式找到源树, 也即"推"模型
    • 稀疏模式: 同时支持共享树和源树

      • PIM-SM: 接收者需要显式加入, 也即"拉"模型
      • CBT
    • 链路模式

      • MOSPF
  • 域外

    • MSDP(链接PIM-SM域)
    • MBGP(BGP多协议拓展)

组播有一系列优势, 包括

  • 降低网络流量
  • 降低应用服务器的负担
  • 降低干线(而不是骨干)上的流量

QoS

区分服务质量.

漏桶算法

数据先传送到一个缓冲区, 从缓冲区中匀速抽取数据发送, 缓冲区满后超出的数据将会被丢弃.

不支持突发.

令牌桶算法

漏桶算法的反演. 匀速向令牌桶中填充令牌, 令牌桶有一定容量, 多出的令牌将被丢弃, 数据只有从令牌桶中取得令牌才能发送.

支持一定程度的突发.

例 2

一个网络节点在网卡前接了一个令牌桶和漏桶, 令牌桶的容量C为10000KB, 令牌产生的速率是25MBps; 漏桶的容量是8000KB, 输出速率是125MB/s.

  1. 如果网络节点产生了大量分组, 令牌桶的输出速度达到了50MB/s, 以这样的速度输出, 最多可以持续多长时间?
  2. 如果网络节点某个时刻产生的分组突然增加, 产生了50MB的分组, 假如令牌桶已经在空闲时间积攒了满桶的令牌, 发送完50MB的全部分组, 需要多长时间? 不计算漏桶处理分组的时间.
  1. 设能持续时间 , 则有

  2. 设以 125 MBps 的速度输出了 大小的数据, 则有

    持续 0.1s.

    之后又以 25MBps 的速度输出了 37.5 MB 数据, 持续

    共 1.6s.

多标签交换MPLS

面向连接, 转发的时候和标签交换(LS)类似, 只需要检查标签, 替换标签, 转发分组. 运行在 OSI 模型的 "2.5" 层.

可以用专用电路实现, 效率高.

传输层

实现进程到进程的通信.

有无连接, 区别在于有无虚电路.

UDP

可以用于 RPC 等.

段格式

精品背书课.

TCP

可靠数据传输机制

  1. 序号机制: 每个字节都有编号, 数据段的编号是第一个字节的编号.
  2. 确认机制: 确认号是期望收到的下一个数据段的序号, 也即已经成功接收的数据号的后继. TCP 使用累计确认, 如果确认了后来的数据, 表示前面的数据也已经成功接收. 数据中可以携带确认号, 这叫做捎带确认(piggybacking).
  3. 重传机制

    1. 计时器超时: 太长时间没收到确认就重传, 超时时间设置为预估的往返时间
    2. 三次重复确认: 如果中间一个丢失了, 后面的正常发送, 于是对于后面正常接收的每一个, 都会回复一个丢失包的序号的确认, 三次重复确认就会使发送方重传. 注意是三次重复, 所以事实上应该有四次都是一样的 ACK.

滑动窗口流量控制

TCP是全双工传输, 所以两方都各自维护自己的发送窗口和接收端口.

所谓窗口也即发出去了但是对方还没回复(自己还没处理完)的包的最大长度, 双方可以用数据段里面的接收窗口值告知对方调整发送窗口.

糊涂窗口综合征: TCP流控不良, 窗口非常小, 头部显得非常大, 额外开销过高. 解决方案有

  1. Nagle算法: 发送方先收集要发送的小数据, 到达一定量或者收到对方确认之后再发送.
  2. Clark算法: 接收方收到数据段就确认, 但是直到缓冲区足够大之前一直宣布窗口为0, 也即暂停接收.

拥塞窗口: 发送方维护, 用于限制自己, 不需要通告接收方. 实际的发送窗口是接收窗口和拥塞窗口的最小值.

例 1

如果一个TCP数据段的接收方, 向发送方发出了一个确认消息, 其中的ACK确认号和窗口尺寸两个字段的值分别是: ACK=12000, WIN=8000. 下列哪一项不是发送方的可以传输的有效的数据段?

  1. 发送方可以传输 2000 字节数据段, SEQ = 18100
  2. 发送方可以传输 1500 字节数据段, SEQ = 18100
  3. 发送方可以传输 1000 字节数据段, SEQ = 18000
  4. 发送方可以传输 2000 字节数据段, SEQ = 17000

接收方确认到 11999, 期望 12000 的时候还有 8000 的窗口, 所以说新发给他的数据不能超过 8000, 也即末尾序号不能超过 , 显然第一个选项超过了.

连接的建立

也即所谓三次握手:

  1. 客户端向服务端, SYN设置为1, seq值设置为随机值 , 数据段无数据, 但是占一字节
  2. 服务端向客户端, SYN和ACK设置为1, seq为随机值 , ack为 , 数据段无数据, 但是占一字节
  3. 客户端向服务端, ACK设置为1, seq 为 , ack为 , 这次可以包含数据, 也可以不包含, 也即数据长度为0

连接的释放

分为

  • 对称释放: 两方独立完成连接释放并收到对方确认
  • 非对称释放: 只要一方完成连接释放的,请求并收到确认即可
非对称释放

断开一方直接发送 DR 并关闭连接.

对称释放

所谓四次挥手.

  1. 客户端向服务端, FIN设置为1, seq 为 (并非随机, 而是真实值), 数据占用1字节
  2. 服务端向客户端, ACK为1, seq 为 , ack为 , 此时客户端向服务端的连接已经关闭.
  3. 服务端向客户端, FIN为1, ACK为1, seq为 (不一定是 , 可能在单向连接关闭之后又发了一些), ack为 , 数据占用1字节
  4. 客户端向服务端, ACK为1, seq为 , ack为 , 然后等待两倍的最长段寿命(MSL, 一般为2min)后服务端向客户端的连接正式关闭

计时器

TCP的状态需要多种计时器维护, 包括

重传计时器

太长时间没收到确认就重传, 超时时间设置为预估的往返时间(RTT).

RTT的估计使用指数加权移动平均, 也即逐渐修正

其中 是平滑因子, 越大则更新越平滑, 一般取 .

也有其他的估计方法.

持续计时器

接收方有时候会把窗口设置为0主动停止接收信息, 直到他再次把窗口设置为其他值, 但是有时候还原窗口的消息丢失了, 这就会造成暂停状态无法解除.

所以我们设置了持续计时器, 如果发送方收到的消息中rwnd设置为0, 则开启计时器, 超时时则主动发送一个探测数据段(只有1字节新数据)触发对方重发一个确认数据段(which 重新设置了rwnd), 并且同时再启动一个新的持续计时器.

虽然探测数据段中有 1 字节新数据, 但是我们必须考虑接收方不会接收它(毕竟窗口officially还是0), 所以我们后续的数据段的seq忽略这1字节.

保活计时器

防止长期空连接.

每收到一次客户端数据段就重置计时器, 超时的时候服务端就主动发送一个探测数据段, 连续10个探测数据段都没收到回应则认为客户端失联, 主动关闭连接.

时间等待计时器

主要用于连接释放阶段, 也即前面提到的等待两倍的最长段寿命(MSL, 一般为2min)后服务端向客户端的连接正式关闭.

拥塞避免

主要采用加法增, 乘法减的思想.

  • 慢启动阶段: 有一个初始拥塞窗口大小, 比如 1 倍MSS(最大段数据), 每次发完收到对方确认后, 就把拥塞窗口加倍
  • 拥塞避免阶段: 慢启动达到阈值(窗口达到阈值)后, 进入线性增加阶段, 每次增加1MSS
  • 网络拥塞事件发生阶段: 发生拥塞, 把阈值设置为当前拥塞窗口的一半, 然后拥塞窗口设置为1, 然后重新进入慢启动阶段
  • 快速重传和恢复阶段: 如果只有个别数据丢失(比如三次重复确认), 就立即重传, 把阈值设置为窗口的一半, 窗口设置为新的阈值, 然后进入拥塞避免阶段

所以此处快速重传也属于拥塞控制手段.

TCP 状态

有如下状态

状态 含义
CLOSED 没有活跃的连接或者挂起
LISTEN 服务器等待入境呼叫
SYN RCVD 到达一个连接请求,等待 ACK
SYN SENT 应用已经启动了打开一个连接
ESTABLISHED 正常的数据传送状态, 既可以接收也可以发送
FIN WAIT1 应用没有数据要发了
FIN WAIT2 另一端同意释放连接
TIME WAIT 等待所有数据包寿终正寝
CLOSING 两端同时试图关闭连接
CLOSE WAIT 另一端已经发送关闭连接
LAST ACK 等待所有数据包寿终正寝

QUIC

新型协议, 基于 UDP.

优势包括:

  • 基于 UDP, 延迟低
  • 传输性能高
  • 安全, 默认 TLS 1.3
  • 解决 TCP 队头堵塞问题
  • 提供可插拔的拥塞控制机制
  • 可以连接迁移

应用层

域名系统

arpa 不是常见的顶级域名(TLD).

根服务器管理整个域名树.

域名服务器分为

  • 主服务器: 创建维护更新 zone 数据
  • 备份服务器: 只从主服务器获取数据

DNS 解析有两种方式

  • 递归解析: 一级一级深入, 每级都返回下一级服务器的结果
  • 迭代解析: 不断询问另一个服务器下一个要询问的服务器

典型应用

文件传输

FTP 协议, 20 是数据端口, 21 是控制端口.

远程登录

  • telnet: 简单的远程终端协议, 最大问题是不安全
  • SSH: 安全

电子邮件

包括用户代理(UA), 邮件传输代理(MTA), 和邮件发送协议.

发送用 SMTP, 接收用 POP3 或者 IMAP.

IMAP 和 POP3 不同, POP3 就是一个邮件转发器, 而 IMAP 就像一个网盘一样, 用户可以像在本地操作一样操作服务器上的 IMAP 邮箱内容.

发邮件用不到对方的 UA, 只用自己的 UA, 所以只涉及一个 UA.

万维网

万维网由资源, 统一资源定位符, 传输协议组成; 基本组成元素是 Web 服务器, Web 浏览器, HTML.

URL 是统一资源定位符, 给各种资源一种唯一的, 抽象的识别方法.

在客户/服务器模型中, 客户和服务器程序相互独立.

前端压力过大可以用 TCP 移交直接让后端服务器处理, 缓解前端压力.

其它

各协议 PDU 及相关数值

  • 物理层: 比特流

  • 链路层: 帧

    • 以太网

      这是 IEEE 802.3 格式的帧, 现在通行的 DIX 在前导码上有略微不同, 且长度字段为类型.

    • WiFi(IEEE 802.11)

      其中帧控制部分有11个子字段

  • 网络层: 分组

    • IPv4

      • 头部长度: 单位为4字节
      • 总长度: 单位为字节
      • 片偏移: 单位为8字节
    • IPv6

      • 下一个头代替了协议
      • 扩展头有

        • 逐跳选项
        • 路由头RH
        • 分片头FH
        • 认证拓展头AH
        • 目的选项拓展头
        • 封装安全载荷拓展头ESP(但是属于 IPSec 协议族, 不属于 IPv6)
  • 传输层

    • TCP: 段

    • UDP: 数据报

相关数值

  • 头部开销

    • IP: 20 Bytes
    • TCP: 20 Bytes
  • 最小传输单元

    • 以太网(不含前导码): 64 Bytes (出于 CSMA/CD 要求)
    • IP(MTU): 576 Bytes
  • 最大帧长

    • 以太网(不含前导码): 1518 Bytes
  • 最大头部长度

    • IPv4: 64 Bytes, 因为头部长度字段单位为 4 Bytes, 本身占 4 bits
  • 最大有效载荷

    • IP: 65515 Bytes
    • TCP: 65495 Bytes

      • 这是因为分组总长度最大 65535 Bytes (分组的长度字段为 16 位), 减去 IP 分组和 TCP 的两个 20 字节的头部, 也即 65495 Bytes

广播域和冲突域

路由器的一个端口就是一个广播域和一个冲突域.

交换机能分割冲突域, 集线器不能.

思科路由器

路由器 NVRAM 里面存的是配置.

  • 进入特权模式

    
                    
    en
    
                    
    en
    
                    
    en
    
                    
    en
  • 进入全局配置模式(在特权模式下)

    
                    
    config t
    
                    
    config t
    
                    
    config t
    
                    
    config t
  • 显示路由表

    
                    
    show ip route
    
                    
    show ip route
    
                    
    show ip route
    
                    
    show ip route

接口配置

  • 进入接口配置模式(在全局配置模式)

    
                    
    interface fax/x
    
                    
    interface fax/x
    
                    
    interface fax/x
    
                    
    interface fax/x
  • 配置 IPv4 地址

    
                    
    ip address IP 子网掩码
    
                    
    ip address IP 子网掩码
    
                    
    ip address IP 子网掩码
    
                    
    ip address IP 子网掩码
  • 配置 IPv6 地址

    
                    
    ipv6 address IP 子网掩码
    
                    
    ipv6 enable
    
                    
    ipv6 address IP 子网掩码
    
                    
    ipv6 enable
    
                    
    ipv6 address IP 子网掩码
    
                    
    ipv6 enable
    
                    
    ipv6 address IP 子网掩码
    
                    
    ipv6 enable
  • 启动接口

    
                    
    no shutdown
    
                    
    no shutdown
    
                    
    no shutdown
    
                    
    no shutdown

路由配置

  • 配置静态路由

    
                    
    ip route 目标IP 子网掩码 下一跳IP
    
                    
    ip route 目标IP 子网掩码 下一跳IP
    
                    
    ip route 目标IP 子网掩码 下一跳IP
    
                    
    ip route 目标IP 子网掩码 下一跳IP

    删除只需要在这条命令前面加 no.

  • 配置 RIP(在全局配置模式下)

    
                    
    router rip
    
                    
    network IP
    
                    
    router rip
    
                    
    network IP
    
                    
    router rip
    
                    
    network IP
    
                    
    router rip
    
                    
    network IP

    指定 IP 对应网络可以接受 RIP 消息, 关闭 RIP 只需要在第一条命令前面加 no.

  • 配置 OSPF(在全局配置模式下)

    
                    
    router ospf 进程号
    
                    
    network IP 通配掩码 area 区域号
    
                    
    router ospf 进程号
    
                    
    network IP 通配掩码 area 区域号
    
                    
    router ospf 进程号
    
                    
    network IP 通配掩码 area 区域号
    
                    
    router ospf 进程号
    
                    
    network IP 通配掩码 area 区域号

    进程号可以取 10, 100 等, 区域号写 0 即可, 表示骨干区域. 通配掩码是子网掩码的反演.

    指定 IP 对应网络可以接受 OSPF 消息, 关闭 OSPF 只需要在第一条命令前面加 no.

OSPF 和 RIP 都只需要把本路由器各端口对应的网络使用 network 配置.