这一部分讲的其实也是基础,只不过前一篇文章讲的大部分是基础概念,这一篇文章主要讲解处理计算机网络问题的基本方法:
1. 层次模型与网络协议
计算机网络是个非常复杂的系统。涉及:无差错的信息传送、多个用户共享一条物理线路、按照地址信息,进行路由选择、信息缓冲和流量控制、会话控制、满足各种用户、各种应用的访问要求等。
一般人们采用“层次结构”的方法来描述计算机网络,即:将系统所要实现的复杂功能分化为若干个相对简单的功能,每一项分功能以相对独立的方式去实现。
根据功能进行抽象分层,每个层次所要实现的功能或服务均有明确的规定。即功能层次化(layer) 。
不同系统分成相同层次,对等层次有相同功能。
与网络信息传递相似的邮政系统分层实例:
分层的好处与缺点
好处:
- 灵活性好。
- 结构上可分割开。
- 易于实现和维护。
- 能促进标准化工作。
缺点:
- 降低效率。
- 有些功能会在不同的层次中重复出现,因而产生了额外开销。
层数太少,就会使每一层的协议太复杂;
层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
协议
协议(Protocol)的定义:计算机网络同等层次中,通信双方进行信息交换时必须遵守的规则。
协议的三要素:
- 语法(syntax)
- 语义(semantics)
- 时序(timing)
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况。
协议的分层结构
ARPANET 的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的。
“分层”可将庞大而复杂的问题,转化为若干较小的