- 作者:老汪软件
- 发表时间:2024-01-12 20:00
- 浏览量:
网络应用程序体系结构
客户-服务器体系结构、P2P体系结构
P2P体系结构
P2P体系结构的特性之一是:自扩展性。
例如,在一个P2P文件共享应用中,尽管每个对等方都由于请求文件产生工作负载,但每个对等方通过向其它对等方分发文件也为系统增加服务能力。
进程通信
在端与端通信的时候,实际进行通信的是进程()
在两个不同端系统上的进程,通过跨越计算机网络交换报文而相互通信。
客户和服务器进程
进行交换的两个进程,一个叫做客户,另一个叫作服务器。
在一对进程之间的通信会话场景中,发起通信的进程被标识为客户,在会话开始时等待联系的进程是服务器。
进程与计算机网络之间的接口
进程通过一个称为套接字()的软件接口向网络发送报文和从网络接收报文。
套接字也被称作应用程序编程接口(API)。
应用程序开发者可以控制套接字在应用层端的一切,但是对于该套接字的运输层端几乎没有控制权。
应用程序开发者对于运输层的控制仅限于:
1.选择传输层协议。
2.也许能设计几个运输层参数,如最大缓存和最大报文段长度等。
PS:一旦应用程序开发者选择了一个运输层协议(如果可以选择的话),则应用程序就建立在该协议提供的运输层服务之上。
进程寻址
在一台主机上运行的进程为了向在另一台主机上运行的进程发送分组,接收进程需要有一个地址。
为了标识接收进程,需要定义两种信息:
1.主机的地址。
2.在目的主机中指定接收进程的标识符。
在因特网中,主机由其IP地址标识。
因为一般而言一台主机能够运行许多网络应用,这些信息是需要的。
目的地端口号就是用于这个目的,用来表示一台主机上的某个应用程序!
可供应用程序使用的运输服务
应用程序服务有四类:可靠数据传输、吞吐量、定时、安全性。
可靠数据传输
即提供从传送方到接收方的数据是正确、完整的协议就认为提供了可靠数据传输。
吞吐量
即发送进程能够向接收进程交付比特的速率。
定时
即发送进程到接收进程比特传输的时延。
安全性
即传送的比特可以被加密并且可以被正确的解密。
因特网提供的运输服务
运输服务有两个运输层协议(TCP/UDP)
TCP服务
TCP服务模型包括面向连接服务和可靠数据传输服务。
面向连接服务
在应用层数据报文开始流动之前,TCP让客户和服务器互相交换运输层控制信息。
这个所谓的握手过程提醒客户和服务器,让它们为大量到来的比特做好准备。
在握手阶段后,一个TCP连接就在两个进程的套接字之间建立了。
这条连接时全双工的,即连接双方的进程可以在此连接上同时进行报文收发。
可靠的数据传送服务
通信进程能够依靠TCP,无差错、按适当顺序交付所有发送的数据。
TCP协议还有拥塞控制机制,即可以根据因特网的整体流量拥堵情况,自动地调节发送进程的流量速度。
TCP的拥塞机制对于整个互联网是有好处的,但是对于个体连接则可能是不公平的。
对于TCP安全,我们开发了一种TCP加强版SSL,后面会详细的说。
UDP服务
UDP是一种不提供不必要服务的轻量级运输协议,它仅提供最小服务。
UDP是无连接的,即没有握手过程。
UDP协议也是一种不可靠的数据传送服务。
应用层协议
应用层协议定义了以下四点:
1.交换的报文类型,例如请求报文和响应报文。
2.各种报文类型的语法,如报文中的各个字段及这些字段是如何描述的。
3.字段的语义,即这些字段中的信息的含义。
4.确定一个进程何时以及如何发送报文,对报文进行相应的规划。