Linux网络基础:UDP、TCP、ARP与路由详解
1. UDP头部解析
UDP头部的前两个字段是源端口号和目的端口号,这与TCP端口号在概念上是相同的,在 tcpdump 输出中,它们的显示方式也类似。例如,使用命令 tcpdump -nn -t port 53 进行DNS查询,将 www.example.com 解析为IP地址,输出如下:
192.168.1.1.1096 > 192.168.1.8.53: 25851+ A? www.example.com. (31)
从输出中可以看出,该UDP数据包的源端口是1096,目的端口是53,行的其余部分是人类可读形式的DNS请求。UDP头部的下一个字段是数据包的长度, tcpdump 不会显示此信息。最后一个字段是UDP校验和,用于验证数据是否完整到达目的地,如果校验和损坏, tcpdump 会提示。
2. 完整的TCP连接
TCP支持连接的概念,每个连接都需要经过一系列步骤来建立和关闭。下面以一个简单的HTTP请求为例,使用 tcpdump -nn -t port 80 命令查看完整过程。
2.1 打开连接:三次握手
TCP在打开每个连接时都会进行三次握手,让双方能够交换状态信息并确认数据的接收。
- 第一次握手 :客户端向服务器发送一个TCP数据包,设置TCP标志为SYN,序
超级会员免费看
订阅专栏 解锁全文
1188

被折叠的 条评论
为什么被折叠?



