在讲完数据链路层和以太网之后我们终于来到网络层(也称为IP层).
网络层的设计思路是:“向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务.”也就是说,传输的分组有可能出现,出错,丢失,失序,重复等情况.
事实上互联网中,各种物理网络的异构性是客观存在的.但是这些差异在网络层看起来是不存在,就像是一个统一的网络.总之就是互联网可以由多种异构的网络组成.
接下来我们来讲讲网络层中很重要的IP地址.IP地址是我们在因特网中的身份标识.你可能会有疑惑,我们已经有了MAC地址还要IP地址干嘛?我个人是从以下这个观点切入的
数据在网络上进行传输的时候,每经过一个路由器的时候,它是先剥去MAC帧的头部和尾部,获取它是从哪里来的,然后提交给路由器的网络层,网络层在根据MAC帧剥去首部和尾部之后剩下的IP数据报中的IP地址,根据自身的转发表进行转发选择,然后在下递到自己的数据链路层,在数据链路层中将MAC帧的上一跳地址改为自己,然后再修改下一跳地址.从这个流程中,我们可以清楚地知道,MAC帧的源地址和目的地址随着经过的路由器是在不断地变化的.而IP地址始终没有发生变化,它指明真正在进行通信的双方
现在我们明白了IP地址的重要性之后,我们来讲讲IP地址的分类.
首先我们需要知道IP地址总共有32位即4个字节的长度,然后它由两部分组成:网络号和主机号.然后我们根据网络号的长度不同将IP地址分为5类
A类IP地址
- A类地址的网络号8位长,其中包括首部的类别位0.
- 网络号127(01111111),保留为本机的环路测试,像是Apache在本机开启的测试服务器,默认地址就为127.0.0.1
- 网络号全为0作为保留地址
- A类地址的主机号24位长
- 主机号全为0表示该主机所连接的网络
- 主机号全为1表示对该网络号内的主机进行广播通信
- A类地址的网络号8位长,其中包括首部的类别位0.
B类IP地址
- B类地址的网络号16位长,其中包括首部的类别位10
- 128.1.00该地址为不指派
- B类地址的主机号16位长
- 主机号全为0表示该主机所连接的网络
- 主机号全为1表示对该网络号内的主机进行广播通信
- 128.1.00该地址为不指派
- B类地址的网络号16位长,其中包括首部的类别位10
C类IP地址
- C类地址的网络号24位长,其中包括首部的类别位110
- 192.0.0.0该地址为不指派
- C类地址的主机号8位长
- 主机号全为0表示该主机所连接的网络
- 主机号全为1表示对该网络号内的主机进行广播通信
- 192.0.0.0该地址为不指派
- C类地址的网络号24位长,其中包括首部的类别位110
D类IP地址
- 前四位是1110,用于多播
E类地址
- 前四位是1111.保留以后用
书中有一点关于路由器的描述个人觉得比较重要也比较疑惑.
- 路由器有几个接口就有几个MAC地址
- 路由器有几个接口就有几个不同网络号的IP地址
本人主要是对第二点表示疑惑,为什么不能是两个IP地址呢,一个用内网,一个用于外网.