- 物理层,数据链路层,网络层共同解决了网络中各个主机如何连接的问题,实现了主机到主机的通信
- 但实际计算机网络中,进行通信的实体是两端主机中运行的进程,也就是源主机进程与目的主机进程的通信
- 运输层的任务就是:为运行在不同主机上的应用进程提供直接的通信服务
- 根据应用需求不同,运输层为应用层提供两种不同的协议,面向连接的TCP协议,与面向无连接的UDP协议
- 运行在计算机上的进程使用进程标识符PID表示
- 计算机不同的操作系统,使用不同格式的PID
- 为了使不同操作系统的计算机之间的应用进程可以进行网络通信,就必须使用统一的方法对TCP/IP体系中的应用进程进行标识
- TCP/IP体系使用端口号来区分应用层不同的应用进程
- 端口号使用16bit表示,取值0~65535,0-1023用于常用的应用应用协议,FTP:21 HTTP:80等,1024-49151为没有熟知的应用进程使用,49152-65535给客户端进程选择暂时使用
- 端口号只表示本计算机应用层中各进程
- 面向无连接
- 支持一对一,一对多和多对一的交互通信
- 对应用层交付的报文直接打包
- 尽最大努力交付,不可靠传输,不使用流量控制和拥塞控制
- 首部开销小,只占用8字节
- 面向连接
- 每条TCP连接只能有两个端点,只能是一对一通信
- 面向字节流
- 可靠传输,使用流量控制和拥塞控制
- 首部最小是20字节,最大60字节