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

1. 网络体系结构

1.1 计算机网络为什么要分层?

首先,了解一下两台主机间发送文件前要完成的工作:

  1. 发起通信的计算机必须将数据通信的通路进行激活。
  2. 要告诉网络如何识别目的主机。
  3. 发起通信的计算机要查明目的主机是否开机并与网络正常连接。
  4. 确保差错和意外可以解决。
  5. ...

可以看出,这一系列问题放在一起非常复杂 ,计算机网络分层 是为了将复杂问题简单化,通过将庞大的网络系统划分为多个独立的层次,使得每个层次都有明确的功能和职责。

1.2 分层原则

如何对网络进行分层?

分层的基本原则:

  1. 各层之间相互独立,每层只实现一种相对独立的功能。
  2. 每层之间界面自然清晰,易于理解,相互交流尽可能少。
  3. 结构上可分割开。每层都采用最合适的技术来实现。
  4. 保持下层对上层的独立性,上层单向使用下层提供的服务
  5. 整个分层结构应该能促进标准化工作。

1.3 分层结构

  1. 实体:第n层的活动元素称为n层实体,同一层的实体叫做对等实体
  2. 协议:为网络中的对等实体 进行数据交换而建立的规则、标准或约定称为网络协议。(水平)
    • 语法:规定传输数据的格式。
    • 语义:规定所要完成的功能。
    • 同步:规定各种操作顺序。
  3. 接口(访问服务点):上层使用下层服务的入口。
  4. 服务:下层为相邻上层提供的功能调用。(垂直)

一些概念

    • SDU服务数据单元:为完成用户所要求的功能而应传送的数据。
    • PCI协议控制单元:控制协议操作的信息。
    • PDU协议数据单元:对等层次之间传送的数据单位。
  1. 网络体系结构是从功能上描述计算机体系结构的。
  2. 每层遵循某个/某些网络协议已完成本层功能。
  3. 计算机网络体系结构 是计算机网络的各层及其协议的集合。
  4. 第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
  5. 体系结构是抽象的,而实现是指能运行的一些软件和硬件。

了解完具体参考模型后再看分层结构概念会加深理解。

2. OSI参考模型

2.1 OSI参考模型的由来

为了解决计算机网络复杂的大问题 -> 产生了分层结构(按功能)

IBM公司提出了第一个网络体系结构SNA,相继产生了许多的网络体系结构,比如DEC公司的DNA,美国国防部的TCP。这些体系结构是每个公司独有的。

为了支持异构网络互联。国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型。

OSI参考模型在理论上是成功的,但在市场上是失败的。

失败原因:

  1. OSI在市场化方面缺乏商业驱动力。
  2. OSI协议实现起来过于复杂,且运行效率低。
  3. OSI标准的制定周期太长,导致按OSI标准生产的设备无法及时进入市场。
  4. OSI的层次划分不太合理,有些功能在多个层次中重复出现。

2.2 OSI七层结构

2.2.1 应用层

用户和网络的界面,所有能和用户产生网络流量的程序。

主要协议:

  • 文件传输(FTP)
  • 电子邮件(SMTP)
  • 万维网(HTTP)

2.2.2 表示层

用于处理在两个通信系统中交换信息的表示方式(语法和语义)。

  • 功能一:数据格式交换
  • 功能二:数据加密解密
  • 功能三:数据压缩和恢复

主要协议:

  • JPEG
  • ASCII

2.2.3 会话层

向表示层实体/用户进程提供建立连接 并在连接上有序地 传输数据。这是会话,也是建立同步(SYN)。

  • 功能一:建立、管理、终止会话
  • 功能二:使用校验点可使会话在通信失效时从校验点/同步点 继续恢复通信,实现数据同步。 适用于传输大文件

主要协议:

  • ADSP
  • ASP

2.2.4 传输层

负责主机中两个进程 的通信,即端到端的通信。传输单位是报文段或用户数据报。

  • 功能一:可靠传输、不可靠传输
  • 功能二:差错控制
  • 功能三:流量控制
  • 功能四:复用分用

主要协议:

  • TCP
  • UDP

2.2.5 网络层

主要任务是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。

网络层传输单位是数据报

  • 功能一:路由选择
  • 功能二:流量控制
  • 功能三:差错控制
  • 功能四:拥塞控制

主要协议:

  • IP
  • IPX
  • ICMP
  • IGMP
  • ARP
  • RARP
  • OSPF

2.2.6 数据链路层

主要任务是把网络层传下来的数据报组装成帧

数据链路层的传输单位是

  • 功能一:成帧(定义帧的开始和结束)
  • 功能二:差错控制,帧错和位错
  • 功能三:流量控制
  • 功能四:访问(接入)控制

主要协议:

  • SDLC
  • HDLC
  • PPP
  • STP

2.2.7 物理层

主要任务是在物理媒体上实现比特流的透明传输。

透明传输:指不管所传数据是什么样的比特组合,都应该能在链路上传送。

物理层传输单位是比特。

  • 功能一:定义接口特性
  • 功能二:定义传输模式
  • 功能三:定义传输速率
  • 功能四:比特同步
  • 功能五:比特编码

主要协议:

  • Rj45
  • 802.3

3. TCP/IP参考模型

TCP/IP参考模型先有TCP/IP协议栈,然后形成的参考模型。TCP/IP是事实标准,被广泛应用。

OSI参考模型与TCP/IP参考模型的相同点:

  1. 都分层
  2. 基于独立的协议栈概念
  3. 都可以实现异构网络互联

OSI参考模型与TCP/IP参考模型的不同点:

  1. OSI定义三点:服务、协议、接口
  2. OSI先出现,参考模型先于协议发明,不偏向特定协议
  3. TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
  4. 二者在网络层和传输层的通信方式不同
    • 面向连接:三个阶段,建立连接 -> 数据传送 -> 释放连接
    • 无连接:直接进行数据传输

4. 五层参考模型

综合了OSI和TCP/IP的优点。

相关推荐
KookeeyLena72 分钟前
动态IP与静态IP:哪种更适合用户使用?
网络·网络协议·tcp/ip
时之彼岸Φ2 小时前
Web:HTTP包的相关操作
网络·网络协议·http
秋已杰爱2 小时前
HTTP中的Cookie与Session
服务器·网络协议·http
W21552 小时前
LINUX网络编程:http
网络·网络协议·http
pemper_5 小时前
怎么操作使http变成https访问?
网络·网络协议·http·https·ssl
学java的小菜鸟啊6 小时前
第五章 网络编程 TCP/UDP/Socket
java·开发语言·网络·数据结构·网络协议·tcp/ip·udp
新手嵌入式学习6 小时前
网络协议头分析
网络·网络协议
运维Z叔8 小时前
云安全 | AWS S3存储桶安全设计缺陷分析
android·网络·网络协议·tcp/ip·安全·云计算·aws
陈大爷(有低保)8 小时前
UDP Socket聊天室(Java)
java·网络协议·udp
SUGERBOOM10 小时前
【网络安全】网络基础第一阶段——第一节:网络协议基础---- OSI与TCP/IP协议
网络·网络协议·web安全