目录
0 引言
1 IP地址
2 网络中如何找下一跳
3 ARP协议
4 DHCP协议
5 NAT协议
0 引言
对网络层相关知识点进行了总结,主要由IP地址,ARP协议,DHCP协议和NAT;复习资料主要是小林Coding的图解网络,地址如下https://xiaolincoding.com/
1 IP地址
IPV4地址:32位
IPV6地址:128位
2 网络中如何找下一跳
我们的路由器中有一个路由表,路由表中有网络号和下一条IP地址的对应关系,首先我们可以根据目的IP地址和子网掩码进行与运算后得到目的地址的网络号,然后再根据路由表就能够找到报文的下一条地址了,如下图所示(图片来源小林coding的《图解网络》)
3 ARP协议
arp协议
ARP协议是网络层的地址解析协议,在我们的IP数据报中,我们知道了下一跳的IP地址,但是网络层的下一层是数据链路层,所以我们还需要直到下一条的MAC地址,这时就需要用到我们的ARP地址解析协议了,当前主机向子网中发送一条广播ARP请求,向子网中的主机询问下一跳的IP地址是谁的,子网中的其他主机接受到请求后就会解析出IP地址并与自己的IP地址进行比较,相同则给发送ARP请求的主机发送ARP响应包,包中有自己的MAC地址,这样源主机就知道了下一跳的MAC地址了
ARP协议有什么安全隐患
4 DHCP协议
我们的主机要接入网络,就必须得有一个IP地址,而这个IP地址是通过DHCP协议得到的,DHCP协议的具体过程如下:
全程使用的是UDP广播协议
-
客户端通过UDP协议向网络中广播DHCP发现报文。该报文的源地址是0.0.0.0:68,目的地址是255.255.255.255:67 -
DHCP服务器再接受到DHCP发现报文后会继续广播一个DHCP提供报文,该报文中包含了分配的IP地址,子网掩码,默认网关,DNS服务器以及IP地址的租赁有效期。同样是发的UDP广播报文,源地址是DHCP服务器地址:67,目的地址是255.255.255.255:68 -
客户端在接受到DHCP提供报文后,会选择其中一个作为自己的IP地址,然后再向网络中广播DHCP请求报文,这个报文是为了确认IP地址分配信息 -
服务端在接受到DHCP提供报文后,会发送DHCP ACK报文进行确认,同样是DHCP广播报文
至此,我们的主机就有了一个IP地址了,也就可以接入到网络中了。
当我们的IP地址租赁到期后,客户端会向DHCP服务器发送的一个报文来确定是否能够继续使用该IP地址,DHCP服务器同意则继续使用
5 NAT协议
NAT协议是一个用来缓解IPV4地址不够用的协议
首先说一下基于NAT协议的网络结构,一个网络有一个NAT设备,该设备有一个公有IP地址,该IP地址可以用于网络中的通信,这个公有IP地址下可以有多个主机,每个主机都有一个在该网络中唯一的私有IP地址,当该网络中有两个客户端要和同一个服务器进行通信时,过程如下:
NAT协议存在的问题:
-
外部无法主动和NAT路由内部主机建立通信 -
NAT路由地址转换过程存在性能开销 -
NAT路由挂机后所有连接需要重新建立
解决办法:
|