【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | 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 过渡策略 )



目录
相关文章
|
1月前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
47 4
|
1月前
|
网络协议 定位技术 网络架构
IP 路由:网络世界的导航仪
IP 路由:网络世界的导航仪
38 3
|
1月前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
【10月更文挑战第27天】计算机主机网关的作用类似于小区传达室的李大爷,负责将内部网络的请求转发到外部网络。当小区内的小不点想与外面的小明通话时,必须通过李大爷(网关)进行联系。网关不仅帮助内部设备与外部通信,还负责路由选择,确保数据包高效传输。此外,网关还参与路由表的维护和更新,确保网络路径的准确性。
48 2
|
26天前
|
数据采集 Java API
java怎么设置代理ip:简单步骤,实现高效网络请求
本文介绍了在Java中设置代理IP的方法,包括使用系统属性设置HTTP和HTTPS代理、在URL连接中设置代理、设置身份验证代理,以及使用第三方库如Apache HttpClient进行更复杂的代理配置。这些方法有助于提高网络请求的安全性和灵活性。
|
2月前
|
存储 缓存 Ubuntu
配置网络接口的“IP”命令10个
【10月更文挑战第18天】配置网络接口的“IP”命令10个
74 0
|
1天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
34 17
|
12天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
13天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
36 10
|
14天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
43 10
|
14天前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。