IP协议+以太网协议
在计算机网络体系结构的五层协议中,第三层就是负责建立网络连接,同时为上层提供服务的一层,网络层协议主要负责两件事:即地址管理和路由选择,下面就网络层的重点协议做简单介绍~~
IP协议
网际协议IP是TCP/IP体系中两个最重要的协议之一,简单来说就是负责使互连起来的许多计算机网络进行通信的协议。
计算机网络通过路由器进行互连,参加互连的计算机网络势必使用相同的网际协议IP,因此我们将互连以后的计算机网络看做是一种虚拟互连网络(逻辑互连网络),即互连起来的各种物理网络的异构性本来是客观存在的,但若我们使用了IP协议就可以将这些各异的网络在网络层上看做是一个统一的网络;
那么在这样一个虚拟网络上,我们如何进行寻址,进一步进行数据传输呢?
分类的IP地址
进行寻址,势必就要进行编址,我们给互联网上的每一台主机的每一个结口分配一个32位的标识符,就得到了用来寻址的IP地址。最早的IP地址的编址方法是对IP地址进行分类,大致分类方法如下:
最初的IP地址分为上面5类,使用最为广泛的是A、B、C三类;
IP地址都是32位的二进制代码,为了提高可读性,我们使用点分十进制记法来表示(每8位为一段,插入一个空格)
IP地址在整个互联网范围内是唯一的~
IP地址与硬件地址
前面提到IP地址实际是一种虚拟的地址,它与硬件地址又有什么区别呢?
硬件地址,即物理地址,是数据链路层和物理层使用的地址;
IP地址是网络层及以上各层使用的地址,是一种逻辑地址;
在发送数据时,数据从高层逐渐被下到低层,再通过通信链路进行传输。使用IP地址的IP数据报被交给数据链路层,就会被封装成MAC帧;因此IP地址是被放在IP数据报的首部的,而硬件地址则是被放在MAC帧的首部;
ARP地址解析协议
地址解析,即通过主机的IP地址来解析得到其对应的硬件地址;由于IP地址与硬件地址的数据格式不同(IP地址32位,硬件地址48位)两者之间并不存在映射的关系,为了数据的顺利传输,就需要通过IP地址来得到其对应的硬件地址。因此,ARP协议的用途就是:从网络层使用的IP地址,解析出在数据链路层使用的硬件地址;
下面是ARP协议工作流程的简单介绍:
对于每一台主机,都会内置有一个ARP高速缓存,其中存放了本局域网上各主机的IP地址对应的硬件地址(相当于一个映射表)。对于缓存内有的IP地址,主机可以直接通过其内部的映射表得到对应的硬件地址,若是其缓存中查不到某个IP地址的映射信息,ARP进程就会通过发送ARP请求分组来寻求其对应的硬件地址;
ARP进程是主机A在没有找到需要的映射信息时自动运行的一个进程,该进程会在本局域网上通过广播的方式去发送一个ARP请求分组(大致内容为:本主机A的IP地址为x.x.x.x,硬件地址为x-x-x-x-x-x,需要知道IP地址为x.x.x.x的主机的硬件地址),在本局域网上的所有主机的ARP进程都会都到该请求分组,若主机B的IP地址与请求分组中寻求的信息对应,就会收下这个ARP请求分组,同时向主机A发送ARP响应分组,这个ARP响应分组中就带有自己的硬件地址,待主机A收到这个响应分组,就将此条映射信息存入自己的缓存中去;若是寻求本局域网以外的IP地址的硬件地址,就会通过路由器来进行转发,这个过程需要通过转发表来进行~
使用ARP高速缓存可以有效避免每次通信都需要发送请求分组从而增加网络通信量的问题,同时ARP对保存在高速缓存中的每一个映射信息都会设置一定的生存时间,超出该时间就从缓存中删掉该映射信息,来避免由于主机B更换硬件地址而导致数据传输错误的问题~
IP数据报的格式
如下图:
一个IP数据报由首部和数据两部分组成。首部的前一部分固定20字节,下面是首部各字段的含义:
版本:指IP协议的版本,目前广泛使用IPV4版本;
首部长度:占4位,首部长度字段所表示数的单位是32位字(一个32位字长是4字节),首部长度字段的最小值是5(首部的固定长度是20字节);
总长度:首部和数据长度之和;
标识:数据报被分片时,相同的标识字段的值视为同一个数据报;
标志:最低位为MF,MF=1表示后面还有分片,MF=0表示后面没有分片;中间的一位为DF,DF=0时表示允许分片;
片偏移:表示相对于用户数据字段的起点,该片从何处开始;
生存时间:TTL,数据报每被路由器转发一次,该值减一,TTL为零,该数据报被丢弃;
协议:表示此数据报携带的数据是使用何种协议;
IP层分组转发
对于不在同一局域网上的数据传输,需要使用路由器来进行转发分组,具体的转发流程如下:
- 通过数据报的首部得到目的主机的IP地址,通过ARP协议得到目的网络地址;
- 若其网络地址是与该路由器直接相连的某个网络地址,进行直接交付;
- 不满足第2条,若路由表中有目的地址的特定主机路由(对特定的目的主机指明一个路由),将数据报交给路由表中所指明的路由器;
- 不满足2,3条,将数据报传送给路由表中所指明的默认路由器;
- 报告转发分组出错;
划分子网
经过时代的不断发展,两级IP地址的弊端逐渐显现,为了更好的进行网络通信,将两级IP地址发展为三级IP地址;
通过划分子网的方式来达到三级IP地址的目的,即从网络的主机号借用若干位作为子网号,记为IP地址::={<网络号>,<子网号>,<主机号>};
子网掩码和IP地址进行“与”操作就可以得到其对应的网络地址~
CIDR(无分类编址)
前面的编址方法都不可避免IP地址被分配完毕的问题,因此又引入了无分类编址,无分类即消除了传统的ABC类地址及划分子网的概念,而是将32位的IP地址划分为前后2个部分 IP地址 ::={<网络前缀>,<主机号>};同时在IP地址后面加上斜线“/”,来表示网络前缀所占的位数(斜线记法),斜线后面的数字就是地址掩码中1的个数;
网络地址转换NAT
NAT是为了解决专用网内部的主机与互联网上的主机进行通信的问题;这种方法需要在专用网连接到互联网的路由器上安装NAT软件,装有NAT软件的路由器称为NAT路由器,它至少有一个有效的外部全球IP地址,具体的转换过程就需要这个全球IP地址;
具体的工作流程如下:
假设专用网内部的主机A需要向互联网上的主机B发送数据,当NAT路由器收到主机A的数据报时,就将该数据报的源IP地址转换为新的源IP地址(即NAT路由器的全球IP地址),再转发出去。当互联网上的主机B收到该数据报时,就仍以这个全球IP地址为目的地址发送应答数据,待应答数据到达NAT路由器时,再由该路由器使用NAT地址转换表对应答数据的目的地址进行转换,如此使数据顺利到达主机A;
当然,解决IP地址不够用的问题,最优的办法就是使用IPV6,今天,IPV6的使用也逐渐广泛~
数据链路层是计算机网络体系结构中的第2层,数据链路层的三个基本问题是:封装成帧(在一段数据的前后分别添加首部和尾部),透明传输、差错检测(循环冗余检验CRC);
以太网的MAC层
在局域网中,硬件地址又称为物理地址或MAC地址,MAC地址是用在MAC帧中,下面是MAC帧的格式:
MAC帧的目的地址和源地址都是物理地址,而非IP地址,当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面加入一个整数字节的填充字段,来保证以太网的MAC帧长不小于64字节;
FCS即栈检验序列;
数据字段的最大值为1500,即以太网的最大传输单元(MTU),用来通知对方所能接收数据服务单元的最大尺寸,若一个IP数据报的数据帧的长度大于MTU,将会对该数据报进行分片;
over!
相关文章:
IP协议+以太网协议
在计算机网络体系结构的五层协议中,第三层就是负责建立网络连接,同时为上层提供服务的一层,网络层协议主要负责两件事:即地址管理和路由选择,下面就网络层的重点协议做简单介绍~~ IP协议 网际协议IP是TCP/IP体系中两…...
可视化组件届的仙女‖蝴蝶结图、玫瑰环图、小提琴图
在上一篇内容中为大家介绍了几个堪称可视化组件届吴彦祖的高级可视化图表。既然帅哥有了,怎么能少得了美女呢?今天就为大家介绍几个可视化组件届的“美女姐姐”,说一句是组件届的刘亦菲不为过。蝴蝶结图蝴蝶结图因其形似蝴蝶结而得名…...
人的高级认知:位置感
你知道吗?人有个高级认知:位置感 位置感是啥?咋提高位置感? 趣讲大白话:知道自己几斤几两 【趣讲信息科技99期】 ******************************* 位置感 就是对自己所处环境和自身存在的领悟 属于人生智慧 来源于阅历…...
MATLAB——信号的采样与恢复
**题目:**已知一个连续时间信号 其中:f01HZ,取最高有限带宽频率fm5f0。分别显示原连续时间信号波形和 3种情况下抽样信号的波形。并画出它们的幅频特性曲线,并对采样后的信号进行恢复。 step1.绘制出采样信号 这部分相对简单…...
Docker Nginx 反向代理
最近在系统性梳理网关的知识,其中网关的的功能有一个是代理,正好咱们常用的Nginx也具备次功能,今天正好使用Nginx实现一下反向代理,与后面网关的代理做一个对比,因为我使用的docker安装的Nginx,与直接部署N…...
手把手教你实现书上的队列,进来试试?
一.队列的基本概念队列的定义队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允…...
【springboot】springboot介绍
学习资料 SpringBoot 语雀 (yuque.com)【尚硅谷】SpringBoot2零基础入门教程(spring boot2干货满满)_哔哩哔哩_bilibiliSpringBoot2核心技术与响应式编程: SpringBoot2核心技术与响应式编程 (gitee.com) Spring 和Springboot 1、Spring能做什么 1.1…...
PMP项目管理项目整合管理
目录1 项目整合管理概述2 制定项目章程3 制定项目管理计划4 指导与管理项目工作5 管理项目知识6 监控项目工作7 实施整体变更控制8 结束项目或阶段1 项目整合管理概述 项目整合管理包括对隶属于项目管理过程组的各种过程和项目管理活动进行识别、定义、组合、统一和协调的各个…...
ADS中导入SPICE模型
这里写目录标题在官网中下载SPICE模型ADS中导入SPICE模型在官网中下载SPICE模型 英飞凌官网 ADS中导入SPICE模型 点击option,设置导入选项 然后点击ok 如果destination选择当前的workspace,那么导入完成之后如下: (推荐使用…...
C++:异常
在学习异常之前,来简单总结一下传统的处理错误的方式: 1. 终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序。 2. 返回错误码,缺陷:需要程序员自己去查找…...
3.初识Vue
目录 1 vue 浏览器调试工具 1.1 安装 1.2 配置 2 数据驱动视图与双向数据绑定 3 简单使用 3.1 下载 3.2 将信息渲染到DOM上 4 使用vue浏览器调试工具 5 vue指令 1 vue 浏览器调试工具 chrome可能是我浏览器的原因,装上用不了,我们使…...
【C语言复习】程序的编译与链接
程序的编译与链接写在前面程序的编译与链接编译的过程程序编译环境程序执行过程编译链接的过程预处理预处理符号#define条件编译写在前面 程序的编译与链接是C语言中非常重要的一节。关键点在于详解C语言的程序编译和链接、宏的定义和与函数的区别、条件编译等知识。 程序的编…...
Golang sql 事务如何进行分层
在写代码过程中遇到了需要使用gorm执行sql事务的情况,研究了一下各位大佬的实现方案,结合了自身遇到的问题,特此记录。 代码架构介绍 . ├── apis ├── config ├── internal │ ├── constant │ ├── controller │ ├──…...
linux系统openssh升级
linux系统openssh升级 说明 整个过程不需要卸载原先的openssl包和openssh的rpm包。本文的环境都是系统自带的openssh,没有经历过手动编译安装方式。如果之前有手动编译安装过openssh,请参照本文自行测试是否能成功。 如果严格参照本文操作,保…...
力扣-求关注者的数量
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1729. 求关注者的数量二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.正确…...
近红外荧光染料修饰氨基IR 825 NH2,IR 825-Amine,IR-825 NH2
IR 825 NH2,IR 825-NH2,IR825 Amine,IR825-Amine,新吲哚菁绿-氨基,荧光染料修饰氨基产品规格:1.CAS号:N/A2.包装规格:10mg,25mg,50mg,包装灵活&am…...
Android Crash和ANR监控
文章目录一、Crash1.1 概念1.2 类型二、ANR2.1 概念2.2 类型2.2.1 KeyDispatchTimeout(常见)2.2.2 BroadcastTimeout2.2.3 ServiceTimeout2.2.4 ContentProviderTimeout三、测试中如何关注3.1 Crash测试关注方法3.2 ANR测试关注方法四、如何记录与处理4.…...
【02 赖世雄英语语法:复句的语法】
复句的语法复句:把单句 连在一起(标点符号,连词,关系词)1. 连接符号1.1 破折号 — :补充说明,同位语1.2 冒号 : (同位语)1.3 分号 ; ( , 连词)&am…...
北斗导航 | 多参考一致性监测算法(MRCC)(附伪码)—— B值计算
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== MRCC 用于接收机失效检查与排除。在进行 MRCC 之前,先判断 4 台接收机…...
数字孪生与 UWB 人员定位:双剑合璧的智能物联新时代
人员定位是指利用各种定位技术对人员在特定场所的位置进行准确定位的技术。人员定位技术主要应用于需要实时监控、管理和保障人员安全的场所,如大型厂区、仓库、医院、学校、商场等。人员定位技术的应用范围非常广泛,例如:-在工厂生产线上&am…...
奇点云DataSimba发版全解析:“企业级”版本升级,提供最佳组合
近日,奇点云发布数据云产品商业化版本的全新升级:DataSimba(数据云平台)提供极速版、专业版、旗舰版、红旗版,可靠性、可用性、可服务性再进阶,四大版本满足不同企业选择。 「乐高式DIY」or「最佳组合」&am…...
2-7 SpringCloud快速开发入门: Eureka 注册中心高可用集群搭建
接上一章节Eureka 服务注册中心发现与消费服务,这里讲讲Eureka 注册中心高可用集群搭建 Eureka 注册中心高可用集群搭建 Eureka 注册中心高可用集群就是各个注册中心相互注册 Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,…...
STL中的函数对象
STL-函数对象 函数对象概念 重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质 函数对象(仿函数)是一个类,不是一个函数—修改算法策略—采用虚拟对象调用 函数对象的使用理…...
linux下libevent的编译安装
1,官网下载最新的,https://libevent.org/2,将文件解压,虚拟机可以右键解压,也可以用命令解压,tar zxvf libevent.tar.gz,进行解压缩。这里压缩包的名称只是举例,实际它还会带上版本号…...
深度学习部署笔记(十): CUDA RunTime API-2.2流的学习
1. 流的定义 流(Stream)是一个基于上下文(Context)的任务管道抽象,是一组由GPU依次执行的CUDA操作序列,其中每个操作可能会使用或产生数据。在一个上下文中可以创建多个流,每个流都拥有自己的任…...
[ROC-RK3568-PC] [Firefly-Android] 10min带你了解I2C的使用
🍇 博主主页: 【Systemcall小酒屋】🍇 博主追寻:热衷于用简单的案例讲述复杂的技术,“假传万卷书,真传一案例”,这是林群院士说过的一句话,另外“成就是最好的老师”,技术…...
工作记录:举步维艰的在线 word 之旅 - tinymce
项目中需要实现 “在线编辑 word 模板” 的功能,我打算使用富文本组件 tinymce ,因为业务需求比较特殊,研究一下 tinymce 是否能实现。 如何在 vue 项目中引用 tinymce,可以看另一篇文章 《在 vue 项目中使用 tinymce》 &#x…...
动态规划编译距离
583. 两个字符串的删除操作方法:dp状态表示:以i-1和j-1为结尾的字符串world1和world2,抵达相同的字符串所需的最少操作数属性:最小值状态计算:world1[i-1]和world2[j-1]相同dp[i][j] dp[i-1][j-1];world1[i-1]和world…...
Netty 教程 – 解码器详解
TCP以流的方式进行数据传输,上层的应用为了对消息进行区分,往往采用如下方式 固定消息长度,累计读取到长度和定长LEN的报文后,就认为读取到了个完整的消息,然后将计数器位置重置在读取下一个报文内容将回车换行符作为…...
Allegro如何自动添加测试点操作指导
Allegro如何自动添加测试点操作指导 在做PCB设计的时候,在一些应用场合下需要给PCB上的网络添加测试点,如下图 测试点除了可以手动逐个添加之外,Allegro还支持自动添加测试点,具体操作如下 点击Manufacture点击Testprep...
单页网站如何做/仓山区seo引擎优化软件
给定一个 �(�≤1000)n(n≤1000) 个点,�(�≤2000)m(m≤2000) 条边的图,求从节点 11 到节点 �n 的最短路。 Input 第一行两个整数 �,�m,n。 接下来 �m 行&…...
驻马店市住房和城乡建设委员会网站/qq推广网站
关于 Failed to load the sqljdbc_auth.dll 的问题,需要下载 sqljdbc_auth.dll ,可以下载附件,下载的压缩包里有有32位,64位的区别,根据自己的情况,复制到C:\windows\system32目录下,就可以了 转…...
最新网站建设常见问题/定制网站建设
目录1 UV动画1.1 滑动表面着色器1.2 让UV流动1.3 流动方向1.4 定向滑动2 无缝循环2.1 混合权重2.2 跷跷板2.3 时间偏移2.4 结合两个不同的扭曲2.5 UV跳跃2.6 分析跳跃3 动画调整3.1 平铺3.2 动画速度3.3 流动强度3.4 流偏移4 纹理化4.1 抽象水纹4.2 法线贴图4.3 导数贴图4.4 高…...
成年男女做羞羞视频网站/google排名
首先是大家都知道的老三套,啥也不说上来就放三个大招:sudo apt-get install mysql-serversudo apt isntall mysql-clientsudo apt install libmysqlclient-dev这三步下来mysql就装好了,然后我们偷偷检查一下sudo netstat -tap | grep mysql好…...
苏州吴中长桥网站建设/产品线上推广方案
12.9 GIN和GiST索引类型 有两种可加速文本检索速度的索引。 CREATE INDEX name ON table USING GIN (column); --column必须为tsvector类型 CREATE INDEX name ON table USING GIST (column [ { DEFAULT | tsvector_ops } (siglen number) ] ); --column需为tsvector或tsq…...
吉林建设工程信息网站/2022最新永久地域网名
转载http://www.cnblogs.com/scrat/archive/2012/06/25/2560904.html 什么是僵尸进程 僵尸进程是指它的父进程已经退出(父进程没有等待(调用wait/waitpid)它),而该进程dead之后没有进程接受,就成为僵尸进程,也就是(zombie)进程。 僵尸进程是怎…...