Mr.Chan

导航

知识点

MTU最大传输单元,大家一般知道WINDOWS OS主机以太网默认是1500,再大的包通过网卡时都会被切成1500大的packet 加上TCP 序列号后传输 ,整个网络路径上并不是所有终端和主机的MTU都是1500,一些视频终端和特殊的OS使用很大的MTU,4096或则更高。一些网络设备和协议也经常在包传输过程中改变它的大小,如ESP加密封装包、mpls 标签头等。此时就需要ICMP的Path MTU Discovery 功能,如果禁止此项功能,源主机无法知道将使用路径上的MTU,试想FTP服务器的MTU为4096,它传输如此大的包向MTU只有1500的接收者,导致大多数包都被丢弃、然后重传,只有那些小于等于1500的分片被接收者主机收到,所以速率只有莫名奇妙的1K左右。而出站的ICMP“Packet Too Big”消息(类型3,代码4)正是告知对方分片太大,大于自己的MTU,也就是宣告自己的MTU,源主机收到此消息后将改小自己的MTU以适应整个传输路径,所以它是Path MTU Discovery 功能的实现机制

Destination unreachable (类型3): 允许其入站以便于内部网用户可以使用traceroute。需要注意的是,有些攻击者可以使用它来进行针对会话的DoS攻击,如果您曾经历过类似的攻击,也可以阻止它。阻止出站的ICMP Destination unreachable消息,因为它可能会泄漏内部网络的结构。不过有一个例外,对于那些允许外部网络通过TCP访问的内部主机(如位于DMZ区的Web服务器)发出的Destination unreachable,则应该允许它通过。为了能够支持“Path MTU Discovery”,您应该允许出站的“Packet Too Big”消息(类型3,代码4)到达那些主机。

posted on 2005-05-25 23:19  cunshen  阅读(225)  评论(0)    收藏  举报