应用层协议原理
1. 应用程序体系结构
- 两大应用程序体系结构:客户-服务器体系结构、P2P(对等)体系结构
客户服务器体系结构
- 服务器:总是打开的主机,为客户主机响应请求
- 服务器具有固定的、周知的 IP 地址
- 例如:web服务器 和 浏览器(客户)
- 数据中心:由大量服务器构成
P2P体系结构
- 应用程序在间断连接的主机对之间使用直接通信,这对主机对被称为对等方
- 对等方通信不必通过专门的服务器
- 例如:视频电话、文件共享
2. 进程(process)通信
- 一个进程: 运行在端系统的一个程序
- 不同端系统上的进程,通过跨越计算机网络来交换报文(message),从而进行通信
客户和服务器进程
- 客户(client):浏览器,发起通信的进程 服务器(server):web服务器,等待联系的进程
进程与网络之间的接口
- 进程通过套接字(socket, 也被称为API 应用程序编程接口)向网络发送和接收报文
进程寻址
- 主机由 IP 地址标识(32bit)
- 发送进程需要指定 IP 地址, 还需要指定接收主机的指定端口号(目的地端口号)
3. 应用程序使用的运输服务(运输层提供)
- 可靠数据传输服务:运输层协议向应用层提供的服务
- 可用吞吐量:发送进程能够向接收进程交付比特的速率
- 定时:时间上的保证
- 安全性
TCP服务
- TCP服务模型包括 面向连接服务 和 可靠数据传输服务
- 面向连接的服务:三次握手,握手后,一个TCP连接被建立
-可靠数据传输服务:通信进程可以依靠TCP无差错的传输数据 - 不安全
UDP服务
- 无连接的
- 不可靠数据传输服务
- 没有拥塞控制机制
运输层协议不提供的服务
- 吞吐量
- 定时
应用-应用层协议-运输层协议 图2-5
4. 应用层协议
应用层协议定义了:
- 交换的报文类型
- 报文类型的语法,包含什么字段
- 报文字段的含义
- 一个进程什么时候、怎么发送报文,怎么响应报文