4.2 划分子网/构造超网 + ARP
(计算机网络,P135)
主要包含以下内容:
- 划分子网: 两级IP到三级IP
- 构造超网: 无分类编制CIDR
- ARP: 地址解析协议
划分子网 : 对外仍表现为一个网络
IP地址 = 网络号 + 子网号 + 主机号
子网掩码: 最好选用一连串连续的 1 (可以不是)
子网IP = 子网掩码 & 收到的IP地址
划分子网增加了灵活性,却减少了能够连接在网络上的主机总量;
使用子网时的分组转发:
提取 → 间接交付 → 特定主机路由 → 直接交付 → 默认路由 → 出错
- IP数据提取目的IP地址D;
- 判断是否为直接交付;
- 路由器直连网络子网掩码 & D
- 是否与网络地址匹配
- 匹配则转换成物理地址转发,否则到 3
- 若路由器中有目的地址为D的特定主机路由,把数据报传给路由表中指定的吓一跳路由,否则执行 4;
- 对路由表中每一行执行:(间接交付)
- N = 每行子网掩码 & D
- 若 N 与目的网络匹配,则转发至该地址,否则到 5;
- 若路由表有默认路由,发送给默认路由,否则执行 6;
- 报告转发分组错误。
构造超网:无分类编址(CIDR)
记法:
//斜线记法
128.14.30.0 / 20
//缺省记法
10.0.0.0 / 10 → 10/10
→ 0000 1010 00*
构成超网是将网络前缀缩短。网络前缀越短,其地址块所包含的地指数就越多。
最长前缀匹配: 应当从匹配结果中选择具有最长网络前缀的路由。
实际是选择更具体的地址(出现这种情况肯定是一个网络涵盖了另一个网络)
使用二叉线索查找路由表:(P146)
用每个地址的唯一前缀构成二叉线索;
当搜索到一个叶子节点时,就必须将寻找匹配的目的地址和该叶节点的子网掩进行 & 运算;若与网络前缀相匹配,就按照下一条的接口转发该分组,否则丢弃分组。
地址解析协议: 知道IP地址,找硬件地址
ARP工作范围数据链路层与网络层
每台主机都有自己的 ARP cache ,里面有本具有网上各主机/路由器的IP地址到硬件地址的映射表。
如果为空,则按照以下步骤找出目的地址硬件:
广播ARP请求分组 → 所有主机都收到 → 目的主机发送ARP相应分组(单播) → 写入高速缓存
- ARP进程在本局域网上广播发送一个ARP请求分组
- 我的 IP 地址是 … ,硬件地址是 …
- 我要知道 IP 地址为 … 的硬件地址
- 本局域网上所有主机都收到该请求
- 是否收下分组
- 若自身IP地址与要查询的IP地址一致则收下请求分组
- 并将请求分组中源地址的IP硬件映射写到APR cache
- 最后发送ARP相应分组(单播)
- 若不一致直接不理睬请求
- 将目的主机发回的相应分组中的硬件地址写入 cache
每条映射地址项目都有自己的生存时间(10 ~ 20 min),超过生存时间的项目从告诉缓存中删除。
ARP是解决同一个局域网上的IP地址与硬件地址的映射问题。