IP协议知识点总结

IP协议主要分为三个
1. 地址管理
每个网络上的设备, 要能分配一个唯一的地址

2. 路由选择
小A 给小B 发消息, 具体应该走什么路线

3. 地址管理
在这里插入图片描述
IP 地址. 本质上是一个 32 位的整数
通常将, 32 位的整数使用点分十进制来表示, 如 192.168.1.1
一共可以表示 42 亿 9 千万个地址

但是目前这些 IP 地址并不够用

如何解决 IP 不够用的问题呢???

1. 动态分配 IP 地址

设备上网才分配, 不上网就不分配 -> 这样就可以剩下一大批的 IP 地址

但是并没有增加 IP 地址的数量, 只能一定程度上缓解, 并不能彻底解决问题

2. NAT 机制

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

  • 内网 IP:10.*       172.16.*       172.31.*       192.168.*
  • 外网 IP : 剩下的 IP

  • 内网 IP: 可以重复出现 (在不同的局域网中)
  • 外网 IP: 必须是唯一

  • 内网设备如果要访问外网的话, 会给他分配一个外网 IP
  • 这个外网 IP 不是这个设备独占的, 而是内网中的所有设备都共用这一个外网 IP

小栗子

比如我上网买个衣服
收货地址 : 福建省, 福州市, xxxx大学
而一个大学有上万人, 每个人都填这个大学, 这个大学地址是唯一的, 但是代表的人不是唯一
大学里的人就是内网, 里面的人都用同一个外网的 IP


简单模拟一下内网访问外网
在这里插入图片描述
在之后, 当服务器发送响应数据报的时候, 路由器本身知道替换, 所以将数据报各自发给我和小a 的主机

由于 NAT 机制, 导致电脑处在内网中, 无法被外部直接访问


两个误区

  1. 不是所有的数据通过路由器转发, 就一定会触发 NAT 功能
  2. 只要求外网的 IP 必须唯一, 但是内网的 IP 在不同的局域网里是允许重复的 (同一个局域网内不允许重复)

在 NAT 的背景下如何进行通信???

  • 外网设备 -> 外网设备, 不需要任何的 NAT, 就可以直接通信
  • 内网设备 -> 其他的内网设备, 不允许 ×
  • 外网设备 -> 内网设备, 不允许 ×
  • 内网设备 -> 外网设备, 对应的内网设备的路由器, 触发 NAT 机制, 进行 IP 替换, 此时会将这个数据报的源 IP 替换成路由器的 IP

通过 动态分配 + NAT ==> 解决 IP 地址不够用的问题


补充

DHCP是路由器自动给你的设备分配一个局域网内唯一一个 IP


IPv6

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


IP 地址的组成

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

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

一个路由器中, 有两个 IP 地址, 分别是在不同的局域网里
路由器的作用 -> 把两个局域网连起来
WAN:用于连接外部网络, 通常连接到互联网, 属于广域网接口
LAN:用于连接内网设备, 提供本地网络的连接, 属于局域网接口

在这里插入图片描述
在这里插入图片描述
比如以上我画的拓扑图, 其中路由器就是把两个局域网连接到了一起,
此时这两个局域网就被称作 " 相邻 " 的局域网, 这两个局域网的网络号是不可以重复的


IP 地址的划分

1. (ABCDE)划分

在这里插入图片描述

这种早已不再使用, 只有教科书中会考, 所以了解即可

2. 子网掩码

如图是我的电脑的 IP 地址 以及子网掩码
在这里插入图片描述
IP 地址的前 24 位都是网络号, 因为都是 1 , 剩下的八位是主机号


特殊的 IP 地址

假设子网掩码是 255.255.255.0

  • 主机号为 0 的 IP       192.168.0.0 局域网内不应该存在某个主机的主机号为 0

  • 主机号全为1       192.168.0.255 是广播地址, 向这个地址发送 UDP 数据报, 此时这个数据报就会被转发给整个局域网的所有主机

  • IP 为 127 开头的比如 127.* 称作环回 IP 127.0.0.1 (是最常用的) 其他如127.1.1.1 也都是环回 IP , 环回 IP 有很多个

  • 主机号为 1 的比如图上的 192.168.3.1 一般作为网关 IP (指的是大部分情况下, 并不是强制的)


路由选择

比如你要从 A -> B 其中有很多的路线, 具体路线应该如何走, 这就是路由选择需要做的事情

由于网络环境非常复杂, 某一个路由器无法将网络环境全部记录下来

路由器只能记录周围的情况 (也就是只知道附近的路由器是谁)
路由器内部使用 路由表 这种数据结构来记录周围邻居的信息

实际的转发过程, 类似像问路一样, 不断接近最终目标

在这里插入图片描述

如图, IP 数据报在转发的过程中, 就是不断问路的过程

  • 由于每个路由器只认识自己周围的情况, 很可能想去的地方, 其实并不知道 (目的 IP 在路由表中, 没有匹配的结果)

  • 如果在自己的表中找不到, 此时就会给你指出一条默认的路径, (路由表中的 “下一条表项” ) ==> 把 IP 数据报指引向更上级的路由器(越上级的路由器就知道越多的内容)

以上是路由选择转发的过程**(简化版)**

其中细节部分还有 路由表是如何生成的, 路由表如何进行匹配 …(具体不多阐述)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动态规划 之 路径问题 算法专题

一. 不同路径 不同路径 状态表示 dp[i][j] 表示走到[i][j]位置, 有几种不同的路径状态转移方程 以离[i][j] 最近的位置划分问题 1.从[i - 1][j] 到[i][j], 到[i][j]位置的不同路径数 就是和 到[i - 1][j]位置的不同路径数相同, 即dp[i][j] dp[i - 1][j] 2.从[i][j - 1] 到[i…

浮动路由:实现出口线路的负载均衡冗余备份。

浮动路由 Tip:浮动路由指在多条默认路由基础上加入优先级参数,实现出口线路冗余备份。 ip routing-table //查看路由表命令 路由优先级参数:越小越优 本次实验测试两条默认路由,其中一条默认路由添加优先级参数,设置…

补一下 二维 平面直角坐标系 到三维

上一篇帖子写到 二维的平面直角坐标系,是那样的,这次补充一下三维的。首先需要,安装一个包,如下: 然后,把参数输入,输入这个坐标系的参数,如下: 这样就可以输出如下的三…

CertiK创始人顾荣辉出席新加坡商业与慈善论坛,发表主旨演讲并主持专题讨论

2024年11月5日 —— 美国哥伦比亚大学教授、CertiK联合创始人、MAS国际技术顾问顾荣辉受邀参加2024年度新加坡商业与慈善论坛(Business & Philanthropy Leadership Forum Singapore,简称B&P Forum),期间发表主旨演讲并主持…

基于STM32的智能物联网家用机器人设计

引言 本项目基于STM32微控制器设计了一个智能物联网家用机器人,通过集成多个传感器模块、摄像头以及Wi-Fi模块,实现远程控制、家庭监控和环境数据采集等功能。该系统可以监测家中的环境状况,如温湿度、烟雾浓度等,还可以作为安全…

jenkins流水线pipeline

创建项目 1. 新建item 并选择pipeline 1.1 和普通项目配置的区别 普通项目配置目录: pipeline项目目录: pipeline的两种语法 声明式语法 2. 配置 2.1 流水线配置 2.2 选择声明式 声明式需要添加一个名为Jenkinsfile的文件实现流水线 Jenkinsfile的…

【CSS】标准怪异盒模型

概念 CSS 盒模型本质上是一个盒子,盒子包裹着HTML 元素,盒子由四个属性组成,从内到外分别是:content 内容、padding 内填充、border 边框、外边距 margin 盒模型的分类 W3C 盒子模型(标准盒模型) IE 盒子模型(怪异盒模型) 两种…

系统上云-流量分析和链路分析

优质博文:IT-BLOG-CN 一、流量分析 【1】流量组成: 按协议划分,流量链路可分为HTTP、SOTP、QUIC三类。 HTTPSOTPQUIC场景所有HTTP请求,无固定场景国内外APP等海外APP端链路选择DNS/CDN(当前特指Akamai)APP端保底IP列表/动态IP下…

linux操作系统的开机引导

一、linux操作系统的开机引导的过程 1、开机自检 根据bios的设置,对cpu,内存,显卡,键盘等设备进行初步检测,如果以上检测设备工作正常,系统会把控制权移交到硬盘 2、MBR引导/GPR引导 分区之后&#xff…

【c++丨STL】vector的使用

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C、STL 目录 前言 vector简要介绍 一、vector的默认成员函数 构造函数(constructor) 析构函数(destructor) 赋值运算符重载operator 二、vector的容量接口…

[前端] 为网站侧边栏添加搜索引擎模块

前言 最近想给我的个人网站侧边栏添加一个搜索引擎模块,可以引导用户帮助本站SEO优化(让用户可以通过点击搜索按钮完成一次对本人网站的搜索,从而实现对网站的搜索引擎优化)。 最开始,我只是想实现一个简单的百度搜索…

Git - 两种方式撤销已提交到远端仓库的记录并删除提交记录

文章目录 命令行方式附 命令行方式 确定要撤销的提交记录 首先,使用以下命令查看提交历史: git log找到想撤销的提交记录的哈希值(SHA) ,比如9c9c98d6f7f28c41d971f8efd51ed31f9720792c 撤销提交记录 根据需求选择以下…

【命令执行waf绕过】

一、绕过空格 二、绕过黑名单 三、绕过长度限制 四、练习 发现了两个文件,cat读取,但是被过滤了: 用 I F S IFS IFS绕过读出index的源码,发现过滤了很多东西,黑名单过滤: 字符串拼接绕过: …

Beans模块之工厂模块注解模块AnnotatedGenericBeanDefinition

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

【毫米波雷达(三)】汽车控制器启动流程——BootLoader

汽车控制器启动流程——BootLoader 一、什么是Bootloader(BT)?二、FBL、PBL、SBL、ESS的区别三、MCU的 A/B分区的实现 一、什么是Bootloader(BT)? BT就是一段程序,一段引导程序。它包含了启动代码、中断、主程序等。 雷达启动需要由BT跳转到…

原生鸿蒙的竞争力到底如何?

目录 1. 崛起与挑战2. 安全机制3. 自动化检测前移4. 深入探讨开发者服务优势 1. 崛起与挑战 长期以来,移动操作系统市场被IOS和安卓所垄断,一直都难以推出完整的自主系统,面临诸多挑战,如推广困难、应用适配难度大,以及…

Unity SRP学习笔记(二)

Unity SRP学习笔记(二) 主要参考: https://catlikecoding.com/unity/tutorials/custom-srp/ https://docs.unity.cn/cn/2022.3/ScriptReference/index.html 中文教程部分参考(可选): https://tuncle.blog/c…

欧冠:拜仁进攻线持续飘红?

里斯本竞技最终4-1击败曼城,瓜迪奥拉的球队惨遭3连败。目前曼城的防线球员身体状态的确一般,一对一总是跟不上节奏,这也是曼城两次遭遇点球判罚的原因。当一个人失去希望时,眼神是空洞的,哈兰德下半场罚丢点球的时刻&a…

从0开始的STM32之旅8 串口通信(II)

目录 在开始理解底层原理之前,我们先尝试一下 怎么做 进一步理解 HAL_UART_Transmit HAL_UART_Receive 在开始理解底层原理之前,我们先尝试一下 现在我们综合一下,要求完成如下的事情: 在主程序中存在一个flag变量描述当前有…

HarmonyOS使用arkTS拉起指定第三方应用程序

HarmonyOS使用arkTS拉起指定第三方应用程序 前言代码及说明bundleName获取abilityName获取 前言 本篇只说采用startAbility方式拉起第三方应用,需要用到两个必备的参数bundleName,abilityName,本篇就介绍如何获取参数… 代码及说明 bundle…