网络层(IP协议) && 数据链路层(以太网)

Linux:数据链路层——以太网协议、NAT协议、ARP协议和DNS协议 Linux:数据链路层——以太网协议以太网协议以太网帧格式MTU以及MTU对TCP、UDP、IP协议的影响MTU对TCP协议的影响六级标题 以太网协议 数据链路层:数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。他的作用就是负责相邻设备的转发。 以太网:以太网不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。以太网是当前应用最广 阅读详情

网络协议图 

 先介绍网络层(IP协议)

 一.基本概念

• 主机:配有IP地址,但是不进⾏路由控制的设备;

• 路由器:即配有IP地址,⼜能进⾏路由控制;

• 节点:主机和路由器的统称;

二.协议报文格式

IP协议的复杂程度不亚于TCP,这里就不介绍那么详细,日常开发最多用到传输层就够了,网络层一般不会涉及到

三.IP协议/网络层做的两个工作 

1.地址管理:使用IP地址,这样的概念,来表示网络上某个设备的位置

报头属性的介绍 

 思考:如果基于UDP实现传输超过64kb的数据要怎么设计? 

在应用层协议中就可以表示符,指定片偏移,指定标志位

接下来重点讨论32IP地址 (版本IPV4也是现今世界用的最多的)

32位ip地址是否够用?

32位IP地址能表示的数量最多也就42万亿9千多万(2的32次方),现今能上网的设备早就突破这个数字来,全球的手机电脑,各种只能家具什么的,都需要一个IP地址

不够用了怎么办?

1.动态分配IP地址(治标不治本)

2.NAT网络地址转换(主力方案)

3.IPV6(中级方案) 16个字节来表示ip地址 共有2^32 * 2^32 * 2^32 * 2^32 = 天文数字

接下来介绍NAT(网络地址转换)机制 

 NAT背景下网络通信时如何进行的

1)如果同一个局域网内部的两台设备想通信,是否可以通信?

肯定是没问题的,因为同一个局域网的两台电脑的IP地址肯定是不一样的,可以正常通信

2)两个公网设备进行通信是否可行?

也是没问题的,公网ip都是不重复的,可以正常通信

3)如果两个局域网的两台电脑要通信呢,这两台设备很可能IP地址一样,这时候咋整呢?
当前的规则,是禁止这种情况的!!!!!
如果必要的时间,迫切需要两台设备通信呢?比如两个人在地球的两端发微信通信,这就需要有一个带有外网IP的设备进行中转!

4)局域网内部的设备访问带有外网IP的设备, 是否可行?

可行的,这个过程就涉及到NAT工作机制了

上述是经过IP和端口号经过NAT机制转换的全过程

但是还有一个问题,万一又有一个舍友2的端口号和我俩的重复该怎么办?

这是小概率事件,真出现了也没关系,比如下图舍友2的端口号和我的端口号一样,经过NAT不就跟我的IP冲突了吗

不会的

上述就是NAT机制工作的全过程

5)公网设备尝试访问局域网设备是否可行?

不行!!! 公网中只能看到路由器的公网IP,无法直接定位到局域网内的具体设备,相当于给局域网加了一层"隐身保护"。 

但是有特殊情况,比如:内网穿透

为什么主流是NAT机制而不是使用IPV6版本?


其实IPv6和NAT诞生的时间差不多,为啥NAT能成功呢,而IPv6举步维艰呢?
是因为IPv6和IPv4不兼容,要想升级IPv6,就要更换路由器设备==>花钱
(升级IPv6不会提高网速,更不会提高流畅性)
相比之下,NAT方案只需要路由器开发商开发出新版本的软件(路由器固件),升级软件,即可直接支持(成本非常低)

中国IPV6的普及程度非常高,但是只是普及还没使用,想要使用随时可以大规模更换,主要原因分配IPV4的IP地址的分配权在美国手里,在中美关系下行的局势下,美国一旦不给中国分配IP地址,分分钟让中国全国都不能通信,虽然IPV6美国有话语权,但是中国也有

IP地址的组成

IP地址分为两个部分:网络号+主机号
网络号:标识网段(局域网),保证相互连接的两个网段具有不同的标识
主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号

如果手动把路由器网络号设置成与相邻局域网的网络号,那么这两个路由器都无法通信

子网掩码

特殊IP地址 

强制要求

 习惯用法

小结 

 2.路由选择

上面介绍的知识,主要是IP 协议如何管理地址的.(地址管理)
IP 协议的另一个重要的功能,路由选择.(数据报在 IP 协议下是如何进行传输的)
互联网,整体来说,非常庞大,复杂.任何一个路由器,都无法认识到网络的全貌!!


在高德地图上,如果你搜一个目的地,就能够规划处几条路线.地图软件路径规划,是站在全局的角度,地图服务商这边能够知道整个的城市道路情况, 交通情况做出一个"最优解"但是路由器,无法做到理解全貌,只能认识部分网络环境 (路由器能够知道和它相邻的一些设备的情况)
在这个前提下,进行路由转发,就只能"摸着石头过河”,走一步算一步,这里给出的路径,也不一定是最优解,只能说是"较优解”


路由器转发数据的过程,类似于"问路"

比如↓

 四.数据链路层

在这里只简单的介绍以太网协议

以太网协议不只是数据链路层的协议还包含更下一层的物理层

但凡你的电脑是通过网线上网的走的协议就是以太网协议, 网线==以太网线

通过WiFi上网走的是801.11协议

以太网数据帧

 这里就有一个问题:IP地址和mac地址有啥区别,有了IP地址为啥还有mac地址?

其实理论上来说,网络通信中,有一组地址,就够用了
最初构建 网络层协议的大佬 和 构建数据链路层协议的大佬,不是一伙人~~
发明之前没讨论,所以都发明出来了,但是发明出来之后谁也不服谁,就都留下了
IP 就专门给网络层使用,mac 专门给数据链路层使用~~
程序员日常开发的时候,基本都是和 IP 打交道,不会涉及到 mac

IP 是在网络层使用,关注于整个网络路径的转发传输过程
Mac 是在数据链路层使用,关注与转发的细节,两个相邻设备之间的转发~~

举个例子

 因此我们在通讯的时候,只需要自动填写对方的IP地址,操作系统会查询arp表,自动获取对方的MAC地址,从网卡发出

以太网数据帧其他属性 

 第二种数据类型发送接收ARP

第三种就不介绍了

 

三.DNS域名解析系统

平时我们上网要访问服务器,需要知道服务器的IP地址,而IP地址是渔船数字,虽然这个数字使用点分十进制已经清晰不少了,但是仍然不方便人们传播记忆,于是就使用单词来代替IP地址
使用baidu,taobao等单词来代替IP地址
这样的单词就称为域名,实践中为了保证域名的唯一性,域名往往是分级
www.baidu.com com是一级,baidu是二级,www是三级
域名是给人看的,但是机器不认识,于是就有一套系统,把域名自动翻译成IP地址,这个系统就是DNS

全世界上网的设备这么多,如果每次发起网络请求,都需要先访问 DNS 服务器的话, DNS 服务器就要承担海量的并发量,挂了吗??
如何解决上述方案? 

美国对于IPV4和DNS绝对掌控,中国如何突破(大力发展IPV6) 

具体看这个

电子监听、全国断网,棱镜门背后,中国如何从末路狂奔到世界之巅_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1i14y157YV/?spm_id_from=333.1391.0.0

 

 

分清数据链路层、网络层、传输层的区别,以及这些层面的代表协议 OSI模型的第三层,负责在不同网络之间传输数据包,实现路由选择和数据包的寻址,确保数据包能够从源头正确地传输到目的地,并在网络中进行有效的路由选择。OSI模型的第二层,负责在相邻节点之间传输帧,处理帧的封装、地址、差错控制和流量控制等。无线局域网协议,如IEEE 802.11系列(Wi-Fi),定义了无线网络的物理层和数据链路层规范,包括帧格式、访问控制和安全机制。最常用的局域网技术之一,它定义了包括物理层的电缆、连接器、信号传输技术以及数据链路层的帧格式和访问控制机制(如CSMA/CD)。 阅读详情

相关推荐

ABP框架实战:从零搭建多租户应用(含完整代码示例)

本文详细介绍了如何使用ABP框架从零构建多租户SaaS应用,涵盖多租户架构设计、数据隔离实现、租户管理及性能优化等核心内容。通过完整的代码示例,帮助开发者快速掌握企业级数据隔离系统的开发技巧,提升SaaS应用开发效率。

weixin_29247219的博客 262

以太网详解(七)网络层协议概述

常见网络层协议IP(Internet Protocol):是互联网中最基本的协议,用于在网络中传输数据包。IP 协议定义了数据包的格式、寻址方式和路由选择等信息,是整个互联网的基础。ICMP(Internet Control Message Protocol):用于在 IP 网络中传递控制消息和错误信息。ICMP 通常用于网络设备之间的通信,如路由器和主机之间的通信,以及用于检测网络连通性和故障诊断。

s1_mple的博客 995

Win11系统下Abaqus 2025子程序开发环境一站式配置指南

本文详细介绍了在Win11系统下配置Abaqus 2025子程序开发环境的完整流程,包括VS2022和Intel oneAPI的安装与优化,以及Abaqus 2025的目录规划与环境联调。通过避坑指南和实战案例,帮助用户高效完成开发环境配置,避免常见错误,提升工作效率。

weixin_28717431的博客 332

以太网Ethernet通信协议

以太网协议(Ethernet Protocol)是一种广泛应用于局域网(LAN)和广域网(WAN)的计算机网络通信协议。它是一种基于共享介质的局域网技术,最早由Xerox、Intel和Digital Equipment Corporation(DEC)于1970年代开发,并在1980年代初由IEEE标准化为IEEE 802.3。以太网根据最大传输速率的不同可以分为标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)、千兆以太网 (1000Mbit/s)和万兆以太网(10Gbit/s)。

STATEABC的博客 2万+

华为Atlas 300I推理卡驱动安装避坑指南:不同安装方式的选择与优化

本文详细解析华为Atlas 300I推理卡驱动安装的三种主流方式(.run、.rpm和源码编译),提供关键环境检查步骤、安装流程优化建议及常见问题解决方案,帮助开发者高效完成芯片推理卡部署并规避典型安装陷阱。

q9w8e7r6t5的博客 431

使用示波器通过串口抓取数据波形

当我们在软件上发送一个数据,需要在示波器上正确的显示发送数据的波形时,这个过程是需要按照软件上串口配置的参数对示波器进行调节的,本次使用的示波器(型号为RIGOL DS1102Z-E)外观如下图所示,本次对采集波形的调节主要用到以下几处按钮。具体是两条导线T+连接R+、T-连接R-,连接完毕后,打开XCOM软件,首先配置好参数后打开串口,如下所示,若在发送窗口发送数据在接收窗口可以实时显示到的话,证明串口的收发功能是正常的。1.CH1、CH2是示波器上的两个采集通道,本次波形采集使用的是CH1通道。

weixin_58061628的博客 1万+

网络原理 IP协议与以太网协议

本篇文章主要介绍了网络层的IP报文格式,地址管理,IP地址,NAT机制工作原理,网段划分,路由选择,DNS, 以及数据链路层的以太网协议。

matexiang的博客 1926

基于资源预测的Agent弹性伸缩:在成本与响应延迟间寻找最佳平衡点

手动伸缩:完全由运维人员人工调整副本数或服务器数量,效率极低,现在基本只用于极小规模的业务。反应式伸缩:基于当前实时监控指标触发伸缩规则,比如CPU利用率超过70%就加2个副本,是目前应用最广泛的方案,典型代表是K8s HPA、KEDA。预测式伸缩:基于历史时序数据预测未来的负载,提前进行伸缩,解决反应式伸缩的滞后性问题,典型代表是AWS Predictive Scaling、阿里云预测式HPA。智能Agent伸缩。

SuperAGI2025 133

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

当ARP层收到这个数据包后,发现ARP数据包当中的op字段为1,于是判定这是一个ARP请求,然后再提取出ARP数据包当中的目的IP地址字段,虽然局域网当中的所有主机都会将该数据包交给自己的ARP层,但最终只有主机B发现ARP数据包当中的目的IP地址与自己相同,因此只有主机B会对该ARP请求进行应答,而局域网当中的其他主机在识别到ARP数据包当中的目的IP地址与自己不匹配后,就会直接将这个ARP请求报文丢弃。当然是不行的,因为一个局域网中就有大量的主机,主机数量可比局域网多多了,这样维护成本就太大了。

zdlynj的博客 1908

Android 64位支持的坑:诡异的文件名问题

最近在尝试发布我的Android应用程序的更新时,遇到了一个令人困惑的64位错误。本文将详细讲解这个问题的产生原因及解决方法,供大家参考。

m0_74337424的博客 122

ArXiv 2026 即插即用 | Transformer篇 | WeightFormer:告别二次复杂度!无注意力的线性时间 Transformer,泛化能力拉满

WeightFormer是一种创新的动态Transformer架构,其核心创新在于通过双动态算子(空间自适应动态卷积和双边激活动态线性)实现输入自适应的特征提取。该模块采用静态-动态权重融合机制和低秩预测技术,在仅增加5%参数量的情况下显著提升模型泛化能力。相比传统Transformer,WeightFormer在ImageNet-1K上提升2.3%精度,小样本任务提升12%,同时保持线性计算复杂度。模块可直接替换标准Transformer块,特别适合轻量级视觉任务,实现了精度与效率的平衡。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 128

以太网基础——TCP/IP协议

TCP/IP协议包含了一系列的协议,也叫做TCP/IP协议族(TCP/IP Protocal Suite,或者TCP/IP Protocols),简称TCP/IP,TCP/IP协议族提供了点对点的连接机制,并且将传输数据帧的封装,寻址,传输,路由以及接收方式,都予以标准化。

笨蛋大乌龟的博客 2549

[Python从零到壹] 十三.机器学习之聚类算法四万字总结全网首发(K-Means、BIRCH、树状聚类、MeanShift)

欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。Python系列整体框架包括基础语法10篇、网络爬虫30篇、可视化分析10篇、机器学习20篇、大数据分析20篇、图像识别30篇、人工智能40篇、Python安全20篇、其他技巧10篇。您的关注、点赞和转发就是对秀璋最大的支持,知识无价人有情,希望

杨秀璋的专栏 2万+

[线程与网络] 网络编程与通信原理(五): 深入理解网络层IP协议与数据链路层以太网协议

🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)🧀Java EE(96平均质量分)🍭MySql数据库(93平均质量分)🍬算法(97平均质量分)

无需多言 2327

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【Linux网络】网络层IP协议,数据链路层:以太网、ARP协议

网络层IP协议,数据链路层:以太网、ARP协议。交换机的主要工作原理是通过对MAC地址的寻址和转发来实现数据的交换。当交换机接收到一个数据帧时,它会检查帧头中的目的MAC地址,并在自己的MAC地址表中查找匹配的条目。

小羊的博客 2042

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

IP协议与以太网

IP协议与以太网

如风暖阳的博客 2218

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数据链路层之以太网

在前面,我们已经讲了在TCP/IP模式下的几个层次:应用层——程序员自定义协议、传输层——常用的TCP协议、UDP协议、网络层——IP协议,那么本篇我们就来了解一下在数据链路层的以太网协议。

zhyhgx的博客 1759

网络原理IP协议/以太网

目录 1.IP协议 1.1地址管理 1.1.1普通地址 1.1.2特殊地址 1.1.3NAT机制 1.2路由选择 1.以太网协议 2.DNS协议 一、网络层 1.IP协议 ①IP协议的报头格式以及各部分说明: ②对以上其它重要部分再次进行说明: 1.16位总长度: 16位,64k,也就是说单个IP数据报最大程度不能够超过64k。但是在实际中,我们不免会遇到超过64k的数据报,那么这个时候该怎么办呢? 我们就只能使用IP协议自身实现的分包,组包的操作。 而下面介绍的这三

weixin_58850105的博客 5957

网络层IP协议和数据链路层--理解NAT/NAPT路由技术

IP协议与数据链路层

小青菜的博客 4071

【网络】数据链路层协议——以太网,ARP协议

前面我们已经学习了网络的基础知识,对网络的基本框架已有认识,算是初步认识到网络了,如果上期我们的学习网络是步入基础知识,那么这次学习的板块就是基础知识的实践,我们今天的板块是学习网络重要之一,学习完这个板块对虚幻的网络就不再迷茫!!!二Mac地址也称物理地址,硬件地址,由网络设备制造商生产时烧录在网卡上。Mac是制造商为网络硬件(如无线网卡或以太网卡)分配的唯一地址。Mac代表媒体访问控制,每个代码对应一个唯一的设备。

AAlykk的博客 1758

IP协议+以太网协议

网络层重点协议,IP协议,ARP协议,NAT转换流程,MAC帧格式

weixin_54175406的博客 6228

【LInux网络】数据链路层 - 深度理解以太网和APR协议

本篇博文对【LInux网络】数据链路层 - 深度理解以太网和APR协议做了一个较为详细的介绍,不知道对你有没有帮助呢觉得博主写得还不错的三连支持下吧!会继续努力的~

2301_77954967的博客 996

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

当网络层IP协议被发明并投入使用的时候,我们发送的报文便有能力在整个网络世界中规划出到达目标主机的路径。当传输层TCP协议、UDP协议被发明并投入使用的时候,我们便能自主选择发送的报文是否需要可靠传输至目标主机。网络层IP协议和传输层TCP协议的配合,就能保证发送的报文。但我们需要明确的是,整个大的网络世界是由无数个小的子网构成的,报文发送的过程是基于一个个子网进行跳转的,子网之间通过路由器进行连接。所以,相隔多个子网的主机之间想要实现,首先要解决的问题就是—— 这就是数据链路层要解决的问题。

知其然 知其所以然 2173

网络层(IP)和数据链路层(以太网)的关系

一、路由选择 二、IP协议中的路由选择 三、数据链路层协议(以太网) 1.负责的工作 2.核心的协议 3.举例说明传输层,网络层,数据链路层之间的关系 4.描述数据使用的不同术语(很少区分) 5.以太网帧格式 四、mac地址(数据链路层的地址) 1.mac地址介绍 2.如何查看自己主机的mac地址 2.IP地址和mac地址区别 3.画图描述mac地址 五、ARP协议 1.作用 2.工作过程 六、DNS 域名解析系统 1.为什么发明DNS域名解析系统? 2.DNS域名解析系统作用 3.全世界这么多的电脑,都需

SwitchD的博客 7443

网络层IP协议与数据链路层以太网协议

IP协议是我们网络层的代表协议,今天我们就来一起学习一下吧,我们这里介绍的主要是IPv4协议。 版本:指定IP协议的版本,版本的取值只有4,6两个头部长度:用来描述IP报头多长,报头中有一个选项部分,是可有可无的,我们可以自己调节它的大小,单位为4字节服务类型(TOS):这里给的是8位,实际只有4位有效,分别代表IP协议的四种工作模式(最小延时,最大吞吐量,最高可靠性,最小成本)总长度: 描述了IP数据报的总长度(报头 + 载荷) 大家需要注意,16位的总长度,是否意味着一个IP数据报,最大只能支持64K

buhuisuanfa的博客 1619

数据链路层之以太网协议和网络层IP协议

在 IP 数据包交付的过程中,在数据链路层会对数据包进行添加报头信息。以太网协议就是数据链路层的一个重要协议。这样说其实不太准确,因为以太网协议是一个规定数据链路层及物理层的协议,不能说它是数据链路层的一个协议。 以太网帧 以太网帧就是将网络层交付的数据添加报头信息后,此时的数据以帧的形式传递。以太网帧的格式如下: 在这里,目的地址与源地址这里都指的是 MAC 地址。每一个主机对应唯一的...

剑云的博客 916
上一篇: 传输层:UDP/TCP协议
下一篇: JVM(Java虚拟机)
刘 大 望
博客等级 码龄2年 896粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值