总结IP协议各类知识点

news2024/11/29 12:53:00

前言

本篇博客博主将详解IP协议中的各类知识点,坐好板凳发车啦~

一.IP协议格式

1.1 4位版本号(version)

指定IP协议的版本,对于IPv4来说,就是4。

1.2 4位头部长度(header length)

IP头部的长度是多少个32bit,也就是length*4的字节数。4bit表示最大的数字是15,因此IP头部最大长度是60字节。

1.3 8位服务类型(Type Of Service)

3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0);

4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个。对于ssh/telnet这样的应用程序,最小延时比较重要,对于ftp这样的程序,最大吞吐量比较重要。

1.4 16位总长度(total length)

IP数据报整体占多少个字节

1.5 16位标识(id)

唯一的标识主机发送的报文,如果IP报文在数据链路层被分片了,那么每个片里面的这个id都是相同的。

1.6 3位标志字段

第一位保留(保留的意思是现在不用,但是还没想好以后用不用)

第二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模版就会丢弃报文

第三位表示更多分片,如果分片了的话,最后一个分片置为0,其他的是1,。类似于一个结束标记。

1.7 13位分片偏移(framegament offset)

是分片相对于原始IP报文开始处的偏移

其实就是在表示当前分片在原报文中处在哪个位置,实际偏移的字节数是这个值*8得到的。因此,除了最后一个报文之外,其他报文的长度必须是8的整数倍(否者报文就不连续了)。

1.8 8位生存时间(time to live TTL)

数据报达到目的地的最大报文跳数。一般起始是128,有的系统也是255。每次经过一个路由,TTL减等于1,一直减到0还没有到达,那么就丢弃了。这个字段主要是用来防止出现路由循环。

1.9 8位协议

表示上层协议(传输层)的类型(用的是哪个协议)

1.10 16位头部校验和

使用CRC进行校验,来鉴别头部是否损坏

1.11 32位源地址和32位目标地址

表示发送端和接收端

1.12 选项字段

不定长,最多40字节

二.IPv4

2.1概念

IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。

2.2作用

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,依次来屏蔽物理地址的差异。

2.3格式

IP协议是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110

通常用“点分十进制”的方式来表示,即a.b.c.d的形式(abcd都是0~255之间的十进制整数)如:100.4.5.6。

2.4分配置方式

把IP地址分为两大类

外网IP/公网IP

内网IP/局域网IP,约定10.*,172.16.*~172.31.*,192.168.*。

2.4.1动态分配

设备上网的时候才分配一个IP地址,不上网的时候收回IP地址,每一个IP都是广域网上的地址,每台主机都可以通过IP在网络上相互访问

这种方案并没有增加IP地址的数量,只是提高了利用效率而已,治标不治本。

2.4.2NAT机制

不再强求每台主机都有独立的公网IP地址

约定,每个局域网的IP地址不能重复;

约定,不同局域网的IP地址可以重复;

为一个局域网分配置一个外网IP作为局域网内所有机器访问互联网的对外IP地址,由路由器再给内网分配IP地址,这样的一个IP地址就可以代替很多机器,从而节省了IP资源。

2.4.3IPv6

IPv4是用4个字节,也就是32位来表示IP地址,约等于42亿

IPv6是用16个字节,也就是128位来表示IP地址,约等于42亿*42亿*42亿*42亿。

注:IPv4和IPv6不兼容。

三.IP地址规则-地址管理

3.1组成

IP地址分为两个部分,网络号和主机号

网络号:标识网段,标识局域网,保证相互连接的两个网段具有不同的标识;

主机号:标识主机,同一网段中,主机之间具有相同的网络号,但是必须具有不同的主机号,在一个局域网中的网络号可以相同,但主机号必须不同;

路由器中的WAN口连接上一层网络,LAN口连接本局域网中的主机。

3.2分类

历史悠久的分类方法,一种划分网络号和主机号的方案,把所有IP地址分为五类:

3.3子网掩码

3.3.1表示方式

也是32位,左边都用1来表示,用来确定网络号,不会1和0混着表示,有多少个1,就表示IP地址左侧有多少位是网络号

IP地址与子网掩码进行接位与运算,得到的结果就是网络号。

3.3.2计算方式

四.路由选择

尾语

这篇博客到这里就结束啦,希望可以给大家带来帮助~~

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

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

相关文章

数据结构算法系列----贪心算法

目录 一、什么是贪心 1、定义: 2、举例: 二、例题 完整代码: 一、什么是贪心 1、定义: 贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法。在贪心算法中,通过 局部最优 解来达到全局最优解。贪心算法…

(C语言)fgets与fputs函数详解

目录 1. fputs函数详解 1.1 向文件流输入数据 1.2 向标准输出流输出数据 2. fgets函数详解 2. 1 从文件流中得到数据 2.2 从标准输入流读取数据 1. fputs函数详解 头文件:stdio.h 函数有两个参数:str 与 stream 作用:写一串字符串到流…

计算机系统基础 5 物理地址的形成

历史 早期,程序员自己管理主存,通过分解程序并覆盖主存的方式执行程序 取指令和存储操作数所有的地址都是物理地址; 执行速度快,无需进行地址转换; 未采用虚拟存储机制。 1961年有人提出自动执行overlay…

【动手学深度学习-pytorch】9.2长短期记忆网络(LSTM)

长期以来,隐变量模型存在着长期信息保存和短期输入缺失的问题。 解决这一问题的最早方法之一是长短期存储器(long short-term memory,LSTM) (Hochreiter and Schmidhuber, 1997)。 它有许多与门控循环单元( 9.1节&…

【学习笔记】java项目—苍穹外卖day04

文章目录 1. 新增套餐1.1 需求分析和设计1.2 代码实现1.2.1 DishController1.2.2 DishService1.2.3 DishServiceImpl1.2.4 DishMapper1.2.5 DishMapper.xml1.2.6 SetmealController1.2.7 SetmealService1.2.8 SetmealServiceImpl1.2.9 SetmealMapper1.2.10 SetmealMapper.xml1.…

HarborCDN技术分析

一、介绍 简要介绍 ​​Harbor​​ 是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。Harbor 的所有组件都在 Dcoker 中部署,所以 Harbor 可使用 Docker C…

NC269391 炸鸡块哥哥的粉丝题

题目描述 智乃作为炸鸡块哥哥的粉丝,做了一场炸鸡块哥哥的比赛后得出一个结论,那就是炸鸡块哥哥的话,最多只能信半句。 现在给你一个长度为N的字符串S,请输出前 个字符,表示只能相信半句话。 例如当炸鸡块哥哥说&…

既有理论深度又有技术细节——深度学习计算机视觉

推荐序 我曾经试图找到一本既有理论深度、知识广度,又有技术细节、数学原理的关于深度学习的书籍,供自己学习,也推荐给我的学生学习。虽浏览文献无数,但一直没有心仪的目标。两周前,刘升容女士将她的译作《深度学习计…

python安装删除以及pip的使用

目录 你无法想象新手到底会在什么地方出问题——十二个小时的血泪之言! 问题引入 python modify setup 隐藏文件夹 环境变量的配置 彻底删除python 其他零碎发现 管理员终端 删不掉的windous应用商店apps 发现问题 总结 你无法想象新手到底会在什么地方…

(学习日记)2024.03.27:UCOSIII第二十四节:任务状态

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

Java毕业设计 基于SSM新闻管理系统

Java毕业设计 基于SSM新闻管理系统 SSM jsp 新闻管理系统 功能介绍 用户:首页 图片轮播 查询 登录 注册 新闻正文 评论 广告 社会新闻 天下新闻 娱乐新闻 个人中心 个人收藏 管理员:登录 用户管理 新闻管理 新闻类型管理 角色:用户 管理员…

笔记本电脑上部署LLaMA-2中文模型

尝试在macbook上部署LLaMA-2的中文模型的详细过程。 (1)环境准备 MacBook Pro(M2 Max/32G); VMware Fusion Player 版本 13.5.1 (23298085); Ubuntu 22.04.2 LTS; 给linux虚拟机分配8*core CPU 16G RAM。 我这里用的是16bit的量化模型,…

python实战之进阶篇(一)

定义类 1. 构造方法 2. 实例方法 3. 类方法 类似于Java中的静态方法, 使用方式: 类名.类方法 4. 私有变量 5. 私有方法 6. 使用属性set和get

stm32再实现感应开关盖垃圾桶

一、项目需求 检测靠近时,垃圾桶自动开盖并伴随滴一声,2秒后关盖 发生震动时,垃圾桶自动开盖并伴随滴一声,2秒后关盖 按下按键时,垃圾桶自动开盖并伴随滴一声,2秒后关盖 硬件清单 SG90 舵机,…

MySQL生产环境常见故障及解决方案汇总

MySQL生产环境常见故障及解决方案汇总 1. MySQL主从同步异常故障1.1. 情景说明1.2. 排查过程1.3. 数据同步2. MySQL慢查询故障1. MySQL主从同步异常故障 1.1. 情景说明 MySQL主库网卡需要更换IP地址,并将原IP地址配置为MySQL集群的VIP地址,上层应用程序其实不需要更改连接My…

牛客练习赛123 A~C

A.炸鸡块哥哥的粉丝题 输出字符串的前 ⌈ n 2 ⌉ \lceil \frac{n}{2} \rceil ⌈2n​⌉ 个字符 void solve() {int n;string s;cin >> n >> s;cout << s.substr(0, (n 1) / 2); }B.智乃想考一道鸽巢原理 当小球总个数为奇数时&#xff0c;贪心的留下 1 个…

(C++笔试题)选择题+编程题

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 选择题 第一道 下面对析构函数的正确描述是&#xff08;&#xff09; A. 系统不能提供默认的析构函数B. 析构函数必须由用户定义C. 析构函数没有参数D. 析构函数可以设置默认参数 解析&#xff1a; 正确描述析构函数的…

【独立开发前线】Vol.27 为什么独立开发者需要一个网站?

现在很多内容创造者都把主要平台放在了第三方平台上&#xff0c;包括像知乎、B站、头条等等&#xff0c;但即使在2024年&#xff0c;我依然建议你做一个完全属于你的网站。 为什么呢&#xff1f; 你有没有在微信或知乎看到过这种拦截页面&#xff1f; 你花了好大的精力写了一…

关于github提交失败的问题

问题描述 Username for https://github.com: LAL-Better Password for https://LAL-Bettergithub.com: remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/get-started/getting-started-with-git/abo…

线程的通信

1.需求(为什么需要线程通信) 当我们需要多个线程完成同一任务时&#xff0c;并且希望他们有规律的执行&#xff0c;那么多线程之间需要一些通信机制&#xff0c;并且可以协调他们的工作&#xff0c;以此实现多个线程共同操作共享数据. 例 : A做包子&#xff0c;B吃包子&#…