在谢希仁老师的《计算机网络简明教程》里,运输层作为关键层次之一,需要掌握这些点:
(1)运输层为相互通信的应用进程提供逻辑通信。
(2)端口和套接字的意义。
(3)无连接的 UDP 协议的特点、首部。
(4)面向连接的 TCP 协议的特点和流程、首部。
(5)理想情况的工作流程,如何在实际中尽可能地实现(在不可靠的网络上实现可靠传输的工作设想),停止等待协议和 ARQ 协议。
(6)TCP 的滑动窗口、流量控制、拥塞控制(这是从理论构想到具体的落实的具体场景的设计)
(7)TCP 的三次握手、四次挥手。
- 运输层协议概述:
只有主机的协议栈才使用到运输层,因为需要从应用层进程获得信息或者提交给它信息,但是在传输途中的那些,路由器,是没有应用层这方面的需求,所以也就不需要使用到运输层,只是用到下面三层。运输层有一个十分显著的作用就是,分用和复用。分用就是从网络层获得数据后,它会解析并发送给对应的应用层进程,而复用是指,从应用层各个进程获得数据后,加上必要的标志信息(在首部里),发送给网络层。事实上,只有运输层才知道到底,哪一些数据对应哪一个应用进程,而下面的层并没有这种通晓全局的能力。所以通用的说法,运输层提供应用进程间的逻辑通信。
两种运输层协议
(1)用户数据报协议 UDP(user datagram protocol)
(2)传输控制协议 TCP (transmission control protocol)。
在广泛的 TCP/IP 协议里,已经认为 UDP 也是其中的一部分了。只是说这两种协议会有明显的区别。
UDP 在传送数据前,不需要建立连接,且服务器在收到 UDP 报文后,不需要给出任何确认。
TCP 则补充了这两点。在传送数据前,必须建立连接,且接收到了,要给出确认。TCP