计算机网络是个非常复杂的系统。
假设连接在网络上的两台计算机,它们之间要相互的传输文件。在这两台计算机之间必须有一条传输数据的通道。这条通道至少的有下面几点需要去完成。
激活通路:发起通信的计算机必须将数据通信的通路打开,也叫作激活,也就是说发出一些指令,保证要传送的计算机数据能在这条通路上正确发送和接受
要告诉网络如何识别要接受数据的计算机,连接在网络上的计算机成千上万,那么如何在众多的计算机中找到目的计算机(接收数据的计算机)
检查目标计算机是否开机:如果没有开机,数据发送不出去,即使发送了,目标计算机也不会接收;只有目标主机开机了且与网络连接正常才能开始发送数据
接收方是否有足够的存储空间:发起通信的计算机中的应用程序必须弄清楚对方的计算机中文件管理程序是否已经做好接收文件和存储文件的准备工作,只有准备好了,存储空间够用才能 继续发送这个文件。
文件格式是否兼容:通信双方的文件格式不兼容,即使目标主机正确的接收到了数据,由于不能理解(看到了一堆乱码),通信将毫无意义。此时至少其中一台计算机应该具备格式的转换功能,才能完成通信。
差错处理:
通信过程可能出现各种差错,出错了以后怎么处理?对出现的各种差错和意外事故,如数据传送错误,重复或丢失,网络中某个节点交换机出现故障等等,应当有可靠的措施保证对方计算机最终能接收到正确的文件。
所以说相互通信的两个计算机系统必须高度协调工作才行,而这种协调是相当复杂的。
分治法,即分而治之,将一个难以直接解决的大问题,分割成一些规模较小的相同,以便各个击破,分而治之。
“分层”可将庞大而复杂的问题转换成若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
易于实现和维护。
分层结构使得实现和调试一个庞大又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。
进行调试和维护时,可以对每一层进行单独的调试,避免了出现找不到问题、解决错问题的情况。能促进标准化工作。
因为每一层的功能及其所提供的服务都已有了精确的说明。
标准化的好处就是可以随意替换其中的某几层,对于使用和科研来说十分方便。
分层的缺点
降低了效率:层次划分得过于严密,以致不能越层调用下层所提供的服务,降低了协议效率。有些功能会在不同的层次中重复出现,因而产生了额外开销
层数多少要适当
层数太少,就会使每一层的协议太复杂。
层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
计算机网络的体系结构
计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。
体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。
实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
OSI的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。TCPHP 是四层体系结构:应用层、运输层、网际层和网络接口层。
但最下面的网络接口层并没有具体内容,因此往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构