根据 应用程序的不同需求,传输层 需要有两种不同的 传输协议,面向连接的TCP 和 无连接的UDP。
当 传输层采用 面向连接的TCP协议时,尽管下面的网络是 不可靠的(只提供尽最大努力服务),当时这种 逻辑通信信道就相当于一条 全双工的 可靠信道。
当采用 无连接的UDP协议时,这种逻辑通信信道仍然是一条 不可靠信道。
TCP:提供 面向连接的服务。在传送数据之前必须先 建立连接,数据传送结束后要 释放连接。TCP不提供广播或多播服务。由于TCP要提供 可靠的、面向连接 的传输服务,因此不可避免地增加了许多的 开销,如 确认、流量控制、计时器以及连接管理等。
这不仅使 协议数据单元的首部增大很多,还要占用许多的处理机资源。
UDP:在传送数据之前 不需要先建立连接。远端主机的传输层在收到 UDP数据报后不需要给出任何确认。虽然UDP 不提供可靠交付,但在某些情况下UDP却是一种 最有效的工作方式。
序号 | 应用 | 应用层协议 | 对应的传输层协议 |
1 | 万维网 | HTTP(超文本 传输 协议) | TCP |
2 | 文件传送 | FTP(文件 传输 协议) | |
3 | 电子邮件 | SMTP(简单 邮件 传输 协议) | |
4 | 远程 登录 | TELNET(远程 终端 协议) | |
5 | 安全的远程登录 | SSH(安全 外壳 协议) |
序号 | 应用 | 应用层协议 | 对应的传输层协议 |
1 | 名字转换 | DNS(域名 系统) | UDP |
2 | 文件传送 | TFTP(简单 文件 传输 协议) | |
3 | 路由选择协议 | RIP(路由 信息 协议) | |
4 | IP地址配置 | DHCP(动态 主机 设置 协议) | |
5 | 网络管理 | SNMP(简单 网络 管理 协议) | |
6 | 远程文件服务器 | NFS(网络 文件 系统) | |
7 | IP电话 | 专用协议 | |
8 | 流式多媒体通信 | 专用协议 | |
9 | 多播 | IGMP(网际 组管理 协议) |
序号 | 对比项 | TCP | UDP |
1 | 可靠性 | 可靠 | 不可靠 |
2 | 连接性 | 面向 连接 | 无连接 |
3 | 报文(Message) | 面向 字节流(Byte Stream) | 面向 报文 (Message)(保留报文的边界) |
4 | 效率 | 传输 效率低 | 传输 效率高 |
5 | 双工性 | 全双工 | 一对一、一对多、多对一,多对多 |
6 | 流量控制 | 有(滑动窗口) | 无 |
7 | 拥塞控制 | 有(慢开始、拥塞[se]避免、快重传、快恢复) | 无 |
8 | 传输速度 | 慢 | 快 |
9 | 应用场合 | (1)对效率要求相对低,但对准确性要求相对高的场景 (2)有连接的场景 | 对效率要求相对高,但对准确性要求相对低的场景 |
10 | 应用实例 | TCP一般用于: (1)文件传输(FTP,HTTP 对数据的准确性要求高,速度可以相对慢); (2)发送或接收邮件(SMTP,POP3,IMAP 对数据准确性要求高,非紧急应用); (3)远程登录(SSH,TELNET 对数据准确性有一定要求,有连接概念)等等 | UDP一般用于: (1)即时通信(QQ聊天,对数据准确性和丢包要求比较低,但速度必须快); (2)在线视频(RTSP 速度一定要快,保证视频连续,但是偶尔花了一个图像帧,人们还是能接受的) (3)网络语音电话(VoIP 语音数据包一般比较小,需要高速发送,偶尔断音或串音也没有问题)等等 |