1、端对端通信

传输层是TCP/IP网络体系结构中至关重要的一层,它的主要作用就是保证端对端数据传输的可靠性。在IP互联网中,传输控制协议(TCP)和用户数据报协议(UDP)是传输层最重要的两种协议,它们为上层用户提供不同级别的通信可靠性。
一个具有两台主机和一台路由器的互联网。由于主机需要进行端对端的通信控制,因此主机A和主机B都需要安装传输层软件,但中间的路由器并不需要。从传输层的角度看,整个互联网是一个通信系统,这个系统能够接收和传递传输层的数据而不会改变和干预这些数据。
7--TCP与UDP - 图1

2、传输控制协议TCP

TCP可以提供面向连接的、可靠的(没有数据重复或丢失)、全双工的数据流传输服务。它允许两个应用程序建立一个连接,然后发送数据并终止连接。每一TCP连接可靠地建立与关闭,保证数据在连接关闭之前被可靠地投递到目的地。
在通信系统中,数据的丢失可能是经常发生的。通常发送方利用重发技术补偿数据报的丢失,当然,这种技术需要通信双发的共同参与。
7--TCP与UDP - 图2
为确保连接建立和终止的可靠性,TCP使用了三次握手法。所谓三次握手法就是在连接建立和终止过程中通信的双方需要交换三个报文。可以证明,在数据报丢失、重复和延迟的情况下,三次握手法是保证连接无二义性的充要条件。
TCP连接的正常建立过程:
7--TCP与UDP - 图3
在应用程序利用TCP协议传输数据之前,首先需要建立一条到达目的主机的TCP连接。TCP协议将一个TCP连接两端的端点叫做端口。
7--TCP与UDP - 图4
在TCP的所有端口中,有些端口被指派给一些常用的应用程序,这些默认端口在编写其他应用程序时应尽量避免使用。
7--TCP与UDP - 图5

3、用户数据报协议UDP

用户数据报协议UDP提供了面向非连接的、不可靠的传输服务。
UDP既不使用确认信息对数据的到达进行确认,也不对收到的数据进行排序。因此利用UDP协议传送的数据有可能会岀现丢失、重复或乱序现象。
UDP协议的最大优点是运行的高效性和实现的简单性。
7--TCP与UDP - 图6
注:
53端口,域名服务器,DNS
DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议。