一、应用层概述
1、应用层协议基本概念
应用层的功能
- 应用层协议定义了应用程序需交换的报文、所需采取的动作和最终通信数据的应用
- 应用层位于协议栈的最高层次
- 应用层协议提供不同主机之间
进程
与进程之间的通信 - 用户代理实现应用层协议
套接字
IP+端口号,唯一确定某台主机某个进程
IP地址
唯一确定某主机在因特网上的位置,32位二进制,采用点分十进制表示,例如192.168.1.1
端口号
唯一确定某台主机的某个通信进程,16位二进制,一般用十进制表示,例如80端口
端口号是应用进程的入口标识,是一个存放在传输层首部
的一个字段的值(2^16 - 1 = 65535)
- 包括TCP端口号和UDP端口号
一个进程可能使用多个端口号
端口号范围 | 端口类型 |
---|---|
0到1023 | 公认端口、一般分配给固定的服务进程,用于某种应用的服务端 |
1024到49151 | 可注册端口(随机使用端口)随机分配给客户端进程,或者用于某些非公认应用程序 |
49152到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模式
- 客户端首先发起请求,再由服务器端响应提供服务
P2P(peer to peer)
- 任意主机既是客户端又是服务器
- 主机之间是对等的
- 迅雷,BT等常见下载软件均提供P2P下载模式
网络应用需要的服务
可靠性保证
- 应用数据能否保证按序,正确的到达对方
带宽保证
- 应用数据传输能否保证最小带宽
实时性保证
- 数据是否保证在规定时间内到达对方
网络应用使用的传输层协议
一般原则
- 对可靠性要求高的使用TCP作为传输层,对速度要求高,可靠性要求低的使用UDP作为传输层
- TCP提供面向连接可靠的传输服务
- UDP提供无连接不可靠的传输服务
因特网的传输层不提供带宽保证、实时性保证服务