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

news2024/11/15 7:52:47

 博主主页: 码农派大星.

    数据结构专栏:Java数据结构

 数据库专栏:MySQL数据库

JavaEE专栏:JavaEE

关注博主带你了解更多数据结构知识

目录

1.网络层   IP协议

1.IP协议格式

2.地址管理

2.1 IP地址

2.2 解决IP地址不够用的问题

2.3NAT网络地址转换

2.4网段划分

 3.路由选择

2.数据链路层 以太网协议

1 认识以太⽹

2.认识MAC地址

3.ARP协议 

4.以太⽹帧格式

3.应⽤层协议DNS(DomainNameSystem)


1.网络层   IP协议

1.地址管理 => IP地址

2.路由管理 => 数据报传输路径进行规划

1.IP协议格式

4位版本号:指定IP协议的版本,对于IPv4来说,就是4,IPv6,就是6.

4位头部⻓度(header length):IP头部的⻓度是多少个32bit,也就是length*4的字节数.4bit表⽰最 ⼤的数字是15,因此IP头部最⼤⻓度是60字节.

8位服务类型(TypeOfService):3位优先权字段(已经弃⽤),4位TOS字段,和1位保留字段(必须置为 0).4位TOS分别表⽰:最⼩延时,最⼤吞吐量,最⾼可靠性,最⼩成本.这四者相互冲突,只能选择⼀个. 对于ssh/telnet这样的应⽤程序,最⼩延时⽐较重要;对于ftp这样的程序,最⼤吞吐量⽐较重要.

16位总⻓度(total length):IP数据报整体占多少个字节.

IP协议内置了拆包组包机制,单个IP数据报确实没法超过64KB,但不代表IP协议不能传输超过64KB的数据,IP协议会自动把大的数据报,拆成多个IP数据报携带传输,在接收方再进行拼装.

16位标识(id) : 同一个载荷的数据,被分成多份,交给多个IP数据报来携带,多个IP数据报,16标识(id)是相同的数值

3位标志位 : 只有2个有效,其中一个,表示这个包是否需要组包(是否拆包的一部分),另一个表示当前包是否组包的最后一个单位

13位片偏移: 决定组包的时候数据报的位置

8位⽣存时间(TimeToLive,TTL): 一个数据报在网络中最多存活多长时间. 

8位协议 : IP数据报中,携带的载荷,是哪种传输层协议的数据报

16位头部校验和: 验证数据在传输中是否出错(只是针对首部,IP报头),载荷部分TCP/UDP都有自己的校验和了

32位源地址和32位⽬标地址:表⽰发送端和接收端

IP地址是32位的整数,是一个很大的数字,不方便理解和阅读,于是就通过点分十进制把32位(4字节)通过3个圆点分割开,每一个部分是一个字节(范围是0-255)

2.地址管理

2.1 IP地址

IP地址是一个32位的整数,即42亿9千万。地址描述的是一台联网设备在网络上所占的位置,理论上来说,是不应该重复的,但现在移动互联网的时代看来是不够用的。

2.2 解决IP地址不够用的问题

1.动态分配IP地址

一个设备上网就分配IP,不上网就不分配IP

2.NAT网络地址转换

3.IPv6 使用128位(2^{128})16个字节表示IP地址  而IPv4使用32位(2^{32})4个字节

2.3NAT网络地址转换

把IP地址分为两大类:

1, 内网IP/私网IP   是以10.、172.16.-172.31.、192.168.

2,外网IP/公网IP

公网IP必须是唯一的,但私网IP是允许重复的(在不同的局域网中时允许重复的)

同一个局域网内,主机A访问主机B,不会涉及到NAT机制,公网上的设备A,访问公网上的设备B,也不会涉及到NAT机制,但如果一个局域网中的主机A访问另一个局域网的主机B,NAT机制中,不允许的!! 

如果局域网内部的设备A访问公网上的设备B ,NAT机制主要就是针对这个情况进行生效

NAT机制的缺点: 网络环境太复杂,替换过程中,每一层路由器都需要维护映射关系,每次转发数据,都要查询映射关系,都是开销

2.4网段划分

把一个IP地址会划分成2部分:网络号(标识一个局域网)+主机号(标识局域网中的设备)
同一个局域网中,网络号必须相同,主机号不同。

以我的主机为例:子网掩码为11111111 1111111 11111110 0000000,被标记为1的位置就是网络号,标记为0为主机号,那么网络号就是10.81.33,主机号为:.105

上面带有的子网掩码的划分是当下的网络环境,也有一些其他划分方式。

 3.路由选择

在网络中进行路由转发的时候,每一个路由器无法知道网络的全貌,只知道一些局部信息,这就意味IP数据转发的过程中,是探索式,启发式的。
一个网络层的数据报报每次到达一个路由器的时,会进行一个类似“问路”的过程,每一个路由器内部都有一个数据结构“路右边”,根据数据报中的目的IP查找路由表,如果查到了,就直接去对应的位置,如果没有查到路由表中会有一个默认的表项,就向默认表项转发。

2.数据链路层 以太网协议

1 认识以太⽹

"以太⽹"不是⼀种具体的⽹络,⽽是⼀种技术标准;既包含了数据链路层的内容,也包含了⼀些物理 层的内容,以太⽹是当前应⽤最⼴泛的局域⽹技术

2.认识MAC地址

MAC地址⽤来识别数据链路层中相连的节点,⻓度为48位,及6个字节.⼀般⽤16进制数字加上冒号的形式来表⽰(例如:08:00:27:03:fb:19),在⽹卡出⼚时就确定了,不能修改.mac地址通常是唯⼀的

MAC地址与IP地址区别:

1).MAC地址使用6个字节表示,IP地址使用4个,空间范围比IP地址大了60000多倍,MAC地址可以给每个设备,都分配一个唯一的MAC地址值,一般一个网卡,在出厂的时候,MAC地址就被分配好了,就写死了,MAC地址也可以作为设备身份的标识

2)MAC地址使用在数据链路层,用来实现两个相邻设备之间的数据转发(微观),IP地址使用在网络层,立足于整个转发流程,进行路径规划(宏观)

IP地址立足于全局,完成整个传输过程,而mac地址只是相邻设备的通信

3.ARP协议 

ARP不是⼀个单纯的数据链路层的协议,⽽是⼀个介于数 据链路层和⽹络层之间的协议;

ARP协议/ARP数据报建⽴了主机IP地址和MAC地址的映射关系.

4.以太⽹帧格式

IP地址立足于全局,完成整个传输过程,而mac地址只是相邻设备的通信。 

3.应⽤层协议DNS(DomainNameSystem)

即域名解析系统

域名=>网址

域名代表了IP地址

域名和IP地址,存在对应关系,一般是一个域名对应一个或者多个IP,也可能多个域名对应一个IP

把域名转换成IP地址的系统叫域名解析系统

全球搭建了DNS服务器,在全球范围里,DNS服务器数量太少,所以全球部署了许多DNS的镜像服务器供全球用户使用,每个人上网都会就近选择镜像DNS服务器.

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

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

相关文章

北极星计划的回响:从Leap Motion到Midjourney的AI 3D硬件梦想

在科技的浩瀚星空中,总有一些梦想如同北极星般璀璨,指引着探索者前行。六年前,Leap Motion的CEO David以一篇充满激情的博客文章,向我们揭示了“北极星计划”——一个旨在打破数字与物理界限,创造流畅统一体验的增强现实平台。今天,随着Midjourney在AI文生图领域的全球爆…

2024.9.15周报

一、题目信息 题目:Physics-informed neural networks for solving flow problems modeled by the 2D Shallow Water Equations without labeled data 链接:物理信息神经网络用于解决由二维浅水方程建模的流动问题,无需标记数据- ScienceDi…

【Node.js】初识 RabbitMQ

概述 MQ 顾名思义,是消息队列。 RabbitMQ 是一个消息队列系统,用于实现异步通信。基于 AMQP。AMQP(高级消息队列协议) 实现了对于消息的排序,点对点通讯,和发布订阅,保持可靠性、保证安全性。 在 Node.js 的微服务架…

LAMP+WordPress

一、简介 LAMP: L:linux——操作系统,提供服务器运行的基础环境。A:apache(httpd)——网页服务器软件,负责处理HTTP请求和提供网页内容。M:mysql,mariadb——数据库管理…

PCL 窗口可视化两个点云

目录 一、概述 1.1原理 1.2实现步骤 1.3 应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长期更新) 一、概述 本文将介绍如何使用PCL库…

8.4Prewitt算子边缘检测

基本原理 Prewitt算子是一种用于边缘检测的经典算子,它通过计算图像中像素值的(一阶导数)梯度来检测边缘。Prewitt算子通常包括两个3x3的卷积核,一个用于检测水平方向上的边缘,另一个用于检测垂直方向上的边缘。 示例…

【动漫资源管理系统】Java SpringBoot助力,搭建一个高清动漫在线观看网站

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

【插件】【干货】用EPPlus在Unity中读写Excel表

EPPlus是什么我就不说了,你都点进来了肯定知道 几个常用的api 1.index下标都是从1开始的 2.可以读取任意单元格上的任意内容,不需要给excel表写规则 但是如果你写了规则,就需要自己用额外的代码 --- 数据结构去实现 3.打开excel表 ExcelP…

[数据集][目标检测]智慧交通铁路异物入侵检测数据集VOC+YOLO格式802张7类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):802 标注数量(xml文件个数):802 标注数量(txt文件个数):802 标注类别…

萤石举办2024清洁机器人新品发布会 多维智能再造行业标杆

导言:作为智慧生活守护者,萤石今日发布了两款清洁机器人,AI扫拖机器人RS20 Pro Ultra 和AI洗地机器人RX30 Max ,标志着萤石在智能清洁领域的全新突破。RS20 Pro Ultra基于CutFree 2.0内切割滚刷专利,有效解决毛发缠绕难…

速通GPT:《Improving Language Understanding by Generative Pre-Training》全文解读

文章目录 速通GPT系列几个重要概念1、微调的具体做法2、任务感知输入变换3、判别式训练模型 Abstract概括分析和观点1. 自然语言理解中的数据问题2. 生成预训练和监督微调的结合3. 任务感知输入变换4. 模型的强大性能 Introduction概括分析和观点1. 自然语言理解的挑战在于对标…

探索Python的HTML处理神器:pyquery的魔力

文章目录 探索Python的HTML处理神器:pyquery的魔力背景:为何选择pyquery?pyquery是什么?安装pyquery五个简单的库函数使用方法1. $:选择元素2. .text():获取文本内容3. .html():获取HTML内容4. …

SSM框架学习(三、MyBatis实践:提高持久层数据处理效率)

目录 一、Mybatis简介 1.简介 2.持久层框架对比 3.快速入门(基于Mybatis3方式) 4.ibatis方式的实现和原理 5.ibatis与mybatis之间的关系 二、Mybatis基本使用 1.向 sql 语句传参 (1)mybatis日志输出配置 (2&…

小程序开发设计-第一个小程序:创建小程序项目④

上一篇文章导航: 小程序开发设计-第一个小程序:安装开发者工具③-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142219152?spm1001.2014.3001.5501 须知:注:不同版本选项有所不同,并无大碍。 一、创…

主播和礼品检测系统源码分享

主播和礼品检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

SSH软链接后门从入门到应急响应

目录 1. 软链接与SSH软链接后门介绍 1.1 软链接介绍 1.2 SSH软连接后门介绍 2. 如何在已拿下控制权限的主机创建后门 2.1 使用root账户并执行ssh软链接后门命令: 2.2 连接软链接后门测试: 2.3 创建其它账户 ssh软连接后门命令 3. 如何进行应急…

笋丁网页自动回复机器人V3.0.0免授权版源码

笋丁网页机器人一款可设置自动回复,默认消息,调用自定义api接口的网页机器人。 此程序后端语言使用Golang,内存占用最高不超过30MB,1H1G服务器流畅运行。仅支持Linux服务器部署,不支持虚拟主机,请悉知&…

七. 部署YOLOv8检测器-quantization-analysis

目录 前言0. 简述1. 案例运行2. 补充说明3. 量化分析4. 探讨总结下载链接参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习课程第七章—部署YOLOv8检测器,一起来学习…

无限边界:现代整合安全如何保护云

尽管云计算和远程工作得到广泛采用,零信任网络也稳步推广,但边界远未消失。相反,它已被重新定义。就像数学分形的边界一样,现代网络边界现在无限延伸到任何地方。 不幸的是,传统工具在现代无限边界中效果不佳。现代边…

优化算法(三)—模拟退火算法(附MATLAB程序)

模拟退火算法(Simulated Annealing, SA)是一种基于概率的优化算法,旨在寻找全局最优解。该算法模拟金属退火过程中的物质冷却过程,逐渐降低系统的“温度”以达到全局优化的效果。它特别适用于解决复杂的组合优化问题。 一、模拟退…