【JavaWeb】网络层协议——IP协议
目录
IP协议结构
IP地址管理
特殊IP
解决IP地址不够用
动态分配IP地址
NAT网络地址转换
IPV6
IP协议结构
版本:就是IP协议的版本号。目前只有 4 和 6。这里介绍的是IPV4
首部长度:单位是4字节。于TCP首部长度完全一致,也是可变的,因为有选项。
服务类型:八位中只有四位有效。服务类型就四种,表示方法是 其中的四位只有一位为 1,其余都为0. 四种类型分别是:
最小延时,最大吞吐量,最高可靠性,最小成本。这四种类型也就代表了IPV4工 作时的四种状态。
总长度:整个报文的长度。这个值 - 首部长度 = TCP/UDP报文长度
虽然这个总长度最大才64KB,如果数据大于最大值,那么IP就会把数据拆分,发 送过去后再进行组装(都是再网络层进行)。
标识:被拆开的报文标识都一致,这样就方便组装它们。
标志:第一位保留
第二位为1,表示标志报文长度超过MTU(指网络能够传输的最大数据包大小),则丢 弃报文。
第三位,类似结束标志。一组被拆开的最后一个分片此位为1,其他的为0。
片偏移:本质上标识被拆开片的前后顺序。是分片相对于起始的偏移量。
生存时间:一个报文在网络上能够传输的最大次数。虽然叫时间,但这是以次数来表示的。
最开始设定一个值,比如32,该报文被一个路由器转发一次,值就减一,直到为 0还没有发送成功,就丢弃该报文。(防止发送地址是错误的)
协议:表示当前在和是使用的哪个协议(UDP/TCP)。
首部校验和:仅对首部进行校验(使用CRC),因为载荷部分已经校验过了。
源IP地址:发送方的IP地址。
目的IP地址:接受方的IP地址。
选项:最大可40字节。
数据:传输层的数据。
IP地址管理
一个IP地址是由两部组成 网络号 和 主机号
网络号:标识网段。保证相互连接的网段具有不同的标识。这就是局域网。
主机号:标识主机。在同一网段内,主机间的网络号虽然一样,但主机号必须不同。
子网掩码:IP地址中,网络号和主机号的分界就是由子网掩码来区分的。
在cmd中输入ipconfig就可以看到子网掩码了
点分十进制转成二进制:
1111 1111 1111 1111 1111 1111 1111 1111 0000 0000 0000 0000 0000 0000 0000 0000
计算:把IP地址转成2进制后,和子网掩码对应的2进制位进行逻辑与(只有都为1才是1)操作得出网络号;IP地址再减去网络号得出主机号。
特殊IP
主机地址全为0:这就是网络号了,代表这个局域网
主机地址全为1:这就是广播地址,给同一个链路中的所有主机发送数据。UDP协议可以广播发送,当UDP往 192.168.0.225 这个地址发,局域网中的所有设备都可以收到。
123.*:用于本机环回测试,通常为127.0.0.1
解决IP地址不够用
由于IP地址只有32位,最大标识也才 4,294,967,296 。完全不够给地球上所有的设备使用。为了解决IP地址不够用的问题,通常有以下方法:
动态分配IP地址
把不常用的IP地址分配给用的设备,这样就提高了利用率。但是治标不治本。
NAT网络地址转换
本质上是用一个IP地址代表一批设备。在NAT下把IP地址分成了两大类
内网IP(私有IP):有 10.* 172.16.*~172.31.* 192.168.*
外网IP(公网IP):除了内网都是公网IP。
公网IP必须是唯一的。私有IP可以在不同的局域网下重复。
NAT虽然有效的解决了IP地址不够使用的问题,但是也让网络环境变得更加复杂。
IPV6
IPV6则是一个全新的协议,它有128位来表示地址,这是原来最大地址数量的4次方。足够使用了。不过IPV6和IPV4不兼容,所以升级换代就很麻烦。
有什么问题评论区指出。希望可以帮到你。
相关文章:
![](https://img-blog.csdnimg.cn/ababa629e028422aa72584ae6146c78a.png)
【JavaWeb】网络层协议——IP协议
目录 IP协议结构 IP地址管理 特殊IP 解决IP地址不够用 动态分配IP地址 NAT网络地址转换 IPV6 IP协议结构 版本:就是IP协议的版本号。目前只有 4 和 6。这里介绍的是IPV4 首部长度:单位是4字节。于TCP首部长度完全一致,也是可变的&…...
![](https://www.ngui.cc/images/no-images.jpg)
【Python学习笔记】41.Python3 多线程
前言 本章介绍Python的多线程。 Python3 多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理…...
![](https://img-blog.csdnimg.cn/img_convert/3ebfc82605c06357dff744b8548bcd00.png)
Windows 版本ffmpeg编译概述
在使用ffmpeg过程当中,ffmpeg在Linux(包括mac,android)编译非常容易,直接configure,make即可,Android需要交叉编译,在windows就比较麻烦,庆幸的是ffmpeg官方提供已编译好Windows版本的二进制库(http://ffmpeg.org/download.html#b…...
![](https://img-blog.csdnimg.cn/d09e7ef7680f4bd8a19d93c5446ed267.png)
NETCore下CI/CD之自动化测试 (详解篇)
NETCore下CI/CD之自动化测试 (详解篇) 目录:导读 前言 安装JDK 安装 Tomcat 首先,我们需要指定 Tomcat.PID 进程文件,进入 /usr/local/tomcat/bin,编辑文件 增加 tomcat 账户并赋予权限 防止Jeknins…...
![](https://www.ngui.cc/images/no-images.jpg)
Hoeffding不等式剪枝方法
在基于物品的协通过滤算法中,当用户历史行为数据有很多时,对计算会有很大挑战,对此可以使用剪枝对数据进行化简来达到减少计算量。 不是每个物品对都需要进行增量计算。对于两个物品的相似度,每次更新都能够得到一个新的相…...
![](https://www.ngui.cc/images/no-images.jpg)
【算法】数组中的重复数字问题
数组中的重复数据 数组中重复的数字 错误的集合 以第三题,错误的集合为例 对于这样的问题,有很简单的解决方式,先遍历一次数组,用一个哈希表记录每个数字出现的次数,然后遍历一次 [1…N],看看那个元素重…...
![](https://img-blog.csdnimg.cn/c4e978b23a6d448b9e89f3d7ee98e3da.png)
数值方法笔记2:解决非线性方程
1. 不动点定理及其条件验证2. 收敛阶、收敛检测与收敛加速2.1 如何估计不动点迭代的收敛阶xk1g(xk){x}_{{k}1}{g}\left({x}_{{k}}\right)xk1g(xk)2.2 给定精度的情况下,如何预测不动点迭代需要迭代的次数2.3 如何加快收敛的速度2.4 停止不定点迭代的条件2.5 不动…...
![](https://img-blog.csdnimg.cn/d9b2416074914b189e5b6caeb7894632.png)
基于SpringBoot的在线文档管理系统
文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…...
![](https://img-blog.csdnimg.cn/img_convert/2aea4fad9951cd4ab03e267334bb3994.png)
软件体系结构(期末复习)
文章目录软件体系结构软件体系结构概论软件体系结构建模软件体系结构风格统一建模语言基于体系结构的软件开发软件体系结构 软件体系结构概论 软件危机是指计算机软件的开发和维护过程中遇到的一系列严重问题。 软件危机的表现: 软件危机的原因: 软件工程的基本要素…...
![](https://img-blog.csdnimg.cn/e6459a40afb04adc99aad3068f320be4.png#pic_center)
[vue3] pinia的基本使用
使用Pinia npm install piniastore文件里index.js import { createPinia } from piniaconst pinia createPinia()export default piniamain.js导入并引用 import { createApp } from vue import App from ./App.vue import pinia from ./storescreateApp(App).use(pinia).m…...
![](https://www.ngui.cc/images/no-images.jpg)
进程和线程详解
在计算机领域中,进程和线程是非常重要的概念。了解进程和线程是软件开发的基础,也是计算机科学教育中的一部分。本文将介绍进程和线程的概念、区别和应用。 一、什么是进程 在计算机科学中,进程是正在执行的程序实例。一个进程可以由一个或…...
《刀锋》读书笔记
刀锋(毛姆长篇作品精选)毛姆50个笔记点评认为好看的确是完美的结局。《刀锋》里面的人每个人都以自己的方式生活着。艾略特的势利,拉里的自由,伊莎贝尔的现实,苏珊的清醒,索菲的堕落,至于“我”…...
![](https://www.ngui.cc/images/no-images.jpg)
nginx中的ngx_modules
ngx_modules和ngx_module_names是configure脚本生成的,是在objs/ngx_modules.c文件中与其生成的相关的脚本文件相关的变量在options脚本中定义了objs目录的变量NGX_OBJSobjs在init脚本中定义的最终存放ngx_modules的文件 NGX_MODULES_C$NGX_OBJS/ngx_modules.c2. 处…...
![](https://img-blog.csdnimg.cn/b0524e81453b4158b5d78dbcc37cdc86.png#pic_center)
设计模式之访问者模式
什么是访问者模式 访问者模式提供了一个作用于某对象结构中的各元素的操作表示,他使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 访问者模式主要包含以下几个角色: Vistor(抽象访问者):为对象结…...
![](https://img-blog.csdnimg.cn/fc19135c31b8413f9e82d48f3acf08e0.png)
Go项目(三)
文章目录用户微服务表结构查表web 服务跨域问题图形验证码短信用户注册服务中心注册 grpc 服务动态获取端口负载均衡配置中心启动项目小结用户微服务 作为系统的第一个微服务,开发的技术点前面已经了解了一遍,虽有待补充,但急需实战这里主要…...
![](https://img-blog.csdnimg.cn/106af4d33ea14254a4aef06dd50fdfc2.png)
CTK学习:(一)编译CTK
CTK插件框架简介 CTK Plugin Framework是用于C++的动态组件系统,以OSGi规范为模型。在此框架下,应用程序由不同的组件组成,遵循面向服务的方法。 ctk是一个开源项目,Github 地址:https://github.com/commontk。 源码地址commontk/CTK: A set of common support code for…...
![](https://img-blog.csdnimg.cn/f7b40d21074743d59dadaf85ea0973f8.png)
15种NLP数据增强方法总结与对比
数据增强的方法 数据增强(Data Augmentation,简称DA),是指根据现有数据,合成新数据的一类方法。毕竟数据才是真正的效果天花板,有了更多数据后可以提升效果、增强模型泛化能力、提高鲁棒性等。然而由于NLP…...
![](https://img-service.csdnimg.cn/img_convert/b36376b20ad1074341ffc8bca9a32eca.jpeg)
Python每日一练(20230219)
目录 1. 循环随机取数组直到得出指定数字? 2. 旋转链表 3. 区间和的个数 1. 循环随机取数组直到得出指定数字? 举个例子: 随机数字范围:0~100 每组数字量:6(s1,s2,s3,s4,s5,s6) 第二轮开始随…...
![](https://img-blog.csdnimg.cn/img_convert/36e764f01c63449eb9fce927d8a5374e.png)
vTESTstudio - VT System CAPL Functions - VT7001
vtsSerialClose - 关闭VT系统通道的串行端口功能:关闭由系统变量命名空间指定的VT系统通道的串行端口。Target:目标通道变量空间名称,例如:VTS::ECUPowerSupply返回值:0:成功重置目标通道最大和最小值-1&am…...
![](https://img-blog.csdnimg.cn/9f2bd1d874c54e6c890a5e2e0f63e4e1.png)
「可信计算」论文初步解读
可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…...
CSDN 算法技能树 蓝桥杯-基础 刷题+思考总结
切面条-蓝桥杯-基础-CSDN算法技能树https://edu.csdn.net/skill/algorithm/algorithm-530255df51be437b967cbc4524fe66ea?category188 目录 切面条 大衍数列 门牌制作 方阵转置 微生物增殖 成绩统计 星系炸弹 判断闰年的依据: 特别数的和 *日志统计*(双指…...
![](https://images.linuxba.com/小书匠/2023-2-19/1676802441064.png)
信小程序点击按钮绘制定制转发分享图
1. 说明 先上代码片断分享链接: https://developers.weixin.qq.com/s/vl3ws9mA72GG 使用 painter 画图 按钮传递定制化信息 效果如下: 2. 关键代码说明 文件列表如下: {"usingComponents": {"painter": "/com…...
![](https://img-blog.csdnimg.cn/d09e7ef7680f4bd8a19d93c5446ed267.png)
Python自动化测试-使用Pandas来高效处理测试数据
Python自动化测试-使用Pandas来高效处理测试数据 目录:导读 一、思考 二、使用pandas来操作Excel文件 三、使用pandas来操作csv文件 四、总结 一、思考 1.Pandas是什么? 功能极其强大的数据分析库可以高效地操作各种数据集 csv格式的文件Excel文件H…...
![](https://img-blog.csdnimg.cn/img_convert/6a37410866559c571aad951fb537c0c3.png)
语音增强学习路线图Roadmap
语音增强算是比较难的研究领域,从入门到精通有很多台阶,本文介绍一些有价值的书籍,值得反复阅读。主要分为基础类和进阶类书籍,大多都是理论和实践相结合的书籍,编程实践是抓手,让知识和基础理论变扎实。基础书籍《信号…...
![](https://www.ngui.cc/images/no-images.jpg)
nginx配置ssl实现https访问
文章目录一、介绍二、创建证书1、OpenSSL创建自签名密钥和证书三、nginx配置四、开放端口一、介绍 nginx配置ssl证书,实现https访问,可以使用自签名SSL证书或者购买机构颁发的证书两种方式参考链接 https://blog.csdn.net/weixin_39198406/article/deta…...
![](https://img-blog.csdnimg.cn/img_convert/68fd7d428648ba5ed6e97913956e13c8.jpeg)
JavaScript 语句
JavaScript 语句向浏览器发出的命令。语句的作用是告诉浏览器该做什么。JavaScript 语句JavaScript 语句是发给浏览器的命令。这些命令的作用是告诉浏览器要做的事情。下面的 JavaScript 语句向 id"demo" 的 HTML 元素输出文本 "Hello Dolly" :…...
![](https://www.ngui.cc/images/no-images.jpg)
将古老的ASP项目转换为PHP初探
ASP 是一种服务器端脚本语言,主要用于开发动态 Web 应用程序。ASP 可以在服务器上执行代码,并将结果返回给客户端浏览器,实现动态生成 Web 页面的功能。ASP 代码通常包含在 <% %> 标记中,以下是一个简单的 ASP 程序示例&…...
![](https://www.ngui.cc/images/no-images.jpg)
数据结构复习(七)模板类封装实现不带头结点的单链表
一、代码 二、总结 一、代码 #include<iostream> using namespace std;template<class T> struct ListNode {T _data;ListNode* next;ListNode(const T& data T()){_data data;next nullptr;}~ListNode(){next nullptr;} };template<class T> class…...
![](https://img-blog.csdnimg.cn/5680b9c2de78499eba778891c0590364.png)
IDEA插件 RestfulTool插件——Restful服务开发辅助工具集
IDEA插件 RestfulTool插件——Restful服务开发辅助工具集 目录IDEA插件 RestfulTool插件——Restful服务开发辅助工具集1.插件介绍2.安装方式3.使用方法1.插件介绍 RestfulTool插件。一套 Restful 服务开发辅助工具集: 提供了一个 Services tree 的显示窗口 双击 …...
![](https://www.ngui.cc/images/no-images.jpg)
2023年全国最新会计专业技术资格精选真题及答案1
百分百题库提供会计专业技术资格考试试题、会计考试预测题、会计专业技术资格考试真题、会计证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 11.下列各项中,影响企业利润表“利润总额”项目的是(&…...
![](/images/no-images.jpg)
服务好的南昌网站建设/如何在百度上发广告
简介 多数情况下使用组可以很容易地操纵和管理大量网格。但是当对象的数量非常多时,性能就会成为一个瓶颈。使用组,每个对象还是独立的,仍然需要对它们分别进行处理和渲染。通过THREE.Geometry.merge()函数,你可以将多个几何体合…...
![](https://img-blog.csdnimg.cn/819e9c134fef4f968497a137ab8688e9.png)
如何根据网址攻击网站/景德镇seo
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 负载测试࿰…...
网站策划专员所需知识/谷歌推广怎么样
点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏 原创 | Java 2020 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库…...
![](/images/no-images.jpg)
韩国做美食的视频网站/深圳seo优化推广
排序需要得到的结果按字母顺序。a-----z...import java.util.*; /*** 大小写字母的排序* author Administrator**/ public class z {//上边是按大写在后的进行排序static Map<Character,Float> mapnew HashMap<Character,Float>();//hashMap允许null值//按大写在前…...
![](/images/no-images.jpg)
网站建设服务介绍/seo海外
C实现生产guid唯一号 在日常软件开发中,我们经常需要一个唯一标识来标识一个对象或编码文件,下面是C实现的方法,其中sgi_log_t.h头文件定义在log4cplus应用 -日志管理类接口文章中有说明,为了更好的记录生产的guid;#in…...
![](/images/no-images.jpg)
学校联网网站建设/app推广好做吗
常量和变量 常量:程序运行期间,值不可以被改变的量; 变量:程序运行期间,值可以被改变的量; 变量的定义: var 变量名 初始值; var开辟新空间 访问变量就是访问变量值 变量名的命名规…...