0. IP地址组成
IP地址分为两个部分,网络号和主机号
- 网络号:标识网段,保证相互连接的两个网段具有不同的标识
- 主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号
一个IP地址中,哪个部分是网络号,哪个部分是主机号。这是不一定的,对于网络主机号的划分,主要有两种分类方式:
- 1.IP地址分类(ABCDE)
- 2.子网掩码(真实的划分方式)
1. 地址管理
每个网络上的设备,要能分配一个地址(唯一)
那么32位整数,最多表示 42亿9千万,在当今的世界明显是不够的,因此为了解决这个问题。
1.1 动态分配IP地址
设备只有在上网的时候才能分配,不上网就不分配IP地址,此时就剩下一大堆的IP地址。
但是并没有增加IP的数量,虽然一定程度上缓解,但是不能彻底解决问题
1.2 NAT机制
把所有的IP地址分成两大类
- 内网IP: 10.* and 172.16.-172.31. and 192.168.*
- 外网IP: 剩下的IP
外网IP必须是唯一的,内网IP则可以重复出现~(尤其是在不同的局域网中)
内网设备如果要访问外网,会给他分配一个外网IP,但是这个外网IP不是这个设备独占的,而是这个内网中所有的设备都共用这个外网IP
在现实世界 动态分配+NAT解决了IP不够用的问题,也因为NAT机制,导致个人电脑,处在内网中,不能直接被外部访问。
在NAT背景下如何通信
- 外网设备 -> 外网设备,不需要任何NAT,直接就能通信
- 内网设备 -> 其他内网设备,不允许
- 外网设备 -> 内网设备,不允许
- 内网设备 -> 外网设备,对应的内网设备的路由器,触发NAT机制进行IP替换,此时就会给这个网络数据报的源IP替换成路由器自己的IP
1.3 IPv6协议
IPv6是更新后的协议,使用16个字节,128位来表示IP地址
2.1 路由选择
网络环境非常复杂,某个路由器,无法把整个网络环境都记录下来~
路由器只能记录周围的情况(路由器内部使用路由表这样的数据结构来记录邻居的信息),在实际的转发过程,是渐进式的,类似于“问路一样”逐渐接近最终目标!