应用层相关概念
应用层的功能
- 应用层协议定义了应用程序需交换的报文、所需采取的动作和最终通信数据的应用
- 应用层位于协议栈的最高层次
- 应用层协议提供不同主机之间
进程
与进程之间的通信 用户代理
实现应用层协议
进程的概念
进程(Process):主机中动态运行的程序
- 一个程序运行多次将产生多个进程
操作系统使用PID标识进程
用户代理
用户代理提供用户和网络应用之间的接口
- 用户代理实现应用层协议
- 常见的用户代理:浏览器,Web服务器软件,QQ等
套接字
IP+端口号
,唯一确定某台主机某个进程
IP地址
- 唯一确定某台主机在因特网上的位置
- 32位二进制,采用点分十进制表示,例如192.168.1.1
端口号
端口号是应用进程的入口标识,是一个存放在传输层
首部的一个字段的值。包括TCP端口号和UDP端口号,一个进程可能使用多个端口号
- 唯一确定某台主机的某个通信进程
- 16位二进制,一般用十进制表示,例如80端口
端口号类型
端口号范围 | 端口类型 |
---|---|
0 到 1023 | 公认端口,一般分配给固定的服务进程,用于某种应用的服务端 |
1024 到 49151 | 可注册端口(随机使用端口),随机分配给客户端进程,或者用于某些非公认应用程序 |
49452 到 65535 | 私有端口或临时端口,一般分配给某些P2P应用程序,使用较少 |
常用的网络应用公认端口号
网络应用层协议 | 服务端端口号 | 协议 |
---|---|---|
DNS | 53 | TCP/UDP |
HTTP | 80 | TCP |
HTTPS | 443 | TCP |
FTP | 20,21 | TCP |
SMTP | 25 | TCP |
POP | 110 | TCP |
TELNET | 23 | TCP |
一个浏览器进程也可能打开多个套接字和服务器通信
C/S模式的网络应用
C/S模式(Client/Server模式)
- 目前大多数网络应用采用C/S模式
- 客户端首先发起请求,再由服务器端响应提供服务
一个服务进程同时接收多个客户端的请求,服务器端程序称为守护程序
P2P模式的网络应用
P2P模式(peer to peer)
- 任意主机既是客户端又是服务器
- 主机之间是
对等
的 - 迅雷,BT等常见下载软件均提供P2P下载模式
有集中式目录服务器
和洪泛查询
网络应用需要的服务
可靠性保证:应用数据能否保证按序,正确的到达对方
带宽保证:应用数据传输能否保证最小带宽
实时性保证:数据是否保证在规定的时间内到达对方
网络应用使用的传输层协议
一般原则
- 对可靠性要求高的使用TCP作为传输层,对速度要求高,可靠性要求低的使用UDP作为传输层。
- TCP提供面向连接可靠的传输服务
- UDP提供无连接不可靠的传输服务
因特网的传输层不提供带宽的保证,实时性保证服务
网络层、物理层或可