网络层
功能概述
- 数据报服务
- 简单灵活
- 无连接
- 尽最大努力交付
- 为了使路由器简单
可靠通信由传输层负责
传送分组可能
- 出错
- 丢失
- 重复
- 失序
- 超时
- 异构网络互连
- 各层中继系统
- 物理层
- 转发器
- 集线器
- 数据链路层
- 网桥
- 交换机
- 网络层
- 路由器
- 网络层以上
- 网关
- 物理层
- 各层中继系统
- 路由与转发
- 路由选择(确定哪一条路径)
- 按照分布式算法 根据从各相邻的路由器 所得的关于整个网络拓扑的变化情况 动态改变选择的路由
- 分组转发(一个分组到达时采取的动作)
- 根据转发表 将用户IP数据报 从合适端口转发出去
- 路由选择(确定哪一条路径)
- SDN Software Define Network
- 网络层定义
- 数据平面
- 转发
- 控制平面
- 路由选择
- 数据平面
- SDN网络
- 数据、控制平面分离
- 数据平面
- 控制平面
- 集中式
- 网络层定义
- 拥塞控制
- 开环控制
- 闭环控制
路由算法
- 静态路由算法
- 非自适应路由算法
- 网络管理员手动配置
- 拓扑结构发生变化手动修改静态路由
- 小型网络
- 动态路由算法
- 自适应路由算法
- 互连的路由器间彼此交换路由表
- 距离-向量算法
- 所有节点定期
将各自整个路由选择表
转发到相邻节点
- 每条路径的目的地
- 路径的代价(距离)
- RIP算法
- 所有节点定期
将各自整个路由选择表
转发到相邻节点
- 链路状态路由算法
- 每个参与算法的节点
均具有完全的拓扑信息
- 主动测试所有相邻节点
- 定期将链路状态传播所有其他节点
- OSPF算法
- 洪泛法发送信息
- 所有路由器
- 路由器相邻的所有路由链路状态
- 度量 metric
- 费用
- 距离
- 时延
- 带宽
- 链路状态变化才发送
- 每个参与算法的节点
均具有完全的拓扑信息
- 层次路由
- 网络规模增大 路由表增大
- 整个互联网划分 划分为很多较小的自治系统
- 内部网关协议
- RIP
- OSPF
- 外部网关协议
- BGP
IPV4
- BGP
- IPV4分组
- 首部长度
- 占4位
- 最大十进制数15
- 最大值15 * 4B = 60B
- 总长度
- 首部和数据之和
- 单位为字节
- 以太网帧的最大传送单元 MTU=1500B
- 最大长度\(2^{16}=65535B\)
- 标识
- 占16位
- 计数器 i++
- 数据报长度超过网络MTU 必须分片 此时每个数据报片 均复制一次标识号
- 标志
- 占3位
- 标志字段最低位MF MF=1表示后面还有分片 MF=0表示最后一个分片
- 标志字段中间的一位DF DF=0时才允许分片
- 片偏移
- 占13位
- 较长的分组在分片后 某片在原分组中相对位置
- 以8个字节为偏移单位
- 除最后一个分片 每个分片的长度一定 是8B的整数倍
- 生存时间 TTL
- 占8位
- 数据报可通过路由数最大值
- 确保分组不会永远在网络中循环
- 协议
- 占8位
- TCP : 6
- UDP : 17
- 首部校验和
- 占16位
- 只校验分组的首部
- 不校验数据部分
- 源地址字段
- 占4B
- 目的地址字段
- 占4B
- 首部长度
- 数据报分片
- 链路承载最大数据量 最大传送单元MTU
- IP数据报4000B
首部20B 数据3980B
MTU=1500B 标识=777
MF=0 DF=0
分片大小为8B的倍数=1480
- 分片1
- 标识=777
- 片偏移=0
- MF=1 DF=0
- 有效数据1480B
- 分片2
- 标识=777
- 片偏移=185
- MF=1 DF=0
- 有效数据1480B
- 分片3
- 标识=777
- 片偏移=370
- MF=0 DF=0
- 有效数据(3980-1480*2)B
- 分片1
- IPV4地址
- A类
- 1 ~ 126
- 0000,0000;0;0;0 ~ 0111,1111;1;1;1
- B类
- 128 ~ 191
- 1000,0000;0;0;0 1011,1111;1;1
- C类
- 192 ~ 223
- 1100,0000;0;0;0 ~ 1101,1111;1;1;1
- D类
- 224 ~ 239
- 1110,0000;0;0;0 ~ 1110,1111;1;1;1
- E类
- 240 ~ 255
- 1111,0000;0;0;0 ~ 1111,1111;1;1;1
- IP::={<网络号>,<主机号>}
主机号>网络号>
- 主机号全为0表示本网络
- 主机号全1表示本网络广播地址
- 127.x.x.x为环回自检地址
- 表示任意主机自身
- 目的地址为127.x的 IP数据报不会出现在任何网络
- 32位全为0表示本网络上本主机
- 32位全为1表示整个TCP/IP网络的广播地址
- IP地址使用范围
- A
- 最大网络可用数=\(2^{7}-2\)
- 第一个可用的网络号=1
- 最后一个可用的网络号=126
- 每个网络中最大的主机=\(2^{24}-2\)
- B
- 最大网络可用数=\(2^{14}\)
- 第一个可用的网络号=128.0
- 最后一个可用的网络号=191.255
- 每个网络中最大的主机=\(2^{16}-2\)
- C
- 最大网络可用数=\(2^{21}\)
- 第一个可用的网络号=192.0.0
- 最后一个可用的网络号=223.255.255
- 每个网络中最大的主机=\(2^{8}-2\)
- A
- A类
- NAT
- 专门网络地址转换为公用地址 而对外隐藏内部管理的IP
- 划分私有IP
- 只用于LAN
- 不用于WAN
- 私有IP不能直接接入Internet
- 通过网关利用NAT
- 私有IP转为Internet中合法的全球IP
- 网段
- A
- 1个A类
- 10.0.0.0 ~ 10.255.255.255
- B
- 16个B类
- 172.16.0.0 ~ 172.31.255.255
- C
- 256个C类
- 192.168.0.0 ~ 192.168.255.255
- A
- 目的地址为私有IP不进行转发:本地互联网
- NAT转换表
- WAN : LAN
-
138.76.29.7:5001 192.168.0.2:2233
- 普通路由器转发IP数据报,不改变源IP和目的IP
- NAT路由器转发IP数据报,一定改变
- 子网划分
- 两级IP
- 缺点
- 地址空间利用率低
- 每分配一个网络号会是路由表变得太大
- 网络性能变坏
- 不够灵活
- 缺点
- 划分
- 对内表现为子网划分,对外表现为没有划分的网络
- 从主机号借用若干比特作为子网号
- IP = {<网络号>,<子网号>,<主机号>}主机号>子网号>网络号>
- 从其他网络发送给本单位某主机的IP 仍然根据IP目的网络 找到连接本单位网络的路由 该路由收到IP 按目的网络和子网找到目的子网 最后交付IP至目的主机
- 划分只根据主机号借用位作子网号 不改变网络号 从一个IP地址或首部无法判断是否子网划分
- 两级IP
- 子网掩码
- 表达对原网络主机号的借位
- 将IP与子网掩码按位相与AND
- 得到相应的子网地址
- 要求
- 主机设置IP地址必须设置子网掩码
- 同属一个子网的所有主机及路由器的相应端口必须设置相同的子网掩码
- 路由器的路由表所包含信息:目的网络地址、子网掩码、下一跳地址
- CIDR
- 在变成子网掩码基础上消除ABC类网络划分
- 在软件下实现超网构成
- IP = {<网络前缀>,<主机号>}主机号>网络前缀>
- 斜线记法
- IP地址/网络前缀所占比特数
- 128.14.32.5/20
- IP: 1000,0000;0000,1110;0010,0000;0000,0101
- 子网掩码: 1111,1111;1111,1111;1111,0000;0000,0000
- 网络前缀: 1000,0000;0000,1110;0010,0000;0000,0000 128.14.32.0
- CIDR不使用子网,仍使用掩码
- CIDR地址块
- 网络前缀相同的连续IP组成
- 206.1.0.0/17
- 1100,1010;0000,0001;0000,0000;0000,0000
- 206.1.128.0/17
- 1100,1010;0000,0001;1000,0000;0000,0000
- 206.1.0.0/16
- 1100,1010;0000,0001;0000,0000;0000,0000
- 最长前缀匹配(最佳匹配)
- 路由表中的每个项目由<网络前缀><下一跳地址>组成 在查找路由表时可能不止一个匹配结果 匹配结果中选择具有最长网络前缀的路由 网络前缀越长 地址块越小 路由越具体下一跳地址>网络前缀>
- 网络层转发分组
- 基于目的主机所在的网络 网络数远小于主机数
- 分组到达路由器 路由器根据目的IP地址的网络前缀查找转发表 确定下一跳应到哪个路由器
- 转发表中每条路由必须有下面两条信息 (目的网络, 下一跳地址) IP数据报最终一定可以找到目的主机所在目的网络上的路由器 达到最后一个路由器,向目的主机进行直接交付
- ARP、DHCP、ICMP
- IP地址与硬件地址
- IP地址是网络层使用
- MAC地址是数据链路层使用
- 网络层及网络层之上使用IP IP地址放在IP数据报首部 MAC地址放在MAC帧首部 数据封装后 IP数据报分组封装为MAC帧 数据链路层看不见数据报分组中的IP地址
- 决定了MAC地址无法跨网络通信
- ARP Address Resolution Protocol
- 无论网络层使用什么协议 在实际网络的链路上传输数据帧 必须使用硬件地址
- 使用ARP进行映射
- 每台主机设有ARP映射表
- 工作原理
- 主机A向本局域网上某台主机B发送IP数据报 先在ARP高速缓存中查找有无主机B的IP 有则将对应MAC地址写入MAC帧 无则通过目的MAC地址 FFFF-FF-FF-FF-FF的帧封装并广播ARP请求分组
- 主机B收到该ARP请求分组,向ARP响应分组(单播) 分组包含B的IP与MAC地址的映射
- 主机A收到ARP响应分组 写入ARP缓存 按查询到的硬件地址发送MAC帧
- DHCP Dynamic Host Configuration Protocol
- 动态分配地址
- 即插即用联网机制
- 应用层协议
- UDP
- 客户/服务器模式
- 工作原理
- 需要IP地址的主机在启动时 就向DHCP服务器广播发送发现报文 主机成为DHCP客户
- DHCP客户只能在一段有限的时间内 使用分配到的IP地址:租用期
- ICMP Internet Control Message Protocol
- 提高IP数据报交付成功机会 在网络层使用网际控制报文协议 让主机或路由器报告差错和异常情况
- ICMP报文作为IP层数据报的数据 加上数据报的首部 组成IP数据报发送出去
- 网络层协议
- 报文种类
- 差错报告报文
- 询问报文
- 5种常用类型
- 终点不可达
- 源点抑制
- 时间超过
- 参数问题
- 改变路由
- PING使用ICMP回答请求和回答报文
- Tracert使用ICMP时间超过报文
IPV6
- 特点
- 解决IP地址耗尽问题
- 采用CIDR、NAT
- 128位
- 即插即用
- 只有在包的源结点才能分片
- 传输路径中的路由器不能分片
- 首部长度必须8B的整数倍
- 地址
- 目的地址
- 单播
- 点对点
- 多播
- 一对多
- 任播
- 目的站是一组计算机
- 数据报交付其中的一台计算机
- 距离最近的计算机
- 单播
- 缩写表示法
- 4BF5:0000:0000:0000:BA5F:039A:000A:2176
- 4BF5:0:0:0:BA5F:39A:A:2176
- 双冒号缩写[::]
- 4BF5:0000:0000:0000:BA5F:039A:000A:2176
- 4BF5::BA5F:39A:A:2176
- 目的地址
- 双协议栈
- 设备同时安装IPV4和IPV6协议栈
- 路由器不同接口配置
- 隧道技术
- IPV6数据报进入IPV4网络
封装到IPV4数据报的数据部分
路由协议
- IPV6数据报进入IPV4网络
封装到IPV4数据报的数据部分
- 自治系统 AS Autonomous System
- 本自治系统内必须连通
- 域内路由与域间路由
- 域内路由 RIP、OSPF
- 域间路由 BGP
- RIP
- 基于距离-向量算法
- 简单
- 距离称为跳数,经过一个路由距离+1
- 路由器维护自身到其他每个目的网络的距离记录
- 定义好的路由就是通过路由器数目少
- 一跳路径最多15跳
- 距离为16表示网络不可达 为了防止出现环路
- 默认两个使用RIP的路由之间30秒广播一次RIP路由更新信息
- 仅和相邻路由器交换信息
- 交换自己的路由表(全部信息)
- 距离向量算法
- 路由表项
- <目的网络N,距离d,下一跳路由器地址>
- 地址X的相邻路由器发来的RIP报文 修改下一跳字段的地址改为X 距离向量+1
- 原有路由表没有目的网络N,加入
- 有目的网络N,下一跳地址为X,替换
- 有目的网络N,下一跳地址不为X 发来的d小于路由表的d,替换 否则什么也不做
- 路由表项
- 限制了网络的规模
- 坏消息传得慢,收敛时间长
- 应用层协议
- UDP端口520
- OSPF
- 分布式链路状态路由算法
- 洪泛法
- 向自治系统所有路由器发送信息
- 发送与本路由器相邻的所有路由器链路状态
- 只有链路发生变化,才发送
- 快收敛
- 网络层协议
- IP 协议字段89
- 每个链路状态都带一个32位序号 序号越大代表状态越新
- 使用Dijkstra算法计算最优路径
- OSPF五种分组
- 问候
- 数据库描述
- 链路状态请求
- 链路状态更新
- 链路状态确认
- BGP
- 基于路径-向量算法
- 寻找一条能够达到目的网络且比较好的路由 不能有环路并非最佳路由
- 应用层协议
- 基于TCP
- 每个自治系统的管理员 至少选择一个路由作为BGP发言人
- BGP-4使用4种报文
- 打开
- 更新
- 保活
- 通知
IP组播
- 组播
- 应用于UDP
- 有的应用程序把一个分组发送给多个目的主机
- IPV4的D类地址
- IP组播地址
- D类地址前4位:1110
- 224.0.0.0 ~ 239.255.255.255
- D类IP与以太网组播地址映射
- IP组播地址1110,xxxx;xyyy,yyyy;y;y xxxxx不做映射
- 48位MAC地址后23位装载IP组播地址后23位
- D类地址前4位:1110
- IGMP Internet Group Management Protocol
- 组播路由选择
- 找出以源主机为根节点的组播转发树
- 三种算法
- 基于链路状态
- 基于距离-向量
- 建立在任何路由器协议,协议无关组播
移动IP
- 组播路由选择
- 概念
- 以固定的网络IP地址实现跨越不同网段的漫游功能
- 并保证基于网络IP的网络权限在漫游过程不发生改变
- 功能实体
- 移动节点
- 本地代理
- 外地代理
- 通信过程
- 移动站在归属网络,按照TCP/IP通信
- 漫游到外地网络,向外地代理登记获得临时转交地址 外地代理向移动站归属代理登记转交地址
- 归属代理登记转交地址后,构建一条通向转交地址的隧道 并将截获的发送给移动站的IP分组进行封装 通过隧道发送给被访问网络的外地代理
- 外地代理收到封装的数据报进行拆封 恢复原始IP分组转发给移动站
- 移动站向外部发送数据报仍使用自己的永久地址作为源地址
无需通过归属代理转发直接通过被访网络的外部代理
网络层设备
- 冲突域
- 连接在同一物理介质上的所有节点集合
- 节点存在对介质的争用现象
- 集线器、中继器不能划分冲突域
- 网桥、交换机、路由器可以划分冲突域
- 广播域
- 接收同样广播消息的节点集合
- 路由器可以划分广播域
- LAN特指使用路由器分割的网络也就是广播域
- 路由器组成和功能
- 多输入/输出的专用计算机
- 连接不同的网络完成路由转发
- 直接交付
- 源主机和目标主机在同一个网络 无需通过路由器
- 间接交付
- 源主机和目标主机不在同一个网络 需要路由器按照转发表指出的路由 将数据报转发给下一个路由器
- IP地址与硬件地址
网络层
功能概述
- 数据报服务
- 简单灵活
- 无连接
- 尽最大努力交付
- 为了使路由器简单
可靠通信由传输层负责
传送分组可能
- 出错
- 丢失
- 重复
- 失序
- 超时
- 异构网络互连
- 各层中继系统
- 物理层
- 转发器
- 集线器
- 数据链路层
- 网桥
- 交换机
- 网络层
- 路由器
- 网络层以上
- 网关
- 物理层
- 各层中继系统
- 路由与转发
- 路由选择(确定哪一条路径)
- 按照分布式算法 根据从各相邻的路由器 所得的关于整个网络拓扑的变化情况 动态改变选择的路由
- 分组转发(一个分组到达时采取的动作)
- 根据转发表 将用户IP数据报 从合适端口转发出去
- 路由选择(确定哪一条路径)
- SDN Software Define Network
- 网络层定义
- 数据平面
- 转发
- 控制平面
- 路由选择
- 数据平面
- SDN网络
- 数据、控制平面分离
- 数据平面
- 控制平面
- 集中式
- 网络层定义
- 拥塞控制
- 开环控制
- 闭环控制
路由算法
- 静态路由算法
- 非自适应路由算法
- 网络管理员手动配置
- 拓扑结构发生变化手动修改静态路由
- 小型网络
- 动态路由算法
- 自适应路由算法
- 互连的路由器间彼此交换路由表
- 距离-向量算法
- 所有节点定期
将各自整个路由选择表
转发到相邻节点
- 每条路径的目的地
- 路径的代价(距离)
- RIP算法
- 所有节点定期
将各自整个路由选择表
转发到相邻节点
- 链路状态路由算法
- 每个参与算法的节点
均具有完全的拓扑信息
- 主动测试所有相邻节点
- 定期将链路状态传播所有其他节点
- OSPF算法
- 洪泛法发送信息
- 所有路由器
- 路由器相邻的所有路由链路状态
- 度量 metric
- 费用
- 距离
- 时延
- 带宽
- 链路状态变化才发送
- 每个参与算法的节点
均具有完全的拓扑信息
- 层次路由
- 网络规模增大 路由表增大
- 整个互联网划分 划分为很多较小的自治系统
- 内部网关协议
- RIP
- OSPF
- 外部网关协议
- BGP
IPV4
- BGP
- IPV4分组
- 首部长度
- 占4位
- 最大十进制数15
- 最大值15 * 4B = 60B
- 总长度
- 首部和数据之和
- 单位为字节
- 以太网帧的最大传送单元 MTU=1500B
- 最大长度\(2^{16}=65535B\)
- 标识
- 占16位
- 计数器 i++
- 数据报长度超过网络MTU 必须分片 此时每个数据报片 均复制一次标识号
- 标志
- 占3位
- 标志字段最低位MF MF=1表示后面还有分片 MF=0表示最后一个分片
- 标志字段中间的一位DF DF=0时才允许分片
- 片偏移
- 占13位
- 较长的分组在分片后 某片在原分组中相对位置
- 以8个字节为偏移单位
- 除最后一个分片 每个分片的长度一定 是8B的整数倍
- 生存时间 TTL
- 占8位
- 数据报可通过路由数最大值
- 确保分组不会永远在网络中循环
- 协议
- 占8位
- TCP : 6
- UDP : 17
- 首部校验和
- 占16位
- 只校验分组的首部
- 不校验数据部分
- 源地址字段
- 占4B
- 目的地址字段
- 占4B
- 首部长度
- 数据报分片
- 链路承载最大数据量 最大传送单元MTU
- IP数据报4000B
首部20B 数据3980B
MTU=1500B 标识=777
MF=0 DF=0
分片大小为8B的倍数=1480
- 分片1
- 标识=777
- 片偏移=0
- MF=1 DF=0
- 有效数据1480B
- 分片2
- 标识=777
- 片偏移=185
- MF=1 DF=0
- 有效数据1480B
- 分片3
- 标识=777
- 片偏移=370
- MF=0 DF=0
- 有效数据(3980-1480*2)B
- 分片1
- IPV4地址
- A类
- 1 ~ 126
- 0000,0000;0;0;0 ~ 0111,1111;1;1;1
- B类
- 128 ~ 191
- 1000,0000;0;0;0 1011,1111;1;1
- C类
- 192 ~ 223
- 1100,0000;0;0;0 ~ 1101,1111;1;1;1
- D类
- 224 ~ 239
- 1110,0000;0;0;0 ~ 1110,1111;1;1;1
- E类
- 240 ~ 255
- 1111,0000;0;0;0 ~ 1111,1111;1;1;1
- IP::={<网络号>,<主机号>}
主机号>网络号>
- 主机号全为0表示本网络
- 主机号全1表示本网络广播地址
- 127.x.x.x为环回自检地址
- 表示任意主机自身
- 目的地址为127.x的 IP数据报不会出现在任何网络
- 32位全为0表示本网络上本主机
- 32位全为1表示整个TCP/IP网络的广播地址
- IP地址使用范围
- A
- 最大网络可用数=\(2^{7}-2\)
- 第一个可用的网络号=1
- 最后一个可用的网络号=126
- 每个网络中最大的主机=\(2^{24}-2\)
- B
- 最大网络可用数=\(2^{14}\)
- 第一个可用的网络号=128.0
- 最后一个可用的网络号=191.255
- 每个网络中最大的主机=\(2^{16}-2\)
- C
- 最大网络可用数=\(2^{21}\)
- 第一个可用的网络号=192.0.0
- 最后一个可用的网络号=223.255.255
- 每个网络中最大的主机=\(2^{8}-2\)
- A
- A类
- NAT
- 专门网络地址转换为公用地址 而对外隐藏内部管理的IP
- 划分私有IP
- 只用于LAN
- 不用于WAN
- 私有IP不能直接接入Internet
- 通过网关利用NAT
- 私有IP转为Internet中合法的全球IP
- 网段
- A
- 1个A类
- 10.0.0.0 ~ 10.255.255.255
- B
- 16个B类
- 172.16.0.0 ~ 172.31.255.255
- C
- 256个C类
- 192.168.0.0 ~ 192.168.255.255
- A
- 目的地址为私有IP不进行转发:本地互联网
- NAT转换表
- WAN : LAN
-
138.76.29.7:5001 192.168.0.2:2233
- 普通路由器转发IP数据报,不改变源IP和目的IP
- NAT路由器转发IP数据报,一定改变
- 子网划分
- 两级IP
- 缺点
- 地址空间利用率低
- 每分配一个网络号会是路由表变得太大
- 网络性能变坏
- 不够灵活
- 缺点
- 划分
- 对内表现为子网划分,对外表现为没有划分的网络
- 从主机号借用若干比特作为子网号
- IP = {<网络号>,<子网号>,<主机号>}主机号>子网号>网络号>
- 从其他网络发送给本单位某主机的IP 仍然根据IP目的网络 找到连接本单位网络的路由 该路由收到IP 按目的网络和子网找到目的子网 最后交付IP至目的主机
- 划分只根据主机号借用位作子网号 不改变网络号 从一个IP地址或首部无法判断是否子网划分
- 两级IP
- 子网掩码
- 表达对原网络主机号的借位
- 将IP与子网掩码按位相与AND
- 得到相应的子网地址
- 要求
- 主机设置IP地址必须设置子网掩码
- 同属一个子网的所有主机及路由器的相应端口必须设置相同的子网掩码
- 路由器的路由表所包含信息:目的网络地址、子网掩码、下一跳地址
- CIDR
- 在变成子网掩码基础上消除ABC类网络划分
- 在软件下实现超网构成
- IP = {<网络前缀>,<主机号>}主机号>网络前缀>
- 斜线记法
- IP地址/网络前缀所占比特数
- 128.14.32.5/20
- IP: 1000,0000;0000,1110;0010,0000;0000,0101
- 子网掩码: 1111,1111;1111,1111;1111,0000;0000,0000
- 网络前缀: 1000,0000;0000,1110;0010,0000;0000,0000 128.14.32.0
- CIDR不使用子网,仍使用掩码
- CIDR地址块
- 网络前缀相同的连续IP组成
- 206.1.0.0/17
- 1100,1010;0000,0001;0000,0000;0000,0000
- 206.1.128.0/17
- 1100,1010;0000,0001;1000,0000;0000,0000
- 206.1.0.0/16
- 1100,1010;0000,0001;0000,0000;0000,0000
- 最长前缀匹配(最佳匹配)
- 路由表中的每个项目由<网络前缀><下一跳地址>组成 在查找路由表时可能不止一个匹配结果 匹配结果中选择具有最长网络前缀的路由 网络前缀越长 地址块越小 路由越具体下一跳地址>网络前缀>
- 网络层转发分组
- 基于目的主机所在的网络 网络数远小于主机数
- 分组到达路由器 路由器根据目的IP地址的网络前缀查找转发表 确定下一跳应到哪个路由器
- 转发表中每条路由必须有下面两条信息 (目的网络, 下一跳地址) IP数据报最终一定可以找到目的主机所在目的网络上的路由器 达到最后一个路由器,向目的主机进行直接交付
- ARP、DHCP、ICMP
- IP地址与硬件地址
- IP地址是网络层使用
- MAC地址是数据链路层使用
- 网络层及网络层之上使用IP IP地址放在IP数据报首部 MAC地址放在MAC帧首部 数据封装后 IP数据报分组封装为MAC帧 数据链路层看不见数据报分组中的IP地址
- 决定了MAC地址无法跨网络通信
- ARP Address Resolution Protocol
- 无论网络层使用什么协议 在实际网络的链路上传输数据帧 必须使用硬件地址
- 使用ARP进行映射
- 每台主机设有ARP映射表
- 工作原理
- 主机A向本局域网上某台主机B发送IP数据报 先在ARP高速缓存中查找有无主机B的IP 有则将对应MAC地址写入MAC帧 无则通过目的MAC地址 FFFF-FF-FF-FF-FF的帧封装并广播ARP请求分组
- 主机B收到该ARP请求分组,向ARP响应分组(单播) 分组包含B的IP与MAC地址的映射
- 主机A收到ARP响应分组 写入ARP缓存 按查询到的硬件地址发送MAC帧
- DHCP Dynamic Host Configuration Protocol
- 动态分配地址
- 即插即用联网机制
- 应用层协议
- UDP
- 客户/服务器模式
- 工作原理
- 需要IP地址的主机在启动时 就向DHCP服务器广播发送发现报文 主机成为DHCP客户
- DHCP客户只能在一段有限的时间内 使用分配到的IP地址:租用期
- ICMP Internet Control Message Protocol
- 提高IP数据报交付成功机会 在网络层使用网际控制报文协议 让主机或路由器报告差错和异常情况
- ICMP报文作为IP层数据报的数据 加上数据报的首部 组成IP数据报发送出去
- 网络层协议
- 报文种类
- 差错报告报文
- 询问报文
- 5种常用类型
- 终点不可达
- 源点抑制
- 时间超过
- 参数问题
- 改变路由
- PING使用ICMP回答请求和回答报文
- Tracert使用ICMP时间超过报文
IPV6
- 特点
- 解决IP地址耗尽问题
- 采用CIDR、NAT
- 128位
- 即插即用
- 只有在包的源结点才能分片
- 传输路径中的路由器不能分片
- 首部长度必须8B的整数倍
- 地址
- 目的地址
- 单播
- 点对点
- 多播
- 一对多
- 任播
- 目的站是一组计算机
- 数据报交付其中的一台计算机
- 距离最近的计算机
- 单播
- 缩写表示法
- 4BF5:0000:0000:0000:BA5F:039A:000A:2176
- 4BF5:0:0:0:BA5F:39A:A:2176
- 双冒号缩写[::]
- 4BF5:0000:0000:0000:BA5F:039A:000A:2176
- 4BF5::BA5F:39A:A:2176
- 目的地址
- 双协议栈
- 设备同时安装IPV4和IPV6协议栈
- 路由器不同接口配置
- 隧道技术
- IPV6数据报进入IPV4网络
封装到IPV4数据报的数据部分
路由协议
- IPV6数据报进入IPV4网络
封装到IPV4数据报的数据部分
- 自治系统 AS Autonomous System
- 本自治系统内必须连通
- 域内路由与域间路由
- 域内路由 RIP、OSPF
- 域间路由 BGP
- RIP
- 基于距离-向量算法
- 简单
- 距离称为跳数,经过一个路由距离+1
- 路由器维护自身到其他每个目的网络的距离记录
- 定义好的路由就是通过路由器数目少
- 一跳路径最多15跳
- 距离为16表示网络不可达 为了防止出现环路
- 默认两个使用RIP的路由之间30秒广播一次RIP路由更新信息
- 仅和相邻路由器交换信息
- 交换自己的路由表(全部信息)
- 距离向量算法
- 路由表项
- <目的网络N,距离d,下一跳路由器地址>
- 地址X的相邻路由器发来的RIP报文 修改下一跳字段的地址改为X 距离向量+1
- 原有路由表没有目的网络N,加入
- 有目的网络N,下一跳地址为X,替换
- 有目的网络N,下一跳地址不为X 发来的d小于路由表的d,替换 否则什么也不做
- 路由表项
- 限制了网络的规模
- 坏消息传得慢,收敛时间长
- 应用层协议
- UDP端口520
- OSPF
- 分布式链路状态路由算法
- 洪泛法
- 向自治系统所有路由器发送信息
- 发送与本路由器相邻的所有路由器链路状态
- 只有链路发生变化,才发送
- 快收敛
- 网络层协议
- IP 协议字段89
- 每个链路状态都带一个32位序号 序号越大代表状态越新
- 使用Dijkstra算法计算最优路径
- OSPF五种分组
- 问候
- 数据库描述
- 链路状态请求
- 链路状态更新
- 链路状态确认
- BGP
- 基于路径-向量算法
- 寻找一条能够达到目的网络且比较好的路由 不能有环路并非最佳路由
- 应用层协议
- 基于TCP
- 每个自治系统的管理员 至少选择一个路由作为BGP发言人
- BGP-4使用4种报文
- 打开
- 更新
- 保活
- 通知
IP组播
- 组播
- 应用于UDP
- 有的应用程序把一个分组发送给多个目的主机
- IPV4的D类地址
- IP组播地址
- D类地址前4位:1110
- 224.0.0.0 ~ 239.255.255.255
- D类IP与以太网组播地址映射
- IP组播地址1110,xxxx;xyyy,yyyy;y;y xxxxx不做映射
- 48位MAC地址后23位装载IP组播地址后23位
- D类地址前4位:1110
- IGMP Internet Group Management Protocol
- 组播路由选择
- 找出以源主机为根节点的组播转发树
- 三种算法
- 基于链路状态
- 基于距离-向量
- 建立在任何路由器协议,协议无关组播
移动IP
- 组播路由选择
- 概念
- 以固定的网络IP地址实现跨越不同网段的漫游功能
- 并保证基于网络IP的网络权限在漫游过程不发生改变
- 功能实体
- 移动节点
- 本地代理
- 外地代理
- 通信过程
- 移动站在归属网络,按照TCP/IP通信
- 漫游到外地网络,向外地代理登记获得临时转交地址 外地代理向移动站归属代理登记转交地址
- 归属代理登记转交地址后,构建一条通向转交地址的隧道 并将截获的发送给移动站的IP分组进行封装 通过隧道发送给被访问网络的外地代理
- 外地代理收到封装的数据报进行拆封 恢复原始IP分组转发给移动站
- 移动站向外部发送数据报仍使用自己的永久地址作为源地址
无需通过归属代理转发直接通过被访网络的外部代理
网络层设备
- 冲突域
- 连接在同一物理介质上的所有节点集合
- 节点存在对介质的争用现象
- 集线器、中继器不能划分冲突域
- 网桥、交换机、路由器可以划分冲突域
- 广播域
- 接收同样广播消息的节点集合
- 路由器可以划分广播域
- LAN特指使用路由器分割的网络也就是广播域
- 路由器组成和功能
- 多输入/输出的专用计算机
- 连接不同的网络完成路由转发
- 直接交付
- 源主机和目标主机在同一个网络 无需通过路由器
- 间接交付
- 源主机和目标主机不在同一个网络 需要路由器按照转发表指出的路由 将数据报转发给下一个路由器
- IP地址与硬件地址