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 数据报指引向更上级的路由器(越上级的路由器就知道越多的内容)

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

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

相关推荐
摘星星ʕ•̫͡•ʔ13 分钟前
计算机网络 第三章:数据链路层(关于争用期的超详细内容)
网络·计算机网络
.Ayang1 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
wusong9991 小时前
mongoDB回顾笔记(一)
数据库·笔记·mongodb
猫爪笔记1 小时前
前端:HTML (学习笔记)【1】
前端·笔记·学习·html
Resurgence031 小时前
【计组笔记】习题
笔记
好想打kuo碎1 小时前
1、HCIP之RSTP协议与STP相关安全配置
网络·安全
pq113_61 小时前
ftdi_sio应用学习笔记 3 - GPIO
笔记·学习·ftdi_sio
虚拟网络工程师2 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
爱米的前端小笔记2 小时前
前端八股自学笔记分享—页面布局(二)
前端·笔记·学习·面试·求职招聘