中国海洋大学2023计算机网络期末复习
省流:
第1章重点章节概括
1)掌握计算机网络的性能的常用评价指标,能够计算。
2)掌握理论五层协议结构。
3)掌握五层协议各层的任务、使用的数据单元、主要协议(运输层、网络层、链路层)。
第2章重点章节概括
1)掌握常见的数字信号编码方式。
2)掌握影响数据传输速率的影响因素、理解信噪比、那奎斯特定律、Shannon公式的意义。
3)理解常见的信道复用技术(频分、时分、统计时分、CDMA)。
4)理解常见的物理层、链路层设备(集线器、交换机)的主要区别。(我写在了第三章)
第3章重点章节概括
1)理解数据链路层的三个基本问题。
2)理解链路、帧等重要概念,最小帧长的影 响因素有哪些?
3)掌握CSMA/CD 协议的要点,工作流程。
第4章重点章节概括
1)理解IP地址的概念和特点,特殊IP设置方法(如广播),掌握CIDR地址块划分方法。
2)理解MAC地址与IP地址的区别,掌握地址解析协议ARP的工作过程。
3)三个经典路由协议:RIP,OSPF,和 BGP,掌握三个协议的优缺点;
理解各个协议的基本原理,掌握各个协议过程中的信息交换(如与哪些路由器交换?交换什么信息?何时交换?如何交换(广播?泛洪?)?)
RIP协议:能够依据邻居的路由信息更新自己的路由信息。
4)理解运输层中重要的概念。
5)掌握IP层转发分组的过程
第5章重点章节概括
1)UDP和TCP基本概念和比较
2)掌握TCP的流量控制
3)TCP拥塞控制的主要策略,能综合分析TCP拥塞控制的全过程。
4)理解TCP链接建立和释放过程
5)理解TCP链接中数据传输过程。
第6章重点章节概括
1)理解DNS中的基本概念
2)DHCP基本过程
第9章重点章节概括
隐蔽站现象、暴露站现象、CSMA/CA协议(概念、原理)、移动IP(概念、原理)
绪论
计算机网络的性能评价
速率
指的是数据的传送速率,10Mbit/s是 10 的 六次方 不是 2 的 20 次方。
如果我们说数据大小的话,一般还是 2 的多少次方
带宽
在单位时间内网络中的某信道所能通过的“最高数据率”
吞吐量
在单位时间内通过某个网络的实际数据量。
时延
一般只考虑前两个时延
发送时延
传播时延
时延带宽积
可以称其为以比特位单位的链路长度。也就是说链路上的比特数目的最大值
每比特的宽度
链路长度 / 带宽时延积
往返时间RTT
考虑发送一条数据,对方会发一个数据量极小(不考虑发送时延)的ACK包,此时一个来回总时延 = A的发送时延 + 2*传播时延。这个时候 2 * 传播时延 就是RTT
有效数据率
利用率
信道利用率
某信道有百分之几的时间是被利用的。完全空闲的信道利用率是0。
信道利用率不是越高越好,因为信道的利用率增加的时候,信道引起的时延也迅速增加(堵车)
网络利用率
全网络的信道利用率的加权平均值
边缘和核心
略,看书
各层协议的最大传输单元(MTU)

物理层
基本概念
基本知识和概念(提供什么服务、四大特性、通信模型图) 选择和填空
物理层考虑的是怎么样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。需要尽可能屏蔽掉不同传输媒体和通信手段的差异。
四个特性(背住)
机械特性
接口所用接线器的形状和尺寸...
电气特性
接口电缆的各条线上出现的电压的范围
功能特性
某条线上出现的某一电平的电压的意义
过程特性
对于不同功能的各种可能时间的出现顺序
通信系统的模型

定义:消息(有语义信息的,明文的)、数据(符号序列)、信号(数据的电器表示)、码元(离散数值的基本波形)
定律
两个定律(基本概念,基本原理) 香农定理、信噪比(信噪比提高几倍,S/N提高几倍)、影响的两个因素
实际的信道存在的问题:带宽受限、有噪声、干扰和失真
即传输速率越高、传输距离越远、噪声干扰越大、传输媒体质量越差失真越严重
限制传输速率的两个因素:信道能够通过的频率范围、信噪比
奈氏准则
其中 W 指的是带宽(hz),Baud 是波特,表示1秒能传多少码元。
这个公式告诉我们,码元的传输的最高速率是有上限的,超过这个上限就会出现严重的码间串扰问题(接收端收到的信号波形失去了码元之间的清晰界限)
所以实际的信道所能传输的最高码元速率,要明显地低于奈氏准则给出上限数值。
意义
激励工程人员不断探索更先进的编码技术,使一个码元携带更多比特的信息量
信噪比(必考)
信噪比是信号的平均功率和噪声的平均功率之比
当 S/N =10 时,信噪比为10dB,而当 S/N =1000 时,信噪比为30dB
[!NOTE]
问:将信噪比提高3倍,那么
S/N应该如何变化答:提高 \(10^3\) 倍
香农公式
其中 W 是信道的带宽
这个公式告诉我们
- 信道的带宽或者信道中的信噪比越大,则信息的极限传输速率就越高
- 只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输
意义
告诫工作人员,在实际有噪声的信道上,不论采用多么复杂的编码技术,都不可能突破信息传输速率的绝对极限
常见的数字信号编码方式
调制包含基带调制和带通调制。编码的行为是基带调制,使用载波进行调制的是带通调制。其中基带调制有四种基本的编码,而带通调制有三种:调幅、调频、调相(载波是波嘛)
编码的四种方式。基本概念,考选择
不归零制:正电1,负电0
归零制:正脉冲1,负脉冲0
曼彻斯特编码:中心向上1,向下0
差分曼彻斯特编码:开始有跳变为0,没跳变为1

特点
信号频率
- 曼彻斯特和差分曼彻斯特编码比不归零制高
自同步能力
- 不归零制不能从信号波形本身中提取信号时钟频率(自同步能力)
- 两曼有自同步能力
信道复用技术(必考,看教材p56)
复用的几种方式 能够理解含义,进行比较优缺点。是本章最大的重点。其中还有CDMA工作原理,有关计算
复用
相对于专用信道而言。允许用户使用高一个共享信道进行通信。
频分复用(FDM)
- 是最基本的
- 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带
- 所有用户在同样的时间占用不同的带宽(即频带)资源
这里的带宽是频率带宽而不是数据的发送速率
可让 N 个用户各使用一个频带,或让更多的用户轮流使用这 N 个频带。这种方式称为频分多址接入 FDMA (Frequency Division Multiple Access),简称为频分多址。
时分复用(TDM)
- 将时间划分为一段段等长的时分复用帧(TDM帧)
- 每一个时分复用的用户在每一个TDM帧中占用固定序号的 时隙
- 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧地长度)的
- TDM信号也成为等时信号
- 所有用户在不同的时间占用相同的频带宽度

可让 N 个用户各使用一个时隙,或让更多的用户轮流使用这 N 个时隙。这种方式称为时分多址接入 TDMA (Time Division Multiple Access),简称为时分多址。
问题
当用户无数据发送的时候,分配给该用户的时隙就只能处于空闲状态。所以 时分复用会导致信道利用率不高
统计时分复用(STDM)
STDM不是固定分配时隙,而是 按需动态地 分配时隙,因此可以提高线路的利用率

- 集中器按顺序依次将用户发的数据输入缓存,把缓存中的数据放入STDM帧中。对没有数据的帧就跳过去
- 当一个帧的数据放满了,就发送出去
要点
- 统计时分复用又称为 异步时分复用,普通地时分复用又称为 同步时分复用
- 虽然统计时分复用地输出线路上地数据率小于输入酰氯数据率地综合,但从平均地角度来看,这二者是平衡地。
- 由于STDM帧中地时隙并不是固定地分配给某个用户地,因此在每个时隙中还必须有用户的地址信息。图中输出线路每个时隙前还有一个短时隙放入这样的地址信息
波分复用
光的频分复用。使用一根光纤来同时传输多个光载波信号
码分复用
- 每一个用户可以在相同的时间使用相同的频带进行通信
CDMA工作原理
- 每一个比特时间划分为m个短的间隔,称为 码片 (chip)
- 为每个站指派一个 唯一的 m bit 码片序列
- 发送比特1:发送自己的 m bit 码片序列
- 发送比特0:发送自己的 m bit 码片序列反码
码片序列实现了扩频
要发送信息的数据率 = b bit/s,实际发送的数据率 = mb bit/s,同时,所占用频带宽度也提高到原来的 m 倍。
CDMA的重要特点
- 每个站分配的码片序列:各不相同,且必须正交
- 任何一个码片向量和该码片向量自己的规格化内积都是1
- 一个码片向量和该码片反码的向量的规格化内积值是-1
例题
共有四个站进行码分多址CDMA通信,四个站的码片序列为:
A:(-1 -1 -1 +1 +1 -1 +1 +1)
B:(-1 -1 +1 -1 +1 +1 +1 -1)
C:(-1 +1 -1 +1 +1 +1 -1 -1)
D:(-1 +1 -1 -1 -1 -1 +1 -1)
现有
(-1 +1 -3 +1 -1 -3 +1 +1)
问哪个站发送了数据?发送的是1还是0?
解法一:A、B、C、D分别与接受信息求内积,得到的正数越大说明发送了越多的1,得到0说明没发,得到负数越小说明发送了越多的-1。这里求内积分别得到8,-8,0,8,说明ABD发了数据,A和D发的是1,B发的是0。
解法二:找到最大的数字:3,还存在1,所以不止一个。再次尝试枚举后,发现至少得三个站,然后再枚举尝试...这个比较简单枚举出来挺快的
数据链路层
基本概念
什么是帧 物理/逻辑链路
数据链路和帧
链路
- 物理链路
- 一条无源的点到点的物理线路段,中间没有任何其他的交换系欸但
- 一条链路只是一条通路的一个组成部分
数据链路
- 逻辑链路
- 把实现控制数据传输的协议的硬件和软件加到链路上
帧
- 数据链路层协议数据单元
三个基本问题
解决的三个基本问题 帧的长度的约束因素 如何实现透明传输(字符/字节)
封装成帧
- 在一段数据的前后分别添加首部和尾部,构成一个帧。
- 首部和尾部的一个重要作用就是进行帧定界

其中MTU指最大传送单元
用控制字符作为帧定界符
- 控制字符SOH(Start Of Header)放在一帧的最前面,表示帧的首部开始
- 控制字符EOT(End Of Transmission)放在一帧的末尾,表示帧的结束

透明传输
问题引入:如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT意义,数据链路层就会 错误 地找到帧的边界。类比一下蛋白质
用字节填充或字符填充可以解决早期的ASCII码传输的问题
字节填充

SOH和EOT作为开始和结束定界符,在内容中出现需要转义。我们使用ESC作为转义符,所以转义符本身也是一个特殊符号。
实际实现中,发送方内容中一旦出现SOH、EOT、ESC就在前面加上一个ESC,接收方一旦得到ESC就丢掉。
零比特填充
差错控制
差错控制并没有实现可靠传输。可靠传输指的是:数据链路层的发送端发送什么,在接收端就收到什么
传输差错可以分为:比特差错;帧丢失、帧重复、帧失序+
误码率BER:传输错误的比特占所传输比特总数的比率
CRC循环冗余检验

二进制除法就是异或。相同为0,不相同为1
这种为了进行检错而添加的冗余码常称为 帧检验序列 FCS(也就是说 (M concat 0..0) / P 的余数 )
-
CRC是一种检错方法,FCS是添加在数据后面的冗余码
-
FCS可以用CRC得出,但CRC并非用来获得FCS的唯一方法
-
CTC只能做到 无差错接受,也就是说只能检测出有错,而不知道哪里错。所以并不是可靠传输
区分无比特差错和无传输差错。链路层可以实现无比特差错,但是由传输层实现无传输差错(帧丢失、帧重复等等)
余数的多项式表达方法
CRC-16 = \(X^{16} +X^{15} + X^2 + 1\)
等价于一个十七位的二进制数:1 10000000 00000101,除完后得到16位FCS
点对点协议PPP
PPP协议基本概念,如何引入的CSMA/CD

PPP协议的帧格式(封装成帧)
其MTU是1500B
PPP的透明传输
| 特性 | 异步传输 (Asynchronous) | 同步传输 (Synchronous) |
|---|---|---|
| 传输单位 | 以字符(字节)为单位 | 以比特流为单位 |
| 同步方式 | 依靠起始位和停止位(Start/Stop bits) | 依靠统一的外部时钟信号 |
| 数据间隔 | 字节间的间隔时间不固定 | 比特流是连续的,间隔固定且紧凑 |
| 透明传输手段 | 字符填充 (Byte Stuffing) | 零比特填充 (Bit Stuffing) |
| 应用场景 | 传统的拨号调制解调器(Modem) | 专线、光纤链路(如 SONET/SDH) |
字节填充(异步传输)
7D填充再异或
这里有两个符号:帧定界符(0x7E)、转义符(0x7D)
-
如果出现0x7E
- 先填入转义字符,再将
0x7E与0x20做异或,最后填入异或结果0x5E
- 先填入转义字符,再将
-
如果出现0x7D
- 先填入转义字符,再将
0x7D与0x20做异或,最后填入异或结果0x5D
- 先填入转义字符,再将
-
如果出现控制字符(<0x20)
- 先填入转义字符,再将
0x03与0x20做异或,最后填入异或结果0x23
- 先填入转义字符,再将
0x20在ASCII码中对应的是空格。与之异或相当于将该字节的第 6 位(从右往左数)取反。
零比特填充(同步传输)
帧界定符是:01111110。所以遇到五个1插入一个0
CSMA/CD
CSMA/CD的所有细节(存在问题,cs、ma、cd含义,工作过程,流程图的每一个细节)
背景
然而PPP协议只支持两个主机之间的通信,无法满足局域网中的广播功能。
所以最早开始我们将多个主机连接到一条总线上,当且仅当帧首部的目的地址和适配器硬件地址一致时,才接受这个帧
但是这样存在问题:多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。对此以太网采取了两种重要措施
- 采用较为灵活的无连接的工作方式
- 不先建立连接,不变编号(不可靠)
- 同一时间只能允许一台计算机发送
- 发送的数据都使用曼彻斯特编码
- 导致所占带宽比原始基带信号增加了一倍
- 曼彻斯特编码使得信号特征非常明显,网卡通过检测线路上电压幅度的异常增加或相位冲突,可以极快地判定“撞车”了。
CSMA/CD 协议的要点
CS:载波监听。即“边发送边监听”。不管在想要发送数据之前,还是在发送数据之中,每个站都必须不停地检测信道
MA:多点接入。说明这是总线型网络。许多计算机以多点接入地方式连接在一根总线上。
CD:碰撞检测。适配器边发送数据,边检测信道上的信号电压的变化情况。电压摆动值超过一定的门限值时,就认为总线上至少有两个站在同时发送数据,表明产生了碰撞(或冲突)
总流程
先听后发、边听边发、冲突停发、随机重发
发送前监听
等待96bit时间,如果空闲就开始发送该帧;如果信道忙就持续检测直到信道空闲
对于10Mbit的以太网来说,就是9.6微秒
发送时监听
- 发送成功:争用期(2\(\tau\))内一直未检测到冲突,该帧一定发送成功
- 发送失败:争用期(2\(\tau\))内检测到冲突
- 立即停止发送
- 广播碰撞通知信息
- 这个时候发送人为干扰信号(32或48比特)来强化冲突
- 执行指数退避算法
截断二进制指数退避
- 确定基本退避时间 t:一般是争用期 2\(\tau\)
- 定义重传次数 k:\(k= Min(重传次数,10)\)
- 得到重传时间 r:\(r = random(0,1,2,...,(2^k-1)) * t\)
例题
书上3-25
几个关键点:
- 发数据前要等待96bit时间来确定信道空闲
- 从发完干扰信息后,开始计时退避时间。
争用期
对于 10Mbit/s 的以太网而言,争用期的长度为 51.2\(\mu s\),也就是说512bit时间,即64B 时间
所以太网在发送数据的时候,若前64字节没有发生冲突,则后续的数据就不会发生冲突
故以太网规定了 最短有效帧长为64字节。凡长度小于64字节的帧都是由于冲突而异常中止的无效帧,应当立即将其丢弃。
影响帧最短长度的因素
在上述 Ethernet Ⅱ中,我们计算的最小帧长度的公式是:
实际做题中,传播速率一般不会变化。我们一般有:MTU减少多少,距离如何变;或者是简单的已知推未知
对于MTU减少多少,距离如何变这种,我们可以以此计算:减少的往返时间 = 减少的发送时延
以太网的MAC层
适配器收到的发往本站的帧主要有以下三类:
- 单播帧:一对一。积收到的帧的MAC地址和本站的MAC地址相同
- 广播帧:一对全体。即发送给本局域网上所有站点的帧(全1地址)
- 多播帧:一对多。即发送给本局域网上一部分站点的帧
MAC帧的格式

集线器与交换机
集线器交换机的区别(带宽方面,交换机并行)
集线器
特点
- 用电子器件来模拟实际电缆线的工作。系统仍然像一个传统的以太网
- 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD协议,并共享逻辑上的总线
- 像一个多接口的转发器,工作在物理层
优点
- 使原来属于不同碰撞域的计算机能够跨碰撞域通信
- 扩大了以太网覆盖的地理范围
缺点
- 碰撞域增大了,总的吞吐量未提高
- 如果使用不同的以太网技术,那么就不能用集线器将它们互联起来
交换机
特点
- 工作在数据链路层
- 多端口的网桥。网桥根据MAC帧的目的地址对收到的帧进行转发和过滤。
- 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般工作在全双工方式
- 具有并行性
- 能同时连通多对接口,使多对主机能同时通信
- 相互通信的主机都独占传输媒体,无碰撞地传输数据
- 每一个端口和连接到端口的主机构成了一个碰撞域
- 接口有存储器
- 即插即用。其内部的帧交换表(地址表)通过自学习算法自动地主键建立起来
自学习算法
以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动的逐渐建立起来的。实际上,这种交换表就是一个内容可寻址存储器CAM。
这里如果A先向B发送1帧:
- 从端口1进入交换机
- 交换机查找表中有没有B的地址
- 没有,于是交换机吧源地址 A 和端口 1 写入交换表中
- 向除了端口1以外的端口广播这个帧,此时C、D会过滤这个帧
接着 B 通过端口3 向A发送1帧
- 从端口3进入交换机
- 交换机查找表
- 发现有地址A,所以从端口1转发出去
- 最后将(B,3)写入帧交换表
问题
比如这里A发B,由于广播导致兜圈子。我们采用生成树协议(STP),不改变网络的实际拓扑,在逻辑上切断某些链路,使得一台主机到所有其他主机的路径是无环路的树状结构
优点(重点)
- 每个用户独享带宽,增加了总容量。
碰撞域和冲突域
- 碰撞域(collision domain)又称为冲突域,指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。
- 碰撞域越大,发生碰撞的概率越高。
通过用多个集线器我们可以连城更大的以太网
网络层
网络提供的两种服务
让网络负责可靠交付——虚电路服务
面向连接地可靠交付
网络提供数据报服务——数据报服务
无连接地、尽最大努力交付地数据报服务,不提供服务质量地承诺
网络层两个层面(数据、控制)
在路由器之间传送的信息有以下两大类:数据、路由信息
数据层面
- 路由表根据本路由器生成的转发表,把收到的分组从查找到的对应接口转发出去
- 独立工作
- 采用硬件进行转发,快
控制层面
- 根据路由选择协议所用的路由算法计算路由,创建出本路由器的路由表
- 许多路由器协同动作
- 采用软件计算,慢
IPv4三个配套协议(基本概念)
地址解析协议 ARP(要知道工作过程)
作用
从IP地址解析处MAC地址
ARP高速缓存
- 存放IP地址到MAC地址的映射表
- 映射表动态更新
- 格式:<IP地址;MAC地址;生存时间;类型>
ARP工作
同一局域网内两主机
有缓存,直接取,写入MAC的目的地址
无缓存,本局域网上A广播发ARP请求(请求包含A的IP,MAC,B的IP),B更新ARP高速缓存并单播回应(B的MAC),然后A更新高速缓存
不同局域网
A通过上述过程得到路由器R的MAC并把IP数据报交给R,剩下工作交给R,R通过上述过程得到B的MAC地址,或者是下一个路由器R2的MAC地址。
网际控制报文协议 ICMP
作用
允许主机或路由器报告差错情况或提供有关异常情况的报告
种类
| ICMP 报文种类 | 类型的值 | ICMP报文的类型 |
|---|---|---|
| 差错报告报文 | 3 | 终点不可达 |
| 11 | 时间超过 | |
| 12 | 参数问题 | |
| 5 | 改变路由(Redirect) | |
| 询问报文 | 8 或 0 | 回送 (Echo) 请求或回答 |
| 13 或 14 | 时间戳 (Timestamp) 请求或回答 |
引用举例
PING、Traceroute
网际组管理协议 IGMP
使多播路由器知道多播组成员信息
IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组。IGMP 不知道 IP 多播组包含的成员数,也不知道这些成员都分布在哪些网络上。
跳的含义
4.2.2 IP地址(所有)
IP地址及其表示方法
IP地址在整个互联网范围内是唯一的,指明了连接到某个网络上的一个主机
采用二级结构:网络号,主机号
网络号
标志主机(或路由器)所连接到的网络,一个网络号在整个互联网范围内必须是唯一的。
主机号
标志网络中的主机(或路由器),一个主机号在它前面的网络号所指明的网络范围内必须是唯一的
分类的IP地址
特殊的IP地址
网络号全0:默认路由或非特定网络
无分类编制CIDR(重点)
无分类域间路由选择,能更加有效地分配IPv4的地址空间,但无法解决IP地址枯竭的问题。
CIDR的作用是将不同的子网汇聚成一个超网
网络前缀
略
地址块
把网络前缀都相同的所有连续的IP地址组成一个CIDR地址块。此时这个地址块的IP地址数目(主机数)为\(2^{(32-n)}-2\) 个
地址掩码
IP地址 AND 地址掩码 = 网络地址
三个特殊的CIDR地址块
IP地址的特点
-
每个IP地址由两部分组成
- IP地址是一种分等级的地址结构
- 方便了IP地址的分配和管理
- 实现路由聚合
- IP地址是一种分等级的地址结构
-
标志一台主机和一条链路的接口
- 一台主机在两个网络上时,也会有两个IP地址,这种叫多归属主机
- 一个路由器至少应当连接到两个网络,所以一个路由器至少有两个IP地址
-
转发器或交换机连接起来的若干个局域网仍为一个网络
- 一个网络是指具有相同网络前缀的主机的集合。转发器或交换机连接起来的若干个局域网都具有相同的网络号
- 具有不同网络号的局域网必须使用路由器进行互连
-
所有分配到网络前缀的网络都是平等的
注意事项
- 同一个局域网上的主机或路由器(端口)的IP地址中的网络号必须一样
- IP源地址和目的地址在转发过程中不变,但是MAC的源和目的地址一直在变化(除了首尾)
IP数据报的格式
IP首部如果不扩展就是 20字节
- 版本:4 或者 6
- 首部长度:4位,每一位表示 4B ,所以IP首部最大值是 60字节(并且是4的倍数)
- 区分服务:8位
- 总长度:16位,所以IP数据报最大长度 65535B(MTU)
- 标识:16位,identification,计数器,也可以看成序列号
- 标志:3位,主要前两位有意义:MF、DF
- 片偏移:13位,每一位表示 8B。(分片的数据长度必须为8的整数)(因为片偏移比总长度少了3位)
- 生存时间:8位,TTL,可通过的路由器的最大值,最大跳数
- 协议:8位,比如说ICMP什么的
- 首部校验和:16位,只检测首部不检测数据
- 源地址:32位
- 目的地址:32位
分片例子
并且分片的标识(identification)和没分片的一样
IP转发分组的过程
基于终点的转发
转发表
<目的网络地址,下一跳地址>
转发表中的两种特殊路由
- 主机路由
- 网络前缀是a.b.c.d/32
- 是对特定目的主机的IP地址专门指定的一个路由
- 默认路由
- 网络前缀是0.0.0.0/0
- 作为一个兜底机制
转发过程(必考)
- 主机H1检查目的地址是否连接在本网络上(和子网掩码按位与得到网络地址)
- 如果是,则直接交付
- 如果不是,交给路由器R1
- 路由器R1收到分组后查找转发表,从第一行开始
最长前缀匹配
最长前缀匹配原则
选择前缀最长的一个作为匹配的前缀。需要把前缀最长的排在转发表的第一行,以加快查表
前缀二叉线索树(原理、如何加速)
二叉线索树结构
- 从根节点自顶向下最多32层,每一层对应IP地址的一位
- 使用唯一前缀来构造二叉线索
- 广泛使用了各种压缩技术
加速原理
-
减少比较次数:最多只需要32次位操作
-
自动实现最长前缀匹配
-
路径压缩:共同部分(如都已101..开头,且中间5位没有其他变化),二叉线索数可以将这些节点压缩成一条路径,跳过了不必要的中间判断
例子
我们先检查IP地址左边的第一位,如果为0,则第一层的节点在根节点左下方。。。直到找到叶节点
如果找到一个叶节点
- 将目的IP地址和该叶节点的子网掩码进行按位与运算
- 如果结果和叶节点的网络前缀匹配,就按吓一跳的接口转发该分组。否则丢弃
如果在分支里发现不存在的字符
- 查到第三个字符0的时候,发现找不到匹配的,说明这个地址不在这个二叉线索中
- 检查是否存在默认路由。有就丢给默认。没有就丢了
三个路由协议(原理,能比较,给出场景选协议)
每种协议维持什么表、表内什么信息、和谁交换、如何交换、什么频率交换、如何更新
RIP和OSPF横向对比
三种协议使用的网络协议
泛洪法和普通广播有什么不同
RIP频率:状态变化或30min。OSPF频率
| 项目 | RIP | OSPF | BGP |
|---|---|---|---|
| 封装协议 | UDP | IP | TCP |
| 传播方式 | 逐跳 | 泛洪 | TCP 会话间传递 |
| 更新内容 | 全表,周期性 | 链路状态,事件驱动 | 路径属性,事件驱动 |
| 拓扑视图 | 无全局视图 | 拥有全图 | 无全图,仅路径属性 |
| 计算算法 | Bellman-Ford | Dijkstra | 策略驱动 |
| 收敛速度 | 慢 | 快 | 慢(但更稳定) |
| 带宽占用 | 高(周期发全表) | 中(仅更新变化) | 低(TCP 控制精细) |
| 扩展性 | 差 | 较好 | 极强 |
| 应用场景 | 小型网络 | 企业内部网络 | 运营商/跨 AS 互联 |
RIP
路由信息协议(RIP)是一种分布式的、基于距离向量的路由选择协议。使用的算法时距离向量算法。最大优点是简单,要求网络中的每个路由器都要维护从它自己到其他每一个目的网络的距离记录。其中距离也称为跳数,每经过一个路由器,条数就加一。
路由表结构
[目的网络 最短距离 下一跳地址]
刚开始路由表都是空的,然后得到直接连接的网络距离为1,之后相邻路由器交换并更新路由信息,最后收敛(自治系统中所有的节点都得到正确的路由选择信息的过程)。直接及交付的话,下一条地址用 -标识
特点
- 仅和相邻路由器交换信息
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
- 按固定时间间隔交换路由信息。网络拓扑发生变化时也进士交换变换后的路由信息
- 好消息传播得快,坏消息传播的慢(坏消息慢收敛)。也就是说,当网络出现故障时,要经过比较长得时间才能将此消息(坏消息)传送到所有得路由器
- 最大距离有限,适用于网络规模较小的情况
- 实现简单,开销较小
- 采用UDP协议
距离向量算法
- 把邻居 X 发来的路由表下一跳都改成 X ,并把所有的所有的距离都 加1
- 对发来的修改后的路由表, 重复以下操作
- 如果自己的路由表没有目的网络 N,就直接把这条记录加进路由表中
- 如果自己的路由表有目标网络 N
- 如果 N 是邻居 X,用邻居发来的新的项替换原来的项
- 如果 N 不是邻居X,并且N的距离小于路由表中的距离,则用收到项目更新原路由表中的项目
- 若三分钟还未收到相邻路由器的更新路由表,则把次相邻路由器记为不可达路由器(距离=16)
OSPF
是为了克服RIP的缺点而开发。使用了Dijkstra 提出的最短路径算法 SPF。采用分布式的链路状态协议
特点
- 采用(可靠的)洪泛法。向本AS中所有路由器发送消息
- 发送的信息是与本路由器相邻的所有路由器的链路状态
- 将自治系统划分为两种不同的区域,分层次划分区域使通信量大大减小,因而能用于规模很大的AS中(因为OFPS链路状态只涉及相邻路由器,与整个互联网的规模并无直接关系,所以OFPS在大规模网络比RIP好,并且没有坏消息传播慢的问题)
- 采用IP协议
洪泛 vs 广播。广播是一种通信模式。发送者将报文发给网络中的所有成员。洪泛是一种转发算法。接收到一个包后,向除了“来路”以外的所有接口转发。
链路状态数据库
链路状态
说明本路由器都和哪些路由器相邻,以及该链路的度量
内容和特点
- 包含全网的拓扑结构图
- 在全网范围内一致
- 每个路由器使用链路状态数据库中的数据构造自己的路由表
工作过程
-
确定邻站可达
- 相隔路由器每隔10s发送一次问候分组
- 40s没收到问候分组则该邻居不可达
-
同步链路状态数据库
- 同步:指不同路由器的链路状态数据库的内容是一样的
- 两个同步的路由器叫做完全邻接的路由器
-
更新链路状态
- 只要链路状态发生变化,路由器就使用链路状态更新分组,采用可靠的洪泛法向全网更新链路状态
- 规定每隔一段时间,如30分钟要刷新一次数据库中的链路状态
BGP
是不同AS的路由器之间交换路由信息的协议
特点
- 用于AS之间的路由选择
- 只能力求选出一条能够到达目的网络且比较好的路由,而并非要计算出一条最佳路由
- 采用了路径向量路由选择协议
- 使用TCP协议
路由信息
BGP路由 = [前缀, BGP属性] =
[前缀, AS-PATH, NEXT-HOP]
前缀:指明到哪一个子网(CIDR)
AS-PATH:自治系统路径,不允许出现相同的AS号避免兜圈子
NEXT-HOP:下一跳
方法
BGP发言者
指一个AS的边界路由器,和其他AS的边界路由器交换信息
eBGP
- AS之间,BGP发言者在半永久性TCP连接上建立BGP会话,这称为eBGP连接
- BGP发言者在不同AS之间交换路由信息
iBGP
- AS内部,任何相互通信的两个路由器之间有一个逻辑连接(也是用TCP)。AS内部所有的路由器是全连通的。这种连接称为iBGP连接
- AS内部的路由器之间交换BGP路由信息
规则
-
在 eBGP 连接的对等端得知的前缀信息,可以通报给一个 iBGP 连接的对等端。反过来也是可以的。
-
但从 iBGP 连接的对等端得知的前缀信息,则不能够通报给另一个 iBGP 连接的对等端。
NAT网络地址转换
在专用网上使用专用地址的主机如何与互联网上的主机通信(不需要加密)?

在内部主机与外部主机通信时,NAT路由器上发生了两次地址转换:
- 离开专用网时:替换源地址,将内部地址替换为全球地址
- 进入专用网时:替换目的地址,将全球地址替换为内部地址
运输层
基本概念
基本概念 两个协议的数据单元和比较 复用和分用 端口号
运输协议数据单元
两个对等运输实体在通信时的数据单位叫做运输协议数据单元(TPDU)
TCP传送的数据单位协议是 TCP报文段(segment)
UDP传送的数据单位协议是 UDP报文 或 用户数据报
端口
在运输层使用协议端口号 (protocol port number),或通常简称为端口 (port)。把端口设为通信的抽象终点。
端口数运输层与应用层的服务接口,运输层的复用和分用功能通过端口实现
复用
应用进程都可以通过运输层再传送到IP层。
分用
运输层从IP层收到发送给应用进程的数据后,必须分别交付给知名的各应用进程。
UDP
无连接不可靠

计算校验和的时候,临时把12字节的“伪首部”和UDP用户数据报连接在一起。
TCP协议
TCP和UDP区别
| 特性 | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
|---|---|---|
| 连接性 | 面向连接。传输前需“三次握手”建立通道。 | 无连接。想发就发,不需要提前打招呼。 |
| 可靠性 | 极高。有确认、重传、排序机制,保证不丢包。 | 不可靠。尽力而为,丢了就丢了,不保证顺序。 |
| 传输方式 | 字节流。没有明确边界,像自来水一样流动。 | 数据报。保留报文边界,一个包一个包地发。 |
| 速度与效率 | 较慢。因为头部大(20字节)且有复杂的控制机制。 | 极快。头部小(8字节),开销极低。 |
| 拥塞控制 | 有。网络拥堵时会主动减速。 | 无。网络再堵也会按原速发送。 |
| 通信对象 | 一对一(单播)。 | 支持一对一、一对多(组播)、多对多。 |
特点
- 面向连接
- 点对点
- 可靠交付
- 全双工
- 面向字节流
- 不保证双方发送和接收的数据块大小完全相同
- 保证双方发出的和收到的字节流完全一样
TCP的连接
TCP把连接作为最基本的抽象
TCP连接的端点是:套接字
同一个IP地址可以有多个不同的TCP连接
同一个端口号也可以出现再多个不同的TCP连接中
套接字
每一条TCP连接唯一地被通信两端地两个端点(套接字)所确定
TCP报文首部格式
-
源端口:(16位)2字节,实现运输车的分用
-
目的端口:(16位)2字节,实现运输层的复用
-
序号:(32位)4字节,TCP连接中传送的数据流中的每一个字节都有一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号
-
确认号:(32位)4字节,是期望收到的对方的下一个报文段的数据的第一个字节的序号。(ACK N = 到N-1为止的所有数据均已正确收到)
-
数据偏移:(4位),指出TCP报文段的数据起始处距离TCP报文段的起始处有多远,单位是4字节(32位),所以最长是60字节。同时最短是20字节
-
保留:(6位),全置为0
-
标识:(6位)
- 紧急URG:控制位,URG=1代表有紧急数据,要求快速传输
- 确认ACK:控制位,ACK=1时,确认号字段才有效
- 推送PSH:控制位,接收TCP收到PSH=1的报文段后,就尽快交付接收应用进程,不再等到整个缓存都填满再交付
- 复位RST:控制位,RST=1表明TCP连接出现严重差错,必须释放连接然后重新建立运输连接
- 同步SYN:控制位,SYN=1表示这是一个连接请求或连接接收报文
- SYN=1,ACK=0,表明这是一个连接请求报文段
- SYN=1,ACK=1,表明这是一个连接接受报文段
- 终止FIN:控制位,FIN=1表示此报文段的发送端的数据已经发送完毕,并要求释放运输连接
-
窗口:(16位)2字节,窗口值告诉对方,从本报文段首部的确认号算起,接收方目前允许对方发送的数据量(以字节为单位)
-
校验和:(16位)2字节,加上12字节伪首部计算
-
紧急指针:(16位)2字节,URG=1时,指出本报文段中的紧急数据的字节数,指出了紧急数据的末尾再报文段中的位置
MSS
MSS是TCP报文段中的数据字段的最大长度(报文段长度 - TCP首部长度),可以在首部中的选项字段出现。其和接受窗口大小没有关系

以字节为单位的滑动窗口
发送窗口
在没有收到确认的情况下,发送发可以连续把窗口内的数据全部发送出去,凡是已经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传时使用
发送缓存
接受窗口
只允许接收落入窗口内的数据
接受缓存
超时重传时间的选择


流量控制
流量控制:让发送方的发送速率不要太快,使接收方来得及接收
[!NOTE]
拥塞控制:拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况;常用的方法就是:( 1 )慢开始、拥塞避免( 2 )快重传、快恢复。
流量控制:流量控制是作用于接收者的,它是控制发送者的发送速度从而使接收者来得及接收,防止分组丢失的。
拥塞控制就是防止这种现象的发生,或者缓解拥堵问题。
利用滑动窗口实现流量控制(必考)
这张图必考,然后还会考到持续计时器这一个细节。
MSS=100。连接过程中接收方发送rwnd=400
- 发送方得知拥塞窗口大小是400,所以按计划应该发送1,101,201,301四个数据包
- 在发完201后,接受到ACK包,ACK201代表200以前(1,201)都收到了,同时修改拥塞窗口为300。此时发送方从201开始发300,分别是201,301,401
- 重传计时器超时后没有收到ACK 201,于是重新发送ACK 201
- 收到ACK 501,rwnd=100,意味着从1~500都受到了,此时从501传100字节即可,即发送501包
- 接收方得到全部内容,设置接收窗口为0
如果最后一条rwnd=0发送成功,但是后续有一条rwnd=400丢失了,就会发生死锁:发送方等到接收方发送新的指令,接收方等到发送方发来包
持续计时器
TCP连接的一方收到对方的零窗口通知,就启动该持续计时器
- 若持续计时器设置的时间到期,就发送一个零窗口探测报文段
- 若窗口依然是0,收到这个报文段的一方就重新设置持续计时器
- 若窗口不是零,则死锁的僵局就可以打破了
TCP的传输效率
略
拥塞控制
拥塞产生的原因
- 节点缓存容量太小
- 链路容量不足
- 处理机处理速率太慢
- 拥塞本身会进一步加剧拥塞
拥塞控制 vs 流量控制(重点)
拥塞控制
- 防止过多的数据注入到网络中,避免路由器或链路过载
- 是一个全局性的过程,涉及所有的主机、路由器以及与降低网络传输性能的有关的所有因素
流量控制
- 抑制发送端发送数据的速率,以使接收端来得及接收
- 点对点通信量的控制,是个端到端的问题
TCP的拥塞控制方法
- TCP采用滑动窗口的方法进行拥塞控制,属于闭环控制方法
闭环的意思是根据网络当前运行状态采取相应控制措施。而开环控制的意思是设计网络的事先实现考虑周全
- TCP发送方维持一个拥塞窗口 cwnd
真正的发送窗口大小
四种方法

慢开始
目的
探测网络的负载能力或拥塞程度
算法
- 设定开始的cwnd=1,SSTH = 16(自定义)
- 每收到一个ACK,cwnd +=SMSS(拥塞窗口增加最多一个发送方的最大报文段SMSS) . 每个RTT cwnd翻倍
- 到达SSTH,开始执行用三个避免算法

拥塞避免
目的
让用拥塞窗口缓慢增大,避免出现拥塞
算法
每经过一个RTT,cwnd = cwnd + 1
当网络出现拥塞时
就是重传定时器超时的时候
算法
- SSTH =MIN(cwnd/2, 2)
- cwnd = 1
- 开始慢开始
快重传
目的
让发送方尽早知道发生了个别报文段的丢失
算法
发送方连续收到三个重复的确认,立即进行重传,不会超时
快恢复
收到连续三个ACK后,不执行慢开始而是快恢复
算法
- SSTH = cwnd / 2、
- cwnd = SSTH(新的)
- 执行拥塞避免算法
示意图
算法流程图
结合图,每一步状态、发生了什么、如何处理、以及同一个方法的不同版本
三次握手和四次挥手
中间这里客户的ack应该一直是201,图有问题
握手过程
- 客户请求连接(SYN=1),消耗一个序号(seq=100)。
- 服务器收到你的连接(SYN=1),并且同意连接(ACK=1 ack=101),消耗一个序号(seq = 200)
- 客户收到服务器的收到(ACK=1, ack = 201),不消耗序号(seq = 101)(下方第一次客户发数据的序号也是101)
第三条如果携带了数据,就要消耗一个序号
挥手过程
- 用户主动关闭连接(FIN=1),消耗一个序号(seq = 613)
- 服务器收到你的终止(ACK=1,ack=614), 这个时候用户到服务器的连接终止。(主要看这里的seq=201)
- 如果服务端还有没发完的数据就接着发...
- 服务器终止连接(FIN=1),消耗一个序号(seq=w,如果没有2.1这一步那么w=201),等待最后客户的确认(ACK=1, ack=614)
- 客户收到服务器的终止(ACK=1), (seq=614,ack=202)
- 此时TCP连接没有完全释放掉,必须经过时间等待计时器设置的时间2MSL(最大报文生存时间)后,才释放TCP连接
等待2MSL时间的作用:保证最后一个ACK报文段能够到达客户;防止已失效的连接请求报文段出现在本来连接中
注意这里,带FIN的地方都会消耗一个序号
保活计时器:2h还没收到客户消息,服务器发送探测报文段,若发送了10个探测报文段还没有响应,就假定客户出了故障,因此终止连接。
应用层
DNS
四种域名服务器
四种分别是:根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器
根域名服务器
最高层次,最为重要。
所有根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址
根域名服务器总共只有 13 个不同 IP 地址的域名,但并非仅由13台机器所组成。
顶级域名服务器
顶级域名服务器(即 TLD 服务器)负责管理在该顶级域名服务器注册的所有二级域名。
权限域名服务器
负责一个区(zone)的域名服务器。
当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器。
本地域名服务器
当一个主机发出 DNS 查询请求时,该查询请求报文就发送给本地域名服务器。
每一个互联网服务提供者 ISP 或一个大学,都可以拥有一个本地域名服务器。
当所要查询的主机也属于同一个本地 ISP 时,该本地域名服务器立即就能将所查询的主机名转换为它的 IP 地址,而不需要再去询问其他的域名服务器。
本地域名服务器有时也称为默认域名服务器。
域名的解析过程
迭代查询
本地域名服务器向根域名服务器的查询通常采用迭代查询
请求方(本地 DNS 服务器)把解析任务 完全交给 对方。
在域名解析过程中,本地域名服务器 向根域名服务器发送的通常是迭代查询。
当 根域名服务器 收到查询请求后,不会代替本地域名服务器继续查询,而是返回结果中的两种情况之一:
- 若能解析出所需的 IP 地址,则直接返回;
- 若不能解析,则告知本地域名服务器应当联系的下一级顶级域名服务器。
随后,本地域名服务器根据指引,向对应的 顶级域名服务器 继续查询。顶级域名服务器的处理方式类似:
- 若能解析出所需的 IP 地址,则返回结果;
- 否则告知本地域名服务器应当访问的下一步权限域名服务器。
递归查询
主机向本地域名服务器的查询通常使用递归查询
如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名和服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文。
DHCP
UDP端口68
动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制,允许一台计算机加入网络和获取 IP 地址,而不用手工配置
工作方式
- 需要IP地址的主机向DHCP服务器广播发送发现报文(DHCPDISCOVER)
[!IMPORTANT]
发现报文中
源地址:0.0.0.0
目的地址:225.225.225.225
- DHCP服务器单播回答提供报文(DHCPOFFER),提供IP地址等配置信息
- DHCP被动打开端口67,等待用户发来的报文
- 用户从UDP端口68发送 DHCP发送报文
- 凡是收到DHCP发现报文的DHCP服务器都发出DHCP提供报文,因此可能收到多个DHCP提供报文
- DHCP客户从几个DHCP服务器中选择其中给的一个,并向所选择的DHCP服务器发送DHCP请求报文
- 被选择的DHCP服务器发送确认报文DHCPACK。从这时起,DHCP客户就可以使用这个IP地址了。这种状态叫做已绑定状态,因为DHCP客户端的IP地址和MAC地址已经完成绑定,并且可以开始使用得到的临时IP地址了。
- 租用期过了一半,DHCP客户发送请求报文要求更新租用期
- DHCP服务器同意就发送DHCPACK更新计时器,不然就发送DHCPNACK,此时客户立即停止使用原来的IP地址,并且重新申请IP地址。
- DHCP客户可以随时提前终止服务器所提供的租用期,这是只需向DHCP服务器发送释放报文DHCPRELEASE即可。
DHCP服务器不在本地网络
若当前网络没有DHCP服务器,那么当前网络一定有DHCP中继代理,它配置了DHCP服务器的IP地址信息
- DHCP中继代理收到主机广播发送的发现报文后,就以单播方式向DHCP服务器转发此报文,并等待其回答
- 收到DHCP服务器回答的提供报文后,DHCP中继代理再将其发回给主机
无线网
CSMA/CA
CSMA/CA 为什么要用CA 隐蔽站和暴露站现象是什么 基本概念 工作过程 图 每一步在干什么 争用过程
不能使用CSMA/CD原因
- CD要求:一个站点在发送本站数据的同时,还必须不间断地检测信道,但接收到地信号强度往往会远远小于发送信号地强度,在无线局域网地设备中要实现这种功能就花费过大
- 即使能够实现碰撞检测地功能,并且在发送数据时检测到信道是空闲的时候,在接收端仍然有可能发生碰撞
- 检测到信道空闲,其实信道可能并不空闲;即使能够在硬件上实现无线局域网的碰撞检测功能(无线局域网的适配器无法实现碰撞检测),也无法检测出隐蔽站问题带来的碰撞
隐蔽站问题
由于无线信号覆盖范围和穿透能力有限,A和C检测不到彼此的无线信号,都以为B是空闲的,因而都向B发送数据,结果发生碰撞
暴露站问题
无线网络中,一个本可以发送数据的节点(暴露站)因为检测到信道上有一个正在通信的节点(B)发出的信号,从而放弃发送,即使这个通信并不会干扰到其目标节点(C)
改进为CA
无线局域网不能使用CSMA/CD但是可以使用CSMA协议,故
- 增加碰撞避免CA:尽量减少碰撞发生的概率
- 使用CSMA/CA的同时,使用停止等待协议:链路层确认,解决碰撞后重传
算法过程

DIFS
在完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧,这段时间的统称是 帧间间隔(IFS)。
-
DIFS是 分布协调功能帧间间隔。
-
SIFS是 短帧间间隔
算法

-
A监听信道,若信道在时间间隔DIFS一直都是空闲的,A就可以在t0时间发送数据帧DATA
-
B收到数据帧,必须进行CRC校验,若校验无差错,再从接收状态转为发送状态,经过时间间隔SIFS后,向A发送确认帧
在(DATA+SIFS+ACK)时间段中,必须不允许任何其他站发送数据
虚拟载波监听
由软件实现,源站A要把占用信道的时间(DATA+SIFS+ACK)写入数据帧DATA的首部吗,所有处在站点A的广播范围内的各站都能够收到这信息,并创建自己的网络分配向量(NAV):信道忙的持续时间,其他站点不能在这段时间发送数据
区分与载波监听,其在物理层由硬件实现,每个站检测收到的信号强度超过一定的门限数值代表有其他移动站在信道上发送数据。
争用信道

A和B通信过程中,C和D也要发送数据。但C和D检测到信道忙,因此必须推迟接入(经过DIFS发现信道空),以免发生碰撞
在等待信道进入空闲状态后,都经过规定的时间间隔 DIFS 再同时发送数据必然产生碰撞。因此,CSMA/CA 规定:所有推迟接入的站都必须在争用期执行统一的退避算法开始公平地争用信道。
争用期
也叫做争用窗口 CW。征用窗口由许多时隙组成。在下一个时隙开始时,每个站点都能检测出在前一个时隙开始时信道是否在忙
CSMA/CA规定,如果未收到确认帧,则必须重传,但每重传一次,争用窗口的数值就近似加倍
退避算法
- 站点进入争用期时,应在 0~CW 个时隙中随机生成一个退避时隙数,并设置退避计时器
- 当几个站同时争用信道时,计时器最先将为零的站首先接入媒体,发送数据帧。此时信道转为忙,而其他正在退避的站则冻结其计时器,保留计时器的数值不变,推迟到下次争用信道是接着倒计时
移动IP
9.4 移动IP 基本过程(9.4.1)
定义
移动IP:允许计算机移动到外地时,仍然保留其原来的IP地址
解决的问题:使用户的移动性对上层的网络应用透明

移动站 A 必须有一个原始地址,即永久地址,或归属地址 (home address)。移动站原始连接到的网络叫做归属网络 (home network)。永久地址和归属网络的关联是不变的。归属代理 (home agent) 让地址的改变对互联网的其余部分透明,它通常就是连接在归属网络上的路由器,代理功能在应用层完成。归属代理既是路由器,也是主机。
当移动站 A 移动到另一个地点,接入的网络称为被访网络 (visited network)或外地网络 (foreign network)。被访网络中使用的代理叫做外地代理 (foreign agent),它通常就是连接在被访网络上的路由器。为移动站 A 在被访网络中创建的临时地址叫做转交地址 (care-of address)。
转交地址是供移动站、归属代理以及外地代理使用的,各种应用程序都不使用这种转交地址。
转交地址在互联网中并不唯一
通信者B和移动站A通信的四个重要步骤
- B 发送给 A 的数据报的目的地址是:131.8.6.7。此数据报被 A 的归属代理截获(只有当 A 离开归属网络时,归属代理才能截获发给 A 的数据)
- 归属代理把 B 发来的数据再进行封装,新的数据包的目的地址是: 15.5.6.7, 就是 A 现在的转交地址, 使用 隧道技术 或 IP-in-IP 将信封装的数据报发送到被访网络的外地代理
- 被访网络中的外地代理把收到的封装的数据报进行拆封,取出 B 发送的原始数据报,然后转发给移动站 A。这个数据报的目的地址是:131.8.6.7,就是 A 的永久地址。A 收到 B 发送的原始数据报后,也得到了 B 的IP地址。
- 如果现在 A 要向 B 发送数据报,A 仍然使用自己的永久地址作为数据报的源地址,用 B 的 IP 地址作为数据报的目的地址。这个数据报显然没有必要在通过 A 的归属代理进行转发了。

浙公网安备 33010602011771号