首页 > 其他分享 >二层&三层转发原理

二层&三层转发原理

时间:2024-11-24 15:21:59浏览次数:6  
标签:ARP 表项 二层 IP MAC Host2 转发 三层 数据包

ARP-地址解析解析

ARP是通过已知的IP地址获取相对应的MAC地址的协议。
如果本地没有目的的MAC地址,则通过发送ARP广播来学习:二层头部中目的MAC是全1,二层到三层之间ARP头部中的目的MAC是全0。
但对方回应的是ARP单播。

二层转发

同一网段(同一广播域)内的通信为二层通信。
比如一台交换机上连接的两台设备(Host1 Host2)之间的通信。
第一次通信时,Host1在封装数据包时,发现Host2的IP地址和自己的IP地址在同一网段。
就采取二层通信过程,第二层数据包封装时,会封装Host2的MAC地址,于是查看本地的ARP表。发现没有Host2对应的表项。
ARP工作原理1

于是向交换机发送一个ARP广播,第三层头部目的IP为Host2的IP地址,第二层头部目的mac为1,同时,加上ARP头部封装在二层到三层之间,ARP头部的目的mac为全0.
ARP工作原理2

交换机在收到Host1的数据包时,会根据接受数据包的源端口和源mac地址,更新/新增一条表项到交换机的mac地址表。
比如图中的就是GE 0/0/1 3C-52-82-49-7E-9D(Host1的mac地址)

交换机根据目的mac查找mac地址表,发现目的IP是全1,即广播,于是把Host1发来的数据包复制转发到除接收端口以外的其他所有已激活端口上,又称泛洪。

与交换机相连的已激活端口上的设备收到这个广播包时
根据目的IP判断:如果目的IP是自己,就回应一个ARP单播数据包;如果目的IP不是自己的IP,就丢弃数据包,不做任何操作。

只有Host2收到数据包时,发现目的IP是自己的IP,于是Host2收到数据包时,
根据源IP和源IP更新自己的ARP表项:新增一条Host1的IP-MAC表项。后续Host2向Host1发送数据包时,就可以根据这个表项来封装二层、三层的目的IP和MAC。
ARP工作原理3

然后回应一个ARP单播包:源IP源MAC是Host2自己的IP和MAC,目的IP和目的MAC是Host1的IP和MAC。
ARP工作原理4

交换机收到这个数据包时,会根据源MAC地址和接收到这个数据包的端口来新建一条MAC地址表项:GE0/0/2 48-A4-72-1C-8F-4F。

之后如果有数据包的目的MAC是Host2时,直接把数据包通过GE0/0/2转发给Host2即可。

交换机查看目的MAC,发现是Host1,根据已有的MAC地址表项,将数据包通过GE 0/0/1发送给Host1。

Host1接受到数据包,根据源IP和目的IP判断出这个是Host2回应给自己的数据包,

于是,根据源MAC地址,更新自己的ARP表项:新建一条Host2的IP和MAC对应的ARP表项。

然后Host1与Host2通信时,就根据本地的ARP表项来封装二层和三层的头部。

ARP工作原理5

交换机转发

从上面的交换机转发过程可知,交换机是根据源MAC和接受数据包的源端口来更新/新增MAC地址表项,并根据MAC表来转发数据包的。

  • 广播帧
    如果接受的是广播包,在学习源MAC和源端口后,将这个数据包泛洪到其他所有端口。
  • 未知单播帧
    在学习源MAC和源端口后,收到的数据包中目的MAC在本地找不到对应的MAC地址表项,也是将这个数据包泛洪到其他所有端口。
  • 已知单播帧
    收到数据包后,在学习源MAC和源端口后,目的MAC在本地有对应的MAC地址表项,于是根据MAC地址对应表项,将数据转发给对应的端口即可。

三层转发

如果将上层的交换机换成路由器,那么Host1与Host2之间的通信即为三层通信了。

这个图中路由器与Host之间的端口为Host的网关。

第一次通信时,Host1向Host2发送数据包,根据目的IP判断,Host2和自己不是同一网段(广播域),也没有对应的ARP表项。

Host1不能通过ARP广播来学习Host2的MAC地址,以为路由器会隔离广播域,广播数据包到达网关就不会转发出去了。

但是跨网段的数据包,下一跳必然是网关。于是,Host1在封装数据包时,目的IP是Host2的IP,但是目的MAC是网关的MAC。

这样网关接收到数据包后,解封装到第二层时,发现目的MAC是自己,于是继续解封装,打开第三层头部发现目的IP是Host2的IP。

路由器查看本地路由表,发现Host2对应的网段与自己相连,于是通过GE0/0/2转发。并且通过查看ARP表项,封装目的MAC为Host2的MAC。

此时,目的IP是Host2,目的MAC是Host2的MAC地址。源IP和源MAC不变。

Host2收到数据包后,发现目的MAC和目的IP是自己,于是根据源IP和源MAC更新本地ARP表项,

并且回应数据包:源MAC和源IP是自己,目的IP和目的MAC是Host1.

标签:ARP,表项,二层,IP,MAC,Host2,转发,三层,数据包
From: https://www.cnblogs.com/liam-wuhan/p/18565855/network-engineer

相关文章

  • MacOS通过X11转发远程运行virt-manager进行虚机分配
    今天需要通过本地macbook机器连接远程物理机,执行虚机分配,现有文档仅提供window环境安装,如下整理Mac环境下的安装步骤操作篇前提条件支持x11转发的terminal,我本地使用iTerm2;本地安装XQuartz,作为X11服务器;ssh连接远程机器时使用参数-X;远程物理机已经安装virt-manager;操作......
  • QtCreator通过CMake多文件编译.cpp、.qss、.h、.ui文件,达到MVC三层架构的效果
        博主在构建C++项目的时候,一般都喜欢将头文件和源文件分开为不同的文件夹,比如include目录下只存放.h文件和.ui文件,src目录下只存放.cpp和.qss文件,res目录下只存放图片、音频等文件,这时候使用CMake对项目进行分文件管理就特别方便和清晰了。  很多人写qt项目的......
  • 华为三层交换配置
    DHCP配置及中继dhcpenable#dhcpserverdatabaseenable#dhcpservergroupdhcpgroup200dhcp-server172.29.210.10#interfaceEthernet0/0/21portlink-typeaccessportdefaultvlan200#interfaceEthernet0/0/22descriptionyiyatongportlink-typeaccessportdefa......
  • 内网渗透-隧道代理转发
    目录前言环境搭建工具清单工具使用Frp命令执行实验Lcx命令执行实验reGeorg命令执行实验Proxifierew(EarthWorm)正向代理命令执行实验反向代理命令执行实验SocksCapnetsh命令执行pingtunnel命令执行实验ngrok命令执行&&实验cs命令执行实验前言本文章介绍内网渗透中本人常用的一些......
  • 实现远距离通信 PS304数字接口转发器实现UART转换为I2C、SPI、1Wire等多种数字接口!
    实现远距离通信PS304数字接口转发器实现UART转换为I2C、SPI、1Wire等多种数字接口!PS304多种数字接口物理层协议转发器,能够实现UART转换为I2C、SPI、1Wire等其他数字接口,以实现远距离通信。该转发器具备内嵌磁隔离双电源及辅助增强电源电路、自适应线缆算法和强大灵活的S2S协议......
  • OpenWrt 运行 tailscale 登录 headscale,配置路由转发
    headscale安装参考:https://www.cnblogs.com/nihaorz/p/18455027tailscale安装cd/var/lib/curl-OLhttps://pkgs.tailscale.com/stable/tailscale_1.74.1_arm64.tgztar-zxvftailscale_1.74.1_arm64.tgzmvtailscale_1.74.1_arm64tailscalermtailscale/systemd/tails......
  • apisix Admin API配置TCP路由转发
    apisixAdminAPI配置TCP路由转发 一、开启和配置stream代理1、修改/usr/local/apisix/conf/config.yaml文件新增以下配置apisix:proxy_mode:http&streamstream_proxy:tcp:-9100-"192.168.1.110:9101"udp:-9200......
  • Spring Boot 三层架构开发模式入门
    在SpringBoot项目中,构建清晰、易于维护的代码结构至关重要。传统业务逻辑方式往往将所有代码混杂在一起,导致代码难以理解、修改和扩展。三层架构模式的出现正是为了解决这些问题,让我们深入了解它带来的改变。一、传统业务逻辑方式假设我们要实现一个简单的员工查询功能,传......
  • FRP内网穿透-端口转发
    参考链接:使用frp实现内网穿透教程_frp内网穿透-CSDN博客frp是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS等,并且具备P2P通信功能。使用frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网IP的节点进行中转。frp主要由......
  • gps卫星转发器 导航信号转发器 北斗转发器
    在现代社会的工作中,我们都会使用到卫星信号。但存在一个现象,那就是卫星信号不能够穿透建筑物,生产车间、实验室等室内环境下的测试工作就会遇到困难。SYN2309型GNSS信号转发器是由西安同步电子科技有限公司精心设计、自行研发生产的一款增益可调的GNSS全频段卫星信号转发系统,主要功......