0%

【知识总结】 第四章-网络层

网络层的功能

异构网络互联

  • 中间设备:又叫中间系统、中继系统
    • 物理层中间设备:中继器、集线器
    • 数据链路层中间设备:网桥、交换机
    • 网络层中间设备:路由器
    • 网络层以上中间设备:网关
      • 路由器的一种,详见NAT
  • 异构网络:物理结构不同的网络
  • 异构网络互联:把多个异构网络用网络层的中间设备连接,构成更大的网络系统
    • 该更大的网络叫虚拟互联网络(或逻辑互联网络、IP网络)

路由和转发

网络层从上到下分为控制层、数据层,对应路由器的两个功能(当然主机也有这个功能)

  • 路由选择(控制层的功能)
    • 根据路由选择协议,构造路由表(目的地址、子网掩码、下一跳地址)
    • 和相邻路由器交换信息,更新维护路由表
  • 分组转发(数据层的功能)
    • 输入端口
      • 从比特流中提取出帧,进一步提取出数据报
    • 交换结构
      • 根据路由表和ARP表算出转发表(在讨论路由选择时不区分转发表)
      • 根据转发表把分组从适合的端口转发(涉及队列管理、任务调度)
      • 交换有三种硬件实现,即通过存储器、总线、互联网络
    • 输出端口
      • 把数据报封装为帧,进一步封装为比特流

SDN基本概念

  • 原理
    • 传统网络:路由器分布式的实现控制层、数据层
    • 软件定义网络(SDN):远程控制器集中式实现控制层,路由器分布式实现数据层
      • 远程控制器一般由多个服务器组成,掌握整个网络状态,算出最佳路由后把转发表发给路由器
  • 接口
    • 北向接口:SDN控制器提供给应用开发者的编程接口
    • 南向接口:SDN控制器提供给路由器的双向会话接口
    • 东西向接口:SDN控制器集群内部控制器间的通信接口
  • 优点
    • 控制层和数据层分离,全局优化路由,高速转发
    • 网络灵活可编程
    • 降低成本
  • 缺点
    • 控制器崩溃则网络崩溃,不安全
    • 网络规模扩大,控制器成为性能瓶颈

拥塞控制

  • 拥塞
    • 概念:通信子网中,分组过量导致网络性能下降的现象
    • 坏处:导致分组丢失,甚至网络死锁
  • 拥塞控制
    • 判断网络是否拥塞
      • 一般用网络吞吐量(相比正常吞吐量)的下降程度表示拥塞程度
    • 控制拥塞
      • 开环控制:网络设计时考虑导致拥塞的因素,一种静态预防方法
      • 闭环控制:网络运行时检测系统拥塞的情况,一种动态调整方法
  • 拥塞控制和流量控制的对比
    • 不同点
      • 流量控制是两个点之间通信量的控制,希望发送速率不大于接收速率
      • 拥塞控制涉及整个通信子网所有的主机
    • 相同点
      • 都控制发送方的发送速率(发送窗口)

路由算法

静态路由和动态路由

  • 静态路由算法(非自适应路由算法)
    • 由网络管理员手动设置路由信息
    • 简便,开销小,适合小型网络
  • 动态路由算法(自适应路由算法)
    • 路由器之间交换信息,按算法优化得到路由表项
    • 性能好,但需要复杂的算法,增加网络的负担
    • 常见动态路由算法
      • 距离-向量路由
      • 链路状态路由

距离-向量路由算法

本节只介绍大概的算法思想,具体的算法后面再介绍

  • 数据结构
    • 每个结点维护一个向量,表示当前结点到各目的地的距离(比如跳数)
  • 算法思想
    • 若接收到相邻结点发来的向量,则对自身向量进行更新
    • 若本结点的向量更新,则将其发到所有的相邻结点
  • 特点
    • 结点给相邻结点发送从自身到所有其他结点的最低费用估计
    • 有慢收敛现象(在RIP协议再解释),可能导致路由回路问题(分组在两个结点间来回传递)
  • 典型算法
    • RIP算法

链路状态路由算法

本节只介绍大概的算法思想,具体的算法后面再介绍

  • 数据结构
    • 每个结点维护直接链路状态全局网络拓扑
      • 直接链路状态即到各相邻路由器的距离、费用、时延等代价度量
      • 全局网络拓扑即整个网络的非负带权图
  • 算法思想
    • 若接收其他任何结点更新后的直接链路状态,则对本结点的全局网络拓扑进行更新,并用Dijkstra算法重新计算路由
    • 若自身直接链路状态变化时,则将其发送到所有其他的路由器
      • 洪泛法
  • 特点
    • 结点给其他所有结点发送从自身到相邻结点的链路状态
    • 每个结点有全局的网络拓扑信息,能直接算出路由,快速收敛汇聚
  • 典型算法
    • OSPF算法

层次路由

本节只介绍大概的算法思想,具体的算法后面再介绍

  • 层次路由
    • 把整个互联网划分为多个自治系统AS(每个AS可包括若干局域网)
    • AS内和AS间采用各自的路由协议
  • 内部网关协议IGP(域内路由选择协议)
    • 即AS内部的路由选择协议
    • 比如RIP、OSPF
  • 外部网关协议EGP(域间路由选择协议)
    • 即AS之间的路由选择协议
    • 比如BGP

IPv4

分组格式

  • 首部
    • 版本(半字节)
      • IP的版本
    • 首部长度(半字节)
      • 单位是
      • 最大值为
      • 最常见为(即首部不采用可选项)
    • 服务类型(1字节)
      • 比如区分一些要求低时延、高吞吐量的数据报
    • 总长度(2字节)
      • 指首部和数据部分总长度
      • 单位是
    • 标识(2字节)
      • 每个数据报(分组)一个标识
      • 同一个数据报片的各分片标识相同
    • 标志(3位)
      • 低位MF表示后面是否还有分片
      • 中位DF表示是否禁止对本分组继续分片
      • 高位没用
    • 片偏移(13位)
      • 表示分片在原数据报的相对位置
      • 单位是8字节(因为分片大小规定是8字节的整数倍)
    • 生存时间TTL(1字节)
      • 表示数据报在网络中可通过的最大路由器数
      • 路由器收到TTL为0的数据报则丢弃,否则转发并把TTL减1
    • 协议(1字节)
      • 指出传输层是什么协议
      • 6表示TCP,17表示UDP
    • 首部校验和(2字节)
      • 网络层只对首部进行差错检测
    • 源地址(4字节)
      • 最初发送方IP地址
    • 目的地址(4字节)
      • 最终接收方IP地址
    • 可变长字段
      • 0-40字节
  • 数据部分
    • 首部加数据部分长度不超过帧的最大传送单元MTU

分组分片

  • 分片
    • 中间路由器转发分组时,由于MTU的限制,会把分组分片
    • 各分片的标识同原始分组
    • 设置分片的标志和片偏移
  • 重组
    • 目的地重组分片
    • 把同标识的分片取出,根据片偏移排序重组为原分组

转发流程

  • 提取目的地址D
  • 如果某个直连路由器的网络和D匹配(需要用到该网络的子网掩码),则数据报直接交付
    • 否则是间接交付,继续往下执行
  • 如果路由表有D的路由,则转发到下一跳
    • 否则继续执行
  • 如果路由表有网络和D匹配(需要用到该网络的子网掩码),则转发到下一跳
    • 否则继续执行
  • 如果路由表有默认路由,则转发到该默认路由器
    • 否则报告转发出错

注:路由器转发帧,不改变网络层地址,通过ARP和下一跳地址来修改MAC源地址、目的地址。此外,网桥转发帧时不改变帧的源MAC地址。

IPv4地址

  • 定义:全球唯一的32位网络层标识符
    • 简称IP地址
  • 组成
    • 网络号:整个因特网范围唯一
    • 主机号:网络号对应的网络的范围内唯一
  • 传统网络划分
    • A类:0(网络号固定部分)、7位网络号可变部分、24位主机号
    • B类:10(网络号固定部分)、14位网络号可变部分、16位主机号
    • C类:110(网络号固定部分)、21位网络号可变部分、8位主机号
    • D类(多播地址):1110(网络号固定部分)、多播地址可变部分
    • E类:1111(网络号固定部分)、保留将来使用
  • IP地址划分
    • 网络号全0,主机号全0
      • 本网络的本主机
      • DHCP协议用到
      • 注:网络号全0指的是网络号的可变部分全0,下同
    • 网络号全0,主机号非全0非全1
      • 本网络的某主机
    • 网络号全0,主机号全1
      • 本网络的广播
    • 网络号非全0,主机号全0
      • 网络号对应的网络本身
    • 网络号非全0,主机号非全0非全1
      • 网络号对应网络的某主机
    • 网络号非全0,主机号全1(等价于本网络的广播,因为路由器隔离广播域)
      • 网络号非全1:网络号对应的网络的广播地址(全称直接广播地址)
      • 网络号全1:整个TCP/IP网络的广播(全称受限广播地址)
    • 127.x.x.x,且主机号x.x.x非全0非全1
      • 环回自检地址,表示主机本身
      • 主机检查自身端口状况时使用,带该地址的数据报不会出现在网络层
  • 特点
    • 网络号由IP地址管理机构分配,主机号由得到网络的单位自行分配
    • 路由器每个端口一个IP地址,一般至少两个IP地址
    • 交换机连接的各局域网,其主机IP地址网络号相同,但主机号不同

网络地址转换NAT

  • 设计目的
    • 节省公用IP地址的消耗
      • 一个公用IP让多个主机访问因特网
    • 隐藏内部网络结构,更安全
      • 多个私有IP在外界看来是一个公用IP
  • 工作原理
    • 把IP地址划分为公有IP和私有IP
    • 公有IP给外界的因特网(广域网WAN)使用
    • 私有IP给内部的专用网(局域网LAN)使用
      • 又叫可重用地址,因为不同局域网的私有IP可以重复
      • 网段包括10.x.x.x、127.16-31.x.x、192.168.x.x
    • 通过网关NAT路由器实现两种地址的转换
      • 转换表项是(私有IP,端口号)和(公有IP,端口号)之间的映射
      • 转换表项由管理员手动添加
  • 转换步骤
    • 从LAN到WAN
      • 转换源IP和源端口
    • 从WAN到LAN
      • 转换目的IP和目的端口
  • 网关NAT路由器
    • 工作在传输层,因为使用到传输层的端口号

子网划分

  • 定长子网划分:把两级IP地址(网络号、主机号)变成三级IP地址(网络号、子网号、主机号)
    • 把主机号分成子网号和主机号
    • 划分后的主机号全0表示子网,全1表示子网的广播
    • 划分后的各子网长度相等,有着相同的子网掩码
  • 变长子网划分
    • 给出各子网的32位IP地址和子网掩码
    • 划分后的子网大小不完全相同,有着不同的子网掩码

子网掩码

  • 32位二进制串,高位若干1,低位若干0
    • 1为网络号和子网号的位数
    • 0为主机号的位数
  • IP地址和子网掩码进行位运算“与”,得到子网的地址
  • 默认子网掩码
    • 255.0.0.0
    • 255.255.0.0
    • 255.255.255.0

CIDR

  • 定义:无分类域间路由选择CIDR是基于子网掩码的网络划分方法
    • 两级IP地址(网络前缀、主机号)
    • 网络前缀的长度不固定
      • 消除了传统A、B、C网络地址(网络号定长)的概念
    • 主机号可以进一步划分成一些子网
      • 子网的网络前缀变长
  • 斜线记法(CIDR记法)
    • IP地址/网络前缀的比特数
  • CIDR地址块:网络前缀相同的IP地址的集合
  • 路由聚合
    • 按需要缩短网络前缀,使得多个IP地址的网络前缀相同
    • 把这些IP地址用一个CIDR块表示,节约路由表的表项
  • 最长前缀匹配(最佳匹配)
    • 路由表中,匹配网络前缀最长的表项

有关协议

ARP协议

  • 地址解析协议ARP
    • 网络层协议
    • 每个主机维护一个ARP高速缓存(ARP表),完成本局域网各IP地址到MAC地址的映射
  • 工作原理
    • ARP表中有下一跳的IP地址,则映射为MAC地址,封装为帧发送
    • ARP表中没有下一跳的IP地址,则广播ARP请求分组(MAC地址为全1)
      • 下一跳设备收到ARP请求后,发出ARP响应分组,包含其IP地址到MAC地址的映射
      • 原设备收到后更新ARP表,然后根据映射封装并发送帧即可

DHCP协议

  • 动态主机配置协议DHCP
    • 基于UDP的应用层协议
      • 工作方式为客户-服务器方式(应用层部分会介绍)
    • 给主机动态的分配IP地址
      • 分配是临时的,分配时长叫做租用期
  • 步骤原理
    • 第一步:客户机广播DHCP发现报文
      • 源IP全0,目的IP全1
      • 广播域中可以有多个DHCP服务器
    • 第二步:服务器收到后
      • 若数据库中有该计算机配置信息,则发送此配置信息
      • 否则广播DHCP提供报文,包括提供给客户机的IP地址(服务器从地址池中取出)和配置信息
    • 第三步:客户机收到后,如果接受则广播DHCP请求报文
      • 一般只接受第一个收到的提供报文
      • 请求报文中包括请求的IP地址
    • 第四步:服务器收到后,广播DHCP确认报文
      • 包括提供的IP地址和配置信息
  • 使用广播的原因
    • 第一步:服务器地址未知
    • 第二步:客户机还没有IP地址
    • 第三步:告知所有DHCP服务器,客户机将选择某服务器
    • 第四步:客户机还没有IP地址
  • 重新登陆
    • 客户机重新登陆时从第三步开始,发送请求报文
    • 服务器接收到后
      • 若同意客户继续使用IP地址,则发送确认报文
      • 否则发送否定报文NACK,客户机要从第一步开始
  • 更新租约
    • 在租用期过半时,客户从第三步开始,发送请求报文,更新租约

ICMP协议

  • 网际控制报文协议ICMP
    • 报告差错和异常情况
    • ICMP报文作为IP的数据部分,加上IP头部组成IP数据报
  • ICMP差错报告报文
    • 终点不可达
      • 包括网络无路由、主机不可达、端口不可达等多种子情况
    • 源点抑制
      • 用于拥塞控制
    • 时间超过
      • 路由器发送情况:收到TTL为0的分组,丢弃
      • 终点主机发送情况:等待数据报分片超时,丢弃已接收的分片
    • 参数问题
      • 数据报的头部有错误字段
    • 改变路由(重定向)
      • 路由器告知主机更好的路由
  • 不发送的ICMP差错报告情况
    • ICMP差错报告报文所在的数据报
    • 第一个分片后面所有分片的数据报
    • 有组播地址的数据报
    • 有特殊地址(如127.0.0.0和0.0.0.0)的数据报
  • ICMP询问报文
    • 回送请求和回答报文
      • 测试目的主机的可达状态
    • 时间戳请求和回答报文
    • 地址掩码请求和回答报文
    • 路由器询问和通告报文
  • 应用
    • 路由追踪命令(Traceroute/Tracert)
      • 工作层:网络层
      • 原理:依次发送TTL为1、2、3的报文,通过接收的ICMP时间超过报文,推测路由信息
    • 分组网间探测命令(PING)
      • 工作层:应用层,不使用传输层
      • 原理:通过ICMP回送请求和回答报文测试连通性

IPv6

主要特点

  • 16字节的IP地址
  • 拓展的地址层次,查路由更快
    • 第一级:全球级
    • 第二级:单个场点级
    • 第三级:单个网络接口级
  • 灵活且简化的首部格式
    • 从12个固定项变成8个固定项
    • 一些固定项变成选项
  • 协议允许继续扩充
  • 即插即用(自动配置IP)
  • 支持资源预分配
  • 只能在源点才能分片(不能路由分片)
  • 首部长度是8字节整数倍
    • 固定长度40字节
  • 身份验证和保密功能

IPv6地址

  • 目的地址类型
    • 单播:目的站是一个计算机
    • 多播:目的站是一组计算机的每个
    • 任播:目的站是一组计算机的某一个(通常是最近的一个)
  • 地址表示
    • 16字节分成8组,每组2字节
      • 写成16进制
    • 组间用分号隔开,若有连续的0,有一次机会写成双分号
      • 举例:4BF5::BA5F:39A:A:2176省去了0:0:0

从IPv4到IPv6

  • IPv6和IPv4不兼容
    • IPv6系统不能和IPv4系统直接通信
  • 采用逐步演进法过渡
    • IPv6系统能接收、路由和转发IPv4的分组
  • 过渡策略
    • 双协议栈
      • 一台设备同时安装IPv4和IPv6的协议栈
    • 隧道技术
      • 把IPv6作为IPv4的数据部分进行封装

路由协议

自治系统

  • 即AS,内部的所有路由器在AS内都是连通的
  • AS内采用域内路由,AS间采用域间路由

域内路由和域间路由

  • 内部网关协议IGP
    • 如RIP和OSPF
  • 外部网关协议EGP
    • 如BGP-4

RIP路由协议

  • 路由信息协议RIP
    • 应用层协议
      • RIP封装在UDP中,基于UDP
    • 基于距离-向量路由算法
      • 距离定义为跳数
  • 规定
    • 一条路径最多15个网络,距离为16表示不可达
      • 说明只适合小型网
    • 相邻的路由器默认隔30秒交换整个路由表的信息
      • 网络拓扑改变时也交换信息
      • 3分钟没收到相邻路由器的信息,则将其标记为不可达(距离设为16)
    • 主机只接收路由信息不发送路由信息
    • 路由表表项:网络、最短距离、下一跳地址
      • 不包括子网掩码,因此域内网络的子网掩码要求相同
      • 最新的RIP2支持变长子网掩码和CIDR
  • 算法:收到邻居的路由表后,对于每个表项
    • 最短距离加1,下一跳改成邻居
    • 若网络在本地路由表找不到
      • 则把表项插入本地路由表
    • 若网络在本地路由表找到
      • 当下一跳相同,则用新表项代替原表项
      • 当下一跳不同,则新旧表项中,选择距离较小的
  • 特点
    • 实现简单,开销小
    • 只适合小型网
      • 规模太大时,路由表太大
    • 有路由回路问题
      • 相邻的两个路由器互相认为到达某网络的下一跳为对方
    • 慢收敛
      • 路由出故障需要较长时间才能把正确路由传送到全局

OSPF路由协议

  • 开放最短路径优先协议OSPF
    • 网络层协议
      • OSPF封装在IP中,基于IP
    • 基于链路状态路由算法
  • 规定
    • 链路状态变化时,向所有路由器发送到相邻路由器的链路状态信息
      • 泛洪法
      • 链路状态信息即各边和各边的代价(包含32位序号,序号大,状态新)
      • 只发送相邻的链路状态,网络可以规模很大
    • 不同的IP服务类型TOS,计算不同的路由
    • 到同一个网络的多个同代价路径,可以负载平衡
    • 通过鉴别功能,保证链路状态信息发送给可信的路由器
    • 支持变长子网掩码和CIDR
    • 每个路由器有一个链路状态数据库(AS的网络拓扑图)
      • 同步:使得各路由器的链路状态数据库保持一致
  • 算法原理
    • 数据库建立:当新路由器开始工作
      • 每个路由器发送数据库描述分组(全部链路的摘要信息)给邻居
      • 邻居回应链路状态请求分组,请求所缺链路的详细信息
    • 数据库维护
      • 默认每隔10秒,和邻居交换问候分组,确认可达性
      • 默认每隔30分钟,刷新一次数据库
    • 数据库同步(泛洪法)
      • 链路状态改变时,向邻居(认为在下游)发送链路状态更新分组
      • 下游邻居收到后,继续向下游转发、更新数据库、向上游回应链路状态确认分组(仅一次)
    • 路由表更新
      • 根据数据库对应的全网拓扑图,用Dijkstra算法算出最优路径,更新路由表
  • 区域
    • 定义:AS进一步的划分,使得区域成为泛洪法的范围
    • 目的:链路状态数据库是区域内的网络拓扑图,减少通信量
    • 分层:区域中有一个是主干区域
      • 通过区域边界路由器,连接AS内的其他(下层)区域
      • 通过AS边界路由器,连接其他AS

BGP路由协议

  • 边界网关协议BGP
    • 应用层协议
      • BGP封装在TCP中,基于TCP
    • 基于路径-向量路由算法
  • 规定
    • AS内的路由器分为边界网关内部路由器
      • 边界网关可以有多个,但不会太多
      • AS之间通过各自的边界网关直连
    • BGP会话(建立TCP连接后才能进行BGP会话)
      • eBGP会话:边界网关和其他AS的边界网关交换信息
      • iBGP会话:边界网关和自身AS的内部路由器交换信息
    • BGP路由表:只记录跨AS的目的网络的路由信息
    • 边界网关的BGP路由表项格式
      • 目标的网络前缀(说明BGP支持CIDR)
      • 经过的AS序列(不允许重复)
      • 下一跳
    • 内部路由器的BGP路由表项格式
      • 目标的网络前缀
      • 下一跳
    • 路由信息交换的时机
      • BGP启动时,和邻居交换路由表所有信息
      • 路由发生变化时,只交换路由表的变化部分信息
  • 算法原理
    • 边界网关给其他AS的边界网关发送路由表信息前
      • 把自身插入AS序列
      • 把下一跳改成自身
    • 边界网关收到其他AS的边界网关发送路由表信息后
      • 拒绝不符合规定的路由交换信息
      • 更新本地BGP路由表
      • 转发符合规定的路由交换信息(不作修改的发给AS内的路由器)
    • 内部路由器收到边界网关的交换信息后(不考虑路由选择)
      • 根据内部网关协议,计算到边界网关的下一跳
      • 更新本地BGP路由表
    • 路由选择(考虑同一个目的地有多个路径时,内部路由器采取的选择策略)
      • 本地偏好:管理员给AS内每个网关一个偏好值,选择偏好值最高的网关所在路径
      • 最少AS跳数:选择AS序列最短的路径
      • 热土豆法:选择最近的网关所在路径(最近的评判标准由内部网关协议给定)
  • BGP-4报文类型
    • 打开报文:边界网关发送给邻居(对等端),请求建立BGP会话
    • 更新报文:发送路由信息或撤销路由信息
    • 保活报文:回应打开报文,并周期性的证实会话的连通性
    • 通知报文:发送检测到的差错

IP组播

基本概念

  • 组播(多播):源主机发送单个分组到达一组目标主机(多播组)
    • 单个分组
      • 在路由器分叉时,复制为多个分组
      • 到达局域网时,则不用复制,由硬件实现组播
    • 同一组主机使用一个组播地址
      • IPv4的D类地址就是组播地址
      • IPv6也有地址空间保留给组播地址
    • 一个主机可以加入多个多播组
    • 组播只给UDP提供服务
  • 组(多)播路由器
    • 支持组播路由选择协议的路由器(后面会介绍此协议)
  • 组(多)播数据报
    • 目的地址为组播地址(后面会介绍此地址)
  • 需要的协议
    • 因特网组管理协议IGMP
      • 本局域网的多播路由器知道本局域网是否有主机参与或退出某个多播组
    • 组播路由选择协议
      • 让不同局域网的多播路由器协作,使得多播数据报能送到组中所有的主机

IP组播地址

IPv4的组播地址共32位

  • 前4位是1110,总地址范围是224.0.0.0-239.255.255.255
  • 第5-9位不使用
  • 只使用低23位
    • 唯一对应一个MAC组播地址
      • 在最终局域网内硬件多播时使用
      • 范围是01-00-5E-00-00-00到01-00-5E-7F-FF-FF
      • 和IP组播地址有相同的低23位

IGMP

  • 网络层协议
    • 封装在IP数据报中,首部协议字段为2
  • 工作原理
    • 第一阶段
      • 某主机向本地多播路由器,发送带有IGMP的多播IP数据报
      • 本地多播路由器收到后,将该主机加入对应多播组
      • 调用组播路由选择协议,把消息发给其他多播路由器
    • 第二阶段
      • 本地多播路由器周期性探询本地主机,判断其是否还是组中成员
      • 如果本地主机是组中成员,收到探询后需要回复响应

组播路由选择协议

  • 本质作用
    • 给定源点和目标多播组
    • 找到以该源点为根,以组播路由器为结点的组播转发树
      • 叶子对应的组播路由器和多播组的某成员在一个局域网
      • 树的特性保证不会出现路由环路
  • 路由算法
    • 基于距离向量算法
    • 基于链路状态算法
    • 协议无关组播PIM

移动IP

基本概念

  • 定义
    • 保证移动结点在跨网段漫游时保持IP地址和网络权限不变
  • 有关概念
    • 移动结点:指跨网段漫游的主机
    • 永久地址(归属地址):移动结点原始的IP地址
    • 归属网络:移动结点原始连接的网络
    • 本地代理(归属代理):归属网络中实现代理功能的路由器或主机
      • 代理作为一个应用层的功能,结合后面的通信过程理解
    • 外地网络(被访网络):移动结点离开归属网络后,处于外地网络
    • 外部代理:外部网络中实现代理功能的路由器或主机
    • 转交地址:移动结点在外部网络的临时IP地址

通信过程

  • 移动结点在本地网络,按传统TCP/IP方式通信
  • 移动结点漫游到第一个外地网络(锚外地网络)
    • 在该外地网络发现外地代理(锚外地代理)
    • 外地代理记录移动结点的MAC地址,并为其注册转交地址
      • 该地址仅供外地代理、归属代理、移动结点使用,在互联网中不需要唯一
    • 外地代理把转交地址通知移动结点的归属代理
    • 归属代理登记移动结点的转交地址信息
      • 同时构建一条通往外地代理的隧道
  • 某主机发分组给移动结点
    • 首先到达归属代理
    • 归属代理把分组的归属地址改成转交地址,发给外地代理
    • 外地代理把分组的转交地址改成归属地址,并进一步改成移动结点的MAC地址
    • 移动结点收到分组
  • 移动结点发分组给某主机
    • 源地址为归属地址,目的地址为相应IP地址,直接发送即可
      • 不经过归属代理
  • 移动结点漫游到其他外地网络
    • 移动结点把之前的外地代理中的转交地址注销
      • 归属代理处的旧转交地址不需要由之前的外地代理注销,后面会被新转交地址替代
    • 在新的外地网络中发现外地代理,后面和锚外地网络同理
  • 移动结点回到本地网
    • 注销外地代理和归属代理的转交地址,按传统TCP/IP方式通信

网络层设备

本节和前面的网络层功能路由和转发的互为补充

路由器

  • 组成
    • 路由选择部分(控制部分)
      • 路由选择处理机(含有路由表)
    • 分组转发部分
      • 输入端口
      • 交换结构(含有转发表)
      • 输出端口
  • 功能
    • 可以连接不同协议的各网络,隔离广播域
    • 核心的功能是路由和转发(本章前面已有介绍)
  • 实现OSI模型的层包括
    • 物理层
    • 数据链路层
    • 网络层

路由表和路由转发

  • 路由表项的默认列
    • 目的网络IP地址
    • 子网掩码
    • 下一跳IP地址
      • 若直连则直接交付,不需要填下一跳
    • 接口
  • 转发表的默认列
    • 目的网络IP地址
      • 以太网交换机中的转发表,没有该项
    • 下一跳MAC地址
    • 接口
  • 路由
    • 由软件实现
    • 在数据达到前可以提前计算、更新路由
  • 转发
    • 一般由硬件实现,也可以软件实现
    • 在数据达到后才进行转发
      • 更新转发表:根据输入端口传来的数据报的目的IP地址,用路由表和ARP表得到出转发表项
      • 硬件实现交换:输入目的IP地址,把数据报和下一跳MAC地址发送到相应接口(将来在输出端口组装为帧和比特流)