IP基础(通俗易懂版)

news2025/1/10 18:50:23
IP 位于 TCP/IP 参考模型的第三层,也就是⽹络层。
⽹络层的主要作⽤是:实现主机与主机之间的通信,也叫点对点通信。
1 、网络层( IP) 与数据链路层 (MAC) 有什么关系呢?
MAC 的作用:
实现【直连】的两个设备之间通信。
IP 的作用:
负责在【没有直连】的两个⽹络之间进⾏通信传输。

 

在⽹络数据包传输中,源IP地址和⽬标IP地址在传输过程中是不会变的,只有源MAC地址和⽬标MAC⼀直在变化。 

实际上让 43 亿台计算机全部连⽹其实是不可能的,更何况 IP 地址是由「⽹络标识」和「主机标识」这两个部分组成的,所以实际能够连接到⽹络的计算机个数更是少了很多。
但可以根据⼀种可以更换 IP 地址的技术 NAT ,使得可连接计算机数超过 43 亿台。

1 IP 地址分类
IP 地址被分为了五种类型

最⼤主机数=2^主机号位数-2,其中有两个地址,全0和全1是⽐较特殊的

⼴播地址⽤于在同⼀个链路中相互连接的主机之间发送数据包。⼴播地址可以分为本地⼴播和直接⼴播两种。
在本⽹络内⼴播的叫做本地⼴播。例如⽹络地址为 192.168.0.0/24 的情况下,⼴播地址是 192.168.0.255
因为这个⼴播地址的 IP 包会被路由器屏蔽,所以不会到达 192.168.0.0/24 以外的其他链路上。
在不同⽹络之间的⼴播叫做直接⼴播。
例如⽹络地址为 192.168.0.0/24 的主机向 192.168.1.255/24 的⽬标地址发送 IP 包。收到这个包的路由器, 将数据转发给 192.168.1.0/24 从⽽使得所有 192.168.1.1~192.168.1.254 的主机都能收到这个包(由于直接⼴播有⼀定的安全问题,多数情况下会在路由器上设置为不转发。)
2 )什么是 D E 类地址?
D 类和 E 类地址是没有主机号的,所以不可⽤于主机 IP D 类常被⽤于多播, E 类是预留的分类,暂时未使⽤。

多播地址⽤于将包发送给特定组内的所有主机。由于⼴播⽆法穿透路由,若想给其他⽹段发送同样的包,就可以使⽤可以穿透路由的多播。

 

 多播使⽤的 D 类地址,其前四位是 1110 就表示是多播地址,⽽剩下的 28 位是多播的组编号。

224.0.0.0 ~ 239.255.255.255 都是多播的可⽤范围,其划分为以下三类:
224.0.0.0 ~ 224.0.0.255 为预留的组播地址,只能在局域⽹中,路由器是不会进⾏转发的。
224.0.1.0 ~ 238.255.255.255 为⽤户可⽤的组播地址,可以⽤于 Internet 上。
239.0.0.0 ~ 239.255.255.255 为本地管理组播地址,可供内部⽹在内部使⽤,仅在特定的本地范围内有效。
3 IP 分类的优缺点
优点:
可以根据 IP 地址的前四位来判别 IP 地址属于哪个类别。简单明了,选路简单。
缺点:
同⼀⽹络下没有地址层次,⽐如⼀个公司⾥⽤了 B 类地址,但是可能需要根据⽣产环境、测试环境、开发环境来划
分地址层次,⽽这种 IP 分类是没有地址层次划分的功能,所以这就缺少地址的灵活性。
A B C 类有个尴尬处境,就是不能很好的与现实⽹络匹配。
C 类地址能包含的最⼤主机数量实在太少了,只有 254 个,估计⼀个⽹吧都不够⽤。
B 类地址能包含的最⼤主机数量⼜太多了, 6 万多台机器放在⼀个⽹络下⾯,⼀般的企业基本达不到这个规模,
闲着的地址就是浪费。这两个缺点,都可以在 CIDR ⽆分类地址解决。
4 CIDR ⽆分类地址
这种⽅式不再有分类地址的概念, 32 ⽐特的 IP 地址被划分为两部分,前⾯是⽹络号,后⾯是主机号。
(i) 如何划分⽹络号和主机号呢?
表示形式 a.b.c.d/x ,其中 /x 表示前 x 位属于⽹络号, x 的范围是 0 ~ 32 ,这就使得 IP 地址更加具有灵活性。
还有另⼀种划分⽹络号与主机号形式,那就是⼦⽹掩码,掩码的意思就是掩盖掉主机号,剩余的就是⽹络号。
将⼦⽹掩码和 IP 地址按位计算 AND ,就可得到⽹络号。
ii )为什么要分离⽹络号和主机号?
因为两台计算机要通讯,⾸先要判断是否处于同⼀个⼴播域内,即⽹络地址是否相同。如果⽹络地址相同,表明接受⽅在本⽹络上,那么可以把数据包直接发送到⽬标主机。
路由器寻址⼯作中,也就是通过这样的⽅式来找到对应的⽹络号的,进⽽把数据包转发给对应的⽹络内。
iii )如何进⾏⼦⽹划分?
通过⼦⽹掩码划分出⽹络号和主机号,那实际上⼦⽹掩码还有⼀个作⽤,那就是划分⼦⽹。
⼦⽹划分实际上是将主机地址分为两个部分:⼦⽹⽹络地址和⼦⽹主机地址。形式如下:
假设对 C 类地址进⾏⼦⽹划分,⽹络地址 192.168.1.0 ,使⽤⼦⽹掩码 255.255.255.192 对其进⾏⼦⽹划分。
C 类地址中前 24 位是⽹络号,最后 8 位是主机号,根据⼦⽹掩码可知从 8 位主机号中借⽤ 2 位作为⼦⽹号(对应 4个⼦⽹)。
2 、公有 IP 地址与私有 IP 地址
A B C 分类地址,实际⼜分公有 IP 地址和私有 IP 地址。
平时我们办公室、家⾥、学校⽤的 IP 地址,⼀般都是私有 IP 地址。因为这些地址允许组织内部的 IT ⼈员⾃⼰管理、⾃⼰分配,⽽且可以重复。
因此,你学校的某个私有 IP 地址和我学校的可以是⼀样的。 就像每个⼩区都有⾃⼰的楼编号和⻔牌号,你⼩区家 可以叫 1 101 号,我⼩区家也可以叫 1 101 ,没有任何问题。但⼀旦出了⼩区,就需要带上中⼭路 666 号 (公⽹ IP 地址),是国家统⼀分配的,不能两个⼩区都叫中⼭路 666
所以,公有 IP 地址是有个组织统⼀分配的,假设你要开⼀个博客⽹站,那么你就需要去申请购买⼀个公有 IP ,这样全世界的⼈才能访问。并且公有 IP 地址基本上要在整个互联⽹范围内保持唯⼀

那么公有 IP 地址由谁管理呢?
私有 IP 地址通常是内部的 IT ⼈员管理,公有 IP 地址是由 ICANN 组织管理,中⽂叫「互联⽹名称与数字地址分配 机构」。 IANA ICANN 的其中⼀个机构,它负责分配互联⽹ IP 地址,是按州的⽅式层层分配。

 

3 IP 地址与路由控制
IP 地址的⽹络地址这⼀部分是⽤于进⾏路由控制。路由控制表中记录着⽹络地址与下⼀步应该发送⾄路由器的地址。在主机和路由器上都会有各⾃的路由器控制表。
在发送 IP 包时,⾸先要确定 IP 包⾸部中的⽬标地址,再从路由控制表中找到与该地址具有相同⽹络地址的记录, 根据该记录将 IP 包转发给相应的下⼀个路由器。如果路由控制表中存在多条相同⽹络地址的记录,就选择相同位数最多的⽹络地址,也就是最⻓匹配。
举例说明:

 

环回地址是不会流向⽹络:
环回地址是在同⼀台计算机上的程序之间进⾏⽹络通信时所使⽤的⼀个默认地址。 计算机使⽤⼀个特殊的 IP 地址 127.0.0.1 作为环回地址。
与该地址具有相同意义的是⼀个叫做 localhost 的主机名。使⽤这个 IP 或主机名时,数据包不会流向⽹络。

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

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

相关文章

【乐吾乐大屏可视化组态编辑器】条件修改属性

条件修改属性 在线使用:https://v.le5le.com/ 如图所示,右边文本图元数值一直在发生变化,当数值大于等于600、或者小于等于200的时候,左侧正方形图元背景颜色变成红色,产生告警效果;当数值在200到600之间…

海康相机二次开发学习笔记1-环境配置

因为最近可以用一段时间海康加密狗,Visionpro二次开发暂时停更一段时间,开始记录一下海康相机二次开发的学习笔记. 环境配置 1. 创建项目 打开Visual Studio,新建.NetFramework项目,选择WindowsForms,点击下一步,选择项目名称,点击下一步,点击确定打开项目属性,点击生成选项…

系统编程-认识Linux及常用指令

1 认识Linux及常用指令 主要学习函数 一、认识linux Linux 是由 UNIX 发展而来的,UNIX 是由程序员设计,它的主要服务对象也是程序员。Linux 继承了 UNIX 的设计目标。 1、linux系统的主要特性 多用户多任务开源 免费 大家都可以用庞大的社区群支持多…

Linux os下制作deb包

在 linux os下制作 .deb 包涉及以下几个主要步骤。假设已经有一个应用程序或软件项目,并且希望将它打包为一个 .deb 包。 1. 准备源代码和构建环境 首先,需要准备好应用程序的源代码,并确保它可以在开发环境中成功编译和运行。 2. 创建目录…

Istio学习整理

一、Service Mesh Service Mesh 的中文译为 “服务网格” ,是一个用于处理服务和服务之间通信的基础设施层,它负责为构建复杂的云原生应用传递可靠的网络请求,并为服务通信实现了微服务所需的基本组件功能,例如服务发现、负载均衡…

【嵌入式】指针与整数的桥梁、跨平台编程的黄金钥匙:揭开 uintptr_t 和 intptr_t 的神秘面纱

目录 一、intptr_t 和 uintptr_t 详解二、适用场景三、示例四、写在最后 一、intptr_t 和 uintptr_t 详解 intptr_t 和 uintptr_t,这两个数据类型是ISO C99定义的。主要用于处理指针和整数之间的转换。它们在需要将指针转换为整数进行操作,或者将整数转…

spring boot入门案例

一、案例需求 请求Controller中的方法,并将返回值响应到页面 二、代码实现 1.依赖管理——pom.xml文件 (1)引入 (2)引入依赖集合 (3)引入插件:为了方便运行,将project…

[Meachines] [Medium] Haircut Curl命令注入+TRP00F自动化权限提升+Screen4.5.0权限提升

信息收集 IP AddressOpening Ports10.10.10.24TCP:22,80 $ nmap -p- 10.10.10.24 --min-rate 1000 -sC -sV ORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 e9:75:c1:e4:b3:63…

驱动开发系列10 - Linux Graphics 图形栈介绍

目录 一:Linux 图形栈总体结构 1. 整体图形栈: 2. 现代3D图形栈: 二:Xorg 介绍 Xorg 概述: Xorg的发展历史: Xorg绘制原理: Xorg的缺点: 三:Wayland 介绍 一:Linux 图形栈总体结构 1. 整体图形栈: 应用程序->桌面环境->GUI框架->Display Client->Displ…

探索边缘计算与云计算之间的区别

IT管理员不需要在边缘和云之间进行选择,但需要了解每种技术的优缺点,以便最好地将它们融入到企业运营中。 许多组织使用云作为其整体IT平台的一部分。资源管理的灵活性和更高的整体利用率的承诺可以等同于节省成本。 此外,对许多人而言&…

聚焦巴黎奥运会 | AI技术如何成为赛场上的智能明星?

备受关注的2024年巴黎奥运会已圆满落幕! 本届巴黎奥运会不仅是全球瞩目的体育盛事,更是展示中国科技创新实力的重要舞台。从精彩的赛事转播到精密的比赛设备,再到先进的场馆建设,中国的"黑科技"正伴随着中国运动员的矫健…

达梦DSC集群部署.docx

1. 前期规划 1.1. 集群规划 节点1节点2业务服务名DSC业务IP192.168.25.101192.168.25.102内部数据交换网络IP10.10.10.110.10.10.2dmdcr_cfgCSSDCR_EP_NAMECSS0CSS1DCR_EP_HOST10.10.10.110.10.10.2DCR_EP_PORT11286ASMDCR_EP_NAMECSS0CSS1DCR_EP_HOST10.10.10.110.10.10.2DC…

服务器数据恢复—raid5阵列热备盘未全部启用导致阵列崩溃的数据恢复案例

服务器存储数据恢复环境: 一台EMC某型号存储中有一组RAID5磁盘阵列。该raid5阵列中有12块硬盘,其中2块硬盘为热备盘。 服务器存储故障: 该存储raid5阵列中有两块硬盘离线,只有1块热备盘启用替换掉其中一块离线盘,另外…

如何让RStudio使用不同版本的R

下面内容摘录自: 专栏问答:管理和选择不同的R,如何做好R的笔记_rstudio如何在不同的r版本中进行切换-CSDN博客 欢迎订阅我们专栏 问题一:如何发现RStudio需要安装和使用不同版本的R。这是为什么呢? R允许用户在同一系统…

Spring容器启动的过程(main)

大体流程如下 1、初始化 首先,Spring会通过用户提供的配置信息(例如XML文件或者注解)来初始化一个BeanFactory,这个BeanFactory是Spring容器的核心,它负责创建和管理所有的Bean。 2、读取配置生成并注册BeanDefini…

单点Redis中面临哪些问题

我的后端学习大纲 我的Redis学习大纲 1.面试:请说下在单点Redis中面临哪些问题: 1.1.单点Redis的问题: 1.数据丢失问题:Redis是内存存储,服务重启可能会丢失数据 2.并发能力问题:单节点Redis并发能力虽然…

springboot系列十二:拦截器和文件上传

文章目录 基本介绍拦截器应用实例需求分析代码实现注意事项和细节 文件上传需求说明代码实现注意事项和细节课后扩展 基本介绍 1.在Spring Boot项目中, 拦截器是开发中常用手段, 要来做登陆验证, 性能检查, 日志记录等. 2.基本步骤: √ 编写一个拦截器实现HandlerInterceptor…

【简单】 猿人学web第一届 第3题 罗生门

请求逻辑分析 数据接口为https://match.yuanrenxue.cn/api/match/3?page1 这一题的 请求参数 与 cookie 都没有加密参数 每次请求数据接口前都会请求 jssm 接口 requests 照着请求逻辑去请求,发现是失败的(数据接口返回包含 js标签 代码)…

Unity数据持久化 之 Json序列化与反序列化

语法规则可以看这篇文章:Unity数据持久化 之 Json 语法速通-CSDN博客 Q:Unity是通过什么来对Json文件进行处理的? A:JsonUtility:Unity 提供了 JsonUtility 类,用于将对象序列化为 JSON 字符串或将 JSON 字符串反序列化为对象。…

从 MySQL 迁移到 TiDB:使用 SQL-Replay 工具进行真实线上流量回放测试 SOP

导读 在 MySQL 迁移至 TiDB 的过程中,兼容性和性能验证至关重要。SQL-Replay 是一款实用工具,用于评估数据库的兼容性和性能,支持日志解析、查询回放、性能测量和报告生成等功能。 本文介绍了 SQL-Replay 工具的安装和使用步骤,…