Wednesday, January 03, 2007

TCP/IP Illustrated 读书笔记(1)

TCP/IP Illustrated 读书笔记(1)

TCP/IP协议是一个工业产品,因此追求效率和实用,对理论上的美观不是很在乎。

比如一般路由器碰上不能处理的IP packet,应该利用ICMP给source host发一个ICMP error packet,比如network unreacheable, host unreacheable,分别用于网络不可达和主机不可达的错误情形。

有一类错误比较特殊,就是incoming packet太快,而outoutting packet太慢,造成路由器cache耗尽,不得不丢弃后来packet的。 RFC 1009要求路由器这时候发出一个Source Quench Error, 而新的Router Requirement RFC则要求路由器什么也不做。它的观点是既然网络和路由器繁忙得要丢掉正常得packet了,何必再花时间去生成并传输ICMP的packet呢。生成并传输ICMP的error packet不但不能解决问题,还会恶化问题,所以废弃这个error好了!

这个问题很有意思,如果我是设计者,依照我的性格,是不能容忍这种不完备性的,我会觉得每个error都应该有相应的error message,即使source host接到这个message一点办法也没有。

0 Comments:

Post a Comment

<< Home