【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(三)

简介: 【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(三)

五、重要协议 ( ARP | DHCP | ICMP | IGMP ) ★



1 . ARP 协议


ARP 协议 使用过程 :


① 检查 ARP 高速缓存 :


存在对应物理地址 : 如果有 目的 IP 地址对应的 MAC 地址 , 就直接写入该 MAC 地址 ;

不存在对应物理地址 : 如果没有 目的 IP 地址对应的 MAC 地址 , 则 使用 “FF-FF-FF-FF-FF-FF” 作为 MAC 地址 , 封装并广播 “ARP 请求分组” , 该局域网内所有的主机都能收到该请求 ;

② “ARP 请求分组” 处理 : 目的主机 收到 “ARP 请求分组” 后 , 向源主机 单播 “ARP 请求分组” , 源主机收到 该 “ARP 请求分组” 后 , 将 MAC 地址映射写入到 ARP 缓存中 ;


③ 更新周期 : 每隔 10 1010 ~ 20 2020 分钟 , 更新一次 ARP 高速缓存 ;




计算示例 :


源主机 发送 IP 数据报给目的主机 , 经过了 5 55 个路由器 , 期间使用了多少次 ARP 协议 ?



源主机 , 使用 ARP 协议 , 获取第 1 11 个路由器的 物理地址 ;


第 1 11 个路由器 , 使用 ARP 协议 , 获取第 2 22 个路由器的 物理地址 ;


第 2 22 个路由器 , 使用 ARP 协议 , 获取第 3 33 个路由器的 物理地址 ;


第 3 33 个路由器 , 使用 ARP 协议 , 获取第 4 44 个路由器的 物理地址 ;


第 4 44 个路由器 , 使用 ARP 协议 , 获取第 5 55 个路由器的 物理地址 ;


第 5 55 个路由器 , 使用 ARP 协议 , 获取 目的主机 的 物理地址 ;



总共使用了 6 66 次 ARP 协议 ;




参考博客 : 【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★




2 . DHCP 协议


DHCP 协议 流程 :


① 主机 广播 DHCP 发现报文 ; 该主机是想要申请 IP 地址的主机 ;


② DHCP 服务器 广播 DHCP 提供报文 ;


③ 主机 广播 DHCP 请求报文 ;


④ DHCP 服务器 广播 DHCP 确认报文 ;



每个步骤都是广播 ;


广播的内容是 四种类型的报文 :


DHCP 发现报文

DHCP 提供报文

DHCP 请求报文

DHCP 确认报文



参考博客 : 【计算机网络】网络层 : DHCP 协议 ( DHCP 协议概念 | DHCP 协议特点 | DHCP 协议流程 )




3 . ICMP 协议


ICMP 协议 简介 :


① ICMP 协议 全称 : 网际控制报文协议 ;


② ICMP 协议 功能 :


差错报告 : 对应 发送 差错报文 ;

网络探寻 : 对应 发送 探寻报文 ;

③ ICMP 报文 在 IP 数据报中位置 : ICMP 报文 属于 IP 数据报 的 数据部分 ;




ICMP 报文内容 : 其中的类型是 差错报文 / 探询报文 ;

image.png





ICMP 五种差错报告报文 :


① 终点不可达报文 : 路由器 / 主机 不能交付数据报时 , 就会向源点 发送 终点不可达报文 ;


② 源点抑制报文 : 路由器 / 主机 拥塞 , 丢弃 IP 数据报 , 向源点发送源点抑制报文 , 让源点降低发送速率 ;


③ 时间超过报文 :


生存周期为 0 00 : 路由器 生存周期 TTL = 0 00 时 , 丢弃该报文 , 同时向源点发送 时间超过报文 ;

分组丢失 : 终点 在预定时间内 没有收到 数据报的全部数据分组时 , 就会将已收到的数据分组全部丢弃 , 向源点发送时间超过报文 ;

④ 参数问题报文 : 路由器 / 主机 收到的 数据报 首部 字段由错误值 , 丢弃该数据报 , 向源点发送 参数问题报文 ;


⑤ 改变路由报文 : 路由器 将 改变路由报文 发送给主机 , 让主机下次将数据报发送给另外的路由器 ; 又称为 “重定向报文” ;




ICMP 差错报文 不发送 情形 :


① ICMP 差错报文错误 : IP 数据报 中 , 如果 ICMP 差错报文部分出错 , 就不用再发送 ICMP 差错报告报文了 ;


② 后续数据报分片 : ICMP 差错报文只针对数据报的第一个分片 , 后续分片就不发送 ICMP 差错报告报文了 ;


③ 组播地址 : 如果 IP 数据报的地址是 组播地址 , 不发送 ICMP 差错报文 ;


④ 特殊地址 : 如果 IP 数据报的地址是 特殊地址 , 不发送 ICMP 差错报文 ; 如 : 默认路由地址 等 ;




ICMP 询问报文 :


① 回送请求 和 回答报文 : 主机 / 路由器 询问特定主机 , 目的主机收到该报文后 , 必须给源主机 发送 ICMP 回答报文 ; 目的是 测试该 目的主机是否可达 ;


② 时间戳请求 和 回答报文 : 请求 主机 / 路由器 当前的日期 和 时间 ; 用于进行时钟同步 和 时间测量 ;




参考博客 : 【计算机网络】网络层 : ICMP 协议 ( ICMP 差错报文 | 差错报文分类 | ICMP 询问报文 | ICMP 应用 | Ping | Traceroute )




4 . IGMP 协议


IGMP 协议 :


全称 : 网际组管理协议 ;


作用 : IGMP 协议 让 路由器 知道 本局域网 内的主机 , 是否 参加 / 退出 了 某个组播组 ; 如 : 小王 进入了 某主播直播间 , 那么小王的手机参加了组播组 ;


IGMP 协议在 TCP / IP 协议栈中的位置 : 处于 网络层 上层 , ICMP 与 IGMP 都使用 IP 数据报 传递报文 ;






IGMP 工作流程 :


① 第一阶段 : 加入组播组 ;


加入组播组 : 主机 向 组播组 的 组播地址 发送 IGMP 报文 , 声明自己成为该组的成员 ;


组播路由器更新数据 : 本地组播路由器 收到 IGMP 报文后 , 利用 组播路由选择协议 , 将组播组 成员关系发送给 因特网上的 其它组播路由器 ;


② 第二阶段 : 定期轮询组播组成员 ;


周期询问 : 本地组播路由器 每隔一段时间 , 询问 本地局域网的 组播组 1 11 的主机 A AA , 询问该 主机 A AA 是否是 组播组 1 11 成员 ;

如果 主机 A AA 是组播组 1 11 成员 : 如果有主机 A AA 对 组播组 1 11 相应 , 组播路由器 认为 该组播组 1 11 是 活跃的 ;

如果 主机 A AA 不是组播组 1 11 成员 : 如果没有主机响应 , 组播路由器 认为 本网络上没有 组播组 1 11 的成员 , 不再将本组的 A AA 主机当做组播组 1 11 的成员 发送给其它组播路由器 ;



参考博客 : 【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )






六、IPv6 协议


IPv6 地址表示 :


① 冒号十六进制记法 : 2 B 2 B : 0000 : 0000 : 0000 : 002 B : 2 B 2 B : 2 B 2 B : 2 B 2 B 2B2B:0000:0000:0000:002B:2B2B:2B2B:2B2B2B2B:0000:0000:0000:002B:2B2B:2B2B:2B2B , 使用 7 77 个 冒号 , 将 8 88 个 short 短整型数字 使用 十六进制数表示出来 ;


② 压缩形式 : 如果每个 short 短整型数字 前面若干位为 0 , 可以省略 , 如果四位全是 0 00 , 那么可以使用 一个 0 00 代替 ;


上述 IPv6 地址 使用压缩形式 可以表示成 2 B 2 B : 0 : 0 : 0 : 2 B : 2 B 2 B : 2 B 2 B : 2 B 2 B 2B2B:0:0:0:2B:2B2B:2B2B:2B2B2B2B:0:0:0:2B:2B2B:2B2B:2B2B ;


③ 零压缩 : 连续的 0 00 使用一对冒号表示 , 但是一个 IPv6 地址中只能使用一次 ;


零压缩表示上述 IPv6 地址 : 2 B 2 B : : 2 B : 2 B 2 B : 2 B 2 B : 2 B 2 B 2B2B::2B:2B2B:2B2B:2B2B2B2B::2B:2B2B:2B2B:2B2B




IPv4 向 IPv6 过渡策略 :


① 双栈协议 : 同一台设备上 同时启用 IPv4 和 IPv6 协议栈 , 该设备既能使用 IPv4 通信 , 又能与 IPv6 网络进行通信 ;


路由器 : 不同的接口 分别 配置 IPv4 地址 和 IPv6 地址 ;

计算机 : 计算机同时拥有 IPv4 地址 和 IPv6 地址 , 可同时处理两种协议 ;

② 隧道技术 : 隧道技术 是 使用 互联网 基础设施 , 在网络之间传递数据的方式 ; 使用 隧道 传递不同协议的数据 , 将其它协议的数据重新封装然后通过隧道传输 ;




参考博客 : 【计算机网络】网络层 : IPv6 协议 ( IPv6 数据包格式 | IPv6 地址表示 | IPv6 地址类型 | IPv4 与 IPv6 协议对比 | IPv4 -> IPv6 过渡策略 )



目录
相关文章
|
15小时前
|
数据采集 机器学习/深度学习 人工智能
【机器学习】在使用K-means算法之前,如何预处理数据?
【5月更文挑战第12天】【机器学习】在使用K-means算法之前,如何预处理数据?
|
18小时前
|
算法 网络协议 数据建模
【计算机网络】—— IP协议及动态路由算法(下)
【计算机网络】—— IP协议及动态路由算法(下)
6 0
|
4天前
|
存储 缓存 网络架构
计算机网络:数据交换方式
计算机网络:数据交换方式
10 3
|
4天前
|
网络协议 物联网 网络架构
计算机网络:计算机网络概述
计算机网络:计算机网络概述
24 3
|
7天前
【评分标准】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷 无线网络勘测设计
【评分标准】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷 无线网络勘测设计
【评分标准】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷 无线网络勘测设计
|
7天前
|
网络协议 安全 Linux
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
|
7天前
|
机器学习/深度学习 自然语言处理 算法
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
|
存储 网络协议 Java
[计算机网络]---网络编程套接字
[计算机网络]---网络编程套接字
|
8天前
|
数据采集 机器学习/深度学习 算法
数据分享|WEKA关联规则挖掘Apriori算法在学生就业数据中的应用
数据分享|WEKA关联规则挖掘Apriori算法在学生就业数据中的应用
|
8天前
|
网络协议
计算机网络中常用的网络协议
以上是一些常见的网络协议及其分类,不同的网络协议在计算机网络中扮演着不同的角色,共同构成了网络通信的基础
17 1