协议/协议分层(详解)

简介: 协议/协议分层(详解)

一、协议


       协议,网络协议的简称,网络协议是通信计算机双方需要遵守同一组约定,如何建立连接、怎样相互共识、传输格式。只有遵循这样的约定,通信双方才能进行交流。

三要素


语法:数据以及控制信息的结构与格式;

语义:需要发出何种信息,完成何种任务,做出何种回复;

时序:事件实现的顺序;

语法:相当于两个人说话,约定好都用中文或者英语,这样才能保障可以进行正常的交流;

语义:组织好语言,等待对方说完话我们再进行应答。

时序:我们进行自我介绍的时候,先介绍自己的姓名,再介绍自己来自哪里等等。

二、协议分层


       因特网是一个非常复杂的系统,里面有着大量的应用程序,协议,链路,等等,加重了程序员学习以及使用,开发的成本。针对这个问题,大佬们将协议通过协议的服务与功能进行分层,使其模块化,降低了程序员接触网络协议的成本。

       所谓的协议分层,就是根据互联网所需要的服务和功能,在体系结构上分成若干个层次,协议的服务和功能与哪一层的服务和功能相对应,该协议就属于哪一层。每层协议层通过在该层中执行某些动作或使用直接下层的服务来提供服务。协议分层具有概念化和结构化的特点。

       上层协议调用下层协议,下层协议为上层协议提供服务,不可隔层调用。

优势


       降低了学习成本,方便维护,可以针对某层协议进行协议的替换。

两种经典分法


1.OSI 七层


应用层 应用层是ISO/OSI模型中最靠近用户的一层,应用层协议直接面对用户的需求,例如与发送邮件相关的应用层协议可以规定诸如邮件地址的格式、邮件内容的段落表示、客户与服务器进行交互的命令串等。
表示层 表示层协议规定对来自应用层的数据如何进行表达,例如采用什么样的文字编码、是否及如何进行压缩、是否及如何加密等。
会话层 会话层用于建立和管理不同主机的两个进程之间的对话。会话层可以管理对话,可允许对话在两个方向上同时进行,也可以强制对话同时只在一个方向上进行。
传输层 依赖物理层、数据链路层和网络层,任意一个网络节点都能把任何信息传递到其他任意节点,而传输层在物理层、数据链路层和网络层提供的节点间的通信能力基础上进一步提供了面向应用的服务。
网络层 解决如何标识通信各方和数据如何从源到达目的这个问题。网络层用特定的网络层地址来标识整个网络中的一个节点,并负责使来自传输层的应该到达某个网络层地址的数据能够被送达这个网络层地址所对应的网络节点。
链路层 简称链路层,它依赖物理层提供的比特传输能力把数据组织成为有边界的传输单位,称为“帧”。链路层把来自网络层的数据组织成“帧”,然后再通过物理层向外发送。
物理层 简单地说,物理层协议对与基本物理信号传输有关的机械、电气等功能进行描述。若生产相互连接的两个设备的两个厂商都遵循相同物理层规范

image.png

编辑

2、TCP/IP (五层/四层)


TCP/IP协议主要由网络层的IP协议 和 传输层的TCP协议组成 。

TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

其将OSI分法中的应用层,表示层,会话层认为到了一层(四层分法将传输层也包含进来了)

image.png

相关文章
|
4月前
|
缓存 网络协议 前端开发
深入了解常见的应用层网络协议
深入了解常见的应用层网络协议
深入了解常见的应用层网络协议
|
3月前
|
JavaScript Java 网络安全
|
12天前
|
安全 网络协议 网络安全
应用层常见的协议有哪些?
应用层常见的协议有哪些?
12 1
|
1月前
|
监控 安全 算法
网络通信与协议安全
【8月更文挑战第7天】
58 6
|
4月前
|
存储 XML 移动开发
应用层协议设计 ProtoBuf
应用层协议设计 ProtoBuf
|
4月前
|
存储 XML JSON
Protobuf应用层协议设计
Protobuf应用层协议设计
78 0
|
10月前
|
存储 XML JSON
应用层协议设计及ProtoBuf
应用层协议设计及ProtoBuf
88 0
|
域名解析 负载均衡 网络协议
应用层续(上)
应用层续(上)
86 0
应用层续(上)
|
存储 缓存 网络协议
应用层(下)
应用层(下)
86 0