| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 我的HCIA笔记(九) -> 正文阅读 |
|
[网络协议]我的HCIA笔记(九) |
hello~各位小伙伴好久不见啦,今天来更新的ARP协议,是我们在学习的阶段一定要掌握的一个最基本的协议,比较重要,可能我的笔记也不是很全面,大家有不是很清楚的可以通过一些查找网站或者一些查找软件来找到自己想要的答案。 ARP协议Address Resolution Protocol,地址解析协议,是通过IP地址获取对应的MAC物理地址的一种TCP/IP协议。 是封装于数据链路层之上的一个协议,(只有在数据封装时封装在数据链路层上),也就是俗称的2.5层协议。 下面的图片是来自度娘的ARP报文格式,简单了解一下就可以了。最主要的是要掌握ARP协议的工作过程。 两台主机的通信过程1.发送方主机通过ICMP协议来确认两台主机是否在同一网段。?方法:发送方主机比对网络地址“发送方主机的IP地址+发送方的子网掩码”和“接收方的IP地址+发送方的子网掩码”,如果相同,在同一网段,可以互相通信,否则需要借助中间设备通信。 我们先假设两台主机在同一网段中。 2.发送方主机通过ARP协议获取对方的物理地址(MAC地址)。在ARP协议里面,ARP报文的核心就是:Sender IP、Sender MAC、(发送方)||target IP、target MAC、(接收方)。 【接收方的IP、MAC地址的表现方式与之前的IP或者ICMP协议的目的地址还是有些区别的,因为现在发送方只是知道自己要给哪个IP地址发送数据,但是不知道对方的物理地址,所以需要借助ARP协议来找到对方的MAC地址来建立通信。】 3.查找D.MAC地址的过程。这里要提到一个广播域的概念。 广播域通俗上来说就是一个广播报文所能到达的传播的范围。 【在不划分vlan时,或者是不配置交换机时,交换机的所有端口处于一个广播域】 【路由器的每个端口都是一个广播域】 (要注意的是,广播报文无法穿过路由器的三层接口,也就是说,广播报文到达路由器的端口发不出去了,停止发送过程。) ICMP协议主要有两个命令,是ping和tracert,我们主要了解的是ping命令。 在ping某个主机时,我们只是输入了需要ping到的IP地址,计算机内部通过ARP协议找到该IP地址对应的MAC地址。下面我们来解释ARP协议的工作过程。 ?如图,已知两台主机的IP地址和MAC地址,现在在主机A的cmd命令行输入A ping B的IP地址, 主机A先计算两台主机的网络地址,确认是在同一网段,开始寻找对方的MAC地址, A发送给B的报文使用
其中主机A要发送广播报文来查找对方的IP地址所对应的MAC地址,所以D.MAC填充全F字段,target MAC字段填充全0字段,不填会造成这个数据报文无法完成封装。 ?所以A发送的报文是这样的↑ ?报文发给B主机,主机B在收到报文后解读报文。 ? 主机B发送给A的报文也是大体上一样的: 这样,主机B回复主机A的数据包里面包含了自己的MAC地址,主机A得到主机B的MAC地址之后,就可以在需要发送的数据包里面填充D.MAC地址 了。 总结: 发送端:发出广播,ARP请求接收端的MAC地址。 接收端:发出单播,应答发送端的ARP请求。 4.跨网段通信寻找网关的帮助进行通信。 ?主机A在与主机B通信前通过对比网络地址,发现不在同一网段时,主机A查看本地ARP缓存里面是否含有该网关对应的MAC地址,如果有将需要发送的数据进行数据封装,然后从网关转发给接收端主机,如果没有,借助ARP广播请求找到对应网关的MAC地址,接下来再进行数据封装转发。 总结: 发送方把信息发送给网关,左网关把信息交给右网关,之后再把数据交给接收方。 ARP分类ARP代理:同一个网段上不同物理网络上的计算机之间的相互通信。 免费ARP:探测IP地址是否相互冲突。(在向外界发送ARP请求时,源目IP都是本身,确认IP是否被占用。其中使用E2封装的D.MAC是全F的。) 无故ARP:不经过任何条件触发,重复地址检测。 定向ARP:在帧中继环境下,DLCI号与IP地址之间的对应关系。 代理ARP的三种模式:路由式ARP代理、vlan间的ARP代理、vlan内的ARP代理。 TIPS:ARP协议如何请求对方的MAC地址;ARP的分类。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 12:31:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |