目录
一、基本概念
1、IP协议:
IP协议定义了数据在网络中如何封装、寻址、传输和路由,是实现不同设备、不同网络之间通信的基础。
2、主机:
配有IP地址,但是不进行路由控制的设备。
3、路由器:
即配有IP地址,又能进行路由控制。
4、节点:
主机和路由器的统称。
二、协议头格式
1、4位版本号
指定IP协议的版本,比如IPv4的4为版本号就是“0100”,换成十进制是4。
2、4位首部长度
IP头部长度,length*4字节,4bit表示最大的数字是15,因此IP头部最大长度是60字节。
3、16位总长度
IP数据报整体占多少字节
4、16位标识
唯⼀的标识主机发送的报文,如果IP报文在数据链路层被分片了,那么每⼀个片里面的这个id都是相同的。
5、13位片偏移
是分片相对于原始IP报文开始处的偏移。其实就是在表示当前分片在原报⽂中处在哪个位置。实际偏移的字节数是这个值*8得到的。
6、8位生存时间
数据报到达⽬的地的最大报文跳数。⼀般是64。
7、16位头部校验和
使用CRC进行校验,来鉴别头部是否损坏。
8、32位源/目的IP地址
表⽰发送端和接收端,是IP协议里面最核心的部分
三、IP地址数量限制
IPv4是一个4字节32位整数,⼀共只有2^32次方个IP地址,而IP协议规定,每个主机都必须有一个IP地址,但是这43亿的IP地址对于我们现在来说远远不够,因此我们有以下这些解决方案。
1、动态分配IP地址
只给接入网络的设备分配IP地址,因此同⼀个MAC地址的设备,每次接⼊互联网中得到的IP地址不⼀定是相同的 。
2、NAT网络地址转换(主力方案)
简单来说就是把IP地址分成两类:
(1)私网IP/内网IP:以10*,172.16-172.31,192.168*这三个开头的IP地址
(2)外网IP/公网IP:剩余的IP地址
注:外网IP是唯一的;
内网IP在不同的局域网中可以重复
3、NAT背景下,网络通信有这几种方式
(1)同一个局域网下,设备A访问设备B
IP本身不允许重复,因此没有影响,NAT不起作用。
(2)公网设备A访问公网设备B
公网本身IP也不重复,也不受影响。
(3)不同局域网,设备A访问设备B
不允许!因为不同局域网下设备的IP可以重复。
(4)局域网设备A访问公网设备B
采用网络地址映射
设备 A(私有 IP)直接发送数据给设备 B(公网 IP)时,公网无法反向定位到 A,通信会中断。NAT 的作用就是在局域网与公网之间 “翻译” 地址,建立两者的映射关系。
具体流程:
设备 A 发送请求,路由器执行 “源地址转换;
路由器将修改后的数据包发送到公网;
公网设备 B 响应,数据包返回路由器;
路由器执行 “目标地址转换”,转发给设备 A
(5)公网设备A访问局域网设备B
一般情况是不允许的,防止电脑被恶意攻击,但是可以通过内网穿透(借用其他带有公网IP的设备转发)实现。
过程和上面第四点是相反的,需要提前配置端口映射。
4、IPv6(终极方案)
IPv4使用4个字节作为IP地址,IPv6使用16个字节作为IP地址,2^128,这是一个天文数字,可以保证所有设备IP地址唯一,但是由于IPv6和IPv4不兼容,升级的话需要更换设备,所以现在IPV6普及率较低。
四、网段划分
1、网络号、主机号
网络号:保证相互连接的两个网段具有不同的标识;
主机号:同⼀网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
同一个局域网中,网络号必须相同,主机号必须不同;
两个相邻的局域网中,网络号必须不同,主机号无限制
2、划分网络号与主机号
(1)
A类:0.0.0.0到127.255.255.255
B类:128.0.0.0到191.255.255.255
C类:192.0.0.0到223.255.255.255
D类:224.0.0.0到239.255.255.255
E类:240.0.0.0到247.255.255.255
(2)子网掩码
子网掩码通过与 IP 地址进行 “按位与” 运算,将 32 位 IP 地址分为两部分。
3、特殊IP地址
(1)将IP地址中的主机地址全部设为0,就成了网络号,代表这个局域网 (比如192.168.1.0)
(2)将IP地址中的主机地址全部设为1,就成了广播地址,⽤于给同⼀个链路中相互连接的所有主机发送数据包(192.168.10.255);
(3)127.*的IP地址⽤于本机环回测试,通常是127.0.0.1
五、路由选择
1、路由器
一个路由器可以配置两个IP地址,WAN口连接运营商网线,LAN连自己的设备。
2、路由选择过程
路由的选择是“一跳一跳”的,通过IP协议,进行数据转发。
形如这个过程,我们逐渐询问接下来的地址,因为网络环境是相当复杂的,任何一个路由器无法存储所有网络信息,不过每个路由器都可以知道附近的网络情况。
如果没有匹配到,路由表有一个特殊的选项,就是向上一级跳越,因为路由器越往上涵盖的范围越大。