王道计算机网络 第一章 计算机网络

  • Post author:
  • Post category:其他




第一章:计算机网络



1.1 计算机网络概述



1.1.1 计算机网络的概念

概述

计算机网络是一个将分散的、具有独立功能的

计算机系统

,通过

通信设备



线路

连接起来,由功能完善的软件实现

资源共享



信息传递

的系统。简言之,计算机网络就是一些互连的、自治的计算机系统的集合。


关键词

:① 计算机网络是

互联

的、

自治

的计算机集合。② 互联:互联互通,通信链路。③ 自治:无主从关系。



1.1.2 计算机网络的组成

组成部分

一个完整的

计算机网络主要由硬件、软件、协议三大组成部分

,缺一不可。


  • 硬件

    主要由主机 (也叫端系统)、通信链路 (如双绞线、光纤)、交换设备 (如路由器、交换机等) 和通信处理机 (如网卡) 等组成 。

  • 软件

    主要包括各种实现资源共享的软件、方便用户使用的各种工具软件,如网络操作系统、邮件收发程序、FTP程序、聊天程序等。 软件部分多属于应用层。

  • 协议

    是计算机网络的核心,如同交通规则制约汽车驾驶一样,协议规定了网络传输数据时所遵循的规范。

工作方式


计算机网络 (这里主要指Internet) 可分为边缘部分和核心部分


  • 边缘部分

    由所有连接在因特网上、供用户直接使用的主机组成,用来进行通信(如传输数据、音频或 视频)和资源共享。

  • 核心部分

    由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连 通性和交换服务。

功能组成


计算机网络由通信子网和资源子网组成


  • 通信子网

    由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。

  • 资源子网

    是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。



1.1.3 计算机网络的功能

数据通信

它是计算机网络最基本和最重要的功能,用来实现联网计算机之间的各种信息的传输,并实现将分散在不同地理位置的计算机联系起来,进行统一的调配、控制和管理。比如,文件传输、电子邮件等应用,离开了计算机网络将无法实现。

资源共享

可以是软件共享、数据共享,也可以是硬件共享。使计算机网络中的资源互通有无、分工协作,从而极大地提高硬件资源、软件资源和数据资源的利用率。

分布式处理

当计算机网络中的某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率。

提高可靠性

计算机网络中的各台计算机可以通过网络互为替代机。

负载均衡

将工作任务均衡地分配给计算机网络中的各台计算机。

除了以上几大主要功能,计算机网络还可以实现电子化办公与服务、远程教育、娱乐等功能,满足了社会的需求,方便了人们学习、工作和生活,具有巨大的经济效益。



1.1.4 计算机网络的分类

按分布范围分类


  • 广域网(WAN)

    – 广域网的任务是提供长距离通信,运送主机所发送的数据,其覆盖范围通常为几十到几千千米的区域,因而有时也称为远程网。广域网是因特网的核心部分。连接广域网的各结点交换机的链路一般都是高速链路,具有较大的通信容量。

  • 城域网(MAN)

    – 城域网的覆盖范围可以跨越几个街区甚至整个城市,覆盖范围约为5~50km。城域网大多采用以太网技术,因此有时也常并入局域网的范围进行讨论。

  • 局域网(LAN)

    – 局域网一般用微机或工作站通过高速线路相连,覆盖范围较小,一般是指几十米到几千米的区域。局域网在计算机配置的数量上没有太多的限制,少的可以只有两台,多的可达几百台。

    传统上,局域网使用广播技术,而广域网则使用交换技术


  • 个人区域网(PAN)

    – 个人区域网是在个人工作的地方将消费电子设备 (如平板电脑、智能手机等) 用无线技术连接起来的网络,也常称为无线个人区域网WPAN,其范围大约在10m。

注意:若中央处理器之间的距离非常近 (如仅1m的数量级或甚至更小),则一般就称之为多处理器系统,而不称它为计算机网络。

按传输技术分类


  • 广播式网络

    – 所有联网计算机都共享一个公共通信信道。当一台计算机利用共享通信信道发送报文分组时,所有其他的计算机都会 “收听” 到这个分组。接收到该分组的计算机将通过检查目的地址来决定是否接收该分组。

    局域网基本上都采用广播式通信技术,广域网中的无线、卫星通信网络也采用广播式通信技术。


  • 点对点网络

    – 每条物理线路连接一对计算机。如果通信的两台主机之间没有直接连接的线路,那它们之间的分组传输就要通过中间结点的接收、存储和转发,直至目的结点。


是否采用分组存储转发与路由选择机制是点对点式网络与广播式网络的重要区别,广域网基本都属于点对点网络

按拓扑结构分类


网络拓扑结构

是指通过网中结点 (路由器、主机等) 与通信线路 (网线) 之间的几何关系 (如总线形、环形) 表示的网络结构,主要是指通信子网的拓扑结构。

按网络的拓扑结构,主要分为星形、总线形、环形和网状形网络等。星形、总线形和环形网络多用于局域网,网状形网络多用于广域网:


  • 星形网络

    – 每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计算机,现在一般是交换机或路由器。星形网络便于集中控制和管理,因为端用户之间的通信必须经过中央设备。缺点是成本高、中心结点对故障敏感。

  • 总线形网络

    – 用单根传输线把计算机连接起来。总线形网络的优点是建网容易、增减结点方便、节省线路。缺点是重负载时通信效率不高、总线任一处对故障敏感。

  • 环形网络

    – 所有计算机接口设备连接成一个环。环形网络最典型的例子便是令牌环局域网。环可以是单环,也可以是双环,环中信号是单向传输的。

  • 网状形网络

    – 一般情况下,每个结点至少有两条路径与其他结点相连,多用在广域网中。有规则型和非规则型两种。其优点是可靠性高,缺点是控制复杂、线路成本高。

以上四种基本的网络拓扑结构可以互连组织成为更复杂的网络。

按使用者分类


  • 公用网(Public Network)

    – 它是指电信公司出资建造的大型网络。“公用” 的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络,因此也可称为公众网。


  • 专用网(Private Network)

    – 它是某个部门为本单位的特殊业务的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如铁路、电力、军队等部门的专用网。

按交换技术分类

交换技术是指主机之间、通信设备之间或主机与通信设备之间为交换信息所采用的数据格式和交换装置的方式。按交换技术可将网络分为:


  • 电路交换

    – 在源结点和目的结点之间建立一条专用的通路用于传送数据,包括建立连接、传输数据和断开连接三个阶段。最典型的电路交换网是传统电话网络。


    特点

    :整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。优点是数据直接传送、延迟小。缺点是线路利用率低、不能充分利用线路容量、不便于进行差错控制。


  • 报文交换

    – 将用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文。整个报文传送到相邻结点,全部存储下来后,再转发给下一个结点,重复这一过程直到到达目的结点。每个报文可以单独选择到达目的结点的路径。报文交换网络也称为存储-转发网络。


    特点

    :整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。

    优点是可以较为充分利用线路容量;可以实现不同链路之间不同数据率的转换;可以实现格式转换;可以实现一对多、多对一的访问;可以实现差错控制。

    缺点是增加了资源开销 (如辅助信息导致处理时间和存储资源的开销);增加缓冲延迟;额外的控制机制来保证多个报文的顺序不会乱序;缓冲区难以管理,因为报文的大小不确定,接收方在接收到报文之前不能预知报文的大小。


  • 分组交换

    – 也称为包交换网络。其原理是将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址、源地址等辅助信息组成分组(包),以存储-转发方式传输。


    特点

    :单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。除了具备报文交换网络的优点外,分组交换网络还具有自身的优点:缓冲易于管理;包的平均延迟更小,网络中占用的平均缓冲区更少;更易于标准化;更适合应用。现在的主流网络基本上都可以看成是分组交换网络。

按传输介质分类

传输介质可以分为有线和无线两大类,故可以分为有线网络和无线网络:


  • 有线网络

    – 又分为双绞线网络、同轴电缆网络等。


  • 无线网络

    – 又可分为蓝牙、微波、无线电等类型。



1.1.5 计算机网络的标准化工作及相关组织

标准化分类

计算机网络的标准化对计算机网络的发展和推广起到了极为重要的作用。


  • 法定标准

    – 由权威机构制定的正式的、合法的标准:

    OSI


  • 事实标准

    – 某些公司的产品在竞争中占据了主流,时间长了,这些产品的协议和技术就成了标准:

    TCP/IP

RFC

image-20210311164658985

各种RFC之间的关系

因特网的所有标准都以RFC ( Requests For Comments 因特网标准的形式) 的形式在因特网上发布。但并非每个RFC都是因特网标准,RFC要上升为因特网正式标准需经过以下四个阶段:


  1. 因特网草案 (Internet Draft)

    – 这个阶段还不是RFC文档。

  2. 建议标准 (Proposed Standard)

    – 从这个阶段开始就成为RFC文档。

  3. 草案标准 (Draft Standard)

  4. 因特网标准 (lntemet Standard)

此外,还有实验的RFC和提供信息的RFC。

相关组织

在国际上,有众多的标准化组织负责制定、实施相关网络标准。主要有以下几种:

  • 国际标准化组织 (ISO) – 制定的主要网络标准或规范有OSI参考模型、HDLC等。

  • 国际电信联盟 (ITU) – 其前身为国际电话电报咨询委员会(CCITT),其下属机构ITU-T制定了大量有关远程通信的标准。

  • 国际电气电子工程师协会 (IEEE) – 世界上最大的专业技术团体,由计算机和工程学专业人士组成。IEEE在通信领域最著名的研究成果是802标准。

  • Internet工程任务组 (IETF) – 负责英特网相关标准的制定RFC。



1.1.6 计算机网络的性能指标

概述

性能指标从不同的方面度量计算机网络的性能。下面介绍几种常用的性能指标 。

带宽


带宽(Bandwidth)

原本指某个信号具有的频带宽度 (即最高频率与最低频率之差),单位是赫兹(Hz)。在计算机网络中,宽带用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是 “比特每秒” (b/s)。


网络设备所支持的最高速度

时延


时延 (Delay)

是指数据 (一个报文或分组) 从网络 (或链路) 的一端传送到另一端所需要的总的时间,它由四个部分构成:发送时延、传播时延、处理时延和排队时延。


  • 发送时延

    – 结点将分组的所有比特推向(传输)链路所需的时间,也就是从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间,因此也称为传输时延。


    发送时延计算公式





    =

    /

    发送时延=分组长度/信道宽度




















    =




















    /

















  • 传播时延

    – 电磁波在信道中传播一定的距离需要花费的时间,也就是一个比特从链路一端到另一端传播所需的时间。


    传播时延计算公式





    =

    /

    传播时延=信道长度/电磁波在信道上的传播速率




















    =




















    /









































  • 处理时延

    – 数据在交换结点为存储转发而进行的一些必要的处理所花费的时间。例如,分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等。


  • 排队时延

    – 分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发端口后,还要在输出队列中排队等待转发。这就产生了排队时延。

数据在网络中经历的

总时延就是以上四种时延之和





=

+

+

+

总时延=发送时延+传播时延+处理时延+排队时延

















=






















+






















+






















+






















时延带宽积

若发送端连续发送数据,在发送的第一个比特即将到达终点时,表示发送端己经发出的比特数。即



=

×

时延带 宽积=传播时延×信道带宽























=






















×























如图所示,考虑一个代表链路的圆柱形管道,其长度表示链路的传播时延,横截面积表示链路带宽,则时延带宽积表示该管道可以容纳的比特数量。

往返时延RTT


往返时延(Round-Trip Time, RTT)

表示从发送端发送数据开始,到发送端收到来自接收端的确认 (接收端收到数据后立即发送确认),总共经历的时延。在互联网中,往返时延还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。

利用率

吞吐量


吞吐量 (Throughput)

表示在单位时间内通过某个网络 (或信道、接口) 的数据量,单位 b/s、kb/s、Mb/s等。吞吐量受网络的带宽或网络的额定速率的限制。

速率

网络中的

速率 (Speed)

是指连接在计算机网络上的主机在数字信道上传送数据的速率,

也称为数据率或比特率

,单位是 b/s (比特每秒,或bit/s,有时也写为bps)。当数据率较高时,就可以用 Kb/s (K=10

3

)、Mb/s (M=10

6

)或 Gb/s (G=10

9

)。在计算机网络中,通常把最高数据率称为“带宽”。



1.2 计算机网络体系结构与参考模型



1.2.1 计算机网络分层结构

概述

两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络的体系结构以分层的方式进行建模 。

我们把计算机网络的各层及其协议的集合称为网络的

体系结构 (Architecture)

。计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,它是计算机网络中的 层次、各层 的协议以及层间接口的集合。

分层基本原则

image-20201222101356810

计算机网络的体系结构通常都具有可分层的特性,将复杂的大系统分成若干较容易实现的层次。

  1. 各层之间相互独立,每层只实现一种相对独立的功能。
  2. 每层之间界面自然清晰,易于理解,相互交流尽可能少。
  3. 各层功能的精确定义独立于具体的实现方法,每层都采用最合适的技术来实现。
  4. 保持下层对上层的独立性,

    上层单向使用下层提供的服务

  5. 整个分层结构应该能促进标准化工作。

由于分层后各层之间相对独立,灵活性好,因而分层的体系结构易于更新 (替换单个模块),易于调试,易于交流,易于抽象,易于标准化。但层次越多,有些功能在不同层中难免重复出现,产生了额外的开销,整体运行效率就越低。而层次越少,就会使每一层的协议太复杂。因此,在分层时应考虑层次的清晰程度与运行效率间的折中、层次数量的折中。

分层结构

在计算机网络的分层结构中,第n层中的活动元素通常称为

n层实体

。具体地,

实体

指任何可发送或接收信息的硬件或软件进程,通常是一个特定的软件模块。不同机器上同一层称为对等层,同一层的实体叫做

对等实体

。n层实体实现的服务为n+1层所利用。在这种情况下,n层被称为服务提供者,n+1层是服务用户。

每一层还有自己传送的数据单位,其名称、大小、含义也各有不同。

在计算机网络体系结构的各个层次中,每一个报文都分为两个部分,一个是数据部分,也就是SDU, 另外一部分是控制信息部分,也就是

PCI

, 它们共同组成

PDU

image-20201222110247192


服务数据单元(SDU)

:为完成用户所要求的功能而应传送的数据。第n层的服务数据单元记为n-SDU。


协议控制信息(PCI)

:控制协议操作的信息。第n层的协议控制信息记为n-PCI。


协议数据单元(PDU)

:对等层次之间传送的数据单位称为该层的PDU。第n层的协议数据单元记为n-PDU。


在实际的网络中,每层的协议数据单元都有一个通俗的名称,如物理层的PDU叫比特,链路层的PDU叫帧,网络层的PDU叫分组,传输层的PDU叫报文

image-20210312093651349

网络各层数据单元的联系

在各层间传输数据时,把从第n+1层收到的PDU作为第n层的SDU,加上第n层的PCI,就变成了第n层的PDU,交给第n-1层后作为SDU发送,接收方接收时做相反的处理,故可知三者的关系为 n-SDU+n-PCI=n-PDU=(n-1)-SDU​。


层次结构的含义

  1. 第n层的实体不仅要使用第n-1层的服务,实现自身定义的功能,还要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和。
  2. 最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。
  3. 最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。
  4. 两个主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方。



1.2.2 计算机网络协议、接口、服务的概念

协议

协议,就是规则的集合。在网络中要做到有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为

网络协议 (Network Protocol)

, 它是控制两个(或多个)对等实体进行通信的规则的集合,也就是水平的。

不对等实体之间是没有协议的,比如用TCP/IP协议栈通信的两个结点,结点A的传输层和结点B的传输层之间存在协议,但结点 A 的传输层和结点 B 的网络层之间不存在协议。

网络协议也简称为协议

协议由语法、语义和同步三部分组成:


  • 语法

    – 规定了传输数据的格式。


  • 语义

    – 规定了所要完成的功能,即需要发出何种控制信息、完成何种动作以及做出何种应答。


  • 同步

    – 规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。

一个完整的协议通常应具有线路管理 (建立、释放连接)、差错控制、数据转换等功能。

接口


接口

是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每一层只能为紧邻的层次之间定义接口,不能跨层定义接口。

在典型的接口上,同一结点相邻两层的实体通过

服务访问点 (Service Access Point, SAP)

进行交互。服务是通过服务访问点SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。每个SAP都有一个能够标识它的地址。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口(类似于邮政信箱),但和通常所说的两个设备之间的硬件接口是很不一样的。

服务

服务是指下层为紧相邻的上层提供的功能调用,也就是垂直的。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务。

上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为

服务原语

。OSI将原语划分为四类 :


  1. 请求(Request)

    – 由服务用户发往服务提供者,请求完成某项工作。

  2. 指示(Indication)

    – 由服务提供者发往服务用户,指示用户做某件事。

  3. 响应(Response)

    – 由服务用户发往服务提供者,作为对指示的响应。

  4. 证实(Conforτnation)

    – 由服务提供者发往服务用户,作为对请求的证实。

这四类原语用于不同的功能,如建立连接、传输数据和断开连接等。有应答服务包括全部四类原语,而无应答服务则只有请求和指示两个原语。

image-20210312104523364

四类原语的关系

注意:协议和服务在概念上是不一样的。

  • 首先,本层协议的实现才能保证向上一层提供服务。

    本层的服务用户只能看见服务而无法看见下面的协议

    ,即下面的协议对上层的服务用户是透明的。
  • 其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。
  • 另外,并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务。

协议/接口/服务三者之间关系

image-20210312105239700

协议、接口、服务三者之间的关系

计算机网络提供服务分类


  • 面向连接服务与无连接服务


    • 面向连接服务

      – 通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和所占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放这三个阶段。例如 TCP 就是一种面向连接服务的协议。

    • 无连接服务

      – 通信前双方不需要先建立连接,需要发送数据时就直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输,是一种不可靠的服务。这种服务常被描述为 “尽最大努力交付” (Best-Effort-Delivery),并不保证通信的可靠性。例如 IP、UDP 就是一种无连接服务的协议。

  • 可靠服务和不可靠服务


    • 可靠服务

      – 是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。


    • 不可靠服务

      – 是指网络只是尽量正确、可靠地传送,但不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。

      对于提供不可靠服务的网络,其网络的正确性、可靠性就要由应用或用户来保障。


  • 有应答服务和无应答服务


    • 有应答服务

      – 是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不是由用户实现。所发送的应答可以是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务。

    • 无应答服务

      – 是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。例如WWW服务,客户端收到服务器发送的页面文件后不给出应答。



1.2.3 ISO/OSI参考模型和TCP/IP模型

OSI参考模型

image-20201222123930610

国际标准化组织 (ISO) 于1984年提出的网络体系结构模型,称为

开放系统互联参考模型 (OSI/RM)

,通常简称为

OSI参考模型

(理论成功,市场失败)。OSI有七层,自下而上依次为物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。

低三层统称为通信子网

,它是为了联网而附加上去的通信设备,完成数据的传输功能;

高三层统称为资源子网

,它相当于计算机系统,完成数据的处理等功能。运输层承上启下。

OSI层次结构

image-20210312163635673

  • 物理层 ( Physical Layer )


    • 物理层的传输单位是比特

      ,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明的传输原始比特流。
    • 物理层主要定义 数据终端设备(DTE) 和 数据通信设备(DCE) 的物理和逻辑连接方法,所以物理层协议也称为物理层接口标准。由于在通信技术的早期阶段,通信规则称为规程 (Procedure),故物理层协议也称为物理层规程。

  • 数据链路层 ( Data Link Layer )


    • 数据链路层的传输单位是帧

      ,任务是将网络层传下来的IP数据报组装成帧。数据链路层的功能可以概括为:

      成帧、差错控制、流量控制和传输管理等

    • 典型的数据链路层协议有SDLC、HDLC、PPP、STP和帧中继等。

  • 网络层 ( Network Layer )


    • 网络层的传输单位是数据报

      ,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元 (分组) 从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现

      流量控制、拥塞控制、差错控制和网际互联

      等功能。
    • 网络层的协议有:IP、IPX、ICMP、IGMP、ARP、RARP和OSPF等。

  • 传输层 ( Transport Layer )

    • 传输层也叫运输层,

      传输单位是报文段(TCP)或用户数据报 (UDP)

      ,传输层的任务是负责主机中两个进程之间的通信。功能是为端到端连接提供可靠的传输服务;为端到端连接提供

      流量控制、差错控制、服务质量、数据传输

      管理等服务。

    • 传输层的协议有:TCP,UDP。

      image-20201222164117939

  • 会话层 (Session Layer )

    • 会话层允许不同主机上各进程之间的会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。这种服务主要是向表示层实体或用户进程提供建立连接并在连接上有序地传输数据,这就是会话,也称为建立同步(SYN)。

    • 会话层负责管理主机间的会话进程,包括建立、管理以及终止进程间的会话。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。

      image-20201222162753482

  • 表示层 ( Presentation Layer )

    • 表示层主要用于处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。

      数据压缩、加密和解密

      也是表示层可提供的数据表示变换功能。

      image-20201222162159371

  • 应用层 ( ApplicationLayer )

    • 应用层是OSI模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问OSI环境的手段。因为用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的 一层,使用的协议也最多。

    • 典型的有文件传送的FTP、电子邮件的SMTP、万维网应用的HTTP等。

      image-20201222124140974

TCP/IP参考模型

TCP/IP模型,从低到高依次为:网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应OSI参考模型中的会话层、表示层和应用层)。

TCP/IP由于得到广泛应用而成为事实上的国际标准

image-20201222171830341

  • 网络接口层

    • 功能类似于OSI的物理层和数据链路层。它表示与物理网络的接口,但实际上TCP/IP本身并没有真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便能在其上传递IP分组。具体的物理网络可以是各种类型的局域网,如以太网、令牌环 网、令牌总线网等,也可以是诸如电话网、SDH、X.25、帧中继和ATM等公共数据网络。
    • 网络接口层的责任是从主机或结点接收IP分组,并把它们发送到指定的物理网络上。

  • 网际层 (主机-主机)

    • 是TCP/IP体系结构的关键部分。 它和OSI网络层在功能上非常相似。 网际层将分组发往任何网络,并为之独立地选择合适的路由,但它不保证各个分组有序的到达,各个分组的有序交付由高层负责。网际层定义了标准的分组格式和协议,即IP协议。当前采用的lP协议是第4版,即IPv4,它的下一个版本是IPv6。

  • 传输层 (应用-应用 或 进程-进程)

    • 功能同样和OSI中的传输层类似,是使发送端和目的端主机上的对等实体可以进行会话。 传输层主要使用以下两种协议:

      • 传输控制协议 (Transmission Control Protocol, TCP)。面向连接的,数据传输的单位是报文段 ,能够提供可靠的交付。
      • 用户数据报协议 (Mser Datagram Protocol, UDP)。 无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供 “尽最大努力交付”。

  • 应用层 (用户-用户)

    • 包含所有的高层协议。如虚拟终端协议 (Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮件协议(SMTP) 和超文本传输协议(HTTP)。

TCP/IP模型与OSI参考模型的比较


相同点

  1. 二者都采取分层的体系结构,将庞大且复杂的问题划分为若干个较容易处理的、范围较小的问题,而且分层的功能也大体相似。
  2. 二者都是基于独立的协议拢的概念。
  3. 二者都可以解决异构网络的互联,实现世界上不同厂家生产的计算机之间的通信。


不同点

  1. OSI参考模型的最大贡献就是精确地

    定义了三个主要概念:服务、协议和接口

    ,这与现代的面向对象程序设计思想非常吻合。而 TCP/IP模型在这三个概念上却没有明确区分,不符合软件工程的思想。
  2. OSI参考模型

    产生在协议发明之前

    ,没有偏向于任何特定的协议,通用性良好。TCP/IP模型正好相反。 首先出现的是协议,模型实际上是对己有协议的描述,因此不会出现协议不能匹配模型的情况,但该模型不适合于任何其他非TCP/IP的协议栈。
  3. TCP/IP模型在设计之初就考虑到多种异构网的互联问题,并

    将网际协议IP作为一个单独的重要层次

    。OSI参考模型最初只考虑到用一种标准的公用数据网将各种不同的系统互联。后来,OSI参考模型认识到网际协议IP的重要性,因此只好在网络层中划分出一个子层来完成类似于TCP/IP模型中IP的功能。
  4. OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式,但在传输层支持无连接和面向连接两种模式。

5层参考模型

无论是OSI参考模型,还是TCP/IP模型都不是完美的,对二者的讨论和批评都很多。OSI 参考模型的设计者从工作的开始,就试图建立一个全世界的计算机网络都要遵循的统一标准。从技术角度来看,他们希望追求一种完美的理想状态,这也导致基于OSI参考模型的软件效率极低。OSI参考模型缺乏市场与商业动力,结构复杂,实现周期长,运行效率低,这是它没有能够达到预想目标的重要原因。

image-20210312191944927

网络的五层体系结构模型

所以在学习计算机网络时往往采取折中的办法,即

综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构

,即我们所熟知的物理层、数据链路层、网络层、传输层和应用层 。

通信协议栈通信过程

image-20201222173523707

通信协议梭的通信过程示例

每个协议栈的最顶端都是一个面向用户的接口,下面各层是为通信服务的协议。

  1. 当用户要传输一个数据报时,通常是给出用户能够理解的自然语言,然后通过应用层,自然语言会转化为用于通信的通信数据。
  2. 通信数据到达运输层,作为运输层的数据部分(运输层SDU),加上运输层的控制信息(运输层PCI),组成运输层的PDU,然后交到网络层。
  3. 运输层的PDU下放到网络层后,就成为网络层的SDU,然后加上网络层的PCI,又组成了网络层的PDU,下放到数据链路层。
  4. 就这样层层下放,层层包裹,最后形成的数据报通过通信线路传输,到达接收方结点协议栈,接收方再逆向地一层一层把 “包裹” 拆开,然后把收到的数据提交给用户。



版权声明:本文为donkey010原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。