ARP协议 路由器原理
 
 
1 广播与广播域
广播:将广播地址作为目的地址的数据帧
广播域:网络中能够接收到同一个广播所有节点的集合(在这里广播域越小越好)
交换机控制不了广播 路由器可以控制广播 路由器可以隔离广播域
2 MAC地址广播
广播地址为FF-FF-FF-FF-FF-FF
IP地址广播
1. 255.255.255.255
2. 广播IP地址为IP地址网段的广播地址,如192.168.1.255/24
3 ARP协议:地址解析协议
将一个已知的IP地址解析成MAC地址
4 ARP原理:
1)发送ARP广播请求
2)接收ARP单播请求
ARP请求报文内容:我是10.1.1.1 我的MAC是。。。
谁是10.1.1.3 你的MAC地址是?
5 IP地址解析为MAC地址
PC1 发送数据给PC2,首先查看ARP缓存表有没有PC2 的MAC地址
有 直接发送
没有:
PC1 发送ARP广播请求报文
所有主机(网段内)都会接收到ARP请求信息
其他主机丢弃 PC2 发送单播应答报文
PC1 将PC2 的MAC地址缓存到ARP缓存表中,然后发送数据
5 需求分析
 
 
6 ARP攻击与欺骗
原理:
通过发送伪造虚假的ARP报文(广播或者单播)来实现的攻击或者欺骗
攻击:结果为中断通信(断网)
如:
虚假报文的MAC地址是伪造的,不存在的,以此来实现ARP攻击
欺骗:
结果为 可以监听,窃取,篡改,控制流量,但不中断通信
虚假报文的是自己的MAC地址,以此来实现ARP欺骗
如果图中PC3 发送的报文中 MAC地址是虚假的不存在的 则会造成PC1 的中断通信 这是ARP攻击
如果图中PC3 发送的报文中 MAC地址是他自己本身的 则会造成 PC1余PC2 的通信 PC3 可以通过抓包进行获取 同时以此可以进行修改信息 但不会中断通信 这是ARP欺骗
 
ARP协议没有验证机制
ARP攻击者通过发送虚假伪造的ARP报文对受害者进行ARP缓存投毒
 
 
路由器工作原理:
 
 
 
路由器的工作原理
凡是可以配IP地址的接口才有MAC地址
路由器与PC是同种设备
1)一个帧到达路由,路由器首先检查目标MAC地址是否自己,如果不是则丢弃,如果是则解封装,并将IP包送到路由器内部
2)路由器检查IP包头中的目标IP,并匹配路由表如果匹配失败,则丢弃,并向源IP回馈错误信息,如匹配成功,则将IP包路由到出接口
3)封装帧,首先将出接口的MAC地址作为源MAC封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,将提取并作为目标MAC地址封装到帧中,如没有,则发送ARP广播请求下一跳的MAC,并获取到对方的mac地址,再记录缓存,并封装帧,最后将帧发送出去。
 
如上图中:如果将数据从10.1.1.1发送到40.1.1.1 以下简称为 10.1 40.1 图中AA II BB等为简写的MAC地址 交换机MAC地址表已经学习完全
此时不知道 40.1 的MAC地址 --AA10.1 40.1 帧包发不出去
1 由于在不同网段 此时AA发送ARP广播请求报文:我是10.1 我的MAC地址是AA 谁是10.1.1.254(网关),你的MAC地址是?
2 网关接收后回应发送ARP单播报文:我是254,我的MAC地址是CC 同时ARP缓存表会进行缓存 10.1.1.254 CC
3 此时为 CCAA10.1 40.1 AA发送帧包到CC
4 路由器收到帧后 会先判断目标MAC地址是自己不,不是丢弃 是则进行解封装,并将IP包送到路由器内部
5 路由器检查IP包头中的目标IP,并匹配路由表如果匹配失败,则丢弃,并向源IP回馈错误信息,如匹配成功,则将IP包路由到出接口
6 封装帧,首先将出接口的MAC地址作为源MAC封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,将提取并作为目标MAC地址封装到帧中,如没有,则发送ARP广播请求下一跳的MAC,并获取到对方的mac地址,再记录缓存,并封装帧,最后将帧发送出去。
7 后面过程都是如此 直到帧到达OO 帧为 OOFF10.1 40.1
8 路由器收到帧后 目标MAC地址是自己的,进行解封装,并将IP包送到路由器内部
9 路由器检查IP包头中的目标IP,匹配路由表找到40.1 直连的 直连路由 IP包到达出接口HH
10 发送ARP广播请求报文,II回应发送单播报文找到40.1的MAC地址,同时ARP缓存表会进行缓存,学习到ARP缓存表
11 重新封装 IIHH10.1 40.1 然后发送 到达交换机 交换机进行自己的工作 检查MAC地址表找到 II 将帧发送过去
12 到达40.1 后进行解封装 得到应用层数据
 
 

ARP协议 路由器原理的更多相关文章

  1. ARP协议工作原理实验

    一.实验目的 验证"在向目的主机发送数据包时会先查询ARP高速缓存,如果ARP高速缓存中已保存了目的主机的MAC地址,不进行ARP查询,使用ARP高速缓存中的MAC地址:如果缓存中没有IP对 ...

  2. ARP协议工作原理

    转载请注明来源:https://www.cnblogs.com/hookjc/ ARP数据包根据接收对象不同,可分为两种:    1. 广播包(Broadcast).广播包目的MAC地址为FF-FF- ...

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

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

  4. 什么是ARP协议?

    ARP协议,全称“Address Resolution Protocol”,中文名是地址解析协议, 使用ARP协议可实现通过IP地址获得对应主机的物理地址(MAC地址). 在TCP/IP的网络环境下, ...

  5. ARP欺骗的原理

    转载请注明来源:https://www.cnblogs.com/hookjc/ 从<ARP协议工作原理>一文我们已经了解到,主机在两种情况下会保存.更新本机的ARP缓存表,    1. 接 ...

  6. ARP协议、路由器详细工作原理

    ARP原理分析 第一次通信时,有对方IP地址但是没有目标MAC地址,该PC就会在网络层启动ARP协议生成一个ARP报文"我叫1.1,我的MAC是AA;谁是1.3,你的MAC是多少?" ...

  7. 图解ARP协议(二)ARP攻击原理与实践

    一.ARP攻击概述 在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答.数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么 ...

  8. 通信原理之IP协议,ARP协议 (三)

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

  9. 描述ARP协议的工作原理,怎么实施ARP攻击和防御ARP攻击

    什么是ARP协议?ARP,即地址解析协议,实现通过IP地址得知其物理地址.在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址.为了让报文在 ...

  10. 图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)

    一.代理ARP概述 我:当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在刚学习网络协议的时候,经常这样直接回应:不就是服务器的MAC嘛! 这时我会反问:那电脑怎么拿到这个服务器的MAC地 ...

随机推荐

  1. Linux磁盘占满处理

    按一下操作查看大文件在哪里, 清理大文件. 你切换到 / du -sh * 进入占用多的目录,再使用du -sh *找到下一个大目录. 以此类推,删除无用大文件

  2. Java基础——IO设计模式总结

  3. Error:java: 无效的目标发行版: 9

    今天碰到一个编译问题,起先以为是jdk版本问题,但是查看了下,发现版本没错. 顿时有一种怀疑人生的感觉. 然后网上找了许久,终于让我找到答案: 下面直接上解决方案: 将版本9改为8,保存,测试运行,可 ...

  4. 操作系统实战45讲笔记- 05 CPU工作模式:程序执行的三种模式

    实模式 实模式又称实地址模式,实,即真实,这个真实分为两个方面,一个方面是运行真实的指令,对指令的动作不作区分,直接执行指令的真实功能,另一方面是发往内存的地址是真实的,对任何地址不加限制地发往内存. ...

  5. tomcat代理,监控及性能优化

    第1章 tomcat简介Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同 ...

  6. vue super flow 多种形状

    1 <template> 2 <v-container class="workflow-container" grid-list-xl fluid> 3 & ...

  7. Hyperledger fabric 续篇

    前面我们如果进行顺利的话,环境已经可以成功运行,并且前端页面也可以正常显示,为自己鼓掌吧!!! 接下来,其实也是我自己想做一下尝试,还记得前面的一条查询车辆情况的指令吗? peer chaincode ...

  8. HTML弹出对话框功能大全

    注://关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javascript>window.close();& ...

  9. HDLbits——Rotate100

    verilog代码: // Build a 100-bit left/right rotator, with synchronous load and left/right enable. //A r ...

  10. 93、springboot 和springcloud版本对比

    https://start.spring.io/actuator/info 建议转为json