ICMP协议
ICMP协议是一个网络层协议
一个新搭建好的网络, 往往需要先进行一个简单的测试, 来验证网络是否畅通; 但是IP协议并不提供可靠传输. 如果丢包了, IP协议并不能通知传输层是否丢包以及丢包的原因
ICMP功能
ICMP正是提供这种功能的协议; ICMP主要功能包括:
- 确认IP包是否成功到达目标地址.
- 通知在发送过程中IP包被丢弃的原因.
- ICMP也是基于IP协议工作的. 但是它并不是传输层的功能, 因此人们仍然把它归结为网络层协议;
- ICMP只能搭配IPv4使用. 如果是IPv6的情况下, 需要是用ICMPv6
ICMP大概分为两类报文:
- 一类是通知出错原因
- 一类是用于诊断查询
NAT技术
NAT技术背景
IPv4协议中,存在IP地址数量不充足的问题,NAT技术当前解决IP地址不够用的主要手段, 是路由器的一个重要功能;
- NAT能够将私有IP对外通信时转为全局IP. 也就是就是一种将私有IP和全局IP相互转化的技术方法 ;
- 很多学校, 家庭, 公司内部采用每个终端设置私有IP, 而在路由器或必要的服务器上设置全局IP;
- 全局IP要求唯一, 但是私有IP不需要; 在不同的局域网中出现相同的私有IP是完全不影响的
转换示意图:
转换表中,每个地址相对于自己的局域网都是有唯一性的。例如私有IP的世界中,某个私有IP具有唯一性,同样全局IP在全局世界中具有唯一性。
利用NAT技术可以将私有IP与全局IP形成键值一一对应,当私有IP想出去公网时,就进行查找转换;同理公网IP想进入私网,也是进行查找转换。