| |
|
开发:
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.主流的应用体系结构有三种:
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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |