路由器的三层转发原理

路由器的三层转发原理

首先,介绍一下将要涉及的几个概念:

IP,全称互联网协议地址,是指IP地址,意思是分配给用户上网使用的网际协议的设备的数字标签。常见的IP地址分为IPv4与IPv6两大类,但是也有其他不常用的小分类。


MAC(Media Access Control,介质访问控制)地址,或称为MAC位址、硬件地址,用来定义网络设备的位置。MAC集成在网卡,由48bit的2进制的数字组成,0~23位数字叫作组织唯一标志符(organizationally unique,是识别局域网节点的标识)。24~47位是由厂家自己分配,其中第48位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家写入网卡的EPROM芯片中,芯片中的数据可以通过程序进行擦写,它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。也就是说,在网络底层的物理传输过程中,数据传输是通过物理地址来识别主机的,它一定是全球唯一的。


ARP(Address Resolution Protocol)即,地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
下面我将以下面这张图片作为例子,解释一下路由器的三层转发原理

假设现在PC1需要向PC2发送报文,那么需要经过以下这些步骤:

  • 一、
    1.首先PC1会检查目的IP发现不是同一网段的,需要进行三层装发。
    2.此时PC1会检查自己的ARP表,发现没有网关的MAC地址,于是PC1会通过发送ARP协议发送广播,
    3.网关收到后会将PC1的MAC地址记录到自己的ARP表,并给一个回应。
    4.PC1得到网关的MAC地址后。PC1会将自己的IP地址作为源IP,PC2的IP地址作为目的IP,将自己的MAC地址作为源MAC,交换机的MAC作为目的MAC,向网关发送报文。
  • 二、
    1.网关在收到报文后,会先检查目的MAC是不是自己。
    2.确定是自己之后,会查询自己的路由表,发现目的IP不是自己的直连网段,这个网段需要通过路由器B的E1接口才能发送过去,而路由表里有路由器B的E1接口的IP。
    3.于是通过ARP广播又获得了路由器B的E1接口MAC地址。
    4.路由器A将会把自己E1接口的MAC地址作为源MAC,路由器B的E1接口MAC地址作为目的MAC,源IP和目的IP不变,向路由器B发送报文。
  • 三、
    1.路由器B在收到报文后也会先检查目的MAC是不是自己。
    2.确认后会查询自己路由表,发现目的IP是自己的直连网段,它会查询自己的ARP表看有没有PC2的MAC地址。
    3.如果没有它也需要通过ARP广播获取到PC2的MAC地址。
    4.得到PC2的MAC地址后,路由器B会将自己E0接口的MAC地址作为源MAC,PC2的MAC地址作为目的MAC,源IP和目的IP不变向PC2发送报文。

原文地址:https://blog.51cto.com/14449541/2427101

时间: 2024-08-02 17:03:42

路由器的三层转发原理的相关文章

简单剖析静态路由三层转发原理并进行路由转发实验

静态路由(英语:Static routing),一种路由的方式,路由项(routing entry)由手动配置,而非动态决定.与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态.一般来说,静态路由是由网络管理员逐项加入路由表.而静态路由的转发方式一般是三层转发.什么是三层转发?可以通过下面的两张图进行理解图看不懂?没关系,三层转发简单来说就是1--2--3--4,最终目标机收到的数据帧格式就如同图二. 而复杂点说三层转发具体由以下5步组成: 1.HostA发出数据帧,

二、三层转发原理(ping过程)

1. 概述 如图1所示,交换机Router,SW1,SW2的所有表项为空,Host 1要ping Host 2,即Host 1要给Host 2发送ICMP echo请求,Host 2收到请求之后,发现是请求自己的IP地址,会回复ICMP echo应答报文. 图1 网络拓扑图 Host 1的IP地址为1.1.1.1/24,默认网关为1.1.1.254,MAC地址为ca02.1a14.0000: Host 2的IP地址为2.2.2.2/24,默认网关为2.2.2.254,MAC地址为ca03.1a1

三层转发原理

1.Host A想要给Host B发送数据包,Host A检查目标的IP地址与自己的不在同一网段,需要通过网关进行转发.然而Host A检查自己的ARP缓存表里没有网关的MAC地址,与是就向A路由器(默认网关)发送ARP请求报文.2.A路由器将Host A的MAC地址学习且记录到自己的ARP缓存表里,并将自己E0接口的MAC地址应答给Host A.3.Host A学习且记录A路由器E0接口的MAC地址,并重新发送ARP报文,然而此时的源IP地址与目标IP地址不变,目的MAC地址换为A路由器E0接

TCP的三次握手和四次挥手与路由器(三层)转发原理

传输层是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层.该层协议为网络端点主机上的进程之间提供了可靠.有效的报文传送服务.其功能紧密地依赖于网络层的虚拟电路或数据报服务.传输层定义了主机应用程序之间端到端的连通性.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层,因为它是源端到目的端对数据传送进行控制从低到高的最后一层.传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程.而在数据传送阶段又

1.1【基本路由原理】(二层转发原理)1

二层转发原理: 交换机的功能: 1.转发(MAC地址表中存在目的MAC地址) 2.泛洪(1.未知单播帧2.广播/组播帧) 3.过滤(1.MAC地址表中存在目的MAC地址,转发也是一种过滤2.如果数据帧的出入口一致,数据帧需要丢弃) (交换机收到数据帧后的行为和动作,广播是广播帧,泛洪是一个动作(未知单播帧/MAC地址表里面没有目的MAC)) (CAM表是可寻址内存,是二进制数,是为了快速交换 MAC表绑定VLAN信息,接口信息,三层转发才需要ARP,二层转发不需要ARP) (MAC地址表老化时间

交换机和路由器各自的实现原理及区别

交换机属于OSI第二层即数据链路层设备.它根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行.交换是指转发和过滤帧. 路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由表路由协议产生.路由是指网络线路当中非直连的链路. 交换机最大的好处是快速,路由器最大的好处是控制能力强. 区别: ①交换是不需要IP的,而路由需要,因为IP就是第三层的协议,第二层需要的是MAC地址. ②第二层的技术和第三层的技术不一样,第二层可以做VLAN.端口捆绑等,第三层可以做N

二层交换机、三层交换机和路由器的基本工作原理和三者之间的主要区别

二层交换机:二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中. 具体如下: (1)当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上: (2)再去读取包头中的目的MAC地址,并在地址表中查找相应的端口: (3)如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上. 三层交换机: 三层交换技术就是将路由技

2.1【基本路由原理】数据转发原理3

数据转发原理 //抓包看ARP的报文结构: 注意Opcode:  1=request  (ARP)        2=reply(ARP) 3=request(RARP)        4=reply(RARP) ***************************************************************************** 普通ARP   ##普通ARP的request报文:   广播(获取目的IP地址的MAC): 目的收到request报文,先检查二

ping 二三层转发

作为一个网络使用者,你也许从来没有思考过源及目的主机之间究竟发生了什么,因为网络对用户来说是一个黑匣子,所有的细节都被屏蔽掉了,你只能知道通还是不通,能不能上网?但是作为一个网络设计者,研究者,你就必须要想想?假如你要ping一台位于美国硅谷的服务器,那么ICMP请求报文从源主机发出之后会发生那些事呢?其实报文的所有的路径都是由各种各样的类似与现实生活中的法律一样的网络协议约束下设计的,报文在离开老巢之后会经过二层接入层交换机,在三层交换机汇聚,从边缘路由器上发送出去,流入了茫茫的interne