1.7 协议层次和服务模型

2024-06-01 12:44
文章标签 服务 协议 模型 层次 1.7

本文主要是介绍1.7 协议层次和服务模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

协议层次

网络是一个复杂的系统!
 网络功能繁杂:数字信号的物理信
号承载、点到点、路由、rdt、进程区分、应用等

现实来看,网络的许多构成元素和设备:
 主机
 路由器
 各种媒体的链路
 应用
 协议
 硬件, 软件

Q:如何组织和实现这个复杂的网络功能?

模块化 分层


现实生活中的例子:航线系统

![[Pasted image 20240422185958.png]]

层次化方式实现复杂网络功能:

 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一
功能,功能中有其上层可以使用的功能:服务

 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,
通过接口为上层提供更好的服务

 在实现本层协议的时候,直接利用了下层所提供的服务

 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功
能(上层可以利用的)==+==更下层所提供的服务


例子2:两位异地哲学家的交流

![[Pasted image 20240422185414.png|450]]
最下层是通信层:解决异地通信
第二层是翻译层:
哲学家层:交流

好处:大问题分为小问题;利于新技术


服务和服务访问点

服务( Service):低层实体向上层实体提供它们之间的
通信的能力
 服务用户(service user)
 服务提供者(service provider )

原语(primitive):上层使用下层服务的形式,高层使用
低层提供的服务,以及低层向高层提供服务都是通过
服务访问原语来进行交互的—形式

服务访问点 SAP (Services Access Point) :上层
使用下层提供的服务通过层间的接口—地点
 例子:邮箱
 地址(address):下层的一个实体支撑着上层的多个实体,
SAP有标志不同上层实体的作用
(A1,A2,A3,三个应用,TCP通过SAP确定给谁服务。。。)
 可以有不同的实现,队列
 例子:传输层的SAP: 端口(port)


服务的类型

 面向连接的服务和无连接的服务-方式

面向连接的服务( Connection-oriented Service)
(两个应用进程使用下层服务通信之前要先握手)
(eg:TCP)
连接(Connection):
两个通信实体为进行通信而建立的一种结合

 面向连接的服务通信的过程:建立连接,通信,拆除连接
 面向连接的服务的例子:网络层的连接被成为虚电路
 适用范围:对于大的数据块要传输; 不适合小的零星报文
 特点:保序
 服务类型:
可靠的信息流 传送页面(可靠的获得,通过接收方的确认)
可靠的字节流 远程登录
不可靠的连接 数字化声音

无连接的服务(Connectionless Service)
(eg: UDP )
无连接服务:两个对等层实体在通信前不需要建
立一个连接,不预留资源;不需要通信双方都是
活跃;(例:寄信)

特点:不可靠、可能重复、可能失序
IP分组,数据包;
适用范围:适合传送零星数据;
服务类型:
不可靠的数据报 电子方式的函件
有确认的数据报 挂号信
请求回答 信息查询


服务和协议

服务与协议的区别

 服务(Service):低层实体向上层实体提供它们之间的
通信的能力,是通过原语(primitive)来操作的,垂直

 协议(protocol) :对等层实体(peer entity)之间在相互
通信的过程中,需要遵循的规则的集合,水平

服务与协议的联系

 本层协议的实现要靠下层提供的服务来实现
 本层实体通过协议为上层提供更高级的服务


数据单元(DU)

![[Pasted image 20240422193325.png]]
SAP:服务访问点
layer:层
interface:接口
protocol:协议
SDU:服务数据单元
IDU:接口数据单元
PDU:协议数据单元
(应用层PDU:报文;传输层PDU:报文段;网络层PDU:数据报…)
ICI:接口控制信息

第n层实体在其第n层协议中交换n-PDU
上层来了SDU,通过接口,SDU加上第n层的头部,加在一起形成第n层PDU

header怎么来:一部分上层ICI,一部分本层附加上

![[Pasted image 20240422195004.png]]


分层处理和实现复杂系统的好处?

对付复杂的系统

概念化:结构清晰,便于标示网络组件,以及描述其相互关系
 分层参考模型

结构化:模块化更易于维护和系统升级

 改变某一层服务的实现不影响系统中的其他层次 对于其他层次而言是透明的
 如改变登机程序并不影响系统的其它部分 改变2个秘书使用的通信方式不影响2个翻译的工作 改变2个翻译使用的语言也不影响上下2个层次的工作

 分层思想被认为有害的地方?
效率低。。。
好处远大于坏处


Internet 协议栈

应用层: 网络应用
 为人类用户或者其他应用进程提供网络应用服务
 FTP, SMTP, HTTP,DNS

传输层: 主机之间的数据传输
(1.主机到主机的基础上进程到进程的区分,2.把网络层可能不可靠的服务转变为可靠的服务,提供给应用层)
 在网络层提供的端到端通信基础上,细分为进程到进程,
将不可靠的通信变成可靠地通信
 TCP, UDP

网络层: 为数据报从源到目的选择路
(转发和路由)
(链路层基础上,源主机到目标主机的传输,端到端,分组)
 主机主机之间的通信,端到端通信,不可靠
 IP, 路由协议

链路层: 相邻网络节点间的数据传输
(物理层基础之上相邻两点【a到离它最近的路由器…】之间;传输以帧为单位的数据)
 2个相邻2点的通信,点到点通信,可靠或不可靠
 点对对协议PPP, 802.11(wifi), Ethernet

物理层: 在线路上传送bit(把数字数据转换为物理信号,传送bit)

![[Pasted image 20240422200617.png|150]]


ISO/OSI 参考模型

![[Pasted image 20240422200928.png|150]]
 表示层: 允许应用解释传输的数据
e.g., 加密,压缩,机器相关的表示转换
 会话层: 数据交换的同步,检查点,恢复

 互联网协议栈没有这两层!
 这些服务,如果需要的话,必须被应用实现
 需要吗?


封装和解封装

![[Pasted image 20240422201500.png]]
封装 (encapsulation)
在发送主机端, 一个应用层报文 (application- layer message) (图 24 中的 M)被传送给运输层 在最简单的情况下,运输层收取到报文并附上附加信息(所谓运输层首部信息,图 1-24 中的 Ht )’ 该首部将被接收端的运输层使用 应用层报文和运输层首部信息 道构成了运输层报文段 (transportlayer segment) 运输层报文段因此封装了应用层报文 附加的信息也许包括了下列信息:允许接收端运输层向上向适当的应用程序交付报文的信息; 差错检测位信息,该信息让接收方能够判断报文中的比特是否在途中已被改变 运输层则向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息(图 1-24 中的 )’ 生成了网络层数据报 (network-layer datagram) 该数据报接下来被传递给链路层,链路层(自然而然地)增加它自己的链路层首部信息并生成链路层帧 (li nk layer frame) 所以我们看到,在每层,一个分组具有两种类型的字段 首部字段和 有效载荷字段 (payload field) 有效载荷通常是来自上 层的分组


各层次的协议数据单元

应用层:报文(message)

传输层:报文段(segment):TCP段,UDP数据报

网络层:分组packet(如果无连接方式:数据报datagram)

数据链路层:(frame)

物理层:位(bit)(不重要)

这篇关于1.7 协议层次和服务模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1021044

相关文章

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在