1.概述
网络层功能包括转发和路由,其中数据层面负责转发,控制层负责路由
转发:利用转发表,利用最长前缀匹配规则:本质上利用了子网掩码。通过转发表和IP地址的匹配进行转发
网络层传递的消息叫做数据报(应用层HTTP传递的叫报文,传输层叫报文段,链路层叫帧)
2.子网和IP编址
1.IP地址通过DHCP协议提供,四次握手:
源主机:发送DHCP发现报文:源IP地址0.0.0.0,目的IP地址为广播地址255.255.255.255
DHCP服务器:收到发现报文,向广播地址255.255.255.255发送消息,其中包括可用的IP地址,DHCP服务器IP地址,DNS服务器地址,网关路由器地址(在控制平面涉及)等等,还有IP地址的生存周期(TTL,time to live,每传播一次jainyi)
源主机:给出自己想要的IP地址
DHCP服务器:给出肯定报文
DHCP协议使用UDP
2.IP地址和子网掩码
每个机构有一段可分配的IP地址范围,IP地址全球唯一(NAT除外)
IP地址长度为32位,子网掩码形状类似127.0.0/24,其中24指示了子网的地址是24为二进制长度。相当于子网地址是127.0.0,然后可以分配空间是127.0.0.0~127.0.0.255.当然,这里可分配的IP地址其实只有254个(而不是256=2^8个),因为:1.广播地址不能用。(这里的广播地址是指本地广播地址,是127.0.0.255,是用来向子网内每台设备发送消息用的(比如说网络层控制平面的DV距离向量算法,广播自己的路由信息),而不是之前的255.255.255.255,那个是专门用来子网内和DHCP协商使用的地址。当然,联系DHCP服务器之后才能得到子网的IP地址,在此之前自然不知道子网IP,255.255.255.255是本地广播地址,不是子网广播地址。还有就是子网地址127.0.0.0也不能用。
3.NAT地址转换:网络地址转换,使用NAT转换表
NAT相当于在一个IP地址下面分配了很多假的IP地址,缓解了IP不够用的问题
NAT转换表通过端口号标识主机IP地址。NAT运行在路由器上,这个路由器对外使用DHCP给的IP地址,对内给每个主机标识一个IP地址(爆改IP),然后维护一个主机假IP-内部端口号的表。对外,路由器使用对外的DHCP给分配的IP,搭配上自己“手搓的“端口号,用来标识主机(主机上的进程)
注意:
1.服务器的每个端口都有自己的IP地址
2.NAT协议就像服务器运行了一个DHCP一样,子网掩码就像NAT的服务器对外端口一样