首页 > 其他分享 >ARP协议 路由器原理

ARP协议 路由器原理

时间:2022-09-26 16:12:51浏览次数:59  
标签:ARP IP 广播 MAC 地址 原理 路由器

ARP协议 路由器原理   0   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 需求分析   0   6 ARP攻击与欺骗 原理: 通过发送伪造虚假的ARP报文(广播或者单播)来实现的攻击或者欺骗 攻击:结果为中断通信(断网) 如: 虚假报文的MAC地址是伪造的,不存在的,以此来实现ARP攻击 欺骗: 结果为 可以监听,窃取,篡改,控制流量,但不中断通信 虚假报文的是自己的MAC地址,以此来实现ARP欺骗 0 如果图中PC3 发送的报文中 MAC地址是虚假的不存在的 则会造成PC1 的中断通信 这是ARP攻击 如果图中PC3 发送的报文中 MAC地址是他自己本身的 则会造成 PC1余PC2 的通信 PC3 可以通过抓包进行获取 同时以此可以进行修改信息 但不会中断通信 这是ARP欺骗   ARP协议没有验证机制 ARP攻击者通过发送虚假伪造的ARP报文对受害者进行ARP缓存投毒     路由器工作原理:   0     路由器的工作原理 凡是可以配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,IP,广播,MAC,地址,原理,路由器
From: https://www.cnblogs.com/shycom/p/16731280.html

相关文章

  • Mysql原理学习
    存储引擎数据库引擎是数据库用于存储、处理和保护数据的核心服务,不同的数据库引擎有其各自的特点,如存储机制、索引技巧、主键的处理、锁的粒度等特点便随着引擎的不同而变......
  • PADS应用笔记:Logic画原理图时设置图业大小
    问题画原理图时默认的图业太小,想换大点怎么办方法在工具->选项界面进入设置界面,在这个界面下进行设置......
  • JS promise 原理
    Promise对象有三种状态:pending、fullfilled 和 rejected,分别代表了promise对象处于等待、执行成功和执行失败状态。创建promise对象后处于pending状态,pending状态......
  • SOLID 设计原理揭秘
    SOLID设计原理揭秘本文最初发表于https://www.learncsdesign.com坚硬的是五项设计原则的首字母缩写词,旨在使软件设计更易于理解、灵活和可维护。它们是由RobertC......
  • HashMap底层原理及jdk1.8源码解读
    一、前言写在前面:小编码字收集资料花了一天的时间整理出来,对你有帮助一键三连走一波哈,谢谢啦!!HashMap在我们日常开发中可谓经常遇到,HashMap源码和底层原理在现在面试中是......
  • 并发原理—如何保证多条指令的原子性(二)
    一、提出问题:一条CPU原语指令如何保证多条指令的原子性从上篇文章我们知道当多个CPU访问(此处访问的含义不仅有读取内存数据的意思,同时也有往内存写入数据的意思)同一个数据......
  • ARP协议
    ARP协议ARP分组格式ARP请求和ARP应答ARP缓存表为什么有很多ARP请求不是广播帧免费ARP参考资料ARP协议ARP(AddressResolutionProtocol)地址解析协议,用来在局域......
  • 拉格朗日插值原理及实现(Python)
    拉格朗日插值原理及实现(Python)目录拉格朗日插值原理及实现(Python)一.前言二.3种形式的Lagrange插值函数推导1.原始形态的Lagrange插值2.第一形式Lagrange插值3.第二形......
  • ExecutorService、Callable、Future实现有返回结果的多线程原理解析
    原创/朱季谦在并发多线程场景下,存在需要获取各线程的异步执行结果,这时,就可以通过ExecutorService线程池结合Callable、Future来实现。我们先来写一个简单的例子——publ......
  • 逆向工程核心原理---RVA转RAW
    逆向工程核心原理---RVA转RAWImageBase,基址,如:0x00400000VA,VirtualAddress,虚拟地址,如:0x00418ABCRVA,RelativeVirtualAddress,相对虚拟地址,如:0x00......