Kalid's Math and Science Pages |
Home | Articles | Download | Fun | Links | About |
General Networking ThemesHave common, narrow interfaceHave a single abstraction that all high and low-level components agree
to implement. Take IP, for example, which is used by higher-level protocols
(TCP, UDP) and low-level, link-layer protocols (Ethernet, PPP, FDDI).
All of these protocols agree to support IP, which allows any of them to
interact through a common interface. Efficiency/Granularity TradeoffThis tradeoff, along with time/space, shows up everywhere (specifically,
in allocating CPU time). In this case, sending out huge packets is more
efficient than sending small ones (better header-to-data ratio). However,
some programs need to send lots of little packets for a fast response
(i.e, telnet keyboard commands). With large packets, it is hard to send
high-priority packets once processing has begun on a huge low-priority
packet. Small packets minimize this delay. General principle of robustnessBe conservative in what you do, be liberal in what you accept from others. (See TCP's RFC793, section 2.10). |