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

第一章第五节 计算机网络的体系结构

因特网是一个极为复杂的系统,因特网中有包括应用程序、协议、端系统、交换机和链路在内的不少部分共同组成,要描述它可不容易。所以须要一种较好的体系结构来描述,实现它。html

Outline

Notes

## 分层结构

  • 网络的体系结构(architecture):计算机网络的各层及其协议的集合。
  • 层的服务模型(service model):某层向上一层提供的服务(service)
  • 每层遵循某些网络协议、依赖底层提供的服务,并经过层内动做完成一种特定的服务/功能;
  • 网络体系结构是指从功能上描述计算机网络结构,即分层结构。
  • 协议分层具备概念化和结构化的优势
    • 有利于识别像计算机网络这种复杂系统的部件及其关系
    • 模块化的分层有利于系统的更新和维护
    • 有利于各层不一样设备之间的通讯协议标准化
  • 缺点
    • 但一个潜在的缺点是某层可能重复其较低层的功能,例如许多协议栈都基于链路和端到端这两种状况提供了差错恢复
    • 第二种潜在的缺点是某层的功能可能须要仅在其余层才出现的信息(如时间戳值),这个就违反了分层次的目标。

 【分层结构的例子】node

  • 实体(entity):表示任何可发送或接收信息的硬件或软件进程。
  • 协议:是控制两个对等实体进行通讯的规则的集合,即协议是“水平的”。
  • 同时任一层实体须要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,所以服务是“垂直的”
  • 下层协议的实现对上层的服务用户是透明的,下层协议的实现方式的改变对上层没影响,由于接口是不变的
  • 同系统的相邻层实体间经过接口进行交互,经过服务访问点SAP(Service Access Point),交换原语,指定请求的特定服务。
各层的全部协议被称为 协议栈(protocol stack)。协议栈由5个层次构成:物理层,链路层,网络层,传输层,应用层。

## OSI参考模型

  • OSI(Open System Interconnection 开放系统互连)是由国际标准化组织(International Organization for Standardization)于1984年提出的分层网络体系结构模型。
  • 目的:支持异构网络系统的互连互通,是异构网络系统互连的国际标准。
  • OSI参考模型将网络通讯在功能上划分为7层:物理层,链路层,网络层,传输层,会话层,表示层,应用层
OSI 分层名称 功能 每层功能概述
1 物理层

以"0","1"表明电压的高低,灯光的闪烁。浏览器

界定链接器和网线的规格安全


 
2 数据链路层 互连设备之间传送和识别数据帧
 
3 网络层 地址管理和路由选择
 
4 运输层

管理两个节点之间的数据传输。网络

负责可靠传输(确保数据被可靠地传送到目标地址)模块化


 
5 会话层

通讯管理。负责创建和断开通讯链接(数据流动的逻辑通路)编码

提供了数据交换定界和同步功能加密

管理传输层一下的分层spa


 
6 表示层

设备固有数据格式和网络标准数据格式的转换计算机网络

使通讯的应用程序可以解释交换数据的含义


 
7 应用层 针对特定应用的协议
 

OSI模型的通讯过程

 

  • 中间系统表示路由器、交换机等设备
  • 对等层次之间遵循相关层次的协议进行数据的交换(注意:对等层之间知识逻辑上到达,数据实际上仍是经过物理层的链路进行传输)。
  • 相邻层之间经过接口来交换数据。
  • 咱们不难看出,上4层(应用层、表示层、会话层、传输层)直接对应到目的主机对等层次,下3层(网络层、数据链路层、物理层)为中间系统能够实现的层次。
  • 咱们把上4层称为端-端层(不须要中间系统实现)。注:虽然OSI参考模型的4-7层为端到端层,但并不意味中间系统(如路由器)就绝对不实现这些层次的功能或者运行这些层次的协议,如绝大多数路由器支持以Web(应用层)登录。

【OSI模型的数据封装】

 

  • 封装及传输步骤解析:(主机A向主机B发送数据)
  1. 用户数据在主机A交给应用层,应用层根据网络应用及应用层协议不一样,可能会加上一些控制信息(AH),即应用层头。这样就构成了一个协议数据单元(PDU)。应用层将应用层的协议数据单元(A-PDU)经过接口发送给表示层。
  2. 一样,表示层在接受到A-PDU后,再将其加上头表示层规定的一些头部信息(PH)构成了表示层的协议数据单元(P-PDU)。表示层再将P-PDU交给会话层。
  3. 依次类推,在网络层的协议数据单元交给数据链路层后,注意数据链路层会将其加头加尾,封装成,再交给物理层进行传输。
  4. 主机B的物理层在接收到的信息中,识别出数据链路层的帧,交给链路层处理。链路层在识别帧后去头去尾,还原出网络层的数据单元(N-PDU), 再交给网络层。
  5. 网络层能够识别出网络层的协议数据单元,去掉头部信息,还原成传输层协议数据单元(S-PDU),再交给传输层。
  6. 依次类推,数据最后到达应用层后,会被去掉头,还原成主机A用户原始发送的数据,再传递给主机B的用户。

【OSI模型的分组和协议栈】

 

信息分组名称 协议栈
应用层 报文(message)
  • HTTP(Web文档的请求和传送)
  • SMTP(电子邮件报文的传输)
  • FTP(两个系统之间的文件传输)
  • DNS(友好的域名与网络地址之间的转换)
运输层 报文段(segment)
  • TCP(面向链接的服务):确保传送、流量控制、拥塞控制
  • UDP(无链接服务):无可靠性、无流量控制、无拥塞控制
网络层 数据报(datagram)
  • IP层(将因特网链接在一块儿的粘合剂):
    • IP协议:定义了各个字段以及端系统和路由器如何做用于数据报
    • 路由选择协议:决定路由选择
链路层 帧(frame)
  • 以太网协议
  • Wifi协议
  • 电缆接入网的DOCSIS协议

 

【OSI模型中的数据封装】

  • 数据封装其实就是给原始数据加上控制信息,构造协议数据单元(PDU)。
  • 控制信息经常包括:
    • 地址(Address)信息:标识发送端与接收端
    • 差错检测编码(Error-detecting code)信息:用于差错检测或纠正
    • 协议控制(Protocol control)信息:实现协议功能的附加信息,如:优先级(priority)、服务质量(QoS)和安全控制等。

 ## OSI模型中各层次承担的主要功能

【物理层】

在物理层中,定义了以下内容:

  • 接口特性
    • 机械特性:规定了接口的几何形状等
    • 电器特性:规定了接口使用的电平大小等
    • 功能特性:规定了接口引脚个数及各项功能等
    • 规程特性:定义了接口在工做过程当中遵循的相应过程。
  • 比特编码:用比特对信息按照必定规则进行编码,用于传输
  • 数据率:即数据传输速率
  • 比特同步:时钟同步
  • 传输模型
    • 单工模式(Simplex):只能单向传输,如电视机只能单项接收来自电视台的信号,不能给电视台发送信号。
    • 半双工模式(half-duplex):只能交替双向通讯,即主机A与主机B能够相互发信息,可是不能同时向对方发信息。如对讲机,说的时候不能发,发的时候不能说。
    • 全双工模式(full-duplex):能够同时双向通讯,如电话。

 【数据链路层】

 

  • 数据链路层主要承担的功能:
    • 负责结点-结点(node to node)数据传输
    • 组桢(Framing)
    • 物理寻址(Physical addressing):在桢头添加发送端或接收端的物理地址标识数据帧的发送端或接收端
    • 流量控制(Flow control):匹配发送端与接收端的发送速度与接收速度,避免数据淹没接收端。
    • 差错控制(Error control):检测并重传损坏或丢失帧,并避免重复帧。
    • 访问(接入)控制(Access control):在任一给定时刻决定哪一个设备拥有链路(物理介质)的控制使用权。

 【网络层】

  • 网络层主要承担的功能:
    • 负责源主机到目的主机数据分组(packet)的交付(可能穿越多个网络)。
    • 逻辑寻址(Logical addressing):全局惟一逻辑地址,确保数据分组被送达目的主机,如IP地址(穿越多个网络时,链路层的物理寻址并不能用)。
    • 路由(Routing):路由器(或网关)互连网络,并路由分组至最终目的主机,进行路径选择。
    • 分组转发

    

【传输层】

 

  •  传输层的主要功能:
    • 负责源-目的(端-端)(进程间)完整报文传输
    • 报文分段与重组
    • SAP寻址:确保将完整报文提交给正确进程,如端口号
    • 链接控制:负责端-端的链接控制(创建链接、拆除链接),是一种逻辑链接
    • 流量控制:控制端-端传输的速度
    • 差错控制:差错检测与纠正

 【会话层】

 

  • 会话层:插入控制信息"syn",不单独存在
    • 对话控制(dialog controlling):控制对话的创建、维护等
    • 同步(synchronization):在数据流中插入“同步控制点“

【表示层】

 

  • 表示层用于处理两个系统之间交换信息的语法与语义问题
    • 数据标识转化:转换为主机独立的编码,如数据传输到Mac,则须要将其转换为Mac的编码,传到Win则须要将其转换为Win的编码。
    • 加密/解密
    • 压缩/解压缩
  • 实际上由应用层完成实现

【应用层】

应用层是网络应用软件以及他们的应用层协议停留的地方

应用层支持用户经过用户代理(如浏览器)或网络接口使用网络(服务):如FTH、SMTP、HTTP等

 

## TCP/IP参考模型

TCP(Transmission Control Protocol):传输控制协议

IP(Internet Protocol):因特尔协议

【五层参考模型的数据封装】

 

 【与OSI模型的关系】

 

  上图列出了TCP/IP与OSI分层之间的大概关系,不难看出,TCP/IP与OSI在分层模块上稍有区别。OSI参考模型注重“通讯协议必要的功能是什么”,而TCP/IP则更强调“在计算机上实现协议应该开发哪一种程序”。

   分组数据包通过以太网的数据链路时的大体流程以下图所示:

更多关于 TCP/IP 请移步 《图解 TCP/IP》读书笔记