关于TCP/UDP协议的理解

协议简介:

协议对于网络安全管理有非常重要的意义,它可以用于检测病毒的存在,发现病毒,阻止病毒。比如防火墙,防火墙就是通过检测网络数据包,来判断是否违反了事先设定好的规则,从而达到对网络安全进行管理的目的。

网络七层协议:

所以网络七层协议(OSI)便成为开放性的通信系统互连参考模型,因为它是一个定义得非常好的协议规范。但是它为什么被称作七层协议呢?主要是因为OSI模型是一个七层结构,每层都可以有几个子层。OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层。如下图:
 

关于TCP/UDP协议的理解

TCP/UDP协议:

而TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议就是属于其中的传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗的来讲,TCP就是在主机A与主机B进行数据发送之前,为其提前开辟一条数据传输的道路,再发送数据,因此TCP协议保证了传输过程中的准确性,不容易出错;而UDP则不为IP提供可靠性、流控或差错恢复功能。通俗的来讲,UDP不会提前开辟一条数据传输的通道,主机A直接把数据传输给主机B一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

连接的具体过程:

面向连接的TCP协议:
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP协议的连接需要3个步骤:首先主机A向主机B发送连接请求的数据包,请求向其传输数据,然后主机B向主机A发送同意连接,并要求与主机A同步(同步是指两台主机,一个在发送,一个在接受,协调工作)的数据包,最后主机A再发一个确认与主机B同步的数据包,这样就形成了相当于开辟了一条通道,然后主机A就可以向主机B发送数据啦。所以TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。同时我们可以观察到当主机A向主机B传输6367个数据包时,主机B作为数据接受方,仍要发送3456个数据包。如下图:

关于TCP/UDP协议的理解

 面向非连接的UDP协议:
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!就是说主机A不管主机B处于什么状态,也不提前告诉B要传输数据给它,就直接发送数据给主机B。因此UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。同时我们可以观察到,当主机A向主机B传输4个数据包时,主机B就会接受4个数据包。如下图:

关于TCP/UDP协议的理解

TCP/UDP协议的区别:

TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。TCP协议和UDP协议之间的差别如附表所示。

 

本文原文地址:https://blog.csdn.net/qq_44026235/article/details/84929430