Linux-网络层IP协议、链路层以太网协议解析

目录

  • 网络层:
    • IP协议
    • 地址管理
    • 路由选择
  • 链路层

网络层:

网络层:负责地址管理与路由选择 — IP协议,地址管理,路由选择

IP协议

数据格式
4位协议版本:4-ipv4协议版本
4位首部长度:以4字节为单位
8位服务类型:3位优先权弃用,4位TOS,1位固定为0
16位数据报长度:IP报文最大大小64k;udp报文中数据最大大小 < 64k-28
16位分片标识:udp报文大小大于MTU但是小于64k-18,则会在网络层进行数据分片,将一个完整的大的报文分割成为多个小的数据分片,封装IP报头进行传输;TCP的传输不会再网络层进行数据分片,tcp再三次握手阶段就会双方协商mss(最大数据段大小)网络通信时,数据大小都不会大于mss,而mss就是根据mtu计算出的最合适的数据传输大小。
16位分片标识:标识当前分片属于哪个报文
3位分片标志:1位保留,1位禁止分片
13位分片偏移:多个数据分片在对端会进行分片重组,而分片偏移就是用于标识当前分片再原始报文中的位置(相对于起始位置的偏移量)。13个比特位最大数字:8192,无法在64k报文中标识偏移量,因此分片偏移是以8字节为单位的。
8位TTL:报文生存周期 – 当前默认是64/128,每经过一次路由转发就会-1,为0时,则将数据丢弃。
8位上层协议:当前数据所使用协议 – 用于数据分用时选择解析协议
16位校验和:校验数据一致性
32位源端-对端IP地址:描述通信两端主机
0~40的选项数据:保存一些路由信息…
-在这里插入图片描述

地址管理

地址管理
IP地址的管理是按照网络进行管理的(大的网络也是由许多小网络组成)
IP地址组成:192.168.2.13
网络号:是一个网络的标识,一个网络中分配的地址都拥有相同的标识
只要保证每个网络的网络好不同,则每个网络分配的IP地址不会冲突
主机号:在一个网络内主机的标识
网段的划分
A:高1位固定为0,7位网络号,24位主机号
A类网络,网络号范围:0~127;每个网络拥有256256256个主机
B:高2位固定10,14位网络号,16位主机号
B类网络,网络号范围128.0~191.255
C:高3位固定110,21位网络好,8位主机号
C类网络,网络号范围192.0.0~223.255.255;每个网络拥有256主机
当前划分-CIDR:在早期基础上,使用子网掩码进行更细致的网络划分
子网掩码:无符号4字节整数,必须由连续的二进制1组成
1.子网掩码取反可以得到一个网络最大的主机号
最大主机号+1就是子网中的主机号个数
192.168.2 子网掩码:255.255.255.240,取反后前三个为0,最后一个00001111,为15,因此在该网络中能分配的IP范围是192.168.2.0~192.168.2.15
2.子网掩码与IP地址相与,可以得到网络号。与相邻网络的子网掩码逐个相与判断当前目标地址属于哪个网络
举例:有一个公司,申请了一个C类网络号1992.58.45.0,公司由四个部分,需要将这个C类网络平均划分为四个子网,请问如何划分,每个子网的子网掩码是多少,IP地址分配范围是多少,网络号是多少?
解答:这是C类网络,拥有256个主机号,平均划分四个子网,则每个子网拥有64个主机号,0~63,子网掩码是63取反,得到子网掩码:255.255.255.192
即四个子网为:
192.58.45.0~192.58.45.63;255.255.255.192;192.58.45.0
192.58.45.64~192.58.45.127;255.255.255.192;192.58.45.64
192.58.45.128~192.58.45.191;255.255.255.192;192.58.45.238
192.58.45.192~192.58.45.255;255.255.255.192;192.58.45.192

特殊的IP地址
0.0.0.0 – 可被识别为本机任意网卡IP地址 - 常用于服务器绑定监听地址
255.255.255.255全网广播地址
127.0.0.1:每个主机的虚拟回环网卡的地址 – 进行本地网络回环测试
主机号全为0的IP地址:就是网络号 – 不能分配给某个主机
主机号全为1的IP地址:UDP局域网广播地址 — 不能分配给某个主机
一个网络内所能分配的主机号个数是总的个数-2

公网与私网:外网与内网
公网/外网:通常是我们所说的互联网
私网/内网:一个组织所建立的内部私有网络(无法直接与外部通信)
私网内部的主机,如果仅是私网内部通信,则没有什么特殊的
如果私网内部主机想要向外通信,最终实际上使用的是私网对外的这个公网网卡进行的。
私网内的多个主机对外通信,都是用的是同一私网对外的IP地址,因此组建私网可以节省大量的公网IP地址
主要因为不同的私网可以使用相同的私网IP地址而不冲突,因为私网内部主机对外通信时使用的是不同的对外公网IP
组建私网的IP地址与公网中的IP地址不能重复:组建私网的IP地址是有固定地址的,这些地址不会再公网中被使用:10.*.*.*:大型私网;172.16.*.*~172.31.*.*:中型私网;192.168.*.*:小型私网

路由选择

路由选择:在复杂的网络环境中为每一条数据选择合适的路径进行转发
路由表:每个路由器上都会拥有的一个信息
Destination:目标网络号
Gateway:网关地址
Genmask:子网掩码
Iface:连接这个网络的网卡

链路层

链路层:负责相邻设备之间的数据传输
以太网协议:ehternet
协议格式:
48位源端-对端mac地址:识别指定相邻设备
mac地址:uint8_t mac[6] – 网卡的物理硬件地址–出厂时设定
16位协议类型:用于数据分用时上层解析协议的选择
32位数据帧尾:校验和进行差错校验

在这里插入图片描述

如何获取相邻指定设备的MAC地址:ARP协议
ARP协议:介于网络层和链路层之间的协议–通过IP地址获取MAC地址
在局域网广播ARP请求(smac+sip+0+dip)(以太网帧中的对端MAC地址全为1–广播地址)
相邻设备收到ARP请求后,检测目的IP地址是否与自己符合,不符合则直接丢弃,符合则组织ARP应答,将自己MAC地址填充进行回复。
两端都会将MAC-IP的映射关系保存一段时间(20~30分钟)

MTU:链路层限制的最大传输单元 - 以太网默认1500字节
MSS-最大数据段大小 = MTU - IP最小报头长度 - TCP最小报头长度
TCP:MTU=1500;则MSS=1460
UDP;MTU=1500;则MSS=1472
MTU对TCP传输的影响
TCP传输三次握手阶段会协商MSS,双方取较小的乙方的mss作为最大数据段大小进行传输,每次从发送缓冲区中取出不大于mss大小的数据封装报头进行传输。 因此我们说,tcp在传输层会自定进行数据分段,因此不会再网络层进行数据分片
MTU对于UDP传输的影响
UDP可没有MSS协商,只要数据段大小小于64k-28就可以传输,但是若大于MTU大小,则会在网络层会进行数据分片,而分片在对端会进行分片重组,一旦一个分区出问题整个报文都会被丢弃(udp不保证可靠传输,丢弃就没了),因此,分片越多,传输出问题的几率就越高。因此使用UDP传输,程序员最好在上层分包时就计算MSS大小分包,尽量减少分片概率。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaEE企业开发新技术3

目录 2.11 Method的基本操作-1 文字性概念描述 代码&#xff1a; 2.12 Method的基本操作-2 2.13 Method的基本操作-3 2.14 数组的反射操作-1 文字性概念&#xff1a; 代码&#xff1a; 2.15 数组的反射操作-2 学习内容 2.11 Method的基本操作-1 文字性概念描述 Me…

python 深度学习 记录遇到的报错问题12

本篇继python 深度学习 记录遇到的报错问题11_undefined symbol: __nvjitlinkadddata_12_1, version-CSDN博客 目录 一、AttributeError: module ‘tensorflow‘ has no attribute ‘app‘ 二、AttributeError: module tensorflow has no attribute placeholder 三、Attribu…

Qt登录页面

#include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget) {ui->setupUi(this);//接收动图QMovie *mv new QMovie(":/pictrue/luori.gif");ui->loglab->setMovie(…

zabbix6.4监控mysql数据库

目录 一、前提二、配置mysql数据库模板三、配置监控的mysql主机 一、前提 已经搭建好zabbix-server 在需要监控的mysql服务器上安装zabbix-agent2 上述安装步骤参考我的上篇文章&#xff1a;通过docker容器安装zabbix6.4.12图文详解&#xff08;监控服务器docker容器&#xf…

《2024年中国企业CRM软件国产替代趋势研究报告》重磅首发

编者按 近日&#xff0c;Salesforce移动应用在中国大陆苹果应用商店的下架&#xff0c;预示着今年CRM国产化替代即将迎来高潮。CRM作为距离业务最近的软件&#xff0c;被公认为是企业数字化转型、高质量发展的核心系统之一。“企业如何选择一款真正满足自身业务需求的本土化CR…

线程安全的List之CopyOnWriteArrayList

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 ArrayList是线程不…

嵌入式C语言(十)

内建函数 这篇我们来看看什么是内建函数欸&#xff1f; 什么是内建函数 内建函数&#xff0c;顾名思义&#xff0c;就是编译器内部实现的函数。**这些函数和关键字一样&#xff0c;可以直接调用&#xff0c;**无须像标准库函数那样&#xff0c;要先声明后使用。 **内建函数…

ChatGPT是什么,怎么使用,需要注意些什么?

一、ChatGPT 是什么&#xff1f; ChatGPT&#xff0c;全称聊天生成预训练转换器&#xff08;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;是 OpenAI 开发的人工智能(AI)聊天机器人程序&#xff0c;于2022年11月推出。该程序使用基于GPT-3.5、GPT-4架构的…

权限管理系统-0.6.0

七、员工端审批 员工端审批的大致流程如下图&#xff1a; 这个模块目的是实现员工在微信端的审批提交和处理功能&#xff0c;为了与之前的管理系统区分开&#xff0c;新建一个controller完成这些功能。 7.1 查询审批分类和审批模板 7.1.1 后端接口 //controller Api(tags …

elementUI Tree 树形控件单选实现

文章目录 展示效果代码实现elementui Tree树形控件其他详细数据 在Element UI中&#xff0c;树形控件&#xff08;el-tree&#xff09;本身不支持单选功能。但是&#xff0c;你可以通过监听节点点击事件并手动更新选中状态来实现单选树。 以下是一个简单的例子&#xff0c;展示…

【Spring 篇】SpringMVC拦截器:给你的应用增添色彩

嗨&#xff0c;亲爱的小伙伴们&#xff01;欢迎来到这段关于SpringMVC拦截器的奇妙之旅。今天我们要一探究竟&#xff0c;深入挖掘拦截器的神秘面纱&#xff0c;看看它是如何在你的应用中悄然发挥作用的。别怕&#xff0c;我会用最通俗易懂的语言&#xff0c;一步一步带你走进这…

【合合TextIn】深度解析智能文档处理技术与应用

目录 一、智能文档处理介绍 二、文档格式解析 三、图像增强技术解析 四、传统文字识别OCR技术解析 五、深度学习OCR技术解析 六、深度学习版面分析技术解析 七、文档分类 八、信息抽取 九、系统集成&#xff1a;将IDP处理后的数据集成到企业系统 结论 一、智能文档处…

下载 macOS 系统安装程序的方法

阅读信息&#xff1a; 版本&#xff1a;0.4.20231021 难度&#xff1a;1/10 到 4/10 阅读时间&#xff1a;5 分钟 适合操作系统&#xff1a;10.13, 10.14, 10.15, 11.x, 12.x&#xff0c;13.x, 14 更新2023-10-21 添加Mist的介绍支持版本的更新&#xff0c;13.x&#xff0…

Css提高——Css3的新增选择器

目录 1、Css3新增选择器列举 2、属性选择器 2.1、语法 2.2、代码&#xff1a; 2.3、效果图 3、结构伪类选择器 3.1、语法 3.2、代码 3.3、效果图 3.4、nth&#xff1a;child&#xff08;n&#xff09;的用法拓展 nth-child&#xff08;n&#xff09;与nth-of-type&#x…

MAC 帧(数据链路层)

目录 一、MAC帧的格式 二、无效的帧 三、帧间最小间隔 四、帧的发送与接收 五、小结 一、MAC帧的格式 • 常用的以太网 MAC 帧格式有两种标准 &#xff1a; DIX Ethernet V2 标准&#xff1b; IEEE 的 802.3 标准。 • 最常用的 MAC 帧是以太网 V2 的格式。 二、…

excel文件可以转成word文件吗?汇帮PDF转换器帮你实现excel转word

将Excel文件转换为Word文档是一个相对简单的任务&#xff0c;但在执行过程中需要注意一些细节&#xff0c;以确保转换后的文档格式正确、内容清晰。下面将详细介绍用汇帮PDF转换器将Excel转Word的步骤和注意事项。 一、Excel文件准备 在进行转换之前&#xff0c;首先确保Excel…

Linux部署MySQL

Linux部署MySQL5.7.17 mkdir /opt/mysql cd /opt/mysql#mysql下载官网&#xff1a; #https://downloads.mysql.com/archives/community/ #下载server、client、lib和common wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.17-1.el7.…

做抖店不知道怎么找达人?聊聊我是怎么找达人带货的,多看多做!

大家好&#xff0c;我是电商花花。 找不到合适的达人带货&#xff1f;不知道怎么找达人带货&#xff1f;多半都是没有用心去找达人带货&#xff0c;因为现在抖音上遍地都是达人&#xff0c;遍地都是达人在直播带货&#xff0c;在短视频带货。 而达人不是说不缺品&#xff0c;…

刚进公司第一天-电脑环境搭建

写在前面 之前在公司做过一次开发小工具的分享&#xff0c;这两天有个同事找我学习一些小工具开发的知识&#xff0c;但是我发现他的基础是真的差&#xff0c;想学开发知识却连自己本地电脑环境都没弄好&#xff0c;确实&#xff0c;有些人工作了很久&#xff0c;由于自己工作中…

了解Kafka位移自动提交的秘密:避免常见陷阱的方法

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 了解Kafka位移自动提交的秘密&#xff1a;避免常见陷阱的方法 前言位移自动提交简介自动提交的优缺点自动提交位移的优点&#xff1a;自动提交位移的缺点&#xff1a;自动提交与手动提交的对比分析&am…