ICMP协议:
ICMP协议是一个网络层协议。
ICMP功能:
1.确认IP包是否成功到达目标地址。
2.通知在发送过程中IP包被丢弃的原因。
3.ICPM是基于IP协议工作的,但并不是传输层的功能。
4.ICMP只能搭配IPv4使用。IPv6 对应使用ICMPv6.
ping命令:
[dyt@iz2ze2wt8nsnj7uk1d6gsez net]$ ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=50 time=39.2 ms
ping的是域名,而不是URL,一个域名可以通过DNS解析成IP地址。
ping命令不仅能验证网络的连通性,同时也会响应时间和TTL(生存周期)。
ping命令基于ICMP,是在网络层,而端口号是传输层的内容,在ICMP中根本不关注端口号这样的信息。
网络层没有端口号的概念!
traceroute命令:
基于ICMP协议实现的,能够打印出可执行程序主机,一直到目标主机之前经历多少路由器。
NAT技术:
NAT技术是解决了当前IP地址不够用的重要手段,是路由器的重要功能。
工作机制:
在NAT(NAPT)路由器内部,有一张自动生成的用来地址转化的表,当10.0.0.10向163.221.120.9发送第一个包时生成这张表,并按照表中的映射关系进行处理。
当私有网络中有多台主机都要与外部进行通讯时,仅仅转换IP地址,人们不免担心IP地址是否够用。此时NAPT可以解决这个问题。
在使用TCP或是UDP通讯中,只有目标地址、源地址、目标端口、源端口以及协议类型(TCP还是UDP)五项内容都一致时才被认为是同一个通信连接。此时所使用的正是NAPT。
这种转换表在NAT路由器上自动生成,例如:在TCP的情况下,TCP连接首次握手时的SYN包一经发出,就会生成这个表。而随后收到关闭连接请求时发出的FIN包的确认应答从表中被删除。
或者可以理解为参加比赛(比如,首先用完整学号参加班级比赛,然后用班级号参加学院比赛,用学院号参加校级比赛等)。
NAT的潜在问题:
1.无法从NAT的外部向内部服务器建立连接
2.转换表的生成与转换操作都会产生一定的开销。
3.通讯过程中一旦NAT遇到异常需要重新启动时,所有的TCP连接都将被重置。
4.即使备置两台NAT做容灾备份,TCP连接还是会被断开。
解决NAT潜在问题;
第一种:改用IPv6
第二种:NAT穿越