网站充值平台怎么做的,建网站公司公司名称大全,开发公司冬季安全生产工作方案,网上国网app推广文章目录 网络应用程序体系结构客户-服务器体系结构P2P体系结构 进程通信客户和服务器进程进程与计算机网络之间的接口进程寻址 可供应用程序使用的运输服务可靠数据传输吞吐量定时安全性 因特网提供的运输服务TCP服务面向连接的服务可靠数据传输服务TCP安全 UDP服务因特网运输… 文章目录 网络应用程序体系结构客户-服务器体系结构P2P体系结构 进程通信客户和服务器进程进程与计算机网络之间的接口进程寻址 可供应用程序使用的运输服务可靠数据传输吞吐量定时安全性 因特网提供的运输服务TCP服务面向连接的服务可靠数据传输服务TCP安全 UDP服务因特网运输协议所不提供的服务 应用层协议本章谈论的网络应用参考资料 应用层协议考虑的是不同端系统之间的通信因为网络核心不具有应用层 网络应用程序体系结构
应用程序体系结构即application architecture 现代网络应用程序中所使用的两种主流体系结构客户-服务器体系结构和对等P2P体系结构
客户-服务器体系结构
client-server architecture 端系统通信模式 一个总是打开的主机称为服务器它服务于来自许多其他称为客户的主机的请求 特点
客户相互之间不直接通信服务器具有固定的、周知的IP地址在CS架构中客户根据IP地址向服务器发送分组为了实现服务器端的负载均衡现实情况中的服务器往往是由配备大量主机的数据中心(data center)创建的虚拟服务器
应用程序举例 Web、FTP、Telnet和电子邮件
P2P体系结构
P2P architecture 端系统通信模式 应用程序在间断连接的主机对对等方之间使用直接通信 特点 自扩展性(self-scalability) 举个例子在一个P2P文件共享应用中尽管每个对等方都由于请求文件产生工作负载但每个对等方通过向其他对等方分发文件也为系统增加服务能力。 应用程序举例 文件共享例如BitTorrent、对等方协助下载加速器例如迅雷、因特网电话和视频会议例如Skype 缺点 高度非集中式结构面临安全性、性能和可靠性等挑战 CS和P2P杂合的体系结构 举个例子即时讯息应用如qq服务器跟踪用户的IP地址用户到用户的消息在用户主机间直接发送
进程通信
严谨地说在进行的通信的主体是进程(process)而非程序 当存储在外存中的程序被加载到内存时才变为进程 当多个进程运行在相同的端系统上时它们使用进程间通信机制相互通信这个过程由操作系统管理 运行在不同端系统可能具有不同的操作系统上的进程间的通信才属于计算机网络讨论的范畴 运行在两个不同端系统上的进程通过跨越计算机网络交换报文message相互通信
客户和服务器进程
网络应用程序由成对的进程组成这些进程通过网络相互发送报文。 对每对通信进程一个被标识为客户client另一个进程被标识为服务器server 客户进程和服务器进程的定义 在一对进程之间的通信会话场景中发起通信即在该会话开始时发起与其他进程的联系的进程被标识为客户在会话开始时等待联系的进程是服务器。 举个例子 对于Web而言浏览器是一个客户进程Web服务器是一台服务器进程 对于P2P文件共享下载文件的对等方标识为客户上载文件的对等方标识为服务器。
进程与计算机网络之间的接口
谈论的问题在于通信进程对是如何实现互相发送报文的 引入套接字进程通过套接字socket向网络发送报文和从网络接收报文
套接字
通信进程与运输层的接口是同一台主机内应用层与运输层之间的接口建立网络应用程序的可编程接口应用程序和网络之间的应用程序编程接口Application Programming Interface, API
进程寻址
进程地址定义 定义两种信息 ①主机的地址②在目的主机中指定接收进程的标识符 主机地址 由IP地址(IP address)标识 一个32比特的数值能够唯一地标识一台主机 特定进程 由端口号(port number)标识 指定在接收主机上的接收进程也即接收套接字因为一台主机上能够运行许多网络应用 常用的已分配端口号举例Web服务器进程使用80端口邮件服务器进程使用25端口
可供应用程序使用的运输服务
问题针对特定的应用程序应该怎么选择特定的运输层协议 运输层协议的选择取决于应用程序所要求的服务 应用程序服务要求分类可靠数据传输、吞吐量、定时和安全性
可靠数据传输
reliable data transfer 定义由应用程序的一端发送的数据正确、完全地交付给该应用程序的另一端 要求可靠数据传输服务的应用程序使用提供确保数据交付服务的运输层协议 容忍丢失的应用(loss-tolerant application)可以使用不提供可靠数据传输的运输层协议例如多媒体应用能承受一定量的数据丢失
吞吐量
定义 进程通信中发送进程能够向接收进程交付比特的速率 由于因特网中存在多个会话共享一段网络的情况因此可用吞吐量是随着时间波动的 吞吐量服务 运输层协议能够以某种特定的速率提供确保的可用吞吐量。举个例子在这种服务下应用程序请求r比特/秒的确保吞吐量对应的运输层协议就确保可用吞吐量至少为r比特/秒 服务对象 带宽敏感的应用bandwidth-sensitive application具有吞吐量要求的应用程序如多媒体应用 弹性应用elastic application能够根据当时可用的带宽或多或少地利用可供使用的吞吐量的应用程序即是对bandwidth不敏感的应用程序如电子邮件、文件传输以及Web传送
定时
服务对象 交互式实时应用程序如因特网电话、虚拟环境、电话会议和多方游戏
安全性
运输协议能够为应用程序提供一种或多种安全性服务 提供服务 加密解密数据完整性和端点鉴别
因特网提供的运输服务 因特网更一般的是TCP/IP网络为应用程序提供两个运输层协议即UDP和TCP 需要根据应用程序的服务要求选择运输层协议
TCP服务
提供服务 面向连接服务和可靠数据传输服务 拥塞控制机制当发送方和接收方之间的网络出现拥塞时TCP的拥塞控制机制会抑制发送进程客户或服务器
面向连接的服务
使用TCP协议的应用程序在客户端进程和服务器端进程传输数据包之前需要经过三次握手阶段建立起TCP连接TCP connection 握手阶段完成了客户和服务器互相交换运输层控制信息 连接性质 全双工连接双方的进程可以在此连接上同时进行报文收发
可靠数据传输服务
通信进程能够依靠TCP,无差错、按适当顺序交付所有发送的数据没有字节的丢失和冗余 TCP连接下的数据传输可以保证有序性。当应用层数据报到了运输层时会被切分为多个小片段每个片段都被加上带有序列号的头部用于标识其在数据报中的位置接收方在接收到数据后会根据序列号将数据进行排序然后再交给应用层处理。 TCP安全
TCP、UDP都没有提供任何加密机制 安全隐患 明文传输的数据在发送方和接收方之间的所有链路传送其可能在任何中间链路被嗅探和发现 解决办法 使用TCP的加强版——安全套接字层Secure Sockets Layer, SSLSSL提供进程到进程的安全性服务包括加密、数据完整性和端点鉴别 注意SSL是基于TCP连接在应用层上进行了安全性服务强化而非独立于TCP、UDP之外的第三种运输层协议
UDP服务
轻量级运输层协议仅提供最小服务 无连接 提供一种不可靠数据传送服务 没有拥塞控制机制
因特网运输协议所不提供的服务
目前的因特网运输协议不提供吞吐量保证和定时保证 由于TCP协议提供的可靠数据传输服务电子邮件、远程终端访问、Web、文件传输都使用了 TCP 因特网电话则对最小带宽有比较高的要求使用UDP协议来避免TCP的拥塞控制机制和分组开销。但许多防火墙被配置成阻挡大多数类型的UDP流量因特网电话往往需要TCP连接在UDP通信失败的情况下进行备份
应用层协议
application-layer protocol 作用 定义了运行在不同端系统上的应用程序进程如何相互传递报文 应用层协议分两类共享协议和专用协议。 共享协议是由RFC文档定义的位于公共领域例如HTTP协议。 专用协议是只有某些人可以使用的例如Telnet协议。 应用层协议和传输层协议之间的关系是传输层的协议TCP或UDP加上端口就可以标识一个应用层协议 应用层协议和网络应用 应用层协议是网络应用的一部分 举个例子:Web应用包括文档格式的标准即HTML、Web浏览器、Web服务器和应用层协议(HTTP)
本章谈论的网络应用
5种重要的网络应用Web、文件传输、电子邮件、目录服务、流式视频和P2P
参考资料
James F.KuroseKeith W.Ross Computer Networking A Top-Down Approach(7th ed) 中文版TCP如何保证数据的有序传输