【计算机网络】计算机网络的体系结构

文章目录

    • 一、引言
    • 二、发展历史
        • (一)ARPANET
        • (二)SNA
        • (三)OSI / RM
        • (四)OSI-7498
        • (五)TCP/IP
        • (六)五层协议
    • 三、五层协议
        • (一)任务
        • (二)传输单位
        • (三)硬件
        • (四)协议

一、引言

   了解计算机网络的体系结构是掌握计算机网络的超级基础。

(小声逼逼)不过在此之前,你有时问到我我也会懵一下。这就是假程序员的表现。

   希望通过这篇总结,能够牢记计算机网络的体系结构,深刻认识,为之后深入理解每一层的结构和功能做好准备。

二、发展历史

   关于计算机网络体系结构的发展历史,并不会在任何考试中考察。但了解一个事物,总归要先从了解它的历史开始。通过它的演进历史,能更好地理解它为什么要这样定义,有何优势,以及还有哪些亟待优化的地方。

   计算机网络是分层次的体系结构。 而为什么要对网络进行分层,原因在于,在计算机之间相互传送数据或文件是非常复杂的。想象仅在两个计算机之间,这种最为简单的情况,也必须完成以下几项工作:

  • “激活”数据通路——保证要传送的数据能在这条互连的通路上传输;
  • 检查通信——告诉网络要传输给哪台计算机,以及如何识别;
  • 检测对方网络状况——保证对方处于能够接收数据的状态;
  • 格式转换——若文件格式不兼容,则需要对方进行转换;
  • 差错检测——若数据传送错误或丢失,应保证对方最终有办法接收到正确的数据。

   基于以上几点要求的计算机网络,如前面所说,是相当复杂的。因此,我们需要对计算机网络进行 “分层” ,每一层都专注于自己的任务,分解复杂的任务。

(一)ARPANET

   于是,早在最初的 ARPANET 设计时,就提出了分层的方法。
   “分层” 可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部的问题就比较易于研究和处理。

(二)SNA

   1974年,美国的IBM公司宣布了 系统网络体系结构SNA(System Network Architecture) 。这个著名的网络标准就是按照分层的方法制定的。
【计算机网络】计算机网络的体系结构_第1张图片

(三)OSI / RM

   1977年,国际标准化组织ISO 提出了一个视图使各种计算机在世界范围内互连成网的标准框架,即著名的 开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model) ,简称为OSI。
   但OSI/RM是一个抽象的概念。

(四)OSI-7498

   1983年,形成了开放系统互连基本参考模型的正式文件,即著名的OSI-7498国际标准,也就是所谓的七层协议的体系结构。

【计算机网络】计算机网络的体系结构_第2张图片
   OSI 的七层协议体系结构的概念清楚,理论也较完整,但是它既复杂又不实用。且在等到要推广时,市场已被 TCP/IP 协议占了先机。且 TCP/IP 本身就较为简单实用,因此它到现在得到了广泛使用。

(五)TCP/IP

   前面说到,OSI 只获得了一些理论研究的成果,但在市场化方面则事与愿违地失败了。20世纪90年代初期,TCP/IP 的互联网率先占领了市场,成为了 事实上的国际标准,而使得 OSI 仅仅是 法律上的国际标准

   从某种意义上来说,能够占领市场的才是标准。

【计算机网络】计算机网络的体系结构_第3张图片

(六)五层协议

   而在对计算机网络的学习中,往往采用折中的方法,综合OSI和TCP/IP的优点,采用 五层协议 的体系结构进行讲解。这样既简洁又能把概念把握清楚。

【计算机网络】计算机网络的体系结构_第4张图片

三、五层协议

   五层协议由上到下依次为:

  1. 应用层
  2. 传输层
  3. 网络层
  4. 数据链路层
  5. 物理层

   先上一张大杂烩图片:
【计算机网络】计算机网络的体系结构_第5张图片
   从上到下,很显然,越往下走的协议和硬件名称,我们是越少接触到的。我想,大多数程序员遇到最多的就是应用层的 FTPHTTP 协议。也是面试时基本会被问到的。
   而在考试中看来,应用层的考察仅在了解层面,而出题最多的,是 网络层传输层 的内容。

这也是我最近感受到备考和工作最能感受到脱节的地方所在。

   言归正传,从上一张图事实上已经几乎囊括了计算机网络课程的所有知识。我们无非是要搞懂五层分别做什么每层的传输单元是什么每层的硬件每层的主要协议是什么,仅此而已。(这样看来,真没什么难的。)

(一)任务

层次 任务
应用层 提供系统与用户的接口
传输层 负责主机中两个进程之间的通信
网络层 异构网络互连、路由转发、拥塞控制
数据链路层 链路管理、帧同步、流量控制、差错控制、透明传输
物理层 提供数据通路、透明地传输比特

(二)传输单位

层次 传输单位
应用层
传输层 报文段(TCP)或用户数据包(UDP)
网络层 数据报
数据链路层
物理层 比特

(三)硬件

层次 硬件
应用层
传输层
网络层 路由器
数据链路层 交换机、网桥
物理层 集线器、中继器

(四)协议

层次 协议
应用层 FTP、SMTP、POP3、HTTP
传输层 TCP、UDP
网络层 ICMP、ARP、RARP、IP、IGMP
数据链路层 PPP、HDLC、ARQ
物理层

你可能感兴趣的:(计算机网络)