HCIA 交换机原理与ARP协议
一、概述
交换机(Switch),在网络通讯中属于非常重要而基础的设备,常见资料往往侧重于介绍某一点或对某个名词的解释,本文试图从用户使用的角度来理解交换和交换机,不过仅限于HCIA的层次,也就是比较浅层但希望是可以比较全面和实用。
二、交换
其实从名字看,我们就能大概知道交换机的作用是在网络中“传递”数据的,而且是默认不带限制的“传递”,但传递这个词比较偏向于一对一的传递,而交换机是多对多的传递,所以交换机这个名字就取的很好。
常见交换机一般会有很多端口,比如24口的、48口的,目的就是要尽可能多的让设备接进来实现互通。
1.一对一
假设现在有两台电脑需要通讯,我们只需要简单的“直连”即可,像下图这样。配置好PC的IP就可以直接互通了。
2.多对多
但我们工作中不可能只有两台电脑,比如一个办公室少说也有三五个人,每人一台电脑该怎么办呢。在很久很久以前其实还有方案就是“集线器”,像下图这样。
集线器的特点是每个端口收到的数据都向其他端口转发,其实对于小规模应用或者一台主发其他设备只收也是可以的。但如果网络比较大,或应用比较多,大量的PC需要互相通信,那集线器这样的东西肯定不行了。因为通信受限于端口的带宽,如果每一个信号都向所有端口转发那集线器就太忙了。
如果让你基于集线器的特性来改造你会怎么办?其实好办,我给PC都编个号(也就是MAC地址),同时让集线器”记住”各端口连的PC的MAC地址问题不就解决了吗。比如下图这样,设备如果记住了MAC地址与端口的对应关系,PC6向PC9发数据时,设备就知道只需要向E0/0/4转发即可。交换机其实就是这么个原理。
那如果单台交换机的端口不够了咋办,没关系可以串联的,比如下图这样。通过MAC地址与端口对应表,PC6如果向PC11发包就只需要走这样的路径:LSW5的E0/0/5->LSW6的E0/0/3->LSW7的E0/0/1。
那现在的问题就变成了,如何在交换机中维护这样一个MAC地址表?那就是ARP协议啦。
三、ARP协议与ARP表
考虑如下的网络结构,如果PC1想要与PC2通讯它该怎么办?
对于PC1来说它知道如下信息:
1)自己的IP
2)自己的MAC地址
3)PC2(目标)的IP
同时它还知道自己与交换机连着的。所以当PC1需要向PC2发数据而它又不知道更多信息的情况下,它可以向交换机发一个广播包“问一问”谁是PC2(通过目标IP)。我们知道广播包可以转发到网络中所有设备的所有端口,所以如果PC2真实存在的话,它一定是能收到的,像下图这样。
在PC2收到ARP广播的同时,网络中所有交换机其实也都收到了,甚至也包括了PC3,所以网络中所有的PC设备可以做如下记录:
192.168.0.11 的MAC等于5489-9893-0811
当PC2记录了上述信息后,它需要回应PC1,所以它会发一个ARP的响应报文来告知PC1自己的MAC地址,像下图这样。
如此各PC可以生成如下的ARP表:
PC1:
PC2:
PC3:
然后有一点不知道你是否注意到了,PC3的ARP表中只有PC1的MAC而没有PC2的,也就是PC1发的ARP报文是广播而PC2发的响应报文并不是广播。原因是网络中不光PC在记录MAC地址,交换机也是有记录的,因为交换机的记录它可以做到将PC2的响应报文原路送回给PC1而不需要广播。
四、ARP与MAC表
前面我们说PC1因为只知道目标IP其他啥也不知道,所以它需要发一个ARP广播到网络中问问目标你到底在不在啊,同时也将自己的MAC地址和IP告知了网络中所有设备,这其中就包括了交换机,所以各交换机可以做如下记录。
当PC2响应ARP包时,各交换机又可以添加一笔如下记录。
如此一来,除了PC机可以记录下ARP表,交换机还能记录下下图这些MAC地址表。
LSW3:
LSW2:
LSW4:
如此,依据PC机的ARP表(IP与MAC对应关系)和交换机的MAC表(端口与MAC对应关系),数据就可以在PC机间高效的传输啦。
五、报文传输
假设网络中PC机已完善了ARP表,交换机已完善了MAC表。
PC1需要向PC2发送一个消息,这个消息只需要知道IP即可,因为PC1的ARP表中有PC2的MAC地址,网卡会自动把这个信息放到报文中并传递给LSW3。LSW3收到报文后可以查询自己的MAC表,发现目的MAC来自E0/0/1,所以它会通过E0/0/1端口将报文传递出去,也就是给了LSW2。同样的LSW2查询MAC表知道要向E0/0/2传递,所以报文传递给了LSW4。LSW4查MAC表知道目标MAC就在自己的E0/0/1端口,它直接传过去就行了,于是PC2就这样收到了来自PC1的报文。
六、回顾
本篇我们了解了交换机的工作原理,以及与交换功能密切相关的ARP协议、ARP表、MAC地址表。
常用命令:
PC机查询ARP表:arp -a
交换机查询MAC表:display mac-address
HCIA 交换机原理与ARP协议相关推荐
- ARP协议详解,ARP协议执行原理、ARP协议如何根据IP地址寻找Mac地址?
「作者主页」:士别三日wyx 「作者简介」:CSDN top200.阿里云博客专家.华为云享专家.网络安全领域优质创作者 ARP协议 一.什么是ARP协议 1. Mac地址 2. 网络层的数据 3. ...
- dhcp服务器1(dhcp原理,arp协议原理)
一.dhcp工作原理 dhcp(Dynamic Host configuration Protocol,动态主机配置协议 )是一个局域网的 网络协议,它主要是通过客户端发送广播数据包给整个物理网段内的 ...
- 计算机网络——ARP协议(地址解析)原理
摘要 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的 ...
- TCP/IP协议基本概括+ARP协议详解+DNS协议详解---Linux学习笔记
TCP/IP协议的体系结构: TCP/IP协议族四层模型和OSI七层模型 上层协议使用下层协议的服务,下层协议给上层协议提供一个接口. 四层模型中各个层次的作用和特点 上图说明: 最底层是数据链路层, ...
- 计网--- ARP 协议
ARP 协议 一. ARP 协议 ①. ARP协议介绍 ②. ARP分组的格式 ③. ARP 的工作原理 一. ARP 协议 ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题. ...
- ARP工作原理以及ARP欺骗、中间人攻击
目录 什么是ARP?ARP的作用是什么? ARP的工作原理? ARP欺骗? ARP欺骗.中间人攻击实验? 什么是ARP?ARP的作用是什么? ARP即地址解析协议,属于网络层,作用是根据已知的IP地址 ...
- 图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)
一.代理ARP概述 我:当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在刚学习网络协议的时候,经常这样直接回应:不就是服务器的MAC嘛! 这时我会反问:那电脑怎么拿到这个服务器的MAC地 ...
- 图解ARP协议(二)ARP攻击原理与实践
一.ARP攻击概述 在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答.数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么 ...
- 物理层(网线)、数据链路层(交换机)、网络层(IP协议、ARP协议、ICMP协议、路由器)、VLAN(虚拟局域网)、HSRP协议、ACL、NAT
文章目录 物理层(Physic Layer) 数据链路层(2层 Data Link Layer) 1.帧结构: 2.帧格式: 3.工作在数据链路层的设备: 交换机/网卡 4.交换机基本的工作原理:MA ...
最新文章
- Python生物信息学⑥绘制热图及火山图
- 算法在ros中应用_烟火检测算法——中伟视界人工智能算法AI在智慧工地、石油中的应用_腾讯新闻...
- 使用openssl给web站点颁发证书
- python创建csv文件并写入-Python 将数据写入文件(txt、csv、excel)
- python前段管理3
- struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo
- 信用卡逾期不还是否要坐牢?看法律是怎么规定的
- 萨义德与巴伦博依姆关于音乐和文学的对话
- jquery数组(操作数组元素)
- php中可以实现分支,PHP中的分支及循环语句
- 分布式session的6种解决方案
- ssm框架中前台html如何接受后台的数据_计算机毕业设计中实现java后台的微信小程序...
- 《精通javascript》几个简单的函数(二)
- python工作流界面_python 版工作流设计
- SeaWeedFS安装以及部署,以及master模式和filer模式的介绍
- 架构师应该具备什么技能
- 南京大学生租房补贴申领必看
- 【武忠祥高等数学基础课笔记】定积分
- 安卓手机如何一键去水印
- 如何用java实现一个p2p种子搜索(3)-dht协议实现