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. MyBatis_09(逆向工程)

    MyBatis的逆向工程 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表.Hibernate是支持正向工程的 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: J ...

  2. SMW0 对应 MIME TYPE 无法包进请求上传

    SAP Notes - SAP for Me 2228060 - SMW0 Key entry for table MIMETYPES may only be generic Resolution S ...

  3. ansible笔记第三章(Ansible--tasks任务控制)

    (1)when判断语句 实践案例一.根据不同操作系统,安装相同的软件包 [root@m01 project1]# cat tasks_1.yml - hosts: oldboy tasks: - na ...

  4. VIM的撤销与恢复设置行数

    vim撤销操作:u vim恢复操作:ctrl+r 设置行数:    :set nu

  5. printf函数size_t的替换字符串zu

    参考:https://stackoverflow.com/questions/2524611/how-can-one-print-a-size-t-variable-portably-using-th ...

  6. [*]Is L2 Physics-Informed Loss Always Suitable for Training Physics-Informed Neural Network?

    NeurIPS 2022 本篇工作对PINN中的物理损失进行了探究,作者认为L2损失并不总是适用于训练PINN.并从PDE解的稳定性角度给出了理论性的说明.读了这篇文章,感觉自己的毕业论文做的十分浅显 ...

  7. android studio 导出 release aar

  8. Posggresql插件Multicorn安装问题总结

    根据官网https://multicorn.readthedocs.io/en/latest/installation.html的安装指南下载安装,关键信息: Postgresql 9.1+ Post ...

  9. npm run serve 报错问题 (npm ERR! code ELIFECYCLE)

    运行 npm cache clean --force删除 node_modules删除 package-lock.json运行 npm install最后 npm run serve

  10. python装饰器中高级用法(函数加参)

    在上一章我们说到装饰器的原则和基本用法,下面来补充一下:如果函数加参,装饰器该如何变化 1,还是用上一章的源代码 2,给test2加个参数name 报错了,本来给test2加一个name参数,为了实现 ...