注意:计算机网络是通信技术与计算机技术相结合的产物,满足了人们对信息的获取、处理以及传播的需求。
1950年,人们将计算机技术与通信技术结合形成第一代以主机为中心携带多个终端的计算机网络,称为以主机为中心的联机系统。
联机系统采用信息集中化处理,中央计算机处理所有的终端信息,而终端只负责数据的输入与输出。
联机系统中央计算机负载量十分大、系统信息处理速度较慢、且稳定性较低。
利用分组交换机制组建的网络称为基于通信网的计算机网络。
分组交换采用的是存储转发技术,利用动态分配带宽的方式实现数据通信。
分组交换网☁️是由若干节点交换机和节点间的链路组成,节点交换机用来实现分组交换✔️,主机则是用户用来处理信息的。
为了使不同公司生产的计算机可以全部连接成互联网,
国际标准化组织(ISO)1978年提出了异种机联网标准的框架结构—开放式互联参考模型(OSI/RM),在文章末尾将进行重点介绍。
IEEE802委员会1980年提出了局域网通信标准,促进了局域网技术趋向成熟。
注意:所有联网计算机只要遵循OSI标准,就可以与同样采用该标准的其他计算机进行通信。
1990年,以Internet为代表的计算机网络得到了快速发展,Internet互联网结构示意图如下:
补充:在多个网络间进行通信使用路由器,在单个网络内通信使用交换机
一般认为:计算机网络是将地处各异的具有独立工作能力的终端设备,通过通信设备(Switch交换机、Router路由器)及通信介质(双绞线、光纤)连接起来,在相应通信协议的支持下实现信息传递、资源共享的集成系统。
在计算机网络发展的不同阶段,主要给出了3类定义如下:
从不同角度,可以将计算机网络的组成分为如下几类:
case1:从组成部分
从组成部分上,一个完整的计算机网络主要由硬件、软件、协议缺一不可的三部分组成。
其中硬件主要由主机(端系统)、通信链路(双绞线、光纤)、交换设备(路由器、交换机)和通信处理机(网卡)等组成。
软件主要包括各种实现资源共享的软件和方便用户使用的各种工具软件(网络操作系统、邮件收发程序、FTP程序、聊天程序等),软件部分多属于应用层。
协议是计算机网络的核心(如同交通规则),协议规定了网络传输数据时所遵循的规范。
有感:计算机网络是否可以类比生活中常见的交通网络?或者计算机网络就是受到交通网络的启发而被创造?
case2:从工作方式
从工作方式上,计算机网络(这里主要指Internet)可分为边缘部分与核心部分。
边缘部分由所有连接到因特网上、供用户直接使用的主机组成,用来进行通信(如数据传输、音频或资源)和资源共享。
核心部分由大量的网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务。
case3:从功能组成
从功能组成上,计算机网络由通信子网和资源子网组成。
通信子网由各种传输介质、通信设备和相应的网络协议组成,其使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。
资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。
case1:广域网(WAN,Wide Area Network):
广域网是规模最大的计算机网络,覆盖范围可以从几十公里到几千公里。
广域网是因特网Internet的核心部分,连接广域网的各节点交换机的链路一般都是高速链路,具有较大的通信容量。
广域网特点:
case2:城域网(MAN,Metropolitan Area Network):
城域网覆盖范围在局域网(LAN)和广域网(WAN)之间,主要在10km~100km之间,一般为一个城市或几条街区。
MAN可以为一个or多个单位提供服务,可以将多个局域网进行互联。MAN大多采用以太网技术,因此有时也将MAN归入到LAN中讨论。
case3:局域网(LAN,Local Area Network):
局域网一般用微机or工作站通过高速线路相连,覆盖范围较小通常为10m~10000m的区域。
局域网按照采用的技术、应用范围和协议标准的不同可以分为共享局域网和交换局域网。
局域网特点:
补充:关于以太网技术(Ethernet):以太网是一种工业技术标准,主要用于LAN中
case4:个人区域网(PAN,Personal Area Network):
个人区域网是指个人工作的地方将消费电子设备(平板电脑、智能手机等)用无线技术连接起来的网络,也称为无线个人区域网(WPAN),其覆盖的区域直径约为10m。
case1:广播式网络
所有联网计算机都共享一个公共信道,
某一台计算机利用共享通信信道发送报文分组时,其他计算机都会收听到分组,并通过检查目的地址来决定是否接收该分组。
注意:局域网基本上都采用广播式通信技术,广域网中的无线、卫星通信网络也采用广播式通信技术。
case2:点对点网络
每条物理线路连接一对计算机,
如果通信的两台主机之间没有直接连接的线路,那么之间的分组传输就要通过中间结点的接收、存储和转发,直至目的结点。
注意:是否采用分组存储转发、路由选择机制是点对点式网络与广播式网络的重要区别,广域网基本都属于点对点网络。
网络拓扑结构是指网中结点与通信线路之间的几何关系,主要是指通信子网的拓扑结构。
case1:总线型网络:
总线型网络即用单根传输线把计算机网络连接起来,
总线网络的优点是建网容易、增减结点方便、节省路线。缺点是重负载时通信效率不高、总线任意处对故障较敏感。
case2:星状网络:
每个终端 or 计算机都以单独的线路与中央设备连接,中央设备早期是计算机,现在一般是交换机 or 路由器。
星装网络的优点是便于集中控制&管理。缺点是成本高、中心结点对故障敏感。
case3:环形网络
所有计算机接口设备连接形成一个环形,最典型的是令牌环局域网,
环可以是单环、也可以是双环,并且环中的信号是单向传输的。
case4:网状网络:
每个结点至少有两条路径与其他结点相连接,多用在广域网中,有规则型与非规则型两种。
网状网络的优点是可靠性高,缺点是控制复杂、线路成本高。
注意:以上的4中基本拓扑结构还可以互相组合、连接为更复杂的网络
交换技术是指各台主机之间、各通信设备之间 or 主机与通信设备之间 为交换信息所采用的数据格式和交换装置的方式。
case1:线路交换网
线路交换网(电路交换网),在源节点与目标结点间建立一条专用的通路用于传送数据,包括建立连接、传输数据、断开连接3个阶段。
线路交换网的特点是整个报文的比特流Bit Torrent连续的从源点直达终点,好像是在一条管道中传送。
其优点是数据直接传送、时延小☕;缺点是线路利用率比较低、不能充分利用线路容量、不便于进行差错控制。
补充:最典型的电路交换网是传统的电话网络。
case2:报文交换网
报文交换网(存储-转发网络),是指用用户数据加上源地址、目标地址、校验码等辅助信息,然后封装成报文。整个报文传送到相邻结点,全部存储后再转发给下一个结点,重复直到到达目的结点。
注意:报文交换网的全部报文统一进行路径选择、存储转发⚽。
报文交换网的特点是整个报文先传送到相邻结点,全部存储后查找转发表,转发到下一个结点。
其优点是可以较为充分的利用线路容量,实现不同链路之间不同数据率的转换,实现格式转换,一对多、多对一访问,差错控制。
缺点是增大了资源开销,增加了缓冲时延,需要额外机制来保证多个报文的顺序不乱序,缓冲区难以管理(报文大小不确定)。
case3:分组交换网:
现今的主流技术,多为分组交换网络(包交换网络),其原理是将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址、源地址等辅助信息组成分组(包✉️),以存储-转发的方式进行传输。
注意:分组交换网将报文进行分组,每一个分组独立的进行路径选择、存储转发⚽。
分组交换网的主要特点是单个分组(报文的一部分)传送到相邻结点,存储后查找转发表,转发到下一个结点。
其优点除了具备报文转换的优点之外,还具有缓冲易于管理、包的平均时延更小、网络占用的平均缓冲区更小、易于标准化等
对比:报文交换网与分组交换网,都是基于存储转发技术而出现的
计算机网络中的速率,是指连接到网络上的主机在数字信道上传送数据的速率,也称为数据率 or 比特率,单位b/s(bit/s、bps)
在数据率较高时,也可用kb/s、Mb/s、Gb/s表示
注意:在计算机网络中,通常把最高数据率称为带宽
带宽,是指通信线路允许通过的信号频带范围,即最高频率与最低频率之差,单位为赫兹(Hz);
在计算机网络中,带宽表示网络的通信线路传输数据的能力,是数字信道传送的最高数据率的同义词,单位是比特/秒(b/s)。
吞吐量,是指单位时间内通过某个网络(or 信道、接口)的数据量,吞吐量受网络带宽/网络额定速率的限制。
时延是指数据从网络的一端传送到另一端所需要的总时间,由4部分构成:发送时延、传播时延、处理时延和排队时延。
发送时延 = 分组长度 / 信道宽度
传播时延 = 信道长度 / 电磁波在信道上的传播速率
注意:
- 排队时延与处理时延一般可忽略不计。
- 对于高速链路:提高的仅是数据发送速率而非比特在链路上的传播速率,而提高数据的发送速率只能减少数据的发送时延。
时延带宽积,是指发送端发送的第一个比特即将到达终点时,发送端已经发送了多少个比特(bit);即时延带宽积 = 传播时延 * 信道带宽
,故时延带宽积又被称为以比特为单位的链路长度。
往返时延,是指从发送端发送数据开始直到发送端收到来自接收端的确认,总共经历的时延。
在Internet互联网中,往返时延还包括各中间结点的处理时延、排队时延及转发数据时的发送时延。
补充:在linux环境中使用ping命令查看百度的往返延迟;RTT越大,在收到确认之前可以发送的数据越多。
利用率可被分为信道利用率与网络利用率:
信道利用率,指某一信道有百分之多少的时间是由数据通过的,即 信道利用率 = 有数据通过的时间 / (有 + 无)数据通过的时间
;
网络利用率,将信道利用率加权后求平均值即可得到网络利用率。
因特网的所有标准都要以RFC(Request For Comments)的形式在因特网上发布,
但并非每个RFC都是因特网标准,RFC要上升为因特网的正式标准需经过以下4个阶段:
标准阶段 | 英文名称 |
---|---|
因特网草案 | Internet Draft |
建议标准 | Proposed Standard |
草案标准 | Draft Standard |
因特网标准 | Internet Standard |
在国际上负责制定、实施相关网络标准的标准组织众多:
补充:网络体系结构是从功能上描述计算机网络结构的
为了降低协议设计和调试过程的复杂性,便于进行研究、实现与维护并促进标准化工作,需要对计算机网络的体系结构进行分层建模。
计算机网络的各层、各层的协议、层间接口的集合称为计算机网络的体系结构(Architecture)。
计算机网络体系结构分层原则:
注意:对于分层数量,应考虑层次的清晰程度与运行效率的折中、层次数量的折中
- 分层的层次越多,有些功能在不同层中难免重复出现,产生额外的开销、整体运行效率降低
- 分层的层次越少,导致每层的协议太复杂
point1:n层实体,在计算机网络分层结构中,第n层中的活动元素被称为n层实体;实体指任何可发送 or 接收信息的硬件或软件进程。
point2:对等层&对等实体,不同机器上的同一层称为对等层,同一层(对等层)的实体被称为对等实体。
补充:n层实体实现的服务为n+1层所利用,则n层被称为服务提供者、n+1层则服务于用户
计算机层次结构中的每一层都有自己传送的数据单位,其名称、大小、含义不同。在计算机网络体系结构的各个层次中,每个报文都可分为两部分:SDU数据部分 与 PCI控制信息部分,共同组成的整体为 PDU协议数据单元。
point3:服务数据单元(SDU),为完成用户所要求的功能而应能够传送的数据,第n层的服务数据单元记为n-SDU。
point4:协议控制信息(PCI),控制协议操作的信息,第n层的协议控制信息记为n-PCI。
point5:协议数据单元(PDU),对等层之间传送的数据单位称为该层的PDU,第n层的协议数据单元记为n-PDU。
在实际的网络中,每一层的协议数据单元PDU都有一个通俗的名称:
计算机网络层 | PDU名称 |
---|---|
应用层 | 数据data |
传输层 | 报文segment |
网络层 | 分组package |
链路层 | 帧frame |
物理层 | 比特bit |
注意:SDU\PCI\PDU之间的关系:n-SDU + n-PCI = n-PDU = (n-1)-SDU,数据传输是一个不断封装的过程!
封装过程:在各层间进行传输数据时,把从第n+1层收到的PDU作为第n层的SDU,在加上第n层的PCI之后就变成了第n层的PDU。
在一次封装过程结束之后,交给第n-1层作为SDU发送继续进行循环封装。同理,当接收方接收数据时作相反的解封装处理。
为实现网络中不同系统对等实体之间的数据交换、通信而建立的规则、标准或约定称为网络协议(Network Protocal)。
注意:不对等实体之间不存在协议,例如:传输层与传输层之间存在协议,传输层与网络层之间不存在协议。
✔️ 协议由语法、语义和时序三部分组成:
一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。
补充:一个完整的计算机网络需要有一套复杂的协议集合,组织复杂的计算机网络协议的最好方式是层次结构
接口是指同一结点内相邻两层间交换信息的连接点、上层使用下层服务的入口,是一个系统内部的规定。
注意:每层只能为紧邻的层次间定义接口(不允许跨层次定义接口)。
在典型的接口上,同一结点相邻两层的实体通过服务访问点SAP(Service Access Point)进行交互。
服务是通过SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。每个SAP都有一个能够标识它的地址。
注意:SAP是一个抽象的概念,实际上是一个逻辑接口(类似邮政信箱),但和通常所说的两个设备之间的硬件接口是很不一样的。
服务是指下层为紧邻的上层提供的功能调用,它是垂直的。
对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务。
case1:面向连接与无连接服务
在面向连接服务中,通信前双方必须先建立连接、分配响应的资源(如缓冲区),以保证通信能正常进行。传输结束后释放连接和所占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放三个阶段。⭕ 例如TCP就是一种面向连接服务的协议。
在无连接服务中,通信前双方不需要建立连接、需要发送数据时可直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这是一种不可靠的服务,通常被描述为尽最大努力交付(Best-Effort-Delivery),它并不保证通信的可靠性。⭕ 例如IP\UDP就是一种无连接服务的协议。
总结:面向连接与无连接服务的区别为,在进行通信前是否进行连接的建立(核心),及服务的可靠性。
case2:可靠服务与不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。
不可靠服务是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地,是以一种尽力而为的服务。
补充:对于提供不可靠服务的网络,其网络的正确性、可靠性要由应用或用户来保障。
例如,用户收到信息后要判断信息的正确性,如果不正确,那么用户要把出错信息报告给信息的发送者,以便发送者采取纠正措施。通过用户的这些措施,可以把不可靠的服务变成可靠的服务。
case3:有应答服务与无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。
⭕ 例如,文件传输服务就是一种有应答的服务。
注意:所发送的应答既可以是肯定的应答、也可以是否定的应答(在收到的数据有错误时发送否定的应答)。
无应答服务是指接收方收到数据后不自动给出应答,若需要应答则由高层实现。
⭕ 例如,对于www服务,客户端收到服务器发送的页面文件后不给出应答。
国际标准化组织(ISO)提出的网络体系结构模型,称为开放系统互联参考模型(OSI/RM),简称为OSI参考模型。
OSI有7层,自上而下依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;
注意:
- 网络通信的方向可以自上而下 or 自下而上的双向进行。
- 不是每个通信都要经过OSI模型中的全部7层,如物理接口之间的连接、中继器与中继器之间的连接只需要在物理层中进行;路由器与路由器之间的连接只需要经过网络层以下的三层(通信子网)。
Layer1:物理层
⭐ 物理层传输单位是比特bit,任务是透明的传输比特流,功能是在物理媒体上为数据段设备透明的传输原始比特流。
补充:关于透明传输的概念:不管所传输的数据是什么样的比特组合,都应当能够在链路上进行传送。
注意:注意:传输信息所利用到的一些物理媒体,如双绞线、光缆、无线信道等,并不在物理层协议之内而在物理层之下。
✏️ 物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法,所以物理层协议也称物理层接口标准。
物理层接口标准很多,如:EIA-232C、EIA/TIA RS-449、CCITT的X.21等。物理层协议:RJ45、802.3
Layer2:数据链路层
⭐ 数据链路层的传输单位是帧,任务是将网络层传下来的IP数据报
组装成帧
✏️ 数据链路层的功能可以概括为成帧、差错控制、流量控制和传输管理等。
数据链路层典型协议:SDLC、HDLC、PPP、STP和帧中继等。
Layer3:网络层(utmost imp.)
⭐ 网络层的传输单位是数据报,负责通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端。
网络层:为分组交换网上的不同主机提供通信服务(网际互联),数据报过长时就会被切割为分组。
✏️ 关键问题是对分组进行路由选择,并实现流量控制、用塞控制、差错控制等功能。
网络层典型协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF等
Layer4:传输层
⭐ 传输层也称为运输层,传输单位是报文段(TCP)或用户数据报(UDP),主要负责主机中两个进程之间的通信(端到端通信)。
✏️ 功能是为端到端提供可靠的传输,以及流量控制、差错控制、服务质量、数据传输管理等服务。
传输层的典型协议:TCP、UDP
关于功能4:由于一台主机可同时运行多个进程,因此传输层具有复用和分用的功能。
复用是指多个应用层进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。
注意:使用传输层的服务,高层用户可以直接进行端到端的数据服务,从而忽略通信子网的存在。传输层的屏蔽,使高层用户看不到子网的交替和变化。
Layer5:会话层
⚾️ 会话层(利用传输层提供的端到端的服务)向表示层实体/用户进程提供建立连接,并在连接上有序的传输数据,即会话(建立同步SYN的过程)。
简单概括:允许不同主机上的各个进程之间进行会话
关于功能2:使用校验点可使会话在通信失效时,从校验点/同步点继续恢复通信,实现数据同步。(处理传输大文件时的通信突然中断)
会话层协议:ADSP、ASP,协议都是为功能设计而服务的!
Layer6:表示层
⚾️ 表示层主要用于处理两个通信系统中交换信息的表示方式(语法和语义)。
表示层功能 | 详细说明 |
---|---|
功能1:数据格式转换 | 由于不同主机采用的表示和编码方式不同(使用的数据结构也不同),为了使不同表示方法的数据 or 信息之间能互相交换,故表示层均采用标准的编码形式(抽象的标准方法定义数据结构)。翻译官 |
功能2:数据加密&解密 | 对信息 or 数据进行加密与解密 |
功能3:数据压缩&恢复 | 对信息 or 数据进行压缩与恢复 |
表示层协议:表示层其实不是一个特别单别的层次(可以被纳入到应用层规划层中),故其没有单独的协议(JPEG\ASCII)
Layer7:应用层
⚾️ 应用层是用户与网络的界面,为特定类型的网络应用提供访问OSI环境的手段。
注意:应用层是指所有能和用户交互并产生网络流量的程序
用户的实际应用多样,这要求应用层采用不同的应用协议来解决不同类型的应用需求。
因此应用层也是最复杂的一层,使用的协议最多:典型的协议有用于文件传输的FTP、用于电子邮件的SMTP、用于万维网的HTTP等。
补充:应用层提供的典型服务
ARPA在研究ARPAnet
时提出了TCP/IP模型。
TCP/IP模型有4层,自下而上依次为网络接口层(对应OSI模型中的物理层与数据链路层)、网际层、传输层、应用层(对应OSI模型中的会话层、表示层与应用层)。
Layer1:网络接口层
⭐ 网络接口层的功能类似于OSI的物理层和数据链路层,表示与物理网络的接口。
补充:实际上TCP/IP本身并没有真正描述这一功能,只是指出主机必须使用某种协议与网络连接,以便在其上传递IP分组。
具体的物理网络既可以是各种类型的局域网,如以太网、令牌环网、令牌总线网等,也可以是诸如电话网、SDH、X.25、帧中继和ATM等公共数据网络。
网络接口层的作用:从主机或结点接收IP分组,并发送到指定的物理网络上。
Layer2:网际层
⭐ 网际层(主机-主机)是TCP/IP体系结构的关键部分,与OSI的网络层在功能上非常相似。
网际层将分组发往任何网络,并为之独立的选择合适的路由器(但不保证各个分组有序的到达),各个分组有序交付由高层负责。
补充:网际层定义了标准的分组格式和协议,即IP。(当前采用的IP版本是IPv4)
Layer3:传输层
⭐ 传输层的功能同样和OSI中的传输层类似,即使发送端和目的端主机上的对等实体进行会话。
传输层主要使用以下两种协议:
Layer4:应用层
⭐ 应用层(用户-用户)包含所有的最高协议,如虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮箱协议(SMTP)和超文本传输协议(HTTP)。
ISO/OSI参考模型 | TCP/IP模型 | |
---|---|---|
网络层 | 无连接 + 面向连接 | 无连接 |
传输层 | 面向连接 | 无连接 + 面向连接 |
在研究网络时,采用一种只有5层协议的体系结构:物理层、数据链路层、网络层、传输层和应用层进行研究。
更新日志:
2021/10/5:更新细化计算机网络分层参考结构各模型各个层次的详细描述、以及功能介绍,更新计算机网络按交换技术分类3-(4)小节部分内容。