OSI第四层,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层(通信子网:物理层、数据链路层、网络层),同时也是用户功能中的最低层;为运行在不同主机上的进程之间提供了逻辑通信
1.传输层提供应用进程之间的逻辑通信(即端到端的通信)
*对比:网络层提供主机之间的逻辑通信,主要功能是路由选择
*对比:物理层只提供在两个结点之间透明地传输比特流
2.复用和分用
(1)复用:发送方不同的应用进程都可使用同一个传输层协议传送数据。应用层所有的应用进程都可以通过传输层再传输到网络层。
(2)分用:接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。传输层从网络层收到数据后交付指明的应用进程。
3.传输层还要对收到的报文进行差错检测(首部和数据部分)
4.提供两种不同的传输协议,即面向连接的TCP和无连接的UDP
5.向高层用户屏蔽低层网络核心的细节(如网络拓扑、路由协议等),使应用进程好像在两个传输层实体之间有一条端到端的逻辑通信信道
1.端口
(1)端口可以标识主机中的应用进程
(2)让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程
(3)端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的。即端口号只标识本计算机应用层中的各个进程,且同一台计算机中TCP和UDP分别拥有自己的端口号,它们互不干扰。
(4)软件端口/逻辑端口:协议栈层间的抽象的协议端口,是应用层的各种协议进程与传输实体进行层间交互的一种地址
(5)硬件端口:不同硬件设备进行交互的接口
2.端口号
端口号长度为16bit,能表示65536个不同的端口号。
(1)服务端使用的端口号
①熟知端口号(0~1023)
为常用的应用层协议如FTP、HTTP等保留的。
协议 | 端口号 |
---|---|
FTP | 21 |
TELNET | 23 |
SMTP | 25 |
DNS | 53 |
TFTP | 69 |
HTTP | 80 |
SNMP | 161 |
②登记端口号(1024~49151)
使用这类端口号必须在IANA登记,以防止重复
(2)客户端使用的端口号(49152~65535)
又称短暂端口号/临时端口:这类端口号仅在客户进程运行时才动态地选择
通信结束后,刚用过的客户端口号就不复存在,从而这个端口号就可供其他客户进程使用
3.套接字
(1)背景
IP地址来标识和区别不同的主机
端口号来标识和区分一台主机中的不同应用进程
(2)在网络中采用发送方和接收方的套接字(Socket)组合来识别端点
套接字=(主机IP地址,端口号)
唯一地标识网络中的一台主机和其上的一个应用(进程),实际上是一个通信端点。使用IP地址和端口号能够唯一确定一个在互联网上通信的进程,其中IP地址来确定主机,端口号来确定该主机上的某进程。
1.面向连接服务:可靠+顺序交付
在通信双方进行通信之前,必须先建立连接,在通信过程中,整个连接的情况一直被实时地监控和管理;通信结束后,应该释放这个连接
2.无连接服务
两个实体之间的通信不需要先建立好连接,需要通信时,直接将信息发送到“网络”中,让该信息的传递在网上尽力而为地往目的地传送
3.TCP/IP协议族的传输协议
(1)面向连接的传输控制协议(TCP):采用TCP时,传输层向上提供的是一条全双工的可靠逻辑信道。流量控制+拥塞控制。
(2)无连接的用户数据报协议(UDP):采用UDP时,传输层向上提供的是一条不可靠的逻辑信道。既不进行流量控制,也不进行拥塞控制。因此,若用户程序使用UDP进行数据传输,则应用层协议必须承担可靠性方面的全部工作。
4.TCP/IP协议
(1)TCP提供面向连接的可靠传输服务,增加了许多开销,如确认、流量控制、计时器及连接管理等
*注:可靠指的是使用确认机制来确保传输的数据不丢失
(2)TCP主要适用于可靠性更重要的场合,如文件传输协议(FTP)、超文本传输协议(HTTP)、远程登录(TELNET)等
4.UDP协议
(1)在IP之上仅提供两个附加服务:多路复用和对数据的错误检查
(2)远程主机的传输层收到UDP报文后,不需要给出任何确认
(3)UDP简单,执行速度比较快、实时性好
(4)UDP的应用有:小文件传送协议(TFTP)、DNS、SNMP和实时传输协议(RTP)
1.IP数据报和UDP数据报的区别
IP数据报在网络层要经过路由的存储转发;UDP数据报在传输层的端到端的逻辑信道中传输,封装成IP数据报在网络层传输时,UDP数据报的信息对路由是不可见的
2.TCP和网络层虚电路的区别
(1)TCP报文段在传输层抽象的逻辑信道中传输,对路由器不可见;虚电路所经过的交换结点都必须保存虚电路状态信息
(2)网络层若采用虚电路方式,则无法提供无连接服务;而传输层采用TCP不影响网络层提供无连接服务