表中是一些应用层协议和对应传输层协议。
应用 | 应用层协议 | 传输层协议 |
---|---|---|
名字转换 | DNS | UDP |
文件传送 | TFTP | UDP |
路由选择协议 | RIP | UDP |
IP地址配置 | BOOTP,DHCP | UDP |
网络管理 | SNMP | UDP |
远程文件服务器 | NFS | UDP |
IP电话 | 专用协议 | UDP |
流式多媒体通信 | 专用协议 | UDP |
电子邮件 | SMTP | TCP |
远程终端接入 | TELNET | TCP |
万维网 | HTTP | TCP |
文件传送 | FTP | TCP |
传输层的端口号可分为两大类:
- 服务器端使用的端口号。其中又分为两种,一种叫熟知端口号或系统端口号。数值为0~1023,IANA把这些端口号指派给了TCP/IP最重要的一些应用程序,让所有用户都知道。另一种叫做登记端口号,数值为1024~49151。提供给没有熟知端口号的应用使用。使用这类端口号必须在IANA按照规定的书序登记,防止重复。
- 客户端使用的端口号。数值Wie49152~65535,仅在客户进程运行时才动态选择,又叫短暂端口号。
UDP没有拥塞控制:很多实时应用要求源主机以恒定速率发送数据,并允许丢失一些数据,但不能有太大时延。UDP在网络出现拥塞时不会使源主机的发送速率降低。
UDP首部开销小,只有8字节,小于TCP的20字节。
UDP的校验和把首部和数据部分一起校验。
套接字:端口号拼接到IP地址构成套接字。
应用进程把数据交给TCP发送缓存后,就由TCP来控制具体的发送时机了,具体有三种机制:
- 只要缓存中存放的数据达到MSS字节时,就组装成一个TCP报文段发送出去;
- 使用推送操作,立刻将缓存区的数据(即使没达到MSS)发送出去;
- 发送方的一个计时器期限到了,就把缓存区的数据封装发送出去。