arp协议:通过ip找mac(交换机不能识别ip)

arp解析表: mac 和 ip 的映射关系

arp协议: 通过ip找到mac,可以减少广播的频率,减少主机的损耗.

arp协议: 能够完成,依靠交换机一次广播,一次单播放完成的;

传输层: 端口 + 数据信息

网络层: ip + 端口 + 数据信息

链路层: mac + ip + 端口 + 数据信息

物理层: 二进制的字节流

第一步,把这个数据包发送给交换机,交换机自己只识别mac,不识别ip

第二步,交换机开始拆包,最多拆二层,找到mac,如果找不到,重新打包,开始全FF广播

第三步,每一台主机都会收到数据包,每一台主机开始拆解,直接走到网络层

网络层拆开ip头,发现自己不是该ip,自动放弃,没有响应.一台满足条件.把自己的mac

和自己的ip进行返回,响应给交换机

第四步,交换机把mac和ip [单播]给原主机,交换机更新自己的mac表[接口和mac的对应关系]

源主机 和 其他分主机都去更新arp解析表

下一次源主机如果在需要找该ip,不需要交换机广播,直接通过交换机单播给目标主机即可

广域网执行过程(路由器): 根据ip找Mac地址

如果要发送这个数据信息

需要通过osi七层模型进行打包(封装)

第一步,通过传输层,基于原数据 前面加上tcp头部(原端口,目标端口)

第二步,通过网络层,基于上一层数据,前面加上ip头(原ip,目标ip)

第三步,通过链路层,基于上一层数据,前面加上mac头(原mac,网关mac)

第四步,把这个数据包变成二进制字节流,通过电信号把字节流发送出去

第五步.网关eth0接受之后,开始拆包,(与交换机最大区别,是交换机拆2层,路由器拆3层)

拆到ip头部时,打开路由表,找网段对应的网关是谁,发现eth1 => 192.168.2.0 符合条件,找到了

把拆的包重新打包,注意这时候,mac头数据进行更新,原mac改成eth1这个网关的mac,目标mac 改

成全FF广播地址,把这个包给eth1,然后开始广播

第六步,所有这个网关对应的机器全都可以收到,每一台机器都开始拆包,物理层,链路层都能拆,但是到了

网络层拆ip头的时,只有一台机器符合条件,剩下多余机器自动舍弃,没有回应,符合条件的机器,可

以看到数据内容,并且可以回发数据,直接建立连接

.

(3)arp协议的更多相关文章

  1. 浅谈ARP协议以及应用

    0. 前言 本章主要简单的介绍ARP的协议格式,主机如何发送和处理ARP报文,以及免费ARP. 1. ARP协议原理 ARP,全称Address Resolution Protocol,地址解析协议, ...

  2. 6410实现网卡(DM9000A)收发功能及ARP协议实现

    1. 网卡硬件结构(DM9000A) 网卡的实质就是MAC通过MII接口控制PHY的过程. MAC主要负责数据帧的构建.数据差错检查.传送控制等. PHY是物理接口收发器,属于物理层,当它收到MAC过 ...

  3. Lvs原理及部署之ARP协议

    1.什么使ARP协议 ARP协议,全称"Address Resolution Protocol" ,中文名是地址解析协议,使用ARP协议可实现通过IP地址获得对应的物理地址(MAC ...

  4. 计算机网络(2)-----ARP协议

    ARP协议(Address Resolution Protocol) 概念 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/I ...

  5. ARP协议

    ARP协议就是一个获取对方MAC地址的协议,ARP协议它是一个网络层的协议,它的作用是通过ARP request报文来获得对方的MAC地址,ARP报文里面发送的内容大概是192.168.1.20你的M ...

  6. ARP协议格式、ARP运行机制入门学习

    相关学习资料 http://baike.baidu.com/view/149421.htm?fromtitle=ARP%E5%8D%8F%E8%AE%AE&fromid=1742212& ...

  7. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

    ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

  8. ARP协议详解

    ARP协议:地址解析协议,将IP地址映射到MAC地址. ARP缓存:每个主机都有存储IP地址和MAC地址的缓冲区.每条记录最长生存时间为10分钟,如果一条记录2分钟没有使用,则会被删除.如果始终在使用 ...

  9. TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...

  10. Networking - ARP 协议

    ARP 协议概述 ARP(Address Resolution Protocol),即地址解析协议,用于把 IP 地址映射到物理地址.网段上的每台主机都维护着一个被称为 ARP Table 或 ARP ...

随机推荐

  1. 解决SQL Server 2008无法连接127.0.0.1的问题

    电脑操作系统是Win10中文版,新装的英文版SQL Server 2008,纯默认安装,没有做任何改动. 装完SQL Server 2008之后,发现只能用默认的机器名来登录: 如果用127.0.0. ...

  2. Hadoop多租户架构配置

    cloudera manager 进到cluster里面,点击Dynamic Resource Pools,没做任何配置默认情况下,资源池里有个default资源组 hadoop jar /usr/l ...

  3. 微信小程序之图片base64解码

    不知道大家在做微信小程序的时候遇到base64解码的问题,我之前在做微信小程序的时候遇到base64解析图片一直有问题,所以在这里把遇到的问题和解决方案在这里记录一下: 在平时的项目中我们是直接用ba ...

  4. SQLServer无法打开用户默认数据库 登录失败错误4064的解决方法

    无法打开用户默认数据库,登录失败,其原因是登录帐户的默认数据库被删除. 解决办法是使用管理员帐户修改此登录帐户的默认数据库. 1.使用管理员帐号登入企业管理器,在“对象资源管理器”中,展开“安全性”— ...

  5. Go 初体验 - 反射

    首先,反射虽强大, 但不可乱用,会有性能损耗 直接上代码: 输出: 代码并不难理解,不做解释

  6. 可能是最简单的把C++Lib包装成C#可用dll的方法

    (想直接看结果的直接翻到最后) 之前对C++接触不多,最近工作需要,第三方给了一个C++的lib库,我们需要把它封装一下在C#中调用.对方要是直接给Dll就省事了... 研究了一下,基本有三个方向: ...

  7. 多线程之CEvent

    最近工作中要维护一个windows模块,用到了mfc中的CEvent类.这算是很久很久以前的老朋友了吧,估计和我超过10年没见过面了,不过工作就是工作,技术上来不得半点含糊,所以还是重新认识一下这位老 ...

  8. 纪念一下学写pipeline时脑子里的坑

    用的是filespipeline,用的存储地址是images的地址 测试煎蛋ooxx首页,shell测试的时候返回很多列表,但是实际爬的时候一直只返回一条,很烦,一直测一直测,就是不行,后来才发现,首 ...

  9. CLASS 类 __getattr__

    class Chain(object): def __init__(self, path=''): self._path = path def __getattr__(self, path): ret ...

  10. random模块、time模块、sys模块、os模块

    一.random模块 1.随机取小数     (数学计算) print(random.random()) #取0-1之间的小数 print(random.uniform(3,6)) #uniform( ...