网络层、链路层理解

article/2025/10/13 14:05:42

1.网络层和链路层关系

2.网络层

路由器

其实计算机本身就有路由器的功能,路由器可以理解成专用的特化简化型计算机,因此数据包的第一次转发发生在计算机本身。这也是为什么在不用路由器,纯交换机组局域网的时候,IP地址也会被需要的原因,因为当前的互联网实现下,不可能没有路由器,计算机就实现了路由器功能。

路由器承担的功能非常多,而且还会担当着不同的角色:

  • 路由选择。算法上主要是dijskra算法和DV算法,需要用到路由选择协议;
  • 转发。在网络层的转发,在人理解的层面上主要用到路由表(主要是实现上会做优化,所以有相应的给机器看的其他表);
  • 网关。路由表的下一跳也乘坐网关,内网到外网的路由器也称为网关,AS之间的交接路由器也称为网关,感觉概念有点模糊就是了;
  • DHCP。用于局域网内自动分配ip地址;
  • NAT。用于内网IP地址和外网IP地址的相互转换,名字上就表明了其功能,NAT = 网络地址转换;

相关表和协议

  • 路由选择协议。 每个AS(自治系统)内都可以有不同的路由选择协议,所以有AS内部路由选择协议、AS间路由选择协议之分,其中AS之间的网关路由器是两种协议都需要,并作转接之用;
  • ARP协议。 由于网络层是工作在链路层的基础上,所以IP地址需要转换为MAC地址,否则就不能工作。ARP协议就是这种转换所用到的,主要是将下一跳IP地址(路由表中的gateway字段)转换为下一跳的MAC地址。具有学习功能,如果ARP表已学习到了表项则直接转换,否则会进行广播而得到应答后再在ARP表中增加相应表项;
  • 路由表。 且先不论复杂的路由选择协议是如何运作的,最终的结果就是生成了路由表,路由的格式大致如下。我之前思考过,为什么路由表需要下一跳地址? 原因我还没完全理顺逻辑,暂时的理解就是封装出一层网络层之后,我们用户传输中手动指定的就是IP地址了,目标MAC地址对于用户来说是隐藏的,路由器之间的传输更是如此,这个下一跳IP地址是给路由通过ARP协议转换成MAC地址的。以下为路由表大致格式,摘自百度文库:
    在这里插入图片描述
  • ARP表。 在相同网段的局域网,也就是同一子网中,将IP地址转换为MAC地址用到的表,大致格式为:IP地址、MAC地址、TTL。计算机本身就有路由器功能,所以PC本身就具有ARP表,所以当只有交换机组局域网的时候,IP到MAC的映射就是PC本身完成的,因此这种组网方式需要把局域网内IP都配置成同一子网例如(192.168.0.1/24、192.168.0.2/24、192.168.0.3/24)。以下为win上的输出,但和内部的字段略不同:
    在这里插入图片描述
  • PPPoE。 其实一般被认为工作在数据链路层的。是以太网的点对点链路传输协议,其实还具有例如获取IP地址之类的功能;
  • RIP、OSPF。 AS内部路由选择协议。RIP算法部分可以理解成采用DV算法,而OSPF则是采用了Dijstra算法;
  • BGP。 AS间的路由选择协议;
  • DHCP。 用于局域网内自动分配IP地址;

摘录两个传输的简单例子:

  • 局域网内传输:
    在这里插入图片描述假设主机222.222.222.220要向222.222.222.223发送数据包,由于是相同子网内,实际就是在ARP表中查找出MAC地址,再通过路由器的MAC表进行转发即可:
    1、 数据包在主机222.222.222.220的ARP模块中查找222.222.222.223的对应MAC地址;
    2、发出数据包;
    3、经由交换机转发(在相关协议中是隐形的);
    4、到达主机222.222.222.223;
  • 跨局域网传输:
    在这里插入图片描述假设主机111.111.111.111要向主机222.222.222.221发送数据包,大致会执行如下步骤:
    1、主机111.111.111.111,在其路由表中查询目的地址222.222.222.221的表项,并获得下一跳地址111.111.111.110;
    2、主机111.111.111.111,在其ARP表中查询目的地址111.111.111.110的表项,并获得下一跳MAC地址E6-E9-00-17-BB-4B;
    3、发送数据包,并隐形地经由相连交换机到达路由器;
    4、路由器,在其路由表中查询目的地址222.222.222.221的表项,并获得下一跳地址目的地址222.222.222.221,以及转发接口x;
    5、路由器,在其ARP表中查询目的地址222.222.222.221的表项,并获得下一跳MAC地址88-B2-2F-54-1A-0F;
    6、发送数据包,并隐形地经由相连交换机到达主机222.222.222.221;

其他相关点

  • IP地址;
  • 自治系统AS;
  • 网关;
  • 内网与外网;
  • VPN;

3.链路层

to be continued…


http://chatgpt.dhexx.cn/article/Tj6ntvsR.shtml

相关文章

链路层协议——以太网协议

以太网协议 一、以太网帧格式二、ARP协议2.1 协议格式2.2 作用2.3 工作流程2.4 ARP局域网欺骗攻击 三、MTU对于上层协议的影响3.1 TCP协议的影响3.2 UDP协议的影响 链路层协议主要是负责相邻设备之间的数据传输。 一、以太网帧格式 max地址:网卡设备的物理硬件地址&…

链路层交换机及和路由器的比较

文章目录 前言一、交换机转发和过滤二、帧来到交换机可能发生的情况三、自学习三、链路交换机的性质四、交换机和路由器比较 前言 交换机的任务是接收入链路层帧并将它们转发到出链路;交换机自身对子网中的主机和路由器是透明的;这就是说,某主机/路由器向另一个主机…

链路层、网络层、传输层、应用层长度

1、概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。      以太网(Ethernet)的数据帧在链路层      IP包在网络层      TCP或UDP包在传输层      TCP或UDP中…

计算机网络原理 - 网络层、链路层总结笔记

计算机网络原理 - 网络层、链路层 ##4.网络层 网络层主要是利用IP上的传输,在路由器中最高达到的层次为网络层,分组交换机只到链路层;IP准确来说不是一个主机的地址,而是一个接口的地址。 4.1 概述 网络层的作用:将分…

【计算机网络】链路层

链路层和局域网 1、链路层概述1.1链路层提供的服务1.2链路层在何处实现 2、差错检测和纠正技术2.1奇偶校验2.2检验和方法2.3循环冗余检测 3、多路访问链路和协议3.1信道划分协议3.2随机接入协议3.2.1时隙ALOHA3.2.2ALOHA3.2.3载波侦听多路访问CSMA3.2.4具有碰撞检测的载波侦听多…

BLE 链路层(LL)的数据结构

一 链路层的数据结构 在链路层上传输的数据格式如下图所示: 广播报文和数据报文都包含 Preamble(前导码), AccessAddress(接入地址),PDU(数据),CRC。其中Constant Tone Extension是可选的。 前导码接入地址PDU HeaderLengthpayloadMIC(可选…

计算机网络自顶向下-链路层

链路层和局域网 两台主机之间,数据报跨越一系列通信链路传输,一些是有线链路一些是无线链路,从源主机起,通过一些了分组交换机在目的主机结束。在链路层中有两种不同的链路层信道, 第一种是广播信道,这种信…

链路层信道详解

文章目录 一、链路层概述链路层提供的服务链路层在何处实现 二、差错检验和纠正技术奇偶校验检验和方法循环冗余检测 三、多路访问协议信道划分协议时分多路复用(TDM):频分多路复用(FDM):码分多址&#xff…

计算机网络-链路层

一、概述 1.相关概念 节点:运行链路层协议的任何设备。链路:沿着通信路径连接相邻几诶单的通信信道。 2.提供的服务 2.1 成帧 几乎所有的链路层协议都要将数据报用链路层帧封装起来。一个帧由一个数据字段和若干首部字段组成,其中网络层…

链路层协议

文章目录 1. 链路层协议1.1 链路层协议与IP协议 2. 以太网帧与IP数据包2.1 以太网帧2.1.1 实用地位2.1.2 以太网帧格式 2.2 串行接口链路层协议 S L I P2.2.1 实用地位2.2.2 链路帧格式 2.3 串行接口链路层协议 P P P2.3.1 实用地位2.3.2 PPP 帧格式 2.4 环回接口2.4.1 环回定义…

链路层---->MAC地址,链路层与网络层对比

链路层 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> . 链路层和网络层…

链路层数据帧格式总结

创作人QQ:851301776,邮箱:lfr890207163.com,欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点! 个人座右铭: 1.没有横空出世,只要厚积一定发。 2.你可以学…

蓝牙相关学习:4.3.BLE协议链路层

BLE协议链路层 一、链路层二、信道分类跳频(Hopping) 三、状态机状态机的五种状态主还是从一对多 四、空口协议(Air Interface Protocol)空口包(Air Interface Packet)以白名单(White List&…

数据链路层简介

文章目录 一、基本概念二、主要功能1.封装成帧2.透明传输3. 差错控制4. 流量控制5. 链路管理认识MTU 三、相关协议1. PPP协议2. ARP协议 一、基本概念 链路(Link):一个节点到另一个相邻节点的一段物理线路,中间没有任何其他节点。链路由传输介质和物理设…

计算机网络 —— 链路层详解

文章目录 一,数据链路层基本概念1. 为什么要设置数据链路层2. 数据链路的主要功能1)链路管理2)帧同步3)流量控制4)差错控制5)透明传输6)寻址 3. 链路层的三个基本问题1)封装成帧2&am…

计算机网络---数据链路层

(一)基本概念 数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。 换言之&#x…

计算机网络之链路层

两台主机之间,数据报跨越一系列通信链路传输,一些是有线链路一些是无线链路,从源主机起,通过一些了分组交换机在目的主机结束。在链路层中有两种不同的链路层信道, 第一种是广播信道,这种信道用于有线局域…

tcp粘包 java_详说tcp粘包和半包

tcp服务端和客户端建立连接后会长时间维持这个连接,用于互相传递数据,tcp是以流的方式传输数据的,就像一个水管里的水一样,从一头不断的流向另一头。 理想情况下,发送的数据包都是独立的, 现实要复杂一些&a…

php处理粘包,Swoole怎么处理粘包

什么是 TCP 粘包? TCP 粘包是指发送方发送的若干包数据 到 接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。 TCP 出现粘包的原因? 发送方:发送方需要等缓冲区满才发送出去,造成…

什么是粘包和拆包,Netty如何解决粘包拆包?

Netty粘包拆包 TCP 粘包拆包是指发送方发送的若干包数据到接收方接收时粘成一包或某个数据包被拆开接收。 如下图所示,client 发送了两个数据包 D1 和 D2,但是 server 端可能会收到如下几种情况的数据。 上图中演示了粘包和拆包的三种情况:…