TCP/IP协议网络编程魔法IT共论

TCP/IP之传输层

2016-11-08  本文已影响595人  我系哆啦

传输层的作用

按照OSI参考模型的划分,传输层负责管理两个节点之间的数据传输。更具体的,网络层能够根据IP地址,将数据发送到指定的目标主机,而传输层则需要将数据发送到更为具体的某一个具体的应用程序。
传输层中有两个非常具有代表性的传输层协议,他们分别是TCP和UDP。TCP是面向连接的,负责可靠的通信传输,而UDP则是不具有可靠性的,常被用于广播和细节控制交给应用的通信传输。

端口号

数据链路和IP中的地址,分别指的是MAC地址和IP地址,前者用来识别同一链路中不同的计算机,后者用来识别TCP/IP网络中互连的主机和路由器。在传输层中,也有类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序,因此,它也被称为程序地址。

根据端口号识别应用 识别通信

UDP

UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。因此,UDP不提供拥塞控制,丢包重发,顺序控制等功能,但能够简单高效的发送数据,通常用于以下几方面:

TCP

相对于UDP的面向无连接快速简单高效,TCP则是一种面向连接的,具备顺序控制、重发控制、拥塞管理等机制的可靠的通信传输协议。
TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。

序列号与确认应答 重发超时的确认 TCP的连接与断开 TCP以段为单位发送数据 TCP窗口 IMG_5674.PNG Paste_Image.png 流控制 拥塞控制

TCP和UDP首部的格式

UDP首部格式

如图所示:UDP首部由源端口号,目标端口,包长和校验组成。

TCP首部格式

TCP首部主要包括源端口号,目标端口号,序列号,确认应答号,数据偏移,控制位,窗口大小,校验和等字段组成,但没有表示包长度和数据长度的字段。可由IP层获知TCP的包长,由TCP的包长可知数据的长度。

上一篇 下一篇

猜你喜欢

热点阅读