Java EE|TCP/IP协议栈之数据链路层协议详解

news2024/11/25 22:27:55

文章目录

    • 一、数据链路层协议感性认识
      • 数据链路层简介
      • 以太网简介
      • 特点
    • 二、以太网数据帧格式详解
      • 帧头
      • 不同类型对应的载荷
    • 三、关于MTU
      • 什么是MTU
      • MTU有什么作用
      • ip分片(了解)
    • 参考

一、数据链路层协议感性认识

数据链路层简介

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DBE89r85-1677298755556)(F:\typora插图\image-20230225104751280.png)]

从上图可以看出 , 在TCP/IP协议族中 , 链路层主要有三个目的 :

  1. 为IP模块发送和接收IP数据报 ;
  2. 为ARP模块发送 ARP请求和接收ARP应答 ;
  3. 为RARP发送RARP请求和接收RARP应答。

实际上,各个设备之间在数据传输时,数据链路层和物理层都是必不可少的。众所周知,计算机以二进制0、1来表示信息,然而实际的通信媒介之间处理的却是电压的高低、光的闪灭以及电波的强弱等信号。把这些信号与二进制的0、1进行转换正是物理层的责任。数据链路层处理的数据也不是单纯的0、1序列,该层把它们集合为一个叫做**“帧”**的块,然后再进行传输。

以太网简介

在众多数据链路中最为著名、使用最为广泛的莫过于以太网(Ethernet)

那么具体什么叫做以太网呢?

以太网是一种计算机局域网技术。

以太网" 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等; 例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等;

以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等 。

以太网实现了网络上无线电系统多个节点发送信息的想法,每个节点必须获取电缆或者信道的才能传送信息,有时也叫作以太(Ether)。(这个名字来源于19世纪的物理学家假设的电磁辐射媒体-光以太。后来的研究证明光以太不存在。) 每一个节点有全球唯一的48位地址也就是制造商分配给网卡的MAC地址,以保证以太网上所有节点能互相鉴别。由于以太网十分普遍,许多制造商把以太网卡直接集成进计算机主板。

特点

实时性、确定性

二、以太网数据帧格式详解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n59zkC3e-1677298755558)(F:\typora插图\image-20230225115552068.png)]

帧头

下边我们来探讨下边几个问题:

1.这里为什么要再单独弄出来一套地址体系?用原来的ip地址不可以吗?

简而言之,这是一个历史故事。当然可以。

再最初大佬们研发初代ip协议栈的时候,研发网路层和数据链路层协议的是两伙人,他们各自研发了一套地址协议。

该不是特别好改,后来干脆就演化成了两套地址体系,也就是我们现在看到的相互配合的现状。

2.ip地址怎么才能和mac地址相互配合呢?

ip地址用来描述整个传输过程中的起点和中的那,mac地址则是描述网络中两个相邻节点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nVNPQfPd-1677298755558)(F:\typora插图\image-20230225114721233.png)]

对于本地计算机,我们如何查看mac地址呢?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yn5BK2ws-1677298755559)(F:\typora插图\image-20230225115058967.png)]

不同类型对应的载荷

对于不同类型属性,对应的数据帧格式有所不同,他们有什么作用呢?

对于0800:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2CopPItw-1677298755559)(F:\typora插图\image-20230225115412943.png)]

对于0806:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DKDAujBP-1677298755560)(F:\typora插图\image-20230225115436362.png)]

对于8035:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgt9Myor-1677298755561)(F:\typora插图\image-20230225115459131.png)]

其中ARP是数据传输层另外的协议,通过这个协议,可以让路由器认识局域网中其他的设备。通过ARP协议会在交换机/路由表中建立出一个表,这个表相当于一个hash表,能够建立出ip和mac之间的映射关系。

三、关于MTU

什么是MTU

MTU,即maximum transmission unit,最大传输单元,指的的是数据链路层的最大payload,是一个硬性限制。

载荷具体多长,和使用的物理介质和数据链路层使用的协议有很大关系。大概率情况下,数据链路层的MTU都比64kb要小。

MTU有什么作用

有了mtu,有助于长报文更方便的分包(ip分片),帮助他们可靠传输。

ip分片(了解)

概念:当IP数据报超过帧的MTU(最大传输单元)时,它将会被分片传输。**分片能发生在发送端或者中转路由器,且在传输过程中可能被多次分片。**在最后的目标机器上这些分片才会被内核的的IP模块重新组装。

相关阅读

参考

[数据链路层的一些理解](漫话TCP/IP:数据链路层-以太网(1) - 知乎 (zhihu.com))

以太网的一些理解

MTU参考

1

拓展阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/373480.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「JVM 高效并发」Java 线程

进程是资源分配(内存地址、文件 I/O 等)的基本单位,线程是执行调度(处理器资源调度)的基本单位; Loom 项目若成功为 Java 引入纤程(Fiber),则线程的执行调度单位可能变为…

搭建Vue工程

搭建Vue工程 localhost 127.0.0.1 域名 IP 192.168.0.28 联网IP 最后都会渲染到一个页面里面,有多少个页面就有多少个页面模板。 vue里面改webpack配置 vue.config.js 配置参考 | Vue CLI /assets /api* 开发的时候用到的请求后台地址 和 项目真实部署上线的时候 请…

Linux 练习二 (VIM编辑器 + GCC编译器 + GDB调试)

文章目录VIM命令思维导图GCC编译器1、GCC编译文件练习2、静态库动态库制作练习将此函数编译成动态库将此函数编译成静态库GCC优化选项 -OnGDB调试命令练习练习一:编写一个程序,通过gdb调试,使用到gdb的b,n,s&#xff0…

ccc-台大林轩田机器学习基石-hw1

文章目录Question1-14Question15-PLAQuestion16-PLA平均迭代次数Question17-不同迭代系数的PLAQuestion18-Pocket_PLAQuestion19-PLA的错误率Question20-修改Pocket_PLA迭代次数Question1-14 对于有明确公式和定义的不需要使用到ml 智能系统在与环境的连续互动中学习最优行为策…

Android OTA 相关工具(四) 查看 payload 文件信息

文章目录1. payload_info.py 的使用1. 环境2. 帮助信息2. 查看 payload 文件信息1. 不带选项查看2. 使用 stats 选项查看3. 使用 signagures 选项4. 使用 list_ops 选项查看3. 其它一直以来,很多人都表达过很想去研究一下 Android OTA 的 payload 文件,看…

CSDN原力增长规则解读 实测一个月

CSDN原力越来越难了,当然,这对生态发展来说也是好事。介绍下原力增长有哪些渠道吧。发布原创文章:10分/次,每日上限为15分、2篇回答问题:1分/次,每日上限2分,2回答发动态:1分/次&…

MyBatis 的工作原理解析

文章目录前言一、mybatis工作原理1.1 流程图1.2 步骤解析1.3 代码实现前言 本文记录 Mybatis 的工作原理,做到知识梳理总结的作用。 一、mybatis工作原理 Mybatis 的总体工作原理流程图如下图所示 1.1 流程图 1.2 步骤解析 Mybatis 框架在工作时大致经过8个步骤…

【ArcGIS Pro二次开发】(9):GeoProcessing工具和自定义工具的调用

ArcGIS Pro自带了1000种以上的GeoProcessing工具,几乎可以实现所有你想要做的事。 ArcGIS Pro的二次开发并不需要我们从底层做起,很多功能只要学会调用工具并组合使用,就完全可以实现。 下面介绍如何调用系统自带的GeoProcessing工具&#x…

pmp考试费用要多少?

PMP所带来的费用分为三种:PMP考试费用,PMP培训费用,以及PMP续证费用一、PMP 费用⭕PMP考试费用这个属于PMP本身的考试费用,由PMI机构收取,然后是交给人才管理中心的,费用是3900元人民币,补考的话…

蓝桥杯 考勤打卡

问题描述 小蓝负责一个公司的考勤系统, 他每天都需要根据员工刷卡的情况来确定 每个员工是否到岗。 当员工刷卡时, 会在后台留下一条记录, 包括刷卡的时间和员工编号, 只 要在一天中员工刷过一次卡, 就认为他到岗了。 现在小蓝导出了一天中所有员工的刷卡记录, 请将所有到岗…

机器学习可解释性一(LIME)

随着深度学习的发展,越来越多的模型诞生,并且在训练集和测试集上的表现甚至于高于人类,但是深度学习一直被认为是一个黑盒模型,我们通俗的认为,经过训练后,机器学习到了数据中的特征,进而可以正…

Python 多进程多线程线程池进程池协程

目录 一、线程与进程很简单的介绍 1.1 线程与进程的区别 二、多进程Process 2.1 多进程与多线程的区别 2.2 多进程为啥要使用队列 2.3 控制进程运行顺序 2.3.1 join , 2.3.1 daemon 守护进程 2.4 进程id 2.5 进程 存活状态is_alive() 2.5 实现自定义多…

python“r e 模块“常见函数详解

正则表达式:英文Regular Expression,是计算机科学的一个重要概念,她使用一种数学算法来解决计算机程序中的文本检索,匹配等问题,正则表达式语言是一种专门用于字符串处理的语言。在很多语言中都提供了对它的支持,re模块…

python+pytest接口自动化(2)-HTTP协议基础

HTTP协议简介HTTP 即 HyperText Transfer Protocol(超文本传输协议),是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。HTTP 协议在 OSI 模型中属…

外贸人用远程工具进行跟单的详细操作

大多了外贸企业为了能保证公司的正常运作,是允许员工远程办公甚至居家办公的。那么作为外贸人员如何用远程软件跟单?怎么用远程软件进行跟单操作? 今天就分享外贸人用远程工具进行跟单的详细操作。 首先我们需要远程连接到我们办公的电脑或服…

JavaScript:严格模式

一、理解严格模式 1.1、JavaScript 是一门弱类型语言,为了防止导致不可预测的错误,增加代码规范,为了使编写的代码变得更合理、更安全、更严谨,ECAMscript5 提出了"严格模式",处于严格模式下运行的 JavaScr…

Mybatis 分页插件 PageHelper

Mybatis 分页插件 PageHelper 使用步骤&#xff1a;(不咋好用) 1.导入依赖&#xff1a; <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.3.0</version&g…

《图机器学习》-GNN 《A Single Layer of a GNN》

这里写目录标题一、A Single Layer of a GNN二、Classical GNN Layer1、GCN2、GraphSAGE3、GAT三、GNN Layer in Practice一、A Single Layer of a GNN 单层的神经网络包括两个部分&#xff1a; 消息转换(Message)信息聚合(Aggregation) GNNLayerMessageAggregationGNN\ Laye…

物联网的新应用--触摸物联网

摘要&#xff1a;本文介绍一下触摸物联网的新进展--电子皮肤的物联网应用。还以为物联网的作用领域单单是从现场采集数据或者传输命令到执行设备吗&#xff1f;不&#xff0c;物联网的应用范围远比控制一盏灯大的多。据网上报道&#xff0c;香港城市大学&#xff08;城大&#…

【软件测试面试题】大厂头条:如何定位bug?实际案例拿offer还不简单......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 问题&#xff1a; 用…