一、应用层概述
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提供无连接不可靠的传输服务

因特网的传输层不提供带宽保证、实时性保证服务