IPv4
-
IP:标识一台主机,负责在「没有直连」的两个网络之间进行通信传输。
-
IPv4:32位二进制数
-
IP 地址的分类:为了更好地管理IP,已废弃
- A类:0+网络号7位+主机号24位
- B类:10+网络号14位+主机号16位
- C类:110+网络号21位+主机号8位
- D类:1110+组播地址28位
- E类:1111+留待后用28位
- 广播:主机号全1,指定某个网络:主机号全0
-
无分类地址 CIDR:IP = 网络地址+主机地址/x 表示前 x 位属于网络号,使得 IP 地址更加具有灵活性。
- 子网掩码:前x位为1
- 网络地址:标识广播域,在广播域内可直接通信
- 子网划分:IP = 网络地址+(子网网络地址+子网主机地址)
-
私有IP地址:10、172、192.168
-
环回地址:在本机进行通信,不会发出去:127.0.0.1
路由控制
根据IP地址的网络地址进行路由控制:
- 路由表:根据网络地址进行路由转发,主机、路由器都有。
- 从路由控制表中找到与目标地址具有相同网络地址的记录进行转发,有多条就长匹配。没有就走默认路由。
IP分片与重组
-
以太网的 MTU 是 1500 字节
-
分片: IP 数据包大小大于 MTU
-
重组:对分片拼接,目标主机负责。分片丢失一个就报废
-
TCP 引入了 MSS,避免在IP层分片
IPv6
Why?
IPv4只有42亿个,不够用。
How?
-
128位:8组16位二进制
-
即插即用:没有DHCP也能自行分配
-
地址分类:
- 未定义:::/128
- 环回地址:::1/128
- 唯一本地地址:FC00::/7,内网里单播通信
- 链路本地单播地址:FE80::/10,同一链路单播通信,不经过路由器
- 多播地址:FF00::/8
- 全局单播地址:其他,互联网通信
IPv4 首部与 IPv6 首部
IPv6 相比 IPv4 的首部改进:
- 取消了首部校验和字段。 因为在数据链路层和传输层都会校验,因此 IPv6 直接取消了 IP 的校验。
- 取消了分片/重新组装相关字段。 分片与重组是耗时的过程,IPv6 不允许在中间路由器进行分片与重组,这种操作只能在源与目标主机,这将大大提高了路由器转发的速度。
- 取消选项字段。 选项字段不再是标准 IP 首部的一部分了,但它并没有消失,而是可能出现在 IPv6 首部中的「下一个首部」指出的位置上。删除该选项字段使的 IPv6 的首部成为固定长度的
40
字节。