一、IP协议
1.1 背景
网络层一般有两种服务:
- 一种是面向连接的虚电路服务,能够保证可靠通信,建立虚电路连接,然后通过这个连接发送分组,完了后释放虚电路。
- 另一种是无连接的数据包服务,走什么路经都随便,但是为了到达目的地必须携带目的主机的地址,虽然如此,发送的分组还是可能误码、丢失、重复或者乱序。
因为第二种做法不用提供可靠传输服务,网络中的路由器就比较价格低,而且易于维护,因特网采用的就是这种服务,它采用的就是IP协议。
这种服务的好处是节省成本,那么复杂的网络处理功能都交给了更上一层的运输层,他们的位置在各个主机,是处于整个互联网的边缘,那么中间的因特网核心就只用完成简单的分组交换功能。IP协议之上,要保证传输可靠,就有了TCP协议。
1.2 IP协议
IP协议(Internet Protocol)直译网际协议。对上是传输层,对下是数据链路层。IP协议就是给因特网上的每一个主机/路由器的接口分配全世界范围内唯一的标识符,就是地址。
这里需要区别MAC地址和IP地地址。关于MAC地址,也就是媒体介入控制地址,他也是唯一的,但是他是针对于设备-设备,而异构网络很复杂,IP协议是解决网络和网络之间的通信,加上小的网络内部划分可能就没必要更多的协议来通信,就更加方便。
目前IP协议的地址有IPv4和IPv6两个版本,在2011年,IPv4地址已经分配完毕了。IPv4的地址编址方法经历了三个阶段,分类编址、划分子网、无分类编址。
1.2.1 分类编址
分了ABCDE,只有ABC给网络中的各设备接口用,D和E是保留不往外分配的。基本是都是前几位网络号、后面分配,然后就有很多的不同IP地址的组合可以用。
- A:8位网络号+24主机号,网络号首位固定为0
- B:16位网络号+16位主机号,网络号前两位固定10
- C:24位网络号+8位主机号,网络号前两位笃定110
A类指派范围:1.0.0.0到126.0.0.0
B类指派范围:128.0.0.0到191.255.0.0
C类指派范围:192.0.0.0到223.255.255.0
1.2.2 划分子网
引入子网掩码,可以表明分类的IP地址有哪几个作为了子网号,这样本来后面全都是IP的号,就可以继续利用子网掩码再进行细分。子网掩码用连续的1来对应网络号和子网号,0对应主机号,然后子网掩码和IP地址相与操作就可以得到这个IPv4的地址所在的子网的网络地址。
1.2.3 无分类编址
C类空间太小,没有得到充分利用,后来又提出了无分类编址(当然也提出了IPv6)来解决问题。无分类编址采用:
网络地址 + " / " + 网络前缀数量
的格式,比如”128.14.35.7 / 20“
就代表,这个IP地址,前面20位都是网络号,剩下12位是主机号,这样的话就能把整个IP地址分的更多,而不是分各种类别,各个块里限制的比较死。