ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

应用层协议原理

2021-07-08 18:30:35  阅读:165  来源: 互联网

标签:协议 主机 报文 通信 客户机 服务器 进程 原理 应用层


一、一些常用网络

在这里插入图片描述

二、研发网络应用程序

1、核心

核心是能够写出运行在不同的端系统并通过网络彼此通信的程序,例如Web:Web服务器软件通信和浏览器软件通信。
注:网络核心设备不在应用层起作用,即在路由器和交换机上是没有应用程序软件运行的。这种设计方法促进了应用程序的研发。

2、网络应用程序体系结构

在这里插入图片描述

1)客户机/服务器体系结构

(1)服务器:
总是打开的主机;
具有固定的、众所周知的IP地址;
主机群集常被用于创建强大的虚拟服务器。
(2)客户机:
同服务器端通信;
可以间断的同服务器连接;
可以拥有动态IP地址;
客户机相互之间不直接通信。

2)纯P2P体系结构

任何一台即是服务器又是客户机
(1)特点:
没有总是打开的服务器;
任意一对主机直接相互通信;
对等方间歇连接并且可以改变IP地址。
(2)优点:具有极强的自扩展性,理论上说任何一台主机都可以连入某个开放的闭网络。
(3)缺点:难于管理,因为这种体系结构没有强大的中心节点。
在实际中使用这种结构时更常用的方式是与C/S结构结合起来。

3)客户机/服务器和P2P混合的体系结构

这种体系结构广泛用在即时讯息中,即时讯息的主要特点为:
(1)两个聊天用户之间是P2P;
(2)注册、查询通过服务器;
(3)用户上线时要在中心服务器上进行注册;
(4)用户与中心服务器联系以找出在线伙伴

三 、进程通信

每个应用程序运行以后都会在内存中产生一个进程。
进程:运行在端系统中的程序。
(1)进程通信本质:在应用层所做的事就是让两个运行在端系统中的进程进行通信。
(2)同一主机上的两个进程通过内部进程通信机制进行通信。
(3)不同主机上的进程通过交换报文相互通信。
进程间的通信主要分为两种:
(1)客户进程:发起通信的进程。
(2)服务器进程:等待联系的进程。
注意:具有P2P体系结构的应用程序即有客户进程又有服务器进程。

四、套接字

两个对等实体上面的进程使用计算机网络为它们提供的服务进行通信,而计算机网络是通过套接字机制为进程提供服务。套接字可以说是一种编程接口,这些接口为进程提供了访问计算机网络向计算机网络发送信息以及从计算机网络得到信息的一种机制。
在这里插入图片描述
如上图,在实现上,应用层进程相关工作是由应用开发者控制,而套接字以下的传输层的工作是由操作系统来完成的。
用户通过API对传输层的控制仅限于:
(1)选择传输协议
(2)能设定几个参数

五、进程寻址

为了一个进程能接收报文,它需要有一个标识 。主机有唯一的32位IP地址,但是光使用IP地址还不足以标识主机上的进程,因为一台主机上可能会有多个进程。所以需要引入另外一个参数来标识进程,我们称之为端口号。
所以主机上的进程标识位IP地址+端口号。

六、应用层协议

(1)它包含了交换报文的类型,例如请求报文和应答报文。
(2)包含了报文类型的语法,即报文中的各个字段及其详细描述。
(3)包含了字段的含义,即包含在字段中的信息的含义。
(4)包含了进程何时、如何发送报文及对报文进行响应。
协议可分为两种
(1)公共领域协议
特点为:
有RFC文档定义;
可供大家使用。例如HTTP,SMTP等。
(2)专用协议,例如KaZaA等。

七、应用需要的服务

(1)数据丢失率
一些应用能容忍一定程度的数据丢失。例如实时音频。而另一些应用需要完全可靠的数据,例如文件传输。
(2)定时:一些应用要求低时延。例如英特网电话。
(3)安全,包括数据加密,数据完整性等。
(4)带宽和吞吐量:一些应用必须要达到所需带宽,例如多媒体;而另一些应用根据需要充分利用可供使用的带宽。
下图为常见应用的传输服务需求:
在这里插入图片描述

八、因特网传输协议提供的服务

主要有两种

1、TCP服务

(1)面向连接的服务:在客户机程序和服务器程序之间必须建立连接。
(2)可靠的传输服务:接收和发送进程间。
(3)可以进行流量控制:发送方不会淹没接收方。
(4)可进行拥塞控制:网络出现拥塞时抑制发送进程。
(5)不提供时延保证

2、UDP服务

(1)是无连接的服务
(2)不可靠数据传输
(3)不提供建立连接、可靠性、流量控制、拥塞控制、时延和带宽保证。
下图为面向连接服务和无连接服务的区别:
在这里插入图片描述
常用的应用层协议及传输协议:
在这里插入图片描述

标签:协议,主机,报文,通信,客户机,服务器,进程,原理,应用层
来源: https://blog.csdn.net/weixin_42374938/article/details/118575173

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有