仅凭IP协议是无法进行通信的,需要其他技术来协助,这些技术包括但不限于:
- DNS
- ARP
- ICMP
- DHCP
- NAT
- IP隧道
- 等等
DNS
域名服务解析服务器:将域名解析为对应的ip地址,这个不多说。
ARP
IP地址只是标识这最终主机的位置,但是在数据链路上的数据的传输还是得靠MAC地址进行通信,而ARP就是用来根据IP地址找到MAC地址,然后根据MAC地址进行数据链路层得数据传输。
为什么既需要IP地址也需要MAC地址?
单个链路中只需要IP地址就可以了,但是多个链路中就需要MAC地址了,因为期间需要路由器,因此必须要先得知路由器得MAC地址,进行转发才可以,这里有个最常听到的话,或许下一跳的MAC地址。
但是ARP只适用于ipv4,不适用于ipv6,ipv6的这个功能需要借助ICMPv6实现。
ICMP
当网络遇到不良情况时,将这些信息反馈给源主机的机制。
ICMPv6
具有邻居探索功能,融合了ARP和ICMP的类似功能,不仅能进行网络情况反馈,还可以用来映射MAC地址。
DHCP
用于随机分配IP。也就是现在流行的只要联网就会随机自动分匹配一个IP的机制。
NAT
用于网络地址转换,处于局域网中的主机无法用私有IP与公网IP进行通信,私网主机可以利用NAT和公网主机通信,NAT将源私有IP转化为源公网IP即可,之后会维护一个映射表,然后内外就可以通信了。
但是这种机制最大的缺点就是必须要内部发起请求,才会建立映射表,外部是无法先和内部通信的,这就叫做内网无法穿透。
如何做内网穿透呢?只有内部优先发起嗅探的虚拟包,建立好映射表才行。
IP隧道
如果两个IPV6网络之间夹杂着IPV4网络,那么两个IPV6网络是无法直接进行通信的,解决的机制就是IP隧道。