JavaEE: 探索网络世界的核心-IP协议

文章目录

  • IP 协议
    • 协议头格式
    • IP 地址
      • IP地址的数量限制
      • 解决IP不够用的问题
    • IP 地址的网段划分
      • 子网掩码
      • ABCDE五类网络
    • 特殊的 IP 地址


IP 协议

协议头格式

在这里插入图片描述

  • 4位版本号: 只有两个取值,4(IPv4)和6(IPv6).

    IPv2,IPv5这些在实际中是没有的,可能是理论上/实验室中存在~

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

  • 8位服务类型: IP协议以哪种模式进行工作.

  • 16位总长度: IP数据报整体占多少个字节.

  • 16位标识: 一个大的数据,拆成多个IP数据报传输,此时这多个IP的数据报的16位标识,就是相同的值.

  • 3位位标志字段: 一位保留(现在不用,但是说不定以后要用到).1位表示当前是否是拆包/组包.1位表示当前包是否是组包中的最后一个.

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

  • 8位生存时间(TTL): 描述了一个数据报在网络中最多存活多长时间.TTL的单位不是 s 或者 min ,而是 “次数”(经过路由器转发的次数,一般是64).这个字段主要是用来防止出现路由循环.

    发送一个IP数据报的时候,会有一个初识的TTL的值(32,64,128…)
    数据报每次经过一个路由器转发,TTL就会 -1 (经过交换机,不减).
    一旦TTL减到0了,此时这个数据包就会被当前的路由器直接丢弃掉.

  • 8位协议: 描述了IP数据报中,携带的载荷,是哪种传输层协议的数据报.

    通过这里不同的数值,来表示接下来要把数据交给TCP解析,还是UDP解析,还是其他协议解析.
    有点类似于TCP/UDP报头中的"端口号".

  • 16位首部校验和: 验证数据在传输中是否出错(只是针对首部,IP报头).

    载荷部分TCP/UDP都有自己的校验和~

  • 32位源地址和31位目标地址: IP数据报中的最关键的信息,描述了数据报从哪里来,要到哪里去~

  • 选项字段: 略.

IP 地址

IP地址,用来标识网络上的一个设备.

IP地址的数量限制

我们知道,IP地址(IPv4)是一个4字节32位的正整数,那么一共只有2的32次方个IP地址,大概是42亿九千万左右.而TCP/IP协议规定,每一个主机都需要有一个IP地址.

这意味着,一共只有42亿九千万主机能接入网络吗?

实际上,由于一些特殊IP地址的存在,IP地址的数量远不足42亿九千万.另外IP地址并非是按照主机台数来配置的,而是每一个网卡都需要配置一个或多个IP地址.

解决IP不够用的问题

方案一: 动态分配IP地址.一个设备上网就分配IP,不上网就先不分配IP.(只是一个权宜之计)

方案二: NAT网络地址转换.以一当千,使用一个IP代表一大波设备.

  • NAT把IP地址分成两大类:
    1. 内网IP / 私网IP
    2. 外网IP / 公网IP

    要求公网IP必须是唯一的.但是私网IP是允许重复的(在不同的局域网中是允许重复的)

NAT 网络地址转换:

  • 一个设备在进行上网的时候,IP数据报中的IP地址,就会被NAT设备(通常是路由器)自动修改.
    1. 同一个局域网内,主机 A 访问主机 B ,不会涉及到 NAT 机制.
    2. 公网上的设备 A ,访问公网上的设备 B ,不会涉及到 NAT .
    3. 一个局域网中的主机 A 访问另一个局域网的主机 B ,这在 NAT 机制中,是不允许的.
    4. 局域网内部的设备 A ,访问公网上的设备 B ,NAT机制生效.

在这里插入图片描述

但凡是搭建一个服务器给别人使用,都是需要公网IP的.

NAT 机制的缺点:

  • 在这个机制之下,网络环境太复杂了.
  • 替换过程中,每一层路由器都需要维护映射关系,每次转发数据,都要查询映射关系…(都是开销).

方案二是一个办法,但是不太优雅.别急,还有一个办法.

方案三: IPv6 .

IPv6可以从根本上解决 IP 地址不够用的问题~

  • IPv4 使用 32 位 4 个字节表示 IP 地址.
  • IPv6 使用 128 位 16个 字节来表示 IP 地址.

IPv6 的地址空间非常巨大,大到可以给地球上的每一粒沙子都分配一个唯一的 IPv6 地址.

关于 IPv6 可以看看这个视频 电子监听、全国断网,棱镜门背后,中国如何从末路狂奔到世界之巅

IP 地址的网段划分

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

网络中规定:

  • 同一个局域网中的设备,网络号必须相同,主机号必须不同.
  • 两个相邻的局域网,网络号必须不同.

子网掩码

网络号和主机号如何区分呢?
答: 通过子网掩码来区分.

子网掩码:

  • 子网掩码是一个 32 位的正整数,通常用一串 “0” 来结尾.
  • 子网掩码中的连续的 1 表示网络号的部分,连续的 0 表示主机号的部分。
  • 将 IP 地址和子网掩码进行 “按位与” 操作,得到的结果就是网络号.
    举个例子:
    在这里插入图片描述

ABCDE五类网络

除了子网掩码的方案,还有一种方案,ABCDE五类网络.
在这里插入图片描述

这是上古时期的网络划分方式,现在已经看不到了.但是仍然存在于教科书上,期末网络考试一般会有一道题靠这个.

特殊的 IP 地址

  1. 将 IP 地址中的主机地址全部设为 0 (二进制),就成为了网络号,代表这个局域网.

    因此,给局域网中的某个设备,分配 IP 地址的时候,不能把主机号设为全 0.

  2. 将 IP 地址中的主机地址全部设为 1 (二进制),就成了广播地址,用于给同一个链路中相互连接的所有主机发送数据包.
  3. 127.* 的 IP 地址用于本机环回测试,通常是 127.0.0.1

    自发自收,给这个 IP 发一个数据,设备就会从这个 IP 上再收到同一个数据,自己发给自己~


本文到这里就结束啦~

在这里插入图片描述

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

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

相关文章

Redis集群的两种方式

1.Redis集群 1.1 搭建主从集群 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写的分离。一般情况下,主节点负责写操作,从节点负责读操作。而从节点如何得知数据呢&#xff…

Study-Oracle-10-ORALCE19C-RAC集群搭建(一)

一、硬件信息及配套软件 1、硬件设置 RAC集群虚拟机:CPU:2C、内存:10G、操作系统:50G Openfile数据存储:200G (10G*2) 2、网络设置 主机名公有地址私有地址VIP共享存储(SAN)rac1192.168.49.13110.10.10.20192.168.49.141192.168.49.130rac2192.168.49.13210.10.10.3…

产品管理 - 互联网产品(4): 交互设计

原型设计 原型是产品可视化的展示,包括了产品的信息架构、功有、内容、交互方式。目前业务普遍菜用了Axure作为原型设计工具。产品或交互人员通过对信息架构的梳理,确认界面内容区的划分,并通过交互方式呈现功能点。 原型分为线框图、低保真…

如何通过Dockfile更改docker中ubuntu的apt源

首先明确我们有一个宿主机和一个docker环境,接下来的步骤是基于他们两个完成的 1.在宿主机上创建Dockerfile 随便将后面创建的Dockerfile放在一个位置,我这里选择的是 /Desktop 使用vim前默认你已经安装好了vim 2.在输入命令“vim Dockerfile”之后,…

留学生如何适应海外生活以及应对文化差异

对于即将出国学习和生活的留学生来说,文化差异和生活方式的变化常常是一个紧迫的问题。那么,如何应对这些文化差异,以及如何适应新的学习环境和社交生活呢?本文将分享一些具体可行的建议和方法,助您顺利跨越这道难关&a…

CentOS 替换 yum源 经验分享

视频教程在bilibili:CentOS 替换 yum源 经验分享_哔哩哔哩_bilibili问题原因 解决方法 1. 进入镜像目录 [rootlocalhost ~]# cd /etc/yum.repos.d/ 2.备份文件 [rootlocalhost yum.repos.d]# rename repo bak * 3.寻找阿里镜像源复制 https://developer.aliyun.com/mirror/ …

vue框架学习 -- 日历控件 FullCalendar 使用总结

最近在项目中要实现日期排班的功能,正好要用到日历视图的控件,经过对比发现,vue 中 使用 FullCalendar 可以实现相关需求,下面对使用过程做一个总结。 一. 引入 FullCalendar 控件 package.json 中添加相关依赖 "dependen…

STM32单片机编程调试常见问题(一) HardFault_Handler故障分析与解决

文章目录 一.概要二.什么是Hard fault三.Hard fault 产生的原因分析四.制作一个Hard fault程序并定位出问题原因1.查看堆栈指针SP的地址以及内容2.找到Return address地址3.查看汇编界面4.输入Return address地址,查找到问题代码 小结 一.概要 在嵌入式开发中&…

Hugging Face从命令行到桌面:Chat-macOS让AI互动更简单,关键还免费!

你是否曾经觉得,命令行操作虽然强大,但总是有些难以上手?或者,你是否希望和AI互动可以像日常使用macOS应用一样直观?那你一定要试试Chat-macOS,它让你从命令行走向桌面,体验更轻松的AI互动方式。 1. 什么是Chat-macOS? Chat-macOS是一个桌面应用程序,它能够将Hug…

pdf怎么转变成jpg图片?值得推荐的几种PDF转jpg方法

pdf怎么转变成jpg图片?jpg格式的图像在电子邮件、社交媒体等在线平台上分享非常方便,用户无需担心软件兼容性问题。将PDF内容转换为jpg后,能够有效保留原始文档的视觉布局,使信息更加生动易懂,适合用于演示和展示。同时…

六级翻译 高分笔记

第一节 句子的拆分与重组 核心原则:拆主干,补修饰 一、句子的拆分与重组 1.青藏铁路是世界最高最长的高原铁路。(“的”字前面所有去掉,就是句子主干) The Qinghai-Tibet Railway is the highest and longest plate…

工控主板在工业控制中扮演什么角色

工控主板在工业控制中扮演着至关重要的角色,它是工业控制系统的核心组件,负责连接、控制和管理各种工业设备,实现自动化生产和智能化管理。具体来说,工控主板在工业控制中的作用可以归纳为以下几个方面: 一、核心控制…

综合业务区的数字化创新与智能化蓝图

数字化智能管理的关键要素之一是综合业务区的电子标签系统,该系统在提高管理工作的效率、精确跟踪资源以及改善业务流程中扮演了至关重要的角色。以下内容将对这一综合业务区采用的智能电子标签系统进行深入剖析。 一、定义与功能 1.1定义 融合多功能于一体的智能…

海外盲盒APP系统:盲盒出海热潮下的选择

近年来,盲盒市场展现出了强劲的发展态势,不仅在国内持续上演“盲盒热”,在海外市场中更是“一盒难求”!在盲盒出海的浪潮下,盲盒在国际市场中迅速火爆,一时席卷了全球市场。 海外盲盒系统是企业拓展海外市…

为本地生活赛道从业者赋能,易播易赚开启“抖音直播分享会”

9月22日,由杭州易播易赚科技有限公司主办的“抖音直播分享会”在杭州市富阳区召开,此次会议吸引了来自全国各地的抖音直播从业者、有志于加入抖音直播事业的创业者以及行业内知名专家齐聚一堂,共同探讨行业发展趋势、分享实战经验&#xff0c…

探索基于知识图谱和 ChatGPT 结合制造服务推荐前沿

0.概述 论文地址:https://arxiv.org/abs/2404.06571 本研究探讨了制造系统集成商如何构建知识图谱来识别新的制造合作伙伴,并通过供应链多样化来降低风险。它提出了一种使用制造服务知识图谱(MSKG)提高 ChatGPT 响应准确性和完整…

yolox训练自己的数据集

环境搭建 gpu按自己情况安装 nvidia-smi 查看自己的版本 CUDA和cudnn 按自己的安装,我的驱动551.76,注意不要用最新的,官网只要求驱动是大于等于,可以用低版本的cuda,我安装的是CUDA 11.1 cuda下载后&#xff0c…

py 元组,列表,函数的学习和使用

代码 下面两个Python脚本&#xff0c;分别解决问题。 1. 脚本 test1.ipynb # 创建一个元组 t1 和一个空列表 list1 t1 (1, 2, R, py, Matlab) list1 [] # 使用 while 循环&#xff0c;将 t1 中的元素添加到 list1 i 0 while i < len(t1): list1.append(t1[i]) …

实时监控图像中的人脸识别:理解人脸识别技术指南

点击下方卡片&#xff0c;关注“小白玩转Python”公众号 在当今的数字时代&#xff0c;人脸识别技术已经成为一个关键技术&#xff0c;它正在从安全到个性化体验等多个领域进行革新。从门禁控制到考勤系统&#xff0c;再到走失儿童的检测&#xff0c;人脸识别的应用非常广泛&am…