IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 应用层协议原理 -> 正文阅读

[网络协议]应用层协议原理

1.首先要明白应用层协议定义的是应用进程间的通信和交互的规则。

2.主流的应用体系结构有三种:

客户-服务器体系结构(C/S)

可扩展性低:只有一台服务器,当有成千上万用户同时访问时的高并发场景服务器可能会崩溃。

客户相互之间不能直接通信。

Web、FTP、Telnet和电子邮件都是C/S体系结构。

P2P体系结构自扩展性高,既可作为客户端也能作为服务端。但管理较难。
混合体综合了C/S和P2P两种体系结构。

3.进程间通信

?

其中进程P1和进程P2通信通过操作系统本身提供的通信方式进行通信(管道、消息队列、共享缓冲区等)。

进程P2和P3则是通过操作系统提供的网络协议报文服务进行通信。

那如何区别不同的应用进程?是如何相互通信的。这就需要解决三个问题:

????????①进程标识和进程寻址。(服务用户)

????????②传输层-应用层提供的服务如何。(服务)

????????????????位置:层间接口的SAP( Socket)

??????????????? 形式:应用程序接口API(Socket API )

????????③如何使用传输层提供的服务实现应用进程之间的报文交换,实现应用。(用户使用服务)

?

进程P2和P3通信,实际上是进程P2通过层间接口上的Socket API利用传输层提供的服务和P3通信。

提出问题,如何解决?

????????①对进程进行编址(IP地址和port标识)

??????? ②传输层提供的服务-需要穿过层间接口。那么就必须要携带的信息

????????????????要传输的报文是什么? ?what ????????

??? ??????????? 传给谁(作为对方应用进程的标识:IP+TCP/UDP 端口号)

????????????????谁传的(对方的应用进程的标识:对方的IP+TCP/UDP 端口号)?who ??????

如果每次都要携带这三个信息,太繁琐也易错。

于是就有了TCP Socket(4元组):源IP、源端口、目标IP、目标端口。TCP Socket就是本地的标识,物理上看就是一个整数,在TCP中标识两个应用进程会话的关系。这是一张表,通过这张表就能找到想要通信的应用程序。

UDP Socket(2元组):源IP、源UDP端口。发送的时候需要:UDP socket、携带发送的信息、目标IP和port。

注意不同主机的TCP socket / UDP socket可能不同。如S1和S2通信,S1有自己的socket1,到达运输层,而期间又创建了 TCP Socket11的4元组。而S2又和S3通信,S2有自己的socket2,到达运输层,而期间又创建了 TCP Socket22的4元组。那么这两个TCP Socket是不一样的。

说明一下端口和socket的区别:

端口是用来区别进程的。socket用来确定端系统。 ???

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:47:40  更:2021-10-25 12:48:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:36:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码