JavaWeb——IP协议的相关特性

news2024/12/24 8:18:48

目录

一、IP协议

1、地址管理

(1)、动态分配IP地址

(2)、NAT机制

(3)、IPv6协议

2、路由选择

(1)、定义

(2)、原理

二、路由器

三、IP地址的组成

1、IP地址划分

(1)、IP地址分类(ABCDE类)

(2)、子网掩码 (常用的划分方式)

2、特殊的IP地址

(1)、主机号全为0的IP

(2)、主机号全为1

(3)、环回IP

(4)、主机号为1


一、IP协议

1、地址管理

每个网络上的设备,都需要被分配一个唯一的地址。

IP地址的本质是一个32位的整数,通常会把这32位的整数转换成点分十进制的表示方法。三个点把这个整数分成4个部分,每个部分一个字节,每个字节的取值范围是0~255。

一个字节:0->255,-128->+127

两个字节:0->65535,-32768->+32767

三个字节:0->42亿9千万,-21亿->+21亿

因此,32位的整数最多能表示42亿9千万个不同的地址,这就导致了地址不够用。 想要解决上述问题可以通过下面三种方法。

(1)、动态分配IP地址

设备上网时才分配IP地址,不上网就不分配。

这种方法虽然可以省下很多IP地址,但没有增加IP的数量,只能一定程度的缓解不能彻底解决问题。

(2)、NAT机制

将所有的IP地址分成两大类:

  • 内网IP:10.* ;172.16.*—172.31.*;192.168.*
  • 外网IP:除去内网IP剩下的都是外网IP

NAT机制只是提高了IP的利用率,并没有从根本上解决IP不够用的问题  。

注意要点: 

  • 外网IP必须是唯一的,内网IP则可以在不同的局域网中重复出现,但在同一个局域网中不能出现重复
  • 内网设备如果要访问外网,会给它分配一个外网IP。但是这个外网IP不是这个设备独占的,而是这个内网中所有的设备都共用的外网IP。
  • 局域网可以认为是内网,一个外网IP代表了这个内网中一系列的设备。

例:

NAT背景下的通信:

  • 外网设备->外网设备:不需要任何NAT直接就能通信
  • 内网设备->其他内网设备:不允许
  • 外网设备->内网设备:不允许
  • 内网设备->外网设备:对应的内网设备的路由器,触发NAT机制进行IP替换,此时就会给这个网络数据报的源IP替换成路由器自己的IP,此时一个外网IP就能代表一大批内网中的设备。

(3)、IPv6协议

  • IPv4是传统的IP协议,使用4个字节,32位来表示IP地址。
  • IPv6是新的IP协议,使用16个字节,128位来表示IP地址。

IPv6的IP地址数量是IPv4的IP地址数量的4次方,从根本上解决IP不够用的问题。

注:目前上网仍然是以IPv4为主,IPv6很少被真正用到。此外IPv6和IPv4并不兼容,IPv4路由器想要支持NAT,软件系统升级就可以,成本较低;但想要支持IPv6则需要进行硬件升级,成本较高。

2、路由选择

(1)、定义

在存在大量冗余的网络中,决定A和B之间的线路。

(2)、原理

网络环境复杂,单个路由器无法将整个网络环境都记录下来,因此路由器只能记录周围的情况(也就是知道邻居是谁),路由器内部使用路由表的数据结构来记录周围邻居的消息。IP数据报的实际转发过程是渐进式的,类似于“问路”,逐渐接近最终目标。

例:

想要从A地到F地,可以先去往B地然后询问,B地的人不知道F地在哪,但是知道可以去C地询问,C地的人知道的更多,重复上述过程直到F地。

IP数据报进行网络转发的过程,就是一个“逐渐问路”的过程。每个路由器只能认识周围的情况,很可能问的目标并不知道目的地,即目的IP在路由表中没有匹配的结果。

此时就会走路由器给你指出的一条默认的路径,路由表中的“下一跳表项”就会把数据报指引向更上一级的路由器(越上一级的路由器,知道的越多)。上述的过程就是路由转发的简化版过程。

二、路由器

一个路由器有两个IP地址:WAN口IP,LAN口IP。

这两个IP地址分别是在不同的局域网中,路由器的作用就是把两个局域网连接起来.

例: 

三、IP地址的组成

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

  • 网络号:表示网段(标识一个局域网),保证相互连接的两个网段具有不同的标识。
  • 主机号:表示主机(标识一个局域网内部的主机),同一网段内主机之间具有相同的网络号,但是必须是不同的主机号。

1、IP地址划分

(1)、IP地址分类(ABCDE类)

注:教科书中常用的划分方式,但是在现实中很少用到 。

(2)、子网掩码 (常用的划分方式)

IP地址的前24位都是网络号,剩下的8位是主机号。

子网掩码通过二进制的角度来看,也就是一个32位的整数,左侧都是1右侧都是0,没有类似于1010这种混合的情况。

左侧哪些位有1,IP地址的哪些位就是网络号。

注:家庭网络的子网掩码一般都是255.255.255.0,但是对于一些大型网络就不一定。

2、特殊的IP地址

(1)、主机号全为0的IP

例:192.168.0.0

这是网络号,局域网中不存在某个主机的主机号全为0。

(2)、主机号全为1

例:192.168.0.255

这种地址是广播地址,往这个地址中发送UDP数据报,此时这个数据报就会被转发给整个局域网中的所有主机(TCP不支持广播)。

注:广播功能是在不能预先知道对方的IP是什么,需要探测时使用的。

(3)、环回IP

以127开头的IP,如127.*,被称为环回IP。

环回IP对应特殊的虚拟网卡IO,通过环回IP传输的数据走这个虚拟网卡(这个过程没有IO操作,纯内存操作)要比一般的这种普通IP的数据传输更快。

(4)、主机号为1

例:192.168.0.1

这种IP一般作为网关(局域网的出入口)IP。大部分情况下并不绝对,不是强制约定的,可以手动更改。

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

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

相关文章

Postman登录注册指导

在做后端开发的小伙伴经常需要测试自己写的接口是否可以用 这时Postman就是一个很好的选择 如果您还没有下载 可以参考我的文章 API接口调试工具Postman下载安装步骤 安装好之后 我们就需要处理 它的一个注册和登录 我们点击右上角 这里就有一个创建一个账户 我们点击一下 …

CF - Playing in a Casino

题意:一个数的幸运值计算规则是用里面最大的数字-最小的数字所得值 给出一个范围,求这个范围里幸运值最大的是哪个数 解: 这道题相对来说就很简单了,注意数值限制范围在1道1e6,虽然这道题确实暴力就能做出来&#xf…

手把手教你用几行代码给winform多个控件(数量无上限)赋值

前言: 我们在开发winform程序的过程中,经常会遇到这样一个场景,我们设计的界面,比如主窗体有一百多个TextBox,然后初始化的时候要对这个一百多个TextBox的Text属性赋值,比如赋个1,如果是winfor…

CAD DLL 15 crack增加了对SLDASM、FSAT

CAD DLL 15 crack增加了对SLDASM、FSAT 改进的3D: 提高了打开三维文件的速度。 提高了SAT、STEP、SLDPRT、X_T、X_B、OBJ格式的阅读能力。 增加了对SLDASM、FSAT、SAB、SMT、IPT、IFC格式的支持。 增加了导出为SAT、SAB、STL、OBJ格式的功能。 改进了SAT、STE…

系统错误 无法启动此程序,因为计算机中丢失MSVCP140_1.dll。尝试重新安装该程序已解决此问题

Qt系列文章目录 文章目录 Qt系列文章目录前言一、解决方法 前言 我在windows10系统,使用Qt5.15.2 打包命令:windeployqt.exe ImageManageSys.exe ,把ImageManageSys.exe 拷贝到windows7系统下,报错:ImageManageSys.ex…

红海云CEO孙伟解密智能化人力资源新范式

4月25日,由广州人力资源服务协会联合HRflag主办的“2023广州人力资源创新与科技展”在广州越秀国际会议中心举办,大会邀请红海云CEO孙伟出席并发表主题演讲,分享人力资源数字化的创新,实践以及思考。 红海云持续高增长的密码 在…

jsp内置对象

request 将要介绍request对象的作用范围及其常用的方法。用户每访问一个页面, 就会产生一个HTTP请求。这些请求中一般都包含了请求所需的参数值或者信息, 如果将request对象看作是客户请求的一个实例, 那么这个实例就包含了客户请求的所有数…

Nuxt3 布局layouts和NuxtLayout的使用

Nuxt3是基于Vue3的一个开发框架,基于服务器端渲染SSR,可以更加方便的用于Vue的SEO优化。 用Nuxt3 SSR模式开发出来的网站,渲染和运行速度非常快,性能也非常高,而且可SEO。 接下来我主要给大家讲解下Nuxt3的layouts布…

CF - Li Hua and Pattern

题意:给出了矩阵,里面每个位置分为蓝色或红色(数据上用1和0体现了),给出了一个操作次数,每次可以改变一个坐标的颜色,问能否通过操作使得图像旋转180度后不变。 解:很容易想到&…

修改DaemonSet 的/args参数后多个pod重启的顺序

理论 当您修改了DaemonSet的/args参数时,DaemonSet控制器会自动触发Pod的滚动更新。滚动更新的过程是逐个将旧的Pod删除并创建新的Pod,以确保应用程序的高可用性和稳定性。 在进行滚动更新时,DaemonSet控制器会按照以下步骤逐个重启Pod&…

flask+apscheduler+企业微信消息机器人推送

简介:APScheduler是一个轻量级的Python库,用于在后台运行定时任务和延迟任务。它可以轻松地安排任务并支持多种类型的触发器,例如固定间隔、日期/时间表达式、CRON表达式等。APScheduler还提供了多个后台调度器实现,例如基于线程池…

51单片机(五)LCD1602调试工具

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

4月24日~4月26日学习总结

一,刷题目情况,已经完成了8道题目,对于其中一些题目做一下题解。 这个题目的意思是找到的两个位置l和r,为了做到这个数组的l到r的子数组经过排序后,会变成输入的另外一个数组,这个题目的思路就是首先找到在…

【1G-6G】移动通信技术发展

移动通信技术发展 1G 早在1947年,贝尔实验室的科学家就提出了蜂窝通信的概念,在20世纪60年代对此进行了系统的实验。20世纪60年代末、70年代初开始出现了第一个蜂窝(Cellular)系统。蜂窝的意思是将一个大区域划分为若干个相邻的…

nodejs+vue 古诗词数字化分享平台

目录 第一章 绪论 5 1.1 研究背景 5 1.2系统研究现状 5 1.3 系统实现的功能 6 1.4系统实现的特点 6 1.5 本文的组织结构 6 第二章开发技术与环境配置 7 2.1nodejs语言简介 7 2.2vue技术 8 2.3 MySQL环境配置 8 2.4 MyEclipse环境配置 9 2.5 mysql数据库介绍 9 2.6 B/S架构 9 第…

31-基于GA遗传算法的车辆充电调度系统优化matlab程序

资源地址: 主要内容: 研究多辆电动汽车的充电调度问题,考虑某时段区域范围内有M 辆电动汽车发出充电请求时,周围有N 个充电桩可以提供充电位的调度情况。把当前调度时段电动汽车和充电桩的基本数据加载到调度中心,调度…

基于springboot“漫画之家”系统(附源码、设计文档)

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&…

Linux->管道和共享内存通信

目录 1 管道 1.1 管道是什么 1.1 匿名管道通信 1.2 父子进程通信 1.3 匿名管道实现多进程文件的写入读取 1.4 命名管道 2 共享内存 1 管道 1.1 管道是什么 管道顾名思义,他就是一个像是连通器一样的东西,原本不存在联系的东西之间建立起一定的关…

数据结构学习记录——平衡二叉树的调整(基本介绍、右单旋、左单旋、左右双旋、右左双旋、平衡因子的计算)

目录 基本介绍 右单旋 左单旋 左右双旋 右左双旋 平衡因子的计算 基本介绍 首先,平衡二叉树也是一棵二叉搜索树。 当我们在一棵平衡二叉树进行插入或者删除时,可能会把原来的平衡二叉树变得不平衡, 这个时候我们就需要进行调整了。…

《个人博客部署上线教程一》Halo搭建个人博客网站

Halo搭建个人博客网站 一、docker部署Halo 目前测试了两种方法安装Halo,第一种是使用Jar包安装:提供JAR包资源,不过因为使用jar包部署需要Java11才可以,我本机使用的是Java8,所以暂时不做调整。第二种是通过docker安装。 1.1 启…