点击上方蓝字
关注大侠之运维
后台回复99.99% 获取运维干货物
TCP (Transmission Control Protocol) 和 UDP (User Datagram Protocol) 是两种不同的网络传输协议。
TCP是一种面向连接的协议,它在传输数据之前会建立一条专用的通信连接。这意味着在数据传输过程中,两台计算机之间会有一条稳定的数据传输通道。因此,TCP可以保证数据传输的可靠性,但会带来一定的延迟。
UDP是一种无连接的协议,它不会建立专用的通信连接。每个数据包都是独立的,可以直接传输。因此,UDP的传输速度比TCP快,但不能保证数据传输的可靠性。
一般来说,如果数据传输的可靠性要求很高,建议使用TCP协议;如果对传输速度要求较高,可以使用UDP协议。

♦️
TCP通信原理
TCP(Transmission Control Protocol,传输控制协议)是一种传输层协议,它主要负责点对点的数据传输。TCP 主要特点是面向连接的,也就是说,在数据传输之前,它需要先建立一个连接。连接建立之后,两端计算机就可以相互发送数据。
在建立连接时,TCP 会按照三次握手的方式建立连接,这是为了确保两端计算机都准备好接收数据。连接建立之后,两端计算机就可以相互发送数据。
在数据传输过程中,TCP 会对数据进行分段,然后将每个分段的数据打上序号,并在数据传输完成后确认接收。这样可以保证数据传输的可靠性,如果数据在传输过程中丢失,就可以重新传输。
TCP 的可靠性是通过滑动窗口协议来实现的。在传输数据之前,发送端会设定一个窗口大小,表示最多可以发送多少数据。接收端在收到数据之后,会发送一个确认信息告诉发送端已经收到了多少数据。发送端收到确认信息后,就可以继续发送数据了。如果发送端在规定时间内没有收到确认信息,就会重新发送数据。这样就可以保证数据的可靠传输。
三次握手介绍:
客户端发送 SYN 包给服务端,表示客户端想要建立连接。
服务端收到 SYN 包之后,会回复 SYN+ACK 包,表示服务端已经收到客户端的请求,并准备好接受数据。
客户端收到 SYN+ACK 包之后,会回复 ACK 包,表示客户端已经收到服务端的回应,并准备好发送数据。

这样,客户端和服务端就成功建立了连接。如果在这个过程中,任意一方没有收到对方的应答,就会再次发送数据,直到收到对方的应答为止。这就是 TCP 的可靠性所在。
♦️
UDP通信原理
UDP(User Datagram Protocol,用户数据报协议)是一种面向无连接的网络协议,它不像 TCP(Transmission Control Protocol,传输控制协议)那样进行三次握手建立连接,而是直接发送数据包。这使得 UDP 在发送数据方面更快,但是也带来了更多的不确定性,因为数据包可能会丢失、重复或乱序。
UDP 使用 IP 地址来标识源主机和目的主机,并使用端口号来标识应用程序。这使得一台主机可以同时运行多个应用程序,并且各个应用程序之间可以通过端口号区分。
UDP 使用数据报形式发送数据,每个数据报的大小最大可达 64 KB。由于没有连接的建立和维护,UDP 可以将小型数据包发送到任何地方。
UDP 通常用于需要高速传输的应用,例如视频会议、在线游戏、实时数据传输等。它还可以用于测试网络性能,因为发送的数据包可能会丢失或重复。
利用udp协议收集日志实践:
elk8.0部署文档(rsyslog+kafka+logstash+elasticsearch+kibana))
配置日志收集服务器,并安装 syslog-ng 或者 rsyslog 等日志收集软件。
在服务器上配置接收日志的监听端口。
在每台需要发送日志的主机上配置发送日志的 syslog 客户端,将日志发送到日志收集服务器的监听端口。
日志收集服务器接收到日志后,将日志记录到文件中或者发送到其他日志分析系统进行分析。

在使用 UDP 协议收集日志时,要注意以下几点:
UDP 协议是不可靠协议,有可能会丢失数据,所以不适合收集重要的日志。
日志收集服务器的网络带宽应该足够大,否则可能会丢失数据。
在服务器上配置 syslog 时,需要注意安全性问题,防止未授权的主机发送数据到日志收集服务器。

👆点击查看更多内容👆
推荐阅读
记得星标记一下,下次更容易找到我





