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) -> 正文阅读

[系统运维]应用层———应用层协议原理(1)

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

1.客户-服务器体系结构(client-server architecture)

1.有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求。
2.客户相互之间不直接通信;例如,在Web应用中两个浏览器并不直接通信。
3.客户-服务器体系结构的另一个特征是该服务器具有固定的、周知的地址,该地址称为IP地址
4.具有客户-服务器体系结构的非常著名的应用程序包括Web、FTP、Telnet和电子邮件。
在这里插入图片描述

2.P2P 体系结构(P2P architecture)

1.许多目前流行的、流量密集型应用都是P2P
体系结构的。这些应用包括文件共享(例如BitTorrent) x对等方协助下载加速器(例如迅雷)、因特网电话和视频会议(例如Skype)。
2.P2P体系结构的最引人入胜的特性之一是它们的自扩展性(self-scalability)
例如,
在一个P2P文件共享应用中,尽管每个对等方都由于请求文件产生工作负载,但每个对等
方通过向其他对等方分发文件也为系统增加服务能力。

二、进程通信

1.客户和服务进程

1.用操作系统的术语来说,进行通信的实际上是==进程(process)==而不是程序

2.我们通常将这两个进程之一标识为客户(client),而另一个进程标识为服务器(serve)
对于Web而言,浏览器是一个客户进程,Web服务器是一台服务器进程。对于P2P文件
共享,下载文件的对等方标识为客户,上载文件的对等方标识为服务器。

2.进程与计算机网络之间的接口

1.进程通过一个称为==套接字(socket)==的软件接口向网络发送报文和从网络接收报文

2.套接字是同一台主机内应用层与运输层之间的接口。
由于该套接字是建立网络应用程序的可编程接口,因此套接字也
称为应用程序和网络之间的应用程序编程接口(Application Programming Interface, API)

3.进程寻址

在这里插入图片描述
1.为了标识该接收进程,需要定义两种信息:①主机的地址;②在目的主机中指定接收进程的标识符。
2.主机由其IP地址(IP address)标识。
3.发送进程还必须指定运行在接收主机上的接收进程(更具体地说,接收套接字)
目的地端口号(port number)用于这个目的

三、可供应用程序使用的运输服务

当开发一个应用时,必须选
择一种可用的运输层协议。如何做出这种选择呢?最可能的方式是,通过研究这些可用的
运输层协议所提供的服务,选择一个最能为你的应用需求提供恰当服务的协议。

当开发一个应用时,必须选
择一种可用的运输层协议。如何做出这种选择呢?最可能的方式是,通过研究这些可用的
运输层协议所提供的服务,选择一个最能为你的应用需求提供恰当服务的协议。

1.可靠数据传输

以确保由应用程序的一端发送的数据正确、完全地交付给该应用程序的另一端。
如果一个协议提供了这样的确保数据交付服务,就认为提供了可靠数据传输(reliable血ta
transfer) 。

2.吞吐量

具有吞吐量要求的应用程序
被称为带宽敏感的应用(bandwidth-sensitive application) o许多当前的多媒体应用是带宽敏感的,尽管某些多媒体应用程序可能采用自适应编码技术对数字语音或视频以与当前可用带宽相匹配的速率进行编码。

3. 定时

在多方游戏和虚拟互动环境中,在做出动作并看到来自环境(如来自位于
端到端连接中另一端点的玩家)的响应之间,较长的时延使得它失去真实感。对于非实时
的应用,较低的时延总比较高的时延好,但对端到端的时延没有严格的约束。

4. 安全性

运输协议能够加密由发送进程传输的所有数据,这种服务将在发送和接收进程之间提供机密性,以防该数据以某种方式在这两个进程之间被观察到

四、因特网提供的运输服务

1.TCP服务

在这里插入图片描述
?面向连接的服务:
在应用层数据报文开始流动之前,TCP让客户和服务器互相交
换运输层控制信息。这个所谓的握手过程提醒客户和服务器,让它们为大量分组
的到来做好准备。在握手阶段后,一个TCP连接(TCP connection)就在两个进
程的套接字之间建立了。这条连接是全双工的,即连接双方的进程可以在此连接
上同时进行报文收发。当应用程序结束报文发送时,必须拆除该连接。

?可靠的数据传送服务:
通信进程能够依靠TCP,无差错、按适当顺序交付所有发
送的数据。当应用程序的一端将字节流传进套接字时,它能够依靠TCP将相同的
字节流交付给接收方的套接字,而没有字节的丢失和冗余。

?TCP安全
TCP还是UDP都没有提供任何加密机制
所以因特网界已经研制了 TCP的加强版本,称为安全套接字层(SSL)

2. UDP服务

1.UDP是无连接的,因此在两个进程通信前没有握手过程。UDP协议提供一种不可靠数据传送服务

2.UDP没有包括拥塞控制机制,所以UDP的发送端可以用它选定的任何速率向其下层
(网络层)注入数据。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 12:16:02  更:2022-04-26 12:20:45 
 
开发: 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/15 20:40:27-

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