0%

《计算机网络》UDP 协议

UDP 协议

UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。位于传输层,与 TCP 同级。

UDP 报文格式

UDP 报文格式很简单,因为它不保证可靠传输,没有更多特性,功能没有那么复杂。

UDP

  • 源端口:源端口号。在需要对方回信时选用。不需要时可用全 0。
  • 目的端口:目的端口号。这在终点交付报文时必须要使用到。
  • 长度:UDP 用户数据报的长度,其最小值是 8(仅有首部)。
  • 校验和:检测 UDP 用户数据报在传输中是否有错。有错就丢弃。

UDP 工作原理

UDP 是无连接不可靠的协议,数据传输效率高于 TCP,适用于报文偶尔丢失也不影响程序状态,对实时性要求高的场景,比如网络直播,包被丢弃并不影响直播体验,除非丢包率非常高,就会导致直播卡顿,影响体验。

Socket 是什么

Socket 中文叫套接字,它不是一个协议,只是一个抽象层,它实现并抽象了 TCP、UDP 协议,便于上层应用通过 Listen、Write、Read、Accept 等接口操作网络数据。

通俗的讲就是一个三方库

socket

SYN 攻击

SYN 洪泛攻击的基础是依靠 TCP 建立连接时三次握手的设计。与前面讲的 ICMP 洪水攻击一样,也属于 DDOS 攻击的一种。

在所有黑客攻击事件中,SYN 攻击是最常见又最容易被利用的一种攻击手法。2000 年 YAHOO 网站遭受的攻击事例,当时黑客利用的就是简单而有效的 SYN 攻击,有些网络蠕虫病毒配合 SYN 攻击造成更大的破坏

A 向 B 发送大量伪造源 IP 的 syn 请求,B 接收到连接请求,将此信息加入未连接队列,并发送 syn ack 请求包给伪造的不存在的 IP 属主,此时进入 SYN_RECV 状态,由于属主是不存在的,B 需要不断的重发直至超时,这些伪造的 SYN 包将长时间占用未连接队列,正常的 SYN 请求被丢弃,导致 B 运行缓慢,引起系统瘫痪

相关防护

跟防护 ICMP 洪水攻击类似。

另外可以缩短超时时间减轻伤害。增加最大半连接数也可以缓减压力。

源码学习

hping 是 C 写的,可以去研究源码 https://github.com/antirez/hping




微信关注我,及时接收最新技术文章