6月14日计算机网络学习笔记
一、运输层概述
运输层位于网络层之上,是计算机网络体系结构中的关键层次。它主要负责为两台主机上的应用程序提供端到端的通信服务,确保数据可靠、有序地在进程之间传输。
二、运输层的功能
多路复用与分用 :允许多个应用程序同时使用网络进行通信。在发送端,把来自不同应用层的应用进程的数据组合起来,通过一个运输层的连接发送;在接收端,将收到的数据进行分离,将它们分别交付给对应的应用进程。如常见的端口号就用于标识不同的应用进程。
端到端通信 :建立在端到端的两个主机之间,独立于网络层的逻辑通信。它关注的是进程到进程的数据传输,不关心具体的网络细节,为应用层提供了一个可靠的通信环境。
差错控制与流量控制 :通过差错控制机制,如校验和、重传请求等方式,确保接收方收到的数据与发送方发送的数据一致;流量控制则是为了协调发送方和接收方的数据传输速率,防止接收方因来不及处理数据而导致缓冲区溢出等问题。
三、运输层的协议
TCP(传输控制协议)
特点 :
是一种面向连接的协议,在正式通信前需要建立可靠的连接,通信结束后要释放连接。
提供可靠的数据传输服务,采用确认、重传和排序等机制,确保数据能够准确无误地从发送方传输到接收方。
支持字节流服务,将数据看作无结构的字节流进行传输,接收方按顺序接收这些字节。
工作原理 :
三次握手 :用于建立可靠的TCP连接。首先,客户端发送一个SYN标志位为1的TCP段给服务器端,请求建立连接;服务器端收到后,回复一个SYN和ACK标志位都为1的TCP段;最后,客户端发送一个ACK标志位为1的TCP段给服务器端,完成连接建立。
数据传输 :在连接建立后,数据按顺序进行传输。发送方对发送的数据进行编号,接收方收到数据后发送确认信息,若发送方在一定时间内未收到确认信息,则重发数据。
四次挥手 :用于释放TCP连接。当通信双方都完成数据传输后,双方都需要发送一个FIN标志位为1的TCP段来表示自己已经没有数据要发送,然后接收方分别回复ACK标志位为1的TCP段来确认,这样才能彻底关闭连接。
适用场景 :适用于对数据传输可靠性和准确性的要求较高的应用,如文件传输、电子邮件、网页浏览等。
UDP(用户数据报协议)
特点 :
是一种无连接的协议,发送数据前不需要建立连接,发送端只需将数据报连同目的地址一并发送给UDP,由UDP负责将数据报发送出去,接收端的UDP收到数据报后将其交付给应用进程。
提供不可靠的数据传输服务,不保证数据能够准确无误地到达接收方,也不能保证数据的顺序,但它的实时性较好,传输速度相对较快。
支持简单的事务处理应用,每个UDP报文都被单独处理,没有复杂的连接建立和释放过程。
工作原理 :UDP数据报的格式比较简单,主要包括源端口号、目的端口号、长度和校验和等字段。发送方将应用层的数据加上UDP首部后,交给网络层进行发送;接收方收到UDP数据报后,根据目的端口号将数据报交给对应的应用进程,并进行校验和等操作。
适用场景 :适用于对实时性要求较高,但对数据传输可靠性要求相对不那么严格的应用,如视频直播、在线游戏、语音通话等。
四、运输层的服务模型
面向连接服务 :类似于打电话,需要先建立连接,通信结束后再释放连接。在通信过程中,双方按照一定的顺序发送和接收数据,能够保证数据的可靠传输。TCP协议就属于这种服务模型。
无连接服务 :类似于寄信,发送方直接将数据报发送出去,不需要事先建立连接。接收方收到数据报后,根据数据报中的信息进行处理。这种服务模型的实时性较好,但不能保证数据的可靠性和顺序性。UDP协议就属于这种服务模型。
浙公网安备 33010602011771号