IP 协议的相关特性

目录

IP协议有三大特点:无连接、无状态、不可靠。

四位版本号

四位头部长度

八位服务类型:

十六位总长度

16 位标识, 3 位标志, 13 位片偏移

 八位生存时间

八位协议

十六位首部校验和

关于IP v4地址不够的问题

ip地址动态分配:

ip地址转换(NAT)

 数据传输和返回过程


IP协议位于OSI五层模型的第三层,网络层

IP协议有三大特点:无连接、无状态、不可靠。

无连接:客户端和服务端不会长期的维持对方的信息,所以每次必须指定IP地址。

无状态:数据的发送、传输以及接收都没有上下文关系,也就是说接收端可以收到重复的、无序的报文。

不可靠:不能保证数据每次都能从发送端传输到接收端,所以不安全。

 其中我们着重介绍一下 IPV4版本

我们先来看一下IPV4的报头结构这是存在于各大教科书上的

 

实际上我们这样看会更好理解,从上到下,从左到右

让我们依次介绍

四位版本号

介绍当前协议的版本,目前只有IP v4和IP v6两个版本  

四位头部长度

表示整个报头的大小, 虽然只有 4 位, 能表示 1 - 15, 但是这个字段的单位是 4 个字节, 也就是说这个 IP 报头的长度范围在 15 - 60 个字节之间

八位服务类型:

虽然有着八位,但是实际上使用的只有前面四个字节,这四位中只能有一位是1,其余都是0,他们分别表示四个不同的服务类型

(1) 最小延时 (2) 最大吞吐量 (3) 最高可靠性 (4) 最小成本

十六位总长度

表示这个数据包的大小,包括了接收的TCP载荷和报头,如果太长导致IP协议无法装下,那么就会进行分包组装再发送

16 位标识, 3 位标志, 13 位片偏移

这三个是一起的,所以我们放在一起讲

假如说这里有个超出了一次性发送最大限制的TCP协议,那么我们就会对其拆分

我们假设将其拆分为3段

 

 因为网络中同一时刻,可能有许多经过拆分或者其他的数据包涌入,所以为了保证将被拆分的三个数据包联系在一起,我们就在IP报头处添加了标识

这也就是16位标识

 但是网络的变化是非常大的,可能数据三先到接收方,也可能数据二先到接收方

如果我们不是按照数据一二三的先后顺序让接受方来解析,那么就会产生错误的结果

所以为了保证数据的顺序,我们引入了片偏移

 最后,加上三位标志,来确定改包是否传输完整结束.

1表示还没结束   0表示结束

 

 八位生存时间

在传输过程中,有个叫做TTL的整数,没经过一次中间设备的转发,TTL的数量就会减一,如果TTL=0,那么这个包就会直接被丢掉

八位协议

用来表示传输层使用了什么协议

十六位首部校验和

用来检查数据的准确性

关于IP v4地址不够的问题

因为如果要给每个互联网设备分配对应的唯一ip地址的话,那么目前IP v4已经不能够满足如此巨大的开销了

所以我们目前是采用 ip地址转换(NAT)+ip地址动态分配来缓解这个问题

ip地址动态分配:

只给正在网络中使用的设备分配ip,简单来说就是只给联网的设备分配ip

ip地址转换(NAT)

我们将所有的ip地址,分为内网(局域网)和外网(局域网外的广域网)

外网和内味设备,ip唯一不能重复,但是不同内网的子网中的设备ip是允许重复的

 数据传输和返回过程

假设我们的设备1要传输数据给路由C

那么情况如下

 

从路由C返回给设备1的响应

 

 

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

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

相关文章

【xxl-job】分布式任务调度系统xxl-job搭建

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展、开箱即用。 更多介绍,请访问官网:分布式任务调度平台XXL-JOB 一、任务调度中心(基于docker)【Version 2.4.0】 前提条件:任务调度…

复习Javascript数组

JavaScript 数组 JS 数字属性JS 数组方法 JavaScript 数组用于在单一变量中存储多个值。 var cars ["Saab", "Volvo", "BMW"]; 什么是数组? 数组是一种特殊的变量,它能够一次存放一个以上的值。 如果您有一个项目清…

MySQL表单查询以及多表查询

1.单表查询 CREATE TABLE emp ( empno int(4) NOT NULL, ename varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, job varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, mgr int(4) NULL DEFAULT NULL, hi…

IOP JPCS独立出版 | 2023年第二届材料科学与工程国际会议(CoMSE 2023)

会议简介 Brief Introduction 2023年第二届材料科学与工程国际会议(CoMSE 2023) 会议时间:2023年7月21日-23日 召开地点:中国泰州 大会官网:www.icomse.org CoMSE 2023由四川大学、华南理工大学亚热带建筑科学国家重点实验室、国际电气电子与…

Raft算法之日志复制

Raft算法之日志复制 一、日志复制大致流程 在Leader选举过程中,集群最终会选举出一个Leader节点,而集群中剩余的其他节点将会成为Follower节点。Leader节点除了向Follower节点发送心跳消息,还会处理客户端的请求,并将客户端的更…

如何在 Windows 中免费合并 PDF 文件 [在线和离线]

PDF是一种广泛使用的文件格式,具有兼容性好、安全性高、易于打印、方便浏览等众多优点。在工作和学习过程中,经常需要将同一类型的PDF文件合并起来,以方便传输和查看,使得合并PDF文件成为一种重要的数据整合方法。 如果您想知道如…

android更换开机动画

android11 路径:device / {vendor-name} / {platform-name} / {device-name} / system / bootanimation.zip 例:android \ device \ softwinner \ ceres \ ceres-b6 \ system \ bootanimation.zip android13 路径:device / softwinner / {PRO…

基于单片机空气质量检测二氧化碳 一氧化碳温湿度PM2.5检测系统的设计与实现

功能介绍 以51单片机作为主控系统;对空气空气中有毒有害气体进行监测;使用LCD1602液晶显示,采集到的PM2.5值通过单片机串口传输;通过传感器对室内PM2.5粉尘进行检查;通过按键设置的上限值;当检测到有毒气体…

iOS开发 - NotificationService语音播报

iOS NotificationService语音播报 最近碰到个接收到推送要实现语音播报的需求,需要后台推送通知,APP客户端收到通知之后语音播放:“您的账户收到一笔巨款”的功能。 因为工程之前已经集成了极光推送服务。这里直接使用Notification Service…

Vue3+Vite+Pinia+Naive后台管理系统搭建之八:构建 login.vue 登录页

前言 如果对 vue3 的语法不熟悉的,可以移步Vue3.0 基础入门,快速入门。 项目所需要的图片,icon图标(推荐:阿里巴巴矢量图标库)自行获取,命名一致就行。 1. 构建 src/components/CopyRight.vu…

MySQL~索引的优缺点是什么?有哪些优化索引的方法?

1.索引的优缺点 优点:提高查询记录的速度。 缺点: 需要占用空间,索引是一种用空间换时间的做法创建索引和维护索引都需要消耗时间,会降低表的增删查改效率,因为每次进行增删查改,都需要对索引进行维护&a…

系统设计蓝图 / 备忘单

开发一个强大、可扩展和高效的系统可能会令人望而却步。然而,了解关键概念和组件可以使这个过程更可管理。在本博客文章中,我们将探讨系统设计的关键概念和组件,如DNS、负载均衡、API网关等,以及一个简明的备忘单,可以…