2.1应用层协议原理
2.1.1网络应用程序体系结构
-
应用程序体系结构: 规定如何在各种端系统上组织应用程序,有研发者设计。
-
三种类型:
- 客户机/服务器
- 对等(P2P)
- 客户机/服务器与P2P的混合
(1) 客户机/服务器体系结构
(2) P2P体系结构(peer-to-peer)
(3) 客户机/服务器与P2P的混合
2.1.2 进程通信
- 进程通信:
- 同一主机中的两个进程间的通信:由操作系统控制。
- 不同主机中进程间的通信:通过网络交换报文进行。(发送进程:产生报文并向网络发送。接受进程:接受报文,并回送报文。)
- 客户机与服务器进程
- 网络应用程序又成对的进程组成,并通过网络相互发送报文。
- 客户机进程:发起通信的进程
- 服务器进程:等待其他进程联系的进程
- 套接字
-
套接字定义:同一台主机内应用层与传输层之间的接口。也叫应用程序和网络之间的应用程序接口API,是在网络上建立网络应用程序的可编程接口。
-
进程与套接字关系:
说明
- 进程寻址
- 主机上进程可以有多个。
- 网络中有多个主机,每个主机上有多个进程。
问题:如何识别进程?
-
进程识别信息:表示那台主机上的哪一个进程。源主机上的进程想目的主机上的进程发送报文时,应带有接受进程的识别信息。
-
进程寻址:根据进程识别信息找到相应的进程。(确定主机->确定进程)
-
常用的应用程序被指派固定的端口号(port number)也叫做周知端口。如,Web服务进程(HTTP协议):80。 邮件服务进程(SMTP协议):25
-
创建一个新的网络应用程序时,必须分配一个新的端口号。不能重复。
2.1.3 应用程序所需要的服务
- 应用程序间通信: 由传输协议跨越网络将发送进程的报文传输到接收进程的门户。(需要使用传输协议所提供的服务并且传输协议有多种,提供的服务不同。)
- 带宽:数据传输率。
- 带宽敏感的应用:需要特定的带宽才能正常工作。(如,因特网电话)
- 弹性应用:使用的带宽的多或少影响不大。(如电子邮件,文件传输以及Web传输)
- 典型应用的传输服务要求:
2.1.4 因特网传输协议提供的服务
- 用户数据报协议UDP
- 传输控制协议TCP
TCP服务
- 面向连接的服务
-
可靠的传输服务
-
拥塞控制 当发送方和接收方之间的网络出现拥塞时,会抑制发送进程的速率。(对整个网络有利)
UDP服务(提供最小的服务模式运行)
- 无连接:两个进程通信前没有握手过程
- 不可靠数据传输:不保证报文能够被接受,或收到的报文是乱序到达的。
- 没有拥塞控制机制:发送进程可以以任何速率发送数据
- 不提供时延保障
- 适合实时应用
因特网应用,应用协议与传输协议
2.2.1 HTTP概况
- Web常用术语
- 客户机与服务器之间的交互过程
2.2.2HTTP连接
建立TCP来连接->交换报文
- TCP连接的三次握手阶段
- 客户机发送一个TCP连接请求报文
- 服务器回送一个TCP确认响应报文
- 客户机向服务器发送一个包含“HTTP请求”和“TCP确认”的报文
HTTP请求报文格式
HTTP响应报文格式
- HTTP协议响应的状态码(在服务器到客户机响应报文中的首行)
2.2.4用户与服务器交互:Cookie
工作过程
- Cookie用途
- 身份认证
- 虚拟购物车
- 推荐广告
- Cookie缺陷
- 站点可以知道用户许多信息
- 不利于用户隐私保护
2.2.5Web缓存
- Web缓存器(Web cache):也叫代理服务器。(能够代表服务器来满足HTTP请求的网络实体)
- 保存最近请求过的对象副本
- 可在客户机或服务器工作,也可在中间系统工作。
-
起始服务器(origin server):对象最初存放并始终保持其拷贝的服务器。
-
Web缓存器目标:代替原始服务器满足HTTP请求
-
工作过程:
-
说明
- Web缓存器既可以是服务器也可以是客户机
- 当它接受浏览器请求时,它是服务器
- 当它向起始服务器发送请求时,它是客户机
2.2.6条件GET方法
2.3 因特网中的电子邮件
- 因特网电子邮件系统的总体结构
- 用户代理
- 邮件服务器
- 简单的邮件传输协议
用户代理
邮件服务器
SMTP(简单的邮件传输协议)
- 应用层协议
- 使用TCP可靠数据传输
- 包括两部分(客户机端和服务器端)
- 每个邮件服务器上都有SMTP的客户机端和服务器端。
2.3.1 SMTP
-
过程演示
-
说明
- 客户使用TCP来可靠数据传输报文到服务器端口号25
- TCP握手阶段实现收发双方的邮件地址
2.3.2 SMTP与HTTP的比较
共同点
异同点
2.3.4 邮件访问协议
问题引入
用途:从服务器获取邮件
种类
- POP3(第三版的邮局协议) :简单,功能有限.缺点:用户读取邮件后,服务器不再保存邮件
- IMAP(因特网邮件访问协议) :功能强,未发出删除指令前,一直保存在邮件服务器上.
- HTTP(基于Web的电子邮件):
2.4 DNS:因特网的目录服务
- 标识主机的两种方式
- 主机名:有不定长的字母和数字组成.如www.baidu.com 路由器处理困难
- IP地址: 由4个字节组成,路由器容易处理
2.4.1 DNS提供的服务
- 域名系统DNS(Domain Name System): 进行主机名到IP地址的转换.
- DNS协议运行在UDP之上,使用53号端口.
过程演示
2.5 P2P文件共享
- 位于网络边缘的PC机(对等方peer)互相之间可以直接获取对象
- 每个参与的对等方既是内容的消费者也是内容的发布者