计算机网络(4)——网络层相关协议
在路由算法中得到下一跳的IP地址后,并不是直接将该地址装入数据报中,而是需要通过ARP协议将IP地址转换成MAC地址,IP数据包将被封装进入MAC数据帧在数据链路层中进行传输,将得到的MAC地址放入MAC帧的头部中进行传输,找到下一跳路由器。MAC帧的源地址和目的地址在路由器的每次寻址过程中都会发生变化,但是IP数据包的源IP以及目的IP是不变的。网桥的转发MAC帧时,源和目的不会发生改变。
路由器由于互联了多个网络,不仅有多个IP地址,也有多个MAC地址。
ARP地址解析协议,用于在同一个局域网内将IP地址映射到MAC地址。首先访问ARP高速缓存,如果存在对应信息就直接获取MAC地址;如果不存在,就在此局域网内广播ARP请求分组,同一个局域网内的其他主机都会收到这个请求,知道此IP对应的MAC地址的主机就会单播响应返回信息。ARP知道IP地址信息,属于是网络层的协议。对于不同网络间的ARP协议则可以通过某个特定路由器,类似于BGP协议里面的发言人的角色,与外界网络进行沟通交互。
动态主机配置协议DHCP,用于给主机动态分配IP地址,而不用固定分配,属于即插即用的原则,属于应用层协议,基于UDP无连接协议的。客户端/服务器模式,具体的过程如下:都是在局域网内进行广播的。
1) DHCP客户机广播“DHCP发现”消息,试图找到网络中的DHCP服务器,以便从DHCP
服务器获得一个IP地址。源地址为0.0.0.0,目的地址为255.255.255.255。广播发现报文, 找到DHCP服务器,不特指哪一个。
2) DHCP服务器收到“DHCP发现”消息后,广播“DHCP提供”消息,其中包括提供给
DHCP客户机的IP地址。源地址为DHCP服务器地址,目的地址为255.255.255.255。广 播提供报文,会有若干个服务器进行拟分配。
3) DHCP客户机收到“DHCP提供”消息,如果接受该IP地址,那么就广播“DHCP请求”
消息向DHCP服务器请求提供IP地址。源地址为0.0.0.0,目的地址为255.255.255.255。 广播请求报文,客户端一般会接受很多拟分配消息,按照先后顺序选择第一个服务器应 答,其他的DHCP服务器就会取消分配。
4) DHCP服务器广播“DHCP确认”消息,将IP地址分配给DHCP客户机。源地址为DHCP
服务器地址,目的地址为255.255.255.255,广播DHCP分配报文,正式建立连接。
IP地址的分配时间应该是临时短暂的,不使用后就会迅速收回,租用时间由服务器来决定。
服务器与客户端之间的通信是通过广播的方式来进行的,是因为双方此时还尚未建立连接,TCP协议无从谈起,只能通过UDP协议来进行交互。
网际控制报文协议ICMP,用于差错控制和询问报文,ICMP报文封整体装在IP数据报的数据段内进行发送,是属于网络层协议。例如应用层的Ping就是直接调用了网络层的ICMP协议的回送请求和回答报文。
IPV6从根本上解决了IPV4地址不够用的问题,地址空间从32位扩充到了128位。移除了首部的校验和字段,首部格式更加灵活。支持自动化配置即插即用。只能在著基础进行分片操作,而不能在路由器上分片。身份验证和保密功能增大了安全性。与IPV4不兼容,但是与其他的因特网协议是兼容的。如果要与IPV4进行通信的花,可以用双栈协议,即在路由器上同时装有两个协议的工作栈,具有IPV4地址以及IPV6的地址,可以同时处理两种地址的信息。隧道技术就是把IPV6的数据包完整的打包成IPV4数据包如同隧道一样在IPV4网络上进行传输。