来源计算机网路自顶向下方法!!!,侵删!
应用层:
网络体系结构分类:
1.客户机/服务器体系结构
客户机发送请求,服务器接收请求,提供响应。
服务器总是打开的,客户机主机并不总是。
服务器使处理所有逻辑的中心。两个客户机不能直接通信。
服务器集群技术,基础设施密集的
2.P2P体系结构
客户机间直接通信使P2P有强大的自扩展性
进程通信
标题客户机和服务器进程
给定的一堆进程之间的通信会话中,发起通信(会话开始时与其他进程联系)的进程被标示为客户机,等待联系的进程是服务器。
进程与计算机网络之间接口
套接字是同一台主机内应用层与运输层之间的接口。由于该套接字是在网络上建立网络应用程序的可编程接口,也可称为应用程序和网络之间的应用程序编程接口(API)。
可供应用程序使用的运输服务
运输层协议能为调用它的应用程序提供什么样的服务呢,从四个方面其服务要求分类。
1.可靠数据传输
运输层协议确保应用程序一端发送的数据正确的,完全地交付给该应用程序的另一端。
2.吞吐量
运输层协议能够确保发送进程能够向接收进程交付比特的最小速率。
3.定时
运输层协议可设置发送方注入套接字中的每个比特到达接收方的套接字不迟于*ms
4.安全性
运输层协议能够加密由发送进程传输的所有数据。
因特网提供的运输服务
使用两种运输层协议:UDP和TCP
1.TCP服务
TCP服务模型包括面向连接服务(握手)和可靠数据传输服务。
#TCP提供了可靠的端到端数据传输服务,TCP到应用层可以很容易地通过SSL来提供安全服务。
2.UDP服务
UDP是无连接的,两个进程通信前没有握手过程。
3.进程寻址
一个进程如何确定它要与哪个进程通信呢?
需要获取该主机的名称或地址,目的主机接收进程的标识。
IP地址是唯一标识主机的32比特数
应用层协议
刚刚学习了通过把报文发送到套接字中来使网络 进程间相互通信。如何构造这些报文呢?报文中各个字段的含义是什么?
@应用层协议定义了运行在不同端系统上的应用程序上的应用进程如何相互传递报文。定义了:
1.交换的报文类型,如请求报文和响应报文
2.各种报文类型的语法,如报文中各个字段及其详细描述.
3.字段的语义,报文在字段中的信息的含义
4.进程何时,如何发送报文及报文进行响应的规则。
本章设计到的应用
1.Web;2.文件传输;3.电子邮件;4.目录服务;5.P2P
web的应用层协议是超文本传输协议(HTTP)
HTTP协议由两部分程序实现,一个客户机程序和一个服务器程序,它们运行在不同的端系统中,通过交换HTTP报文进行会话。HTTP定义了这些报文格式以及客户机和服务器是如何进行报文交换的。
客户机从套接字接口发送HTTP请求报文和接收HTTP响应报文,服务器接收HTTP请求报文和发送HTTP响应报文,一旦客户机发送请求,TCP为HTTP提供可靠数据传输服务。
HTTP不保存关于客户机的任何信息,所以HTTP是一个无状态协议。
非持久连接和持久连接
如果每个请求响应对是经过一个单独的TCP连接发送,称为非持久连接;如果所有的请求响应经过相同的TCP连接发送,称为持久连接。
下图为一个非持久连接的过程。
HTTP报文格式