OSI七层模型中的数据链路层

ops/2024/11/9 16:44:46/

                                                    图片:数据帧的格式

这里面的一个关键点是,数据的源IP和目标IP在哪里?

就在图中的“数据”里面,这个“数据”也就是网络层的数据包,如果是TCP类型的数据包,数据包里面就包含TCP类型的首部信息,如果是UDP类型的数据包,数据包里面就包含UDP类型的首部信息。

这个就是数据帧和数据包的关系。如图,数据帧是把数据包包含在内的。

1)字段解析:

-目的地址: 接收主机的MAC地址(6个字节=48个bit)

-源地址: 发送数据主机的MAC地址

-类型: 用来表示上一层使用的什么协议,如果是0x800 代表上层协议是 ip协议

-数据: 要传输的数据(包含IP包头,包含TCP包头,包含数据)

-帧校验序列: 数据校验,检查数据是否损坏,好的就接收,坏的就丢弃 2)一个数据帧的大小范围是 64字节—1518字节

数据链路层的主要设备是交换机

主要协议是vlan

vlan可以隔离广播

为什么要隔离广播,因为网络的带宽是有限的,比如一个用户办理的宽带是100Mbps,也就是每秒能传递的数据量是100兆比特,相当于12.5兆字节。而网络中的广播也是数据,所以当同一个平面的广播太多的时候,带宽就被占用了很多,能够给用户传递数据的带宽就变少,所以用户就会感觉网速很慢。

所以vlan的主要作用就是隔离广播,顺带着提高了网络中的隐私和安全,因为不同的vlan之间默认不能相互通信。

另外一个数据链路层比较重要的就是mac地址

每个数据帧上面有源mac地址和目标mac地址

当图中pc1(ip  192.168.10.10 )向pc2(ip  192.168.20.20 )发送信息的时候,

源mac地址是pc1,目标mac地址是路由器g0/0/0的mac地址

为什么?因为pc1找非同网段的ip的时候,就会把数据包给到网关,pc1上是设置了自己的网关地址的,所以发送之前,会发个arp地址解析请求,谁是我的网关的端口,然后路由器的g0/0/0,就会把自己的mac地址发送给pc1,然后pc1就会把数据帧的目标mac地址设置为路由器的g0/0/0的mac地址

然后,路由器的g0/0/1会发广播,谁是20.20,然后pc2就会回应它。

路由器就会把数据帧的源mac地址改为g0/0/1的mac地址,目标mac地址改成pc2的mac地址。

路由器是怎么知道pc2的mac地址的?

也是通过arp(address resolution protocol)问谁是20.20,把你的mac地址发过来。

数据在通过路由器转发的时候,数据包里面的IP地址是不变的,括号源ip和目标ip。

而数据帧的mac地址是变化的,包括源mac和目标mac。

这个点,对于理解lvs dr模式负载均衡技术中,所用到的地址伪装方法,

实现负载均衡器向后端服务器的请求分发,

以及后端服务器不经过负载均衡器,

直接把请求处理结果返回给客户端线路的

数据通信流程

应该有一点帮助

另外说一点,lvs-dr模式之所以性能比较优秀的原因之一,就是因为数据的返回线路不用经过负载均衡服务器。负载均衡服务器只用分发来访的数据。所以负载均衡服务器的负载差不多减少了一半。


http://www.ppmy.cn/ops/102881.html

相关文章

Seata 的四种模式一览

文章目录 1. XA模式1.1 两阶段提交1.2 Seata 的 XA 模型1.3 XA 优缺点1.4 实现XA模式 2. AT 模式2.1 Seata 的 AT 模型2.2 AT 流程梳理2.3 AT 与 XA 的区别2.4 AT 的脏写问题2.5 AT 的优缺点2.6 实现 AT 模式 3. TCC模式3.1 流程分析3.2 Seata的TCC模型3.3 优缺点 4. SAGA模式4…

携程:从MySQL迁移OceanBase的数据库发布系统实践

作者简介:杨晓军 现就职于携程的数据库团队,主要负责携程数据库的研发与管理,专注于提升数据库的稳定性。 自分布式关系型数据库OceanBase开源以来,携程已经在线上环境中进行了广泛的应用,取代了原先以MySQL为主力的业…

基于 XILINX FPGA 的 Cameralink Full 模式相机采集系统技术分析方案

《基于 XILINX FPGA 的 Cameralink Full 模式相机采集系统技术分析方案》 **一、引言** 随着科技的不断发展,对图像采集和处理的要求越来越高。基于 XILINX FPGA 的 Cameralink Full 模式相机采集系统以其强大的功能和高性能,为众多领域提供了高效的图…

RabbitMQ 集群与高可用性

目录 单节点与集群部署 1.1. 单节点部署 1.2. 集群部署 镜像队列 1.定义与工作原理 2. 配置镜像队列 3.应用场景 4. 优缺点 5. Java 示例 分布式部署 1. 分布式部署的主要目标 2. 典型架构设计 3. RabbitMQ 分布式部署的关键技术 4. 部署策略和实践 5. 分布式部署…

垃圾收集器与内存分配策略

对象引用以及回收 如何判断对象已死 引用计数算法 在对象当中添加一个引用计数器,每当有一个地方引用它,计数器就加一,引用失效的时候,计数器减一,初始化计数器为1,当计数器为0的时候,对象就…

Spring Boot常用注解及其含义

Spring Boot常用注解及其含义 注解含义SpringBootApplication标记主应用程序类,包含Configuration、EnableAutoConfiguration和ComponentScan。EnableAutoConfiguration启用Spring Boot的自动配置功能,根据类路径中的依赖自动配置应用程序。Configurati…

黑神话悟空-俯视地图-真实光线-修改视野-人物替换 合集mod

俯视地图说明:使用后就可以在游戏内打开俯瞰大地图,来确认各种支线,并且还能看到地图上给玩家准备好的标记,不需要查询攻略就能轻松做完支线。 N键-打开俯瞰模式 十字键—移动镜头 鼠标滚轮-缩放 O键-镜头复位 I键&#xff1a…

Golang小项目(1)

Golang小项目(1) 前言 本项目适合Golang初学者,通过简单的项目实践来加深对Golang的基本语法和Web开发的理解。 建议前往 torna.top 查阅效果更佳 项目结构 . ├── main.go └── static├── form.html└── index.html项目流程图 定义三个路由: /:首页,显示static…