计算机网络体系结构_计算机网络体系采用层次化结构体系是为了提高数据传输 - CSDN
精华内容
参与话题
  • 【计算机网络高分笔记】第一章:计算机网络体系结构 标签(空格分隔):【计算机网络】 第一章:计算机网络体系结构 第一章:计算机网络体系结构 1.1 计算机网络概述 1.1.1 计算机网络的概念 1.1.2 计算机...

    【计算机网络高分笔记】第一章:计算机网络体系结构

    标签(空格分隔):【计算机网络】


    第一章:计算机网络体系结构

    • 大纲要求:
    1. 计算机网络概述
    • 计算机网络的概念、组成与功能
    • 计算机网络的分类
    • 计算机网络的标准化工作及相关组织
    1. 计算机网络体系结构和参考模型
    • 计算机网络分层结构

    • 计算机网络协议、接口、服务等概念

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

    • 考点和要点分析

    1. 核心考点:
    • OSI参考模型和 TCP/IP模型
    • 掌握计算机网络协议、接口、服务等概念
    • 掌握网络体系结构的概念、分层的必要性(包括 5 层 和 7 层结构)
    • 无连接服务和面向连接服务的联系和区别
    1. 基础要点:
    • 计算机网络的概念、组成与一些基本的功能
    • 计算机网络的各种分类方法
    • 计算机网络的标准化工作和一些相关组织
    • 计算机网络分层结构
    • 计算机网络协议、接口、服务等概念
    • ISO/OSI参考模型和 TCP/IP模型

    1.1 计算机网络概述

    1.1.1 计算机网络的概念

    • 定义:
    1. 最简洁的定义:计算机网络就是一些互联的、自治的计算机系统的集合。
    2. 广义观点的定义:计算机网络是实现远程信息处理的系统或进一步能达到资源共享的系统。
    3. 资源共享观点的定义:计算机网络是以能够相互共享资源的方式互连起来、自治的计算机系统的集合。
    4. 用户透明性观点的定义:计算机网络是一个能为用户自动管理资源的网络操作系统,它能够调用用户所需要的资源,整个网络就像一个大的计算机系统一样对用户透明。

    可疑点解析:什么是自治计算机?
    答:自治计算机是能够进行自我管理、配置和维护的计算机,也就是现在的计算机;而像以前的终端(只有显示器,仅仅显示数据),则不能称为自治计算机。

    在计算机网络的发展的不同阶段,对计算机网络的定义是不同的,这个不是考试重点.

    1.1.2 计算机网络的组成

    • 物理组成
      从物理组成上来看,计算机网络包括硬件、软件、协议三大部分。
    1. 硬件:由 主机通信处理机(或者称为前端处理器)、通信线路(包括有线线路和无无线线路)和交换设备(交换机等连接设备)组成。
    2. 软件:主要包括实现资源共享的软件和方便用户使用的各种工具软件(如QQ).
    3. 协议:就是一种规则,如汽车在道路上行驶必须遵循交通规则一样,数据在线路上传输也必须遵循一定的规则。
    1. 边缘部分:由所有链接再互联网上,供用户直接使用的主机组成,用来进行通信和资源共享。
    2. 核心部分:由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。
    • 功能组成
      从功能组成上来看,计算机网络由 通信子网资源子网 两部分组成。
    1. 通信子网 :由各种传输介质、通信设备和相应的网络协议组成,为网络提供数据传输、交换和控制能力,实现联网计算机之间的数据通信。
    2. 资源子网:由主机、终端以及各种软件资源、信息资源组成,负责全网的数据处理业务,向网络用户提供各种网络资源和服务。 通信子网包括物理层、数据链路层、网络层。

    1.1.3 计算机网络的功能

    • 数据通信:数据通信是计算机网络 最基本、最重要 的功能,包括连接控制,传输控制,差错控制,流量控制,路由选择,多路复用等子功能。
    • 资源共享:包括数据资源、软件资源以及硬件资源。
    • 分布式处理:当计算机网络中的某个计算机负荷过重时,可以将其处理的任务传送给网络中的其他计算机系统进行处理,利用空闲计算机资源提高整个系统的利用率。
    • 信息综合处理:将分散再各地的计算机中的数据资料进行集中处理或者分级处理,如自动订票系统、银行金融系统、数据采集与处理系统等。
    • 负载均衡:将工作任务均衡地分配给计算机网络中地各台计算机。
    • 提高可靠性:计算机网络中的每台计算机可以通过网络互为代替机。
      当然,为了满足人们再生活中的需求,计算机网络还有其它功能,例如远程教育、电子化办公与服务、娱乐等。

    可疑点解析:什么是分布式计算机系统?与计算机网络比较由什么区别?
    答: ~分布式计算机系统最主要的特点是整个系统中的各台计算机对用户都是透明的。用户通过输入命令可以运行程序,但是用户不知道具体是那一台计算机再为其运行程序。操作系统为用户选择一台最合适的计算机来运行程序,并将运行结果传送到合适的地方。
          ~~~~~~计算机网络则不同,用户必须首先再想要运行的程序上进行登录,然后按照计算机的地址,将程序通过计算机网络传送到该计算机上去运行,最后根据用户将结果传送到指定的计算机。

    1.1.4 计算机网络的分类

    • 按分布范围分类:广域网、城域网、局域网、个人区域网。
    • 按拓扑结构分类:星型网络、总线型网络、环型网络、网状型网络。
    • 按传输技术分类:广播式网络、点对点网络。
    • 按使用者分类:公用网、专用网。
    • 按数据交换技术分类:电报交换网络、报文交换网络、分组交换网络。
      接入网(AN: Access NetWorks)了解即可。

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

    • 计算机网络的标准化工作四个步骤
    1. 互联网草案;
    2. 建议标准(RFC文档);
    3. 草案标准;
    4. 互联网标准
    • 相关组织
      相关组织由国际标准化组织(ISO),国际电信联盟(ITU),美国电气和电子工程师协会(IEEE)等。

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

    1.2.1 计算机网络分层结构

    • 首先一点,我们要明白计算机网络为什么采用分层结构?以生活中的实例解释,首先,任何一个公司都是从小企业创办而来的,当规模很小时(假定只有一个老板和三个员工),老板可以和员工处于一个层面,不需要分层,员工可以直接向老板汇报问题。但是,如果该公司是诸如微软一样的企业(也就是计算机网络具有很大规模时候),处于最高层的盖茨希望实现公司的长远发展,但不可能每天与公司员工讨论某个功能模块应该使用那种算法,因此,分层结构应运而生,结构中的每一层应该实现对应的功能,这样才会由更好的发展。但是,分层又不能太多,如果分层太多,那么浪费的资源就很多。计算机网络结构亦是如此。TCP/IP 折中地采用了 4 层结构(在教材中为了更好的描述各层地工作原理,经常被看作 5 层)。

    • 三个术语:

    1. 实体:任何可发送或接受信息的硬件或软件进程,通常是一个特定的软件模块。
    2. 对等层:不同机器上的一层。
    3. 对等实体:同一层上的实体。

    以上概念第一次看比较抽象,我们不如这样理解:A 省和 B 省 分别表示不同的机器,因此 A 省和 B 省中各层干部可以看成 实体,将 A 省省长职位和 B 省省长秩为可以看成 对等层,将对等层上的实体,也就是 A 省省长和 B 省省长可以看成对等实体。

    1.2.2 协议

    • 协议是一种规则,并且是控制两个对等实体进行通信的规则,也就是水平的。
    • 协议由以下三个部分组成
    1. 语义:对构成协议元素的含义的解释,即“讲什么”.
    2. 语法:数据与控制信息的结构或格式,即“怎么讲”.
    3. 同步:规定了事件的执行顺序。

    1.2.3 接口

    • 接口,又称作访问服务点,从物理层开始,每一层都向上层提供了访问服务点,即没有接口就不能提供服务
    • 五个专业术语:
    1. 服务数据单元(SDU):第 n 层的服务数据单元,记作 n-SDU.
    2. 协议控制信息(PCI):第 n 层的协议控制信息,记作 n-PCI.
    3. 接口控制信息(ICI):第 n 层的接口控制信息,记作 n-ICI.
    4. 协议数据单元(PDU):第 n 层的服务数据单元(SDU) + 第 n 层的协议控制信息(PCI) = 第 n 层的协议数据单元,即 n-SDI + n-PCI = n-PDU,表示的是同等层对等实体间传送的数据单元。另外,n-PCI = (n-1)-SDU.例如,网络层的整个 IP 分组交给数据链路层,整个 IP 分组称为数据链路层的数据部分。
    5. 接口数据单元(IDU):第 n 层的服务数据单元(SDU)+ 第 n 层的接口控制信息(ICI)= 第 n 层的接口数据单元,即 n-SDU + n-ICI = n-IDU,这表示的是在相邻层接口见传递的数据单元。
      ###1.2.4 服务
    • 服务指的是 下层为相邻上层提供的功能调用 。 协议是水平的,而服务是垂直的,即下层向上层通过接口提供服务。
    • 服务分为以下 3 类:
    1. 面向连接的服务和面向无连接的服务
    • 面向连接的服务:当通信双方通信时,要事先建立一条通信线路,该线路包括建立连接,使用连接和释放连接 3 个过程。 TCP 就是一种面向连接服务的协议,电话系统是一个面向连接的协议。
    • 面向无连接的服务,通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)传送到线路上,由系统选定线路进行传输。IP 和 UDP 就是两种面向无连接服务的协议,邮政系统是一个无连接的模式。
    1. 有应答服务和无应答服务
    • 有应答服务:接收方在收到数据之后向发送方给出相应的应答。
    • 无应答服务:接收方在收到数据之后不自动给出应答。
    1. 可靠服务和不可靠服务
    • 可靠服务:网络具有检错、纠错、应答机制,能够保证数据正确,可靠地传送到目的地。
    • 不可靠服务:网络不能保证数据正确、可靠地传送到目的地,网络只能是尽量正确、可靠,是一种“尽力而为”的服务。

    ** 注意:并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才叫做服务。**

    面向连接服务和面向无连接服务的对比
    |服务 | 优点 | 缺点|
    |—|---|
    | 面向连接| 可靠信息流(只要被接受的都是正确的)、信息回复确定(没收到信息就发送一个回复,告知对方已经收到此信息;如果收到的信息是错误的,告诉对方重新发送消息) | 占用通信信道 |
    | 面向无连接| 不占用通信信道| 信息流可能丢失(在传输的过程中,信息可能丢失) 信息无回复确定(收到信息直接收下,不告诉对方已经收到)|

    故事助记:你每年都要给女朋友写 12 封信,每个月一封。有两种送达方式可以选择。第一种:每一个月找一个非常可靠的朋友帮助送到,这样你可以保证信从第一封到最后一封都是按序到达的,并且不会丢失,这就是面向连接服务;第二种:通过邮局发送,因为邮局很有可能在发送的过程中丢失信件,即使不丢失也有可能 3 月份的信比 2 月份的信早到,这就是面向无连接服务。

    • 关于服务不得不知的事情:
    1. 第 n 层实体不仅要使用第 n - 1 层的服务,还要向 第 n + 1 层提供本层的服务,该服务是第 n 层及其以下各层所提供服务的总和。最高层向用户提供服务。
    2. 上一层只能通过相邻层的接口使用下一层服务,而不能调用其他层的服务,即下一层提供服务的实现细节对上一层透明。

    如何理解“透明”?
    例如,用户只需要清楚手机上的每个按钮具有什么样的功能,尽管使用其功能即可,至于这个功能在内部是如何被实现的,用户并不需要知道,这就是透明。

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

    • 5 层结构
      OSI 参考模型具有 7 层结构,而 TCP/IP 模型有 4 层结构(一般看作 5 层)。在 OSI 参考模型中表示层和会话层不是重点,无需深究,所以只需要掌握 5 层结构即可。以下我们来看 5 层结构以及每层完成的任务、功能、协议。
    1. 应用层
    • 用户对用户
    • 任务:提供系统与用户的接口
    • 功能:文件传输、访问和管理、 电子邮箱服务
    • 协议:HTTP、FTP、SMTP、POP3
    1. 传输层(运输层)
    • 应用对应用,进程对进程
    • 传输单位:报文段(TCP)或用户数据报(UDP)
    • 任务:负责主机中两个进程之间的通信
    • 功能:为端到端连接提供可靠的传输服务、为端到端连接提供流量控制、差错控制、服务质量等管理服务
    • 协议:TCP、UDP
    1. 网络层(网际层、IP层)
    • 主机对主机
    • 传输单位:数据报
    • 所实现的硬件:路由器
    • 任务:将传输层传下来的报文段封装成数组、选择适当的路由,使传输层传输下来的分组能够交付到目的地主机
    • 功能:为传输层提供服务、组包和拆包、路由选择、拥塞控制
    • 协议:ICMP、ARP、RARP、IP、IGMP
    1. 数据链路层(链路层)
    • 传输单位:帧
    • 所实现的硬件:网桥、交换机
    • 任务:将网络层传输下来的IP数据报组装成帧
    • 功能:链路连接的建立,拆除,分离、帧定界和帧同步、差错检测
    • 协议:PPP、HDLC、ARQ
    1. 物理层
    • 传输单位:比特
    • 所实现的硬件:集线器、中继器
    • 任务:透明地传输比特流
    • 功能:为数据端设备提供传送数据通路
    1. 补充:
    • 会话层。会话层的主要功能是在两个结点之间建立、维护和释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。既然会话层和运输层都有建立连接,那么二者之间有什么区别?例如,某个公司的老总,你要求秘书给某某打电话,老总便是会话层,秘书相当于传输层,因为老总提出建立连接的请求,但是不需要自己动手查号码和拨号,而是秘书打电话,建立传输连接,当双方拿起电话时,传输层连接建立成功,秘书将电话递给老总,此时会话层连接建立成功。
    • 表示层。表示层负责处理在两个内部数据表示结构不同的通信系统间交换信息的格式(数据格式转换),为数据加密揭秘以及提高传输提供必需的数据压缩和解压的功能。

    问题:主机 A 和主机 B 通信的实质是什么?
    帮助记忆:我们可以把 两栋楼 A , B 分别视为主机 A,B,A 栋楼的甲想要把某个物品给 B 栋楼的乙,甲和乙分别看成主机上的两个进程,则类似两台主机之间传送数据,那么甲所给的物品不仅仅只是放在 B 栋楼的门口,而是肯定要将物品交到乙手上才可以,所以说两台主机之间的通信实际上是两个主机的进程在相互通信。再假设一点:假设 A, B 宿舍都是单人间,每个房间只能住一个人(一个进程),那么房间号就是端口号。

    • OSI 参考模型和 TCP/IP 参考模型的区别:
      OSI参考模型 | TCP/IP 参考模型|
      —|---|
      三个主要概念:服务、接口、协议|没有明确区分服务、接口、协议
      协议有很好的隐藏性|
      产生在协议发明之前|产生在协议发明之后
      共有 7 层| 共有 4 层(不是 5 层)
      网络层:连接和无连接|网络层:仅有无连接
      传输层:仅面向连接|传输层:面向连接和无连接

    可疑点解析: TCP/IP 参考模型到底是 4 层还是 5 层?
    答:一般教材上讲解的 5 层模型是综合了 OSI 和 TCP/IP 的优点,才有了 5 层模型。TCP/IP 是 4 层参考模型,因为 TCP/IP 参考模型的网路接口层包含 5 层模型的物理层和数据链路层。

    • OSI 参考模型的工作原理
      通过给朋友发送一封电子邮件的例子来解释 7 层的工作原理。
      在发电子邮件的过程中
    1. 首先要在应用层编辑这封电子邮件
    2. 然后把编辑好的电子邮件发给表示层,这时候表示层会把这封信件加密,当然也可以不加密,为了提高速度,表示层要把它压缩
    3. 然后传输给会话层,此时会话层会把信息发给你,并提示你要给别人发送邮件了,要你准备好。
    4. 然后再把这个信息发送给传输层,这时传输层会把这封信件分段,原因是数据无法一次性被传输。
    5. 被分段的信件被传输到网络层,此时网络层会对数据段再次进行封装并假如报头形成数据报,其实从应用层开始每往下层传输一次就会加一次报头(例外的是,数据链路层既需增加报头,也会增加报尾)及相关信息。不仅如此,网络层还要对传输路径进行一次选择,之后在传输给数据链路层。
    6. 数据链路层将这些数据报封装成帧(这就是人们通常所说的以太网),最后把这个消息发送到物理层。
    7. 在物理层形成比特流,进而送到传输媒介(网线),此时信件就会变成比特流在网线上传输。接收方接受邮件之后,进行反方向操作。

    1.2.6 计算机网络性能指标

    • 时延:数据从网络或者链路的一段传送到另一端所需要的时间,有时候也成为延迟或者迟延。
      网络时延以以下几个部分组成:
    1. 发送时延(传输时延):主机或路由器发送数据帧所需要的时间,即从发送数据帧的第一位算起到该帧最后一位发送完毕所需要的时间。因此,发送时延也称作传输时延。
      计算公式: 发送时延 = 数据帧长度(bit)/发送速率(bit/s)
      由这个公式可以得到:对于某网络,发送时延并非固定不变,而是与发送的帧长成正比。
    2. 传播时延:电磁波在信道中传输一定的距离所需要的时延。
      计算公式:传播时延 = 信道长度(m)/电磁波在信道上的传输速度(m/s)
    3. 处理时延:主机或路由器在接收到分组时进行处理所需要的时间。
    4. 排队时延:分组在进入网络传输时,需要经过许多路由器,但分组在进入路由器要现在传输队列中排队等待处理,在路由器确定转发接口之后,还要在传输队列中排队等待转发,因此产生了排队时延。

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

    • 注意:若非特别提示,排队时延和处理时延一般可以选择忽略不计。另外,对于高速网络链路,提高的仅仅是数据发送速率而不是比特在链路上的传播速度。提高数据发送速率只是减少了数据的发送时延。

    可疑点解析:既然有发送时延,为什么没有接受时延?
    答:事实上接受时延包含在发送时延和传播时延当中,当这两个时延结束时,接受时延也就结束了。

    • 时延带宽积:时延带宽积又称为以比特为单位的链路长度。
      计算公式:时延带宽积 = 传播时延 * 带宽

    • 往返时间:从发送方发送数据开始,到发送方接受到来自接收方的确定消息(接收方一旦接受数据之后立即发送确定),总共经历的时间。

    • 利用率:包括信道利用率和网络利用率两种。

    1. 信道利用率:指的是某个信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率为 0.
    2. 网络利用率:是指全网络信道利用率的加权平均值。但是需要注意的一点,不是信道利用率和网路利用率越高越好。因为利用率越高,会导致数据在路由器中转发时延过长。

    我的微信公众号

    展开全文
  • 计算机网络体系结构综述(上)

    万次阅读 多人点赞 2017-04-07 18:54:58
    计算机网络体系结构标准的制定使得两台计算机能够像两个知心朋友那样能够互相准确理解对方的意思并做出优雅的回应。本文首先概述了计算机网络体系结构的提出动机,并结合日常生活中的邮政系统介绍了设计的理念,并给...

    摘要:

      计算机网络体系结构标准的制定使得两台计算机能够像两个知心朋友那样能够互相准确理解对方的意思并做出优雅的回应。本文首先概述了计算机网络体系结构的提出动机,并结合日常生活中的邮政系统介绍了设计的理念,并给出了相关的基本概念和标准。进一步地,我们着重概述了计算机网络体系结构的分层原理及其最重要的组成部分——协议,使得读者能够对计算网路体系结构有一个全新的、系统的认识。


    版权声明与致谢:

      本文原创作者:书呆子Rico
      作者博客地址:http://blog.csdn.net/justloveyou_/

      本文正使用的大部分插图均来自于课件《计算机网络体系结构》,并且对于其中部分插图笔者做了进一步的修改,该课件可以在我的CSDN上下载到,其链接为《计算机网络体系结构》。在此,我们感谢这份课件的制作者及其传播者,感谢他们的无私分享。


    友情提示:

      为了更好地了解计算机网络体系结构,笔者以两篇博客的篇幅来介绍这个计算机网络中最为重要的知识点,即:《计算机网络体系结构综述(上)》《计算机网络体系结构综述(下)》。在本文,我们概述了计算机网络体系结构的提出动机,并结合日常生活中的邮政系统介绍了设计的理念,并给出了相关的基本概念和标准,并着重介绍了计算机网络体系结构的分层原理及协议的内涵。在此基础上,本篇的姊妹篇《计算机网络体系结构综述(下)》详尽地介绍了两种典型的计算机网络系统结构标准:OSI七层模型与TCP/IP四层模型。


    一. 为什么需要计算机网络体系结构?

      众所周知,计算机网络是个非常复杂的系统。比如,连接在网络上的两台计算机需要进行通信时,由于计算机网络的 复杂性 异质性,需要考虑很多复杂的因素,比如:

      (1). 这两台计算机之间必须有一条传送数据的通路;
      (2). 告诉网络如何识别接收数据的计算机;
      (3). 发起通信的计算机必须保证要传送的数据能在这条通路上正确发送和接收;
      (4). 对出现的各种差错和意外事故,如数据传送错误、网络中某个节点交换机出现故障等问题,应该有可靠完善的措施保证对方计算机最终能正确收到数据。

      计算机网络体系结构标准的制定正是为了解决这些问题从而让两台计算机(网络设备)能够像两个知心朋友那样能够互相准确理解对方的意思并做出优雅的回应。也就是说,要想完成这种网络通信就必须保证相互通信的这两个计算机系统达成 高度默契。事实上,在网络通信领域,两台计算机(网络设备)之间的通信并不像人与人之间的交流那样自然天然,这种 计算机间高度默契的交流(通信) 背后需要十分复杂、完备的网络体系结构作为支撑。那么,用什么方法才能合理地组织网络的结构,以保证其具有结构清晰、设计与实现简化、便于更新和维护、较强的独立性和适应性,从而使网络设备之间具有这种 “高度默契” 呢?

      答案是分而治之,更进一步地说就是分层思想。


    二. 计算机网络体系结构设计基本思想

      分而治之的思想 正好可以解决上面提到的这个复杂的问题。也就是说,我们可以将这个庞大而复杂的问题转化为若干较小的、容易处理的、单一的局部问题,然后在不同层次上予以解决,这也就是我们所熟悉的 分层思想 。在计算机网络体系结构中,分层思想的内涵就是: 每层在依赖自己下层所提供的服务的基础上,通过自身内部功能实现一种特定的服务。


    1、分层思想在日常生活中的应用

      在我们的日常生活中有很多分层思想的应用,比如邮政系统、银行系统等。我们就以邮政系统的组织结构作为例子进行说明:

                邮政系统1.png-29.5kB

      从上图我们知可以看出,用户和用户之间的通信依赖于下层的服务,但是他们并不需要关心快递、运输等细节,也就是说,寄信者只需将写好的信交给快递员而收信者只需从快递员手中查收信件即可。类似地,快递员也只需要从寄信人手中拿到信件并交给分检员或将信件从分检员手中拿走并交给收信人即可,至于分检员为何要把这份信交给他进行投递(事实上,每个快递员会负责某个片区,分检员根据收信人地址将信件分发给不同的快递员),他不需要关心也没必要关心。显然,在这个邮政系统中,各个角色(用户、快递员…)在功能上相互独立却又能协调合作达成一种 “高度默契”,这在很大程度上得益于分层思想的理念和应用。下图更直观地体现了邮政系统的分层思想:

                邮政系统2.png-49.8kB

      此外,我们日常使用的操作系统也是分层思想的实践者。实际上,一般而言,对于一个庞大而又复杂的系统而言(比如银行系统、邮政系统等),其必定存在着对分层思想的应用。


    2、分层思想的优点

     (1). 耦合度低(独立性强)
      上层只需通过下层为上层提供的接口来使用下层所实现的服务,而不需要关心下层的具体实现。也就是说,下层对上层而言就是具有一定功能的黑箱。

     (2). 适应性强
      只要每层为上层提供的服务和接口不变,每层的实现细节可以任意改变。

     (3). 易于实现和维护
      把复杂的系统分解成若干个涉及范围小且功能简单的子单元,从而使得系统结构清晰,实现、调试和维护都变得简单和容易。也就是说,对于设计/开发人员而言,这种方法使设计/开发人员能够专心设计和开发他们所关心的功能模块;对于调试/维护人员而言,这种方法也方便调试/维护人员去处理他们所负责的功能模块。


    三. 计算机网络体系结构的概念与标准

      如你所料,计算机网络体系结构也采用了分层的思想。那么,既然计算机网络体系结构的设计采用的是分层思想,那么它就必须得解决以下几个问题:

      (1). 网络体系结构应该具有哪些层次,每个层次又负责哪些功能呢?   (分层与功能)
      (2). 各个层次之间的关系是怎样的,它们又是如何进行交互的呢?   (服务与接口)
      (3). 要想确保通信的双方能够达成高度默契,它们又需要遵循哪些规则呢?  (协议)


    1、计算机网络体系结构的概念

      根据上面的几个问题,计算机网络体系结构必须包括三个内容,即分层结构与每层的功能,服务与层间接口 和 协议。所以,计算机网络体系结构的定义为:

      在计算机网络中,层、层间接口及协议的集合被称为计算机网络体系结构。


    2、计算机网络体系结构的标准

      目前,由国际化标准组织ISO制定的网络体系结构国际标准是 OSI七层模型,但实际中应用最广泛的是 TCP/IP体系结构。换句话说,OSI七层模型只是理论上的、官方制定的国际标准,而TCP/IP体系结构才是事实上的国际标准。这看起来是不可理喻的,但这却是实际存在的,是一些历史原因造成的,无疑这些原因又是复杂的,笔者在此处略加介绍,以慰读者。OSI标准的制定者以专家、学者为主,他们缺乏实际经验和商业驱动力,并且OSI标准自身运行效率也不怎么好。与此同时,由于Inernet在全世界覆盖了相当大的范围,并且占领市场的标准是TCP/IP体系结构,因此导致OSI标准没有市场背景,也就只是理论上的成果,并没有过多地应用于实践。


    四. 计算机网络体系结构的分层原理

    1、基本概念

      在介绍网络体系结构的分层原理前,我们有必要先了解以下几个基本概念,其对应关系如下图所示:

                  网络系统结构的基本概念.png-11.9kB

    • 实体: 任何可以发送和接收信息的软硬件进程;
    • 对等层: 两个不同系统的同一层次;
    • 对等实体: 分别位于不同系统对等层的两个实体;
    • 接口: 上层使用下层所提供的功能的方式;
    • 服务: 某一层及其以下各层的所完成的功能,通过接口提供给相邻的上层;
    • 协议: 通信双方在通信过程中必须遵循的规则。

    2、网络体系结构模型

                  网络体系结构模型.png-30.3kB

      我们在网络中的任何一个系统都是按照上图中的层次结构模型来组织的,该模型具有以下特点:

    • 同一网络中,任意两个端系统必须具有相同的层次;

    • 每层使用其下层提供的服务,并向其上层提供服务;

    • 通信只在对等层间进行,当然这里所指的通信是间接的、逻辑的、虚拟的,非对等层之间不能互相“通信”;

    • 实际的物理通信只在最底层完成;

    • Pn代表第n层的协议,即第n层对等实体间通信时必须遵循的规则或约定。


    3、对等层通信的实质

      在逻辑上,网络分层体系结构原理允许不同主机的对等实体进行通信,但禁止不同主机非对等实体间进行直接通信;在物理上,每一层必须依靠下层提供的服务来与另一台主机的对等层通信,这是 对等层通信的实质也就是说,模型中的上层(第n+1层)使用下层(第n层)所提供的服务,是下层(第n层)服务消费者;而模型中的下层(第n层)向上层(第n+1层)提供服务,是上层(第n+1层)的服务生产者(提供者)。

      进一步地,源进程传送消息到目标进程的过程是这样子的: 首先,消息送到源系统的最高层,紧接着消息从最高层开始自上而下逐层封装 ,最后该消息经物理线路传输到目标系统。而当目标系统收到信息后,其会将该信息 自下而上逐层处理并拆封,最后由最高层将消息提交给目标进程。这个处理过程与邮政通信过程类似,如下图所示:

                邮件系统3.png-54.5kB


    4、协议

      正如上图所示,发信人和收信人对信件内容的共识就是二者之间的协议,正是由于这种协议的存在使得他们都能读懂信的内容并理解对方的意思,达成默契;类似地,寄件邮局与收件邮局也能对信件的传递达成共识,也就是说,有一套规则来保证邮局之间的“ 默契,二者间的这种默契要么能把信件完好无损地送给收信人,要么能够把信件完好无损地退给发信人;同样地,运输系统也能对信件如何运输达成共识,而正是由于这种共识,信件才能到达指定邮局也就是说,对等实体间的这种默契(共识)就是协议。

      同样地,在计算机网络体系结构中,不同层需要完成不同的功能或者提供不同的服务。比如,计算机网络体系结构应该提供对应的差错控制,从而使对等层的通信更加可靠;除此之外,还应该提供流量控制以控制发送端的发送速率以便接收端能来得及接收消息;分段和重装机制也很必要,就是说发送端在发送消息时应该将数据块分成更小的单位以便传输,而接收端能够准确地将这些数据块重新组合并还原数据的原貌; 通信会话复用同一条低层连接可以提高效率;建立连接和释放连接机制是不同主机通信的保障,等等。上面列举的这些功能(服务)实际上都是由计算机体系结构中具体的某一层来实现的,更具体地说,主要是通过每层相应的通信协议来实现这些功能的。也就是说,计算机间网络中所有的通信活动都是由协议控制的,也正是各种各样的协议保证了计算机间高度默契的通信。下图对比了人相互交流的协议和计算机间相互通信的协议:


    五. 通信协议

      上一节的最后一部分非常形象地介绍了协议的内涵,使我们对网络通信协议有了一个感性的理解。实际上,人类在相互交流过程中也遵守某种“协议”,只不过这种协议是一种文化而已。其与计算机间相互通信的协议对比如下:

                通信协议.png-44.6kB


    1、协议的概念

      通信协议定义了 网络实体间发送报文和接收报文的格式、顺序以及当传送和接收消息时应采取的行动(规则)。这个定义指明了通信协议的三要素:

    • 语义
      语义是指对协议中各协议元素的含义的解释,例如:在HDLC协议中,标志Flag(7EH)表示报文的开始和结束;在BSC协议中,SOH(01H)表示报文的开始,STX(02H)表示报文正文的开始,ETX(03H)表示报文正文的结束。

    • 语法
      语法是指协议元素与数据的组合格式,也就是 报文格式如下图所示:

                  协议的语法.png-7.8kB


    • 时序
      时序是指在通信过程中,通信双方操作的执行顺序与规则,如本节开头的图示。

    • 协议三要素之间的关系
      计算机间通信的本质就在于信息报文的交换,而信息报文也就是我们在下面提到的协议数据单元(PDU)。实际上,语法规定了PDU的格式;而在此基础上,语义赋予了PDU的特定内涵;时序通过控制这种具有特定语义的报文来实现计算机间的通信,也就是说,时序是通信规则的体现。

        现在我们类比一下人类的对话来理解协议三要素之间的内在联系。假设这样一个场景,Rico在和Livia交谈,Rico说:“Livia,早上好啊~”,这时Livia会莞尔一笑并答道:“早上好,Rico~”。对于这段会话,语法就是这些汉字/语句的组织规则,正是由于这种组织规则这些简单汉字的叠加才有了一定的语义,而时序保证了你问我答的这种会话(交流)的进行,更进一步地,时序保证了通信各方对PDU语义的理解并做出恰当的回应。

        总的来说,语法是语义的载体,而时序又是对语义的有序组织。正是基于这种关系,计算机在通信时才得以保持高度默契。


      实际上,在网络体系结构中,每层可能会有若干个协议,但一个协议只隶属于一个层次。在实现方式上,协议可以由软件或硬件来实现。比如,网络通信协议软件、网络驱动程序,网络硬件等。常用协议组有:TCP/IP(Windows、Unix、Linux、…)、NetBEUI(Windows)、IPX/SPX(NetWare、Windows)等。


    2、协议数据单元(PDU)

      计算机网络体系结构中,对等层之间交换的信息报文统称为 协议数据单元(Protocol Data Unit,PDU)。PDU由 协议控制信息(协议头) 数据(SDU) 组成,如下图所示。

                    PDU.png-4.4kB

      其中,协议头部中含有完成数据传输所需的控制信息,比如地址、序号、长度、分段标志、差错控制信息等。传输层及以下各层的PDU均有各自特定的名称:

    • 传输层 —— 段(Segment)

    • 网络层 —— 分组/包(Packet)

    • 数据链路层 —— 帧(Frame)

    • 物理层 —— 比特(Bit)


    (1). PDU的封装

      在计算机网络体系结构中,下层把上层的PDU作为本层的数据加以封装,然后加入本层的协议头部(和尾部)形成本层的PDU,如下图所示。在这里,封装就是在数据前面加上特定的协议头部。因此,数据在源站自上而下递交的过程实际上就是不断封装的过程,而到达目的地后自下而上递交的过程就是不断拆封的过程,如下图所示。这个过程类似发送信件的过程,数据在传输时,其外面实际上要被包封多层“信封”。在目的站,某一层只能识别由源站对等层封装的“信封”,而对于被封装在“信封”内部的“数据”仅仅是拆封后将其提交给上层,本层不作任何处理。特别需要注意的是,每一层只处理本层的协议头部!

                 PDU数据的封装.png-27kB


    (2). PDU封装实例

      下图演示了PDU在TCP/IP协议组的封装过程:

                 PDU封装实例.png-29.4kB


    六. 小结

      计算机网络体系结构标准的制定使得两台计算机能够像两个知心朋友那样能够互相准确理解对方的意思并做出优雅的回应。本文首先概述了计算机网络体系结构的提出动机,并结合日常生活中的邮政系统介绍了设计的理念,并给出了相关的基本概念和标准。进一步地,我们着重概述了计算机网络体系结构的分层原理及其最重要的组成部分——协议,使得读者能够对计算网路体系结构有一个全新的、系统的认识。


    七. 更多

      更多关于OSI七层参考体系结构和TCP/IP四层协议结构及每种体系结构中的各层的任务、功能、协议及与其他相似层的区别等区别的介绍,请读者移步我的博客《计算机网络体系结构综述(下)》


    引用

    计算机网络体系结构

    展开全文
  • 计算机网络体系结构

    千次阅读 2018-07-01 14:54:36
    在上篇《计算机网络体系结构综述(上)》的基础上,本文着重概述了两种典型的层次化网络体系机构 —— OSI七层参考体系结构和TCP/IP四层协议结构,并对每种体系结构中的各层就任务、功能、协议及与其他相似层的区别...

    摘要:

      我们知道TCP/IP与OSI最大的不同在于OSI是一个理论上的网络通信模型,而TCP/IP则是实际上的网络通信标准。在上篇《计算机网络体系结构综述(上)》的基础上,本文着重概述了两种典型的层次化网络体系机构 —— OSI七层参考体系结构和TCP/IP四层协议结构,并对每种体系结构中的各层就任务、功能、协议及与其他相似层的区别等几方面做了进一步得介绍,力求还原这些典型的网络体系结构的全貌。


    版权声明与致谢:

      本文原创作者:书呆子Rico 
      作者博客地址:http://blog.csdn.net/justloveyou_/

      本文正使用的大部分插图均来自于课件《计算机网络体系结构》,并且对于其中部分插图笔者做了进一步的修改,该课件可以在我的CSDN上下载到,其链接为《计算机网络体系结构》。在此,我们感谢这份课件的制作者及其传播者,感谢他们的无私分享。


    友情提示:

      为了更好地了解计算机网络体系结构,笔者以两篇博客的篇幅来介绍这个计算机网络中最为重要的知识点,即:《计算机网络体系结构综述(上)》 和 《计算机网络体系结构综述(下)》。在本文,我们概述了计算机网络体系结构的提出动机,并结合日常生活中的邮政系统介绍了设计的理念,并给出了相关的基本概念和标准,并着重介绍了计算机网络体系结构的分层原理及协议的内涵。在此基础上,本篇的姊妹篇《计算机网络体系结构综述(下)》详尽地介绍了两种典型的计算机网络系统结构标准:OSI七层模型与TCP/IP四层模型。

      Ps:笔者建议读者在阅读本篇博文前,先阅读其姊妹篇《计算机网络体系结构综述(上)》 ,以便铺垫。


    一. 计算机网络系统结构标准概述

      最早的计算机网络体系结构源于IBM在1974年宣布的系统网络体系结构SNA (Systems Network Architecture),这个著名的网络标准就是一种层次化网络体系结构。不久后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。不同的网络体系结构出现后,采用不同的网络体系结构的产品就很难互相连通(通信)。然而,全球经济的发展使得处在不同网络体系结构的用户迫切要求能够互相交换信息,为此,国际标准化组织ISO成立了专门的机构研究该问题,并于1977年提出了一个试图使各种计算机在世界范围内互联成网的标准框架,即著名的 开放系统互连基本参考模型OSI/RM (Open System Interconnection Reference Model)。正如在本篇的姊妹篇《计算机网络体系结构综述(上)》提到的那样,OSI七层体系结构具有概念清楚、理论完整的特点,是一个理论上的国际标准,但却不是事实上的国际标准;而具有简单易用特点的TCP/IP 四层体系结构则是事实上的标准。 需要指出的是,五层体系结构虽然综合了 OSI 和 TCP/IP 的优点,但其只是为了学术学习研究而提出的,没有具体的实际意义。三者结构示意图如下所示: 
                  典型网络体系结构.png-36.3kB


    二. OSI 七层体系结构简述

    1、OSI七层参考体系结构

     在OSI七层参考模型的体系结构中,由低层至高层分别称为物理层、数据链路层、网络层、运输层、会话层、表示层和应用层,下面给出OSI网络体系结构参考模型示意图: 
                OSI网络系统结构参考模型及协议.png-101.7kB


     在OSI七层参考模型的体系结构中,各层次要解决的问题及其功能简述如下图所示: 
                OSI网络参考模型功能表示.png-75.4kB


     下图给出了OSI网络体系结构的PDU数据封装示意图: 
                OSI模型的数据流向.png-46.1kB


    2、OSI各层次概述

    1). 物理层(相邻节点之间)

      在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。它实现了相邻计算机节点之间比特流的透明传送,并尽可能地屏蔽掉具体传输介质和物理设备的差异,使其上层(数据链路层)不必关心网络的具体传输介质。“透明传送比特流”的意思是经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。 
                物理层.png-37.2kB


    (1). 任务

      在物理介质上正确地、透明地传送比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。


    (2). 协议(标准)

      规定了物理接口的各种特性和物理设备的标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等;


    (3). 功能

      实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使数据链路层不必关心网络的具体传输介质。


    2). 数据链路层(data link layer)(相邻节点之间)

      数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路,控制网络层与物理层之间的通信。它完成了数据在不可靠的物理线路上的可靠传递。我们知道,在计算机网络中,由于各种干扰的存在,物理链路是不可靠的。为了保证数据的可靠传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的物理地址以及纠错和控制信息。其中的物理地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错的传递。换句话说,这一层在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。

                数据链路层.png-24.4kB

    注:数据链路 = 物理链路+必要的通信协议


    (1). 任务

      通过各种数据链路层控制协议,实现数据在不可靠的物理线路上的可靠传递;


    (2). 协议

      负责提供物理地址寻址、数据的成帧、流量控制、差错控制等功能,确保数据的可靠传输;


    (3). 功能与服务

      接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。此外,该层还负责提供物理地址寻址、数据的成帧、流量控制、差错控制等功能。差错控制是指处理接收端发回的确认帧的信息(对等层通信),以便提供可靠的数据传输;流量控制是指抑止发送方的传输速率,使接收方来得及接收。


    3). 网络层(将网络地址转换为IP地址,选择最佳路径(通过路由选择实现),将IP数据报从一个节点传输到另一个节点)

      网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层,它在下两层的基础上向资源子网提供服务。网络层主要任务是将网络地址翻译成对应的物理地址,并通过路由选择算法为分组通过通信子网选择最适当的路径。特别地,网络层将通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A 到另一个网络中节点B的最佳路径。

      网络层是可选的,它只用于当两个计算机系统处于不同的由路由器分割开的网段这种情况,或者当通信应用要求某种网络层或传输层提供的服务、特性或者能力时。对于两台主机处于同一个LAN网段的直接相连这种情况,它们之间的通信只使用LAN的通信机制就可以了,即OSI参考模型的物理层和数据链路层。

                网络层.png-16.8kB


    (1). 任务

      将网络地址(IP地址)翻译成对应的物理地址,并通过路由选择算法为分组通过通信子网选择最适当的路径。


    (2). 协议

      提供无连接数据报服务的IP协议


    (3). 产品

      路由器


    (4). 路由选择:

      网络层最重要的一个功能就是:路由选择。网路层会依据速度、距离(步跳数)、价格和拥塞程度等因素在多条通信路径中找一条最佳路径。所谓路由,一般包括路由表和路由算法两个方面。事实上,每个路由器都必须建立和维护其路由表,一种是静态维护,也就是人工设置,只适用于小型网络;另一种是动态维护,是在运行过程中根据网络情况自动地动态维护路由表。


    (5).数据链路层与网络层的差异

      一般地,数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信,例如,广域网间的通信。

    • 寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址);

    • 路由算法:当源节点和目的节点之间存在多条路径时,网络层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端;

    • 连接服务:与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测。

                  链路层与网络层的区别.png-52.6kB


    4). 传输层(transport layer)(一台主机的多个应用进程和另一台主机的多个应用进程的通信)

      OSI下3层(物理层,数据链路层和网络层)的主要任务是数据通信,上3层(会话层,表示层和应用层)的任务是数据处理,而传输层恰好是OSI模型的第4层,是通信子网和资源子网的接口和桥梁,起到承上启下的作用。该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。

      传输协议同时进行流量控制,即基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能处理的最大尺寸将较大的数据进行强制分割(例如,以太网无法接收大于1500字节的数据包),发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组,这个过程也叫做排序。

                传输层.png-24.5kB


    (1). 任务

      在源端与目的端之间提供可靠的透明数据传输,使上层服务用户不必关系通信子网的实现细节。


    (2). 协议

      TCP/IP中的TCP,UDP协议、Novell网络中的SPX协议和微软的NetBIOS/NetBEUI协议。其中,TCP(传输控制协议)具有传输效率低,可靠性强等特点,用于传输可靠性要求高,数据量大的数据;UDP(用户数据报协议)用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的。


    (3). 功能与服务:

      传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。综上,传输层的主要功能如下:

    • 传输连接管理:提供建立、维护和拆除传输连接的功能,传输层在网络层的基础上为高层提供“面向连接”和“面向无接连”的两种服务;
    • 处理传输差错:提供可靠的“面向连接”和不太可靠的“面向无连接”的数据传输服务、差错控制和流量控制。在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。

    (4). 传输层的特点:

    • 传输层以上各层面向应用,本层及以下各层面向传输;
    • 实现源主机到目的主机“端到端”的连接。

    (5). 传输层与网络层的区别

      在协议栈中,传输层位于网络层之上,传输层协议为不同主机上运行的进程提供逻辑通信,而网络层协议为不同主机提供逻辑通信,如下图所示。这个区别很微妙,但是却非常重要,下面的这个网上的例子很好地说明了二者之间的区别。

                网络层与传输层.png-43.6kB

      设想一下有两所房子,一个位于东海岸,而另一个位于西海岸,每所房子里都住着12个小孩。东海岸房子里的小孩和西海岸房子里的小孩是堂兄妹。两所房子里的孩子喜欢互相通信 —— 每个孩子每周都给每一个堂兄妹写一封信,每一封信都由老式的邮局分别用信封来寄,这样,每一家每周就都有144封信要送到另一家(这些孩子如果可以用电子邮件的话就可以省掉很多钱了!)。其中,在每一家中都由一个孩子(西海岸房子里的Ann和东海岸房子里的Bill)负责邮件的收集和分发。所以,每周Ann都从她的兄弟姐妹那里收集起来信件,并将这些信件送到每天都来的邮递服务员那里;当信件到达西海岸的房子时,Ann又将这些信件分发给她的兄弟姐妹。同样地,Bill在东海岸做着同样的工作。

      在这个例子中,邮递服务提供着两所房子之间的逻辑通信,也就是说,邮递服务在两所房子之间传递邮件,而不是针对个人的服务。另一方面,Ann和Bill提供堂兄妹之间的逻辑通信,也就是说,Ann和Bill从他们的兄弟姐妹那里收集邮件并将邮件递送给他们。注意,从这些堂兄妹的角度看,Ann和Bill就是邮件的服务人,尽管他们俩只是端到端寄送服务的一部分(终端系统部分)。那么,在这个例子中,与计算机网络体系结构的对应关系为:

    • 主机(终端系统) <——> 房子
    • 进程 <——> 堂兄妹
    • 应用程序消息 <——> 信封里的信
    • 网络层协议 <——> 邮递服务(包括邮递员)
    • 传输层协议 <——> Ann和Bill

    实际上,网络层可以看作是传输层的一部分,其为传输层提供服务。但对于终端系统而言,网络层对它们而言是透明的,它们知道传输层的存在,也就是说,在逻辑上它们认为是传输层为它们提供了端对端的通信,这也是分层思想的妙处。


    5). 会话层

      会话层(Session Layer)是OSI模型的第五层,是用户应用程序和网络之间的接口,负责在网络中的两节点之间建立、维持和终止通信。会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。

      有人把会话层称作网络通信的“交通警察”。当通过拨号向你的ISP(因特网服务提供商)请求连接到因特网时,ISP 服务器上的会话层向你与你的PC机上的会话层进行协商连接。若你的电话线偶然从墙上插孔脱落时,你终端机上的会话层将检测到连接中断并重新发起连接。

                会话层.png-22.2kB


    6). 表示层(Presentation Layer)

      表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,以确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。这时表示层会实现多种数据格式之间的转换。也就是说,表示层的主要功能是处理用户信息的表示问题,如编码、数据格式转换和加密解密等。表示层的具体功能如下:

    • 数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异;
    • 数据的编码:处理字符集和数字的转换。例如由于用户程序中的数据类型(整型或实型、有符号或无符号等)、用户标识等都可以有不同的表示方式,因此,在设备之间需要具有在不同字符集或格式之间转换的功能;
    • 压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复;
    • 数据的加密和解密:可以提高网络的安全性。

                  表示层.png-26.1kB


    7). 应用层(Application layer)(规定应用进程在通信时所遵循的协议,该层具有的各种应用程序可以完成和实现用户请求的各种服务。

      应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务并完成用户希望在网络上完成的各种工作。应用层在其他六层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。

      应用层为用户提供的服务和协议有:文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务、域名服务等。上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的。

                 应用层.png-8.3kB


    (1). 任务

      为用户的应用进程提供网络通信服务。


    (2). 服务

      该层具有的各种应用程序可以完成和实现用户请求的各种服务。


    (3). 功能:

    • 用户应用程序与网络间的接口;
    • 使用户的应用程序能够与网络进行交互式联系。

    (4). 协议:

    OSI: VTP、MHS、FTAM、DS、…

    TCP/IP: Telnet、SMTP、FTP、DNS、HTTP、…


    三. TCP/IP 四层体系结构

      TCP/IP 是Internet上的标准通信协议集,该协议集由数十个具有层次结构的协议组成,其中TCP和IP是该协议集中的两个最重要的核心协议。TCP/IP协议族按层次可分为以下四层:应用层、传输层、网络层和网络接口层,各层对应的PDU数据单元的名称如下图所示。 
                TCPIP与PSU.png-18.1kB

      特别地,由于TCP/IP四层模型与OSI七层模型在整体上相似(差别主要在于分层的粒度上),因此,我们在此对TCP/IP四层模型进行简述,若读者想进行深入了解,请见上一节。


    1). 应用层

      应用层决定了向用户提供应用服务时通信的活动。TCP/IP协议族内预存了各类通用的应用服务,比如 FTP(文件传输协议)和 DNS(域名系统)服务就是其中两类,HTTP 协议也处于该层。 
                TCPIP应用层.png-22.3kB


    2).传输层

      传输层对上层应用层提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议:TCP(传输控制协议)和 UDP(用户数据报协议)。其中,TCP是面向连接的传输协议,也就是说,其在数据传输之前会建立连接,并把报文分解为多个段进行传输,在目的站再重新装配这些段,必要时重新传输没有收到或错误的,因此它是“可靠”的。而UDP是无连接的传输协议,其在数据传输之前不建立连接,并且对发送的段不进行校验和确认,因此它是“不可靠”的。传输层与应用层之间的关系如下: 
                TCPIP应用层与传输层.png-24.7kB


    3).网络层

      网络层用来处理在网络上流动的数据包,其中,数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。也就是说,网络层主要功能是把数据报通过最佳路径送到目的端,其中,网际层的核心协议——IP,提供了无连接的数据报传输服务(不保证送达,不保序)。网络层与传输层之间的关系如下: 
                TCPIP网络层.png-31.1kB


    4).网络接口层

      网络接口层用来处理连接网络的硬件部分,包括硬件的设备驱 
    动、NIC(Network Interface Card,网卡)及光纤等物理可见部分,还包括连接器等一切传输媒介。也就是说,硬件上的范畴均在链路层的作用范围之内。


    四. 总结

      笔者用两篇博客《计算机网络体系结构综述(上)》 和 《计算机网络体系结构综述(下)》概述了计算机网络体系结构。计算机网络体系结构标准的制定使得两台计算机能够像两个知心朋友那样能够互相准确理解对方的意思并做出优雅的回应。笔者首先在《计算机网络体系结构综述(上)》 概述了计算机网络体系结构的提出动机,并结合日常生活中的邮政系统介绍了设计的理念,并给出了相关的基本概念和标准。特别地,笔者着重概述了计算机网络体系结构的分层原理及其最重要的组成部分——协议,使得读者能够对计算网路体系结构有一个全新的、系统的认识。紧接着,在上篇的基础上,我们知道TCP/IP与OSI最大的不同在于OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。本文《计算机网络体系结构综述(下)》概述了OSI七层参考体系结构和TCP/IP四层协议结构,并对结构中的每层就任务、功能、协议及与其他相似层的区别等几方面做了进一步得解释,力求还原这些典型的网络体系结构的全貌。

      各层协议图:

              这里写图片描述

    展开全文
  • 计算机网络体系结构与参考模型

    千次阅读 2018-03-04 15:49:08
    --------------计算机网络分层结构  两个系统中实体间的通信是一个很复杂的过程,... 通常对计算机网络体系结构以分层的方式进行建模。  我们把计算机网络的各层及其协议的集合称为网络的体系结构。换言之,计算机

    --------------计算机网络分层结构

                      两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了方便对网络进行研究、实现和维护,促进标准化工作;

               通常对计算机网络的体系结构以分层的方式进行建模。

                     我们把计算机网络的各层及其协议的集合称为网络的体系结构。换言之,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的功能的精确

               定义,它是计算机网络中的层次、各层的协议以及层间接口的集合。需要强调的是,这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构

               的实现问题。体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件。

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

                   (1)、每一层都实现一种相对独立的功能,降低大系统的复杂度。

                   (2)、各层之间界面自然清晰,易于理解,相互交流尽可能少。

                   (3)、各层功能的精确定义独立于具体的实现方法,可以采用合适的技术来实现。

                   (4)、保持下层对上层的独立性,上层单向使用下层提供的服务。

                   (5)、整个分层结构应能促进标准化工作。

                   由于分层后各层之间相对独立,灵活性好,因而分层的体系结构易于更新(替换单个模块),易于调试,易于交流,易于抽象,易于标准化。但层次越多,

              有些功能在不同层中难免重复出现,产生了额外的开销,整体运行效率就越低。而层次越少,就会使每一层的协议太复杂。因此,在分层时应考虑层次的清

              晰程度与运行效率间的折中、层次数量的折中。

                   依据一定的规则,将分层后的网络从低层到高层依次称为第1层、第2层。。。第 n 层 ,通常还为每一层取一个特定的名称,如第 1 层的名称为物理层。

                   在计算机网络的分层结构中,第 n 层中的活动元素通常称为  n  层实体。具体地,实体指任何可发送或接收信息的硬件或软件进程,通常是一个特定的软

              件模块。不同机器上同一层称为对等层,同一层的实体叫做对等实体。n 层实体实现的服务为 n + 1 层所利用。在这种情况下, n 层被称为服务提供者,

              n + 1 层是服务用户。

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

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

              组成 PDU 。

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

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

                  协议数据单元(PDU):对等层次之间传送的数据单位称为该层的 PDU 。第 n 层的协议数据单位记为  n ---PDU 。在实际的网络中,每层的协议数据单元都有

                  都有一个通俗的名称,如物理层的 PDU 叫比特,链路层的 PDU 叫,网络层的 PDU 叫分组,传输层的 PDU 叫报文

                  在各层间传输数据时,把从 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.协议

                     协议,就是规则的集合。在网络中要做到有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步

                  问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,它是控制两个(或多个)对等实体进行通信的规则的集合,也就是水平的。不

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

                  层不存在协议。网络协议也简称为协议

                  2.接口

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

                  同一结点相邻两层的实体通过服务访问点进行交互。服务是通过服务访问点 SAP 提供给上层使用的,第 n 层的SAP 就是第 n + 1 层可以访问第 n 层服务的地方。

                  每个SAP 都有一个能够标识它的地址。服务访问点 SAP 是一个抽象的概念,它实际上就是一个逻辑接口(类似于邮政信箱),但和通常所说的两个设备之间的

                  硬件接口很不不一样的。

                  3.服务

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

                  所提供的服务。

                     上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI 中称为 服务原语。OSI  将原语划分为四类:

                   (1)、请求:由服务用户发往服务提供者,请求完成某项工作。

                   (2)、指示:由服务提供者发往服务用户,指示用户做某件事。

                   (3)、响应:由服务用户发往服务提供者,最为对指示的响应。

                   (4)、证实:由服务提供者发往服务用户,作为对请求的证实。

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

                    ---------------------

                      一定要注意,协议和服务在概念上是不一样的。首先,本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议

                   即下面的协议对上层的服务用户是透明的。其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口

                   向上层提供的。另外,并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见” 的功能才能称为服务。

                    ---------------------

                        协议、接口、服务三者之间的关系如下图:

                        

                          计算机网络提供的服务可以按以下三种方式分类:

                          (1)、面向连接服务和无连接服务

                                    在面向连接服务中,通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和所

                            占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放这三个阶段。例如 TCP就是一种面向连接服务的协议

                                    在无连接服务中,通信前双方不需要建立连接,需要发送数据时就直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由

                            系统选定路线进行传输,是一种不可靠的服务。这种服务常被描述为“尽最大努力交付”,并不保证通信的可靠性。例如 IP 、UDP 就是一种无

                            连接服务的协议

                            (2)、可靠服务和不可靠服务

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

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

                                     对于提供不可靠服务的网络,其网络的正确性、可靠性就要由应用或用户来保障。例如,用户收到信息后要判断信息的正确性,如果

                              不正确,用户把出错信息报告给信息的发送者,以便发送者采取纠正措施。通过用户的这些措施,可以把不可靠的服务变成可靠的服务。

                                      注意:并非在一个层内完成的全部功能都称之服务,只有那些能够被高一层实体“看得见”的功能才能称为服务。

                            (3)、有应答服务和无应答服务

                                      有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不是由用户实现。所发送的应答可以

                               是肯定应答,也可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务

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

                               给出应答

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

                           1.OSI参考模型

                           国际标准化组织(ISO)提出的网络体系结构模型,称为开放系统互联参考模型(OSI / RM),通常简称为OSI 参考模型。OSI有七层,自下而上

                     依次为物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。低三层统称为通信子网,它是为了联网而附加上去的通信设备,完成数据的

                     传输功能;高三层统称为资源子网,它相当于计算机系统,完成数据的处理等功能。运输层承上启下。OSI 层次结构图如下:

                           

                           下面详述OSI参考模型各层的功能:

                          (1)、物理层

                               物理层的传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明的传输原始比特流。

                               物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理和逻辑连接方法,所以物理层协议也称为物理层接口标准。由于在

                            通信技术的早期阶段。通信规则称为规程,故物理层协议也称为物理层规程

                               物理层接口标准有很多,如 EIA-232C 、EIA / TIA RS --449 、 CCITT 的 X.21等。在计算机网络的复习过程中,不要忽略对各层传输协议的

                            记忆,到了后期,读者对链路层、网络层、传输层和应用层的协议会比较熟悉,但往往容易忽略物理层的协议。

                                

                                  上图表示的是两个通信结点及它们之间的一段通信链路,物理层主要研究以下内容:

                                  a. 通信链路与通信结点的连接需要一些电路接口,物理层规定了这些接口的一些参数,如机械形状和尺寸、交换电路的数量和排列等,例如

                                   我们笔记本电脑上的网络接口,就是物理层规定的内容之一。

                                  b.物理层也规定了通信链路上传输的信号的意义和电气特征。例如物理层规定了信号 A 代表数字 0 ,当结点要传输数字 0 的时候,就会发出

                                    信号 A , 当结点接收到信号 A 的时候,就知道自己接收到的实际上是数字 0 。

                                 注意:传输信息所利用的一些物理媒体,如双绞线、光缆、无线信道等,并不在物理层协议之内而在物理层协议的下面。因此,有人把物理媒

                                体当做第 0 层

                         (2)、数据链路层        

                                  数据链路层的传输单位是,任务是将网络层传下来的 IP 数据报组装成帧。数据链路层的功能可以概括为:成帧差错控制流量控制传输

                              管理等。

                                   由于外界噪声的干扰,原始的物理连接在传输比特流时可能发生错误。如上图(两个通信结点及它们之间的一段通信链路图),左边结点想向

                              右边结点传输数字 0 ,于是发出信号 A ;但传输过程中受到干扰,信号 A 变成了信号B ,而信号B 又刚好代表 1 , 右边结点接收到信号 B , 就误

                              一以为左边结点传送了数字 1 ,这样就发生了差错。两个结点之间如果规定了数据链路层协议,就可以检测出这些差错,然后把收到的错误信息丢

                             弃,这就是差错控制功能。 

                                    如上图(两个通信结点及它们之间的一段通信链路图),在两个相邻结点之间传送数据时,由于两个结点性能的不同,可能结点 A 发送数据的

                             速度比结点 B 接收数据的速度快,如果不加控制,那么结点B  就会丢弃很多来不及接收的正确数据,造成传输线路效率的下降。流量控制可以协调

                            两个结点的速度,使结点 A 发送数据的速度,刚好是结点 B 可以接收的速度。

                                    广播式网络在数据链路层还要处理新的问题,即如何控制对共享信道的访问。数据链路层的一个特殊子层------介质访问子层(MAC),就是专门

                           处理这个问题的。

                                   典型的数据链路层协议有: SDLC  、HDLCPPP STP帧中继等。

                         (3)、网络层

                                   网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上

                           的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制拥塞控制差错控制网际互联等功能。

                                   

                            如上图,若结点 A 要向结点 B 传输一个分组,可以经过边 a 、c、g ;也可以经过 b、h 。 有很多条可以选择的路由,而网络层的作用就是根据

                    网络的情况,利用相应的路由算法计算出一条合适的路径,使这个分组可以顺利到达结点B。

                           流量控制与数据链路层的流量控制含义一样,都是协调 A 的发送速度和 B 的接收速度。

                           差错控制是通信两结点之间约定特定的检错规则,如奇偶校验码,接收方根据这个规则检查接收到的分组是否出现了差错,如果出现了差错,能

                    纠错就纠错,不能纠错就丢弃,确保向上层提交的数据都是无误的。

                            如果上图中的结点都处于来不及接收分组 ,而要丢弃大量分组的情况的话,网络就处于拥塞状态,拥塞状态使得网络中两个结点无法正常通信。

                    网络层要采取一定的措施,缓解这中拥塞,这就是拥塞控制。

                             因特网是一个很大的互联网,它由大量的异构网络通过路由器相互连接起来。因特网主要的网络层协议是无连接的网际协议(IP)和许多路由选

                    择协议,因此因特网的网络层也叫网际层IP层

                             请注意,网络层中的“网络”二字,不是我们通常谈到的具体网络,而是在计算机网络体系结构中的专用名词。

                            网络层的协议有:IP  、IPX ICMP IGMPARPRARPOSPF

                     (4)、传输层

                           传输层也叫运输层,传输单位是报文段(TCP)用户数据报(UDP),传输层的任务是负责主机中两个进程之间的通信。功能是为端到端连接提供

                   可靠的传输服务;为端到端连接提供流量控制、差错控制、服务质量、数据传输等服务。

                          数据链路层提供的是点到点(IP地址)的服务传输层提供的是端到端(端口)的通信,两者不同。通俗来讲,点到点可以理解为主机到主机之

                  间的通信,一个点是指 硬件地址或IP地址,网络中参与通信的主机是通过硬件地址或者 IP地址标识的;端到端的通信是指运行在不同主机内两个进程之间

                  通信,一个进程由一个端 口标识,所以叫端到端通信。

                          使用传输层的服务,高层用户就可以直接进行端到端的数据传输,从而忽略通信子网的存在。通过传输层的的屏蔽,高层用户看不到子网的交替和变化。

                  由于一个主机可同时运行多个进程,因此传输层具有复用和分用的功能。

                         复用就是多个应用层进程可同时使用下面运输层的服务。

                         分用则是运输层把收到的信息分别交付给上面应用层中相应的进程。

                               传输层的协议有:TCP 、UDP

                      (5)会话层

                               会话层允许不同主机上各进程之间的会话。会话层利用传输层提供的端到端服务,向表示层提供它的增值服务。这种服务主要是向表示层实体或用户

                   进程提供建立连接并在连接上有序地传输数据,这就是会话,也称为建立同步(SYN)。

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

                   现数据同步。

                     (6)表示层

                              表示层主要用于处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方式不同,使用的数据结构也不同。为了使不同表示方法的

                   数据和信息能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩加密解密也是表示层可以提供的数据表示交换功

                   能

                     (7)应用层

                             应用层是 OSI 模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问 OSI 环境的手段。因为用户的实际应用多种多样,这就要求

                    应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的文件传送的 FTP电子邮件的 SMTP

                    万维网应用的 HTTP 等。 

                    2.TCP / IP 模型

                       ARPA 在研究  ARPAnet 时提出了 TCP / IP 模型,从低到高依次为:网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层

                    (对应OSI 参考模型中的会话层、表示层和应用层)。TCP / IP 由于得到广泛应用而成为事实上的国际标准。TCP / IP 的层次结构及各层的主要协议如下图:

                      

                            网络接口层的功能类似于 OSI 的物理层和数据链路层。它表示与物理网络的接口但实际上 TCP / IP 本身并没有真正描述这一部分,只是指出

                    主机必须使用某种协议与网络连接,以便能在其传递 IP 分组。具体的物理网络可以是各种类型的 局域网,如以太网、令牌环网、令牌总线网等,

                    也可以是诸如电话网、SDH 、X.25 、帧中继和 ATM 等公共数据网络。网络接口层的责任是从主机或结点接收 IP 分组,并把它们发送到指定的

                    物理网络上。

                            网际层(主机--主机)是TCP / IP 体系结构的关键部分。它和 OSI 网络层的功能非常相似。网际层将分组发往任何网络,并为之独立地选择合

                    适的路由,但并不保证各个分组有序的到达,各个分组的有序交付由高层负责。网际层定义了标准的分组格式和协议,即 IP协议。当前采用的 IP 

                    协议是第 4版,即 IPV4 ,它的下一个版本是 IPV6。

                           传输层(应用--应用,或 进程---进程)的功能同样与 OSI 中的传输是类似,是使发送端和目的端主机上的对等实体可以进行会话 。传输层主要

                    以下两种协议:

                           (1)传输控制协议(TCP)。面向连接的,数据传输单位是报文段,能够提供可靠的交付。

                           (2)用户数据报协议(UDP)。无连接的,数据传输的单位似乎用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。

                           应用层(用户---用户)包含所有的高层协议。如虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮件协议(SMTP)

                    和超文本传输协议(HTTP)。

                            由上图可以看出,IP 协议是因特网中的核心协议;TCP / IP 可以为各式各样的应用提供服务,同时 TCP / IP 也允许 IP 协议在各种各样的网络构成的

                    互联网上运行。正因为如此,因特网才会发展到今天的规模。

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

                             TCP / IP 模型与OSI 参考模型有许多相似之处。

                            首先,二者都是采取分层的体系结构,将庞大且复杂的问题划分为若干个较容易处理的、范围较小的问题,而且分层的功能也大体相似。其次,两者

                    基于独立的协议栈的概念。再次,二者都可以解决异构网络的互联,实现世界上不同厂家生产的计算机之间的通信。

                            两个模型除了具有这些基本的相似之处外,也有很多的差别。

                           第一、OSI参考模型的最大贡献就是精确地定义了三个主要概念:服务协议接口,这与现代的面向对象程序设计思想非常吻合。而 TCP / IP模型

                                       在这三个概念上却没有明确区分,不符合软件工程的思想。

                           第二、OSI参考模型产生在协议发明之前,没有偏向于任何特定的协议,通用性良好。但设计者在协议方面没有太多经验,不知道把哪些功能放到哪一

                                      层更好。TCP / IP 模型正好相反。首先出现的是协议,模型设计上是对已有协议的描述,因此不会出现协议不能匹配模型的情况,但该模型不

                                      适合于任何其他非 TCP / IP 的协议栈。

                           第三、TCP / IP 模型在设计之初就考虑到了多种异构网的互联问题,并将网络协议 IP 作为一个单独的重要层次。OSI 参考模型最初只考虑到一种标准的

                                     公用数据网络将各种不同的系统互联。后来,OSI 参考模型认识到了网际协议 IP 的重要性。因此只好在网络层中划分出一个子层来完成类似于

                                    TCP / IP 模型中的 IP 的功能。

                           第四、OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP / IP模型认为可靠性是端到端的问题,因此它在

                                    网络层仅有一种无连接的通信模式,但在传输层支持无连接和面向连接两种模式。

                          ------------------------------------------

                                   使用通信协议栈进行通信的结点的数据传输过程。每个协议栈的最顶端都是一个面向用户的接口,下面各层是为通信服务的协议。当用户要传输

                          一个数据报时,通常是给出用户能够理解的自然语言,然后通过应用层,自然语言会转化成为用通信的通信的通信数据。通信数据到达运输层,作为运

                         输层的数据部分(运输层SDU),加上运输层的控制信息(运输成PCI),组成运输层的 PDU,然后交到网络层,运输层的 PDU 下放到网络层后,就

                         成为网络成的 SDU ,然后加上网络层的 PCI  ,又组成了网络层的 PDU ,下放到数据链路层,就这样层层下放,层层包裹,最后形成的数据报通过通信

                         线路传输,到达接收方结点协议栈,接收方再逆向地一层一层把“包裹”拆开,然后把收到的数据提交给用户。如下图所示:

                                    

                        

                             

                           

          

                  

                           

                            

                           



                        

                                     

               

                        

                           

                           

                            

                       

                

                    


                     


     

                   

             

    展开全文
  • 计算机网络体系结构详解(图文)

    万次阅读 多人点赞 2016-06-24 20:37:34
    计算机网络各层及其协议的集合,统称为网络体系结构。 为进行网络中的数据交换而建立的规则、标准或约定,统称为网络协议。 网络协议三要素: 1、语法,即数据与控制信息的结构或格式。 2、语义,即需要发出何种...
  • 计算机网络体系结构综述(下)

    万次阅读 多人点赞 2017-04-07 18:59:17
    在上篇《计算机网络体系结构综述(上)》的基础上,本文着重概述了两种典型的层次化网络体系机构 —— OSI七层参考体系结构和TCP/IP四层协议结构,并对每种体系结构中的各层就任务、功能、协议及与其他相似层的区别...
  • 计算机网络体系结构(TCP/IP)

    千次阅读 2017-12-15 00:04:07
    计算机网络体系结构(TCP/IP)我们把计算机网络的各层及协议集合,成为网络的体系结构。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。层与协议:每一层都是为了完成一种功能...
  • 为什么需要计算机网络体系结构?  众所周知,计算机网络是个非常复杂的系统。比如,连接在网络上的两台计算机需要进行通信时,由于计算机网络的 复杂性 和 异质性,需要考虑很多复杂的因素,比如:  (1). 这两台...
  • 计算机网络(一)图解:计算机网络五层体系结构

    万次阅读 多人点赞 2019-05-21 16:08:45
    计算机网络体系结构有很多背景知识(略过),具体来说网络体系结构有三种: OSI七层体系结构 TCP/IP 四层体系结构 五层体系结构(综合了 OSI 和 TCP/IP 的优点) 三种体系结构对应图示: 2.计算机网络五层...
  • 计算机网络体系结构 计算机网络的各层及其协议的集合,称为网络的体系结构。   网络协议: 为进行网络中的数据交换而建立的规则、标准或约定称为网络协议。 网络协议主要由以下三要素组成: 1、语法,即数据...
  • 计算机网络课程大学时有系统地学过,但没有太上心,工作发现用的挺多的,比如定位一些网络异常的问题,做网络层面的优化,都需要对计算机网络体系的一些常见协议有所了解。 但是计算机网络体系庞大复杂,各层有自己...
  • 分层思想、计算机网络体系结构的概念、计算机网络体系结构的标准、计算机网络体系结构的分层原理、通信协议与端口、OSI七层模型、OSI七层模型的划分、各层功能定义通信特点、TCP/IP参考模型、TCP/IP四层模型的划分各...
  • 计算机网络(三) ... 计算机网络体系结构的形成1.1 计算机网络体系结构形成的原因1.2 计算机网络体系结构形成的过程1.3 开放系统互连参考模型OSI/RM1.4 两种国际标准2. 协议与划分层次2.1 网络协议的三个...
  • 计算机网络体系结构通信原理

    千次阅读 2018-12-07 23:19:06
    对等实体之间借用下层服务,并遵守相关规则以实现信息交换。
  • 计算机网络体系结构 当前计算机网络主要以分层结构来看待,从功能上进行描述 每一层依赖底层提供的服务完成一种特定的服务/功能 遵循一定的协议、通过层内动作完成本层的功能,并以此向上一层提供服务 即 计算机网络...
  • 什么是计算机网络体系结构

    千次阅读 2018-12-05 17:45:14
    要说明什么是计算机网络体系结构,可以设想一个最简单的情况:连接在网络上的两台计算机要互相传输消息,在这两台计算机间就要有一条传输数据的通路,但只有这一条通路还远远不够比如要传输消息给目的主机总要知道...
  • 网络层: 路径的选择、数据的转发。源主机到目的主机之间分组的透明传输(之间可能经过很多节点)传输层:端(口)到端(口)的报文【如果基于UDP如何实现可靠传输。说了一遍网上有教程,然后UDP一般...
  • 计算机网络体系结构 各分层结构

    千次阅读 2019-10-16 00:06:08
    OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。 五层协议 (5...
1 2 3 4 5 ... 20
收藏数 126,328
精华内容 50,531
关键字:

计算机网络体系结构