目录
TCP 传输层协议
源端口 | 标识哪个应用程序发送,长度为 16 比特。 |
目的端口 | 标识哪个应用程序接收,长度为 16 比特。 |
序号 | TCP 链接中传输的数据流每个字节都编上一个序号,序号字段的值指的是本报文段所发送数据的第一个字节的序号,长度为 32 比特。 |
确认序列号 | 期望收到对方下一个报文段数据的第 1 个字节的序号,即上次已成功接收到的数据段的最后一个字节数据的序号加 1。只有 ACK 标识为 1 时此字段有效。 |
头部长度 | 指出 TCP 报文头部长度,由于首部可能含有可选项内容,因此 TCP 报头的长度是不确定的,报头不包含任何任选字段则长度为 20 字节。 |
保留字段 | 为将来定义新的用途保留,必须填 0。 |
控制位 | 包含 FIN、ACK、SYN 等标志位,代表不同状态下的 TCP 数据段。 |
窗口 | 滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。 |
校验和 | 强制性的字段,由发端计算和存储,并由收端进行验证。在计算检验和时,要包括 TCP 头部和 TCP 数据,同时在 TCP 报文段的前面加上 12 字节的伪头部。 |
紧急指针 | 只有当 URG 标志置 1 时紧急指针才有效。TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。 |
选项 | 可选字段,长度为 0 – 40 字节。 |
控制位
TCP 控制位共 6 个,每一个标志位表示一个控制功能。
- URG:紧急指针标志,为1时表示紧急指针有效,为 0 则忽略紧急指针。
- ACK:确认序号标志,为 1 时表示确认号有效,为 0 表示报文中不含确认信息,忽略确认号字段。
- PSH:push 标志,为 1 表示是带有 push 标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。
- RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。
- SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1 和 ACK=0 表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即 SYN=1 和 ACK=1。
- FIN:finish 标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。
UDP 传输层协议
源端口 | 标识哪个应用程序发送,长度为 16 比特。 |
目的端口 | 标识哪个应用程序接收,长度为 16 比特。 |
长度 | 指定 UDP 报头和数据总共占用的长度。可能的最小长度是 8 字节,因为UDP报头已经占用了 8 字节。由于这个字段的存在,UDP 报文总长不可能超过 65535 字节(包括 8 字节的报头,和 65527字节 的数据)。 |
校验和 | 覆盖 UDP 头部和 UDP 数据的校验和,长度为 16 比特。 |
ARP 地址解析协议
ARP 是根据 IP 地址获取数据链路层地址的一个 TCP/IP 协议,作用是将已知的 IP 地址解析获得其对应的 MAC 地址。
ARP 的作用
- 将 IP 地址解析为 MAC 地址;
- 维护 IP 地址与 MAC 地址的映射关系的缓存,即 ARP 表项;
- 实现网段内重复 IP 地址的检测。
ICMP 协议
ICMP 是 TCP/IP 协议簇的核心协议之一,它用于在 IP 网络设备之间发送控制报文,传递差错、控制、查询等信息。
ICMP 的一个典型应用是 Ping。Ping 是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在 Ping 命令中指定不同参数,如 ICMP 报文长度、发送的 ICMP 报文个数、等待回复响应的超时时间等,设备根据配置的参数来构造并发送 ICMP 报文,进行 Ping 测试。
[RTA]ping 10.0.0.2 PING 10.0.0.2 : 56 data bytes, press CTRL_C to break Reply from 10.0.0.2 : bytes=56 Sequence=1 ttl=255 time=340 ms Reply from 10.0.0.2 : bytes=56 Sequence=2 ttl=255 time=10 ms Reply from 10.0.0.2 : bytes=56 Sequence=3 ttl=255 time=30 ms Reply from 10.0.0.2 : bytes=56 Sequence=4 ttl=255 time=30 ms Reply from 10.0.0.2 : bytes=56 Sequence=5 ttl=255 time=30 ms --- 10.0.0.2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 10/88/340 ms
ICMP 的另一个典型应用是 Tracert,Tracert 基于报文头中的 TTL 值来逐跳跟踪报文的转发路径。Tracert 是检测网络丢包及时延的有效手段,同时可以帮助管理员发现网络中的路由环路。
<RTA>tracert 30.0.0.2 Tracert to 30.0.0.2(30.0.0.2), max hops:30, packet length:40, press CTRL_C to break 1 10.0.0.2 130 ms 50 ms 40 ms 2 20.0.0.2 80 ms 60 ms 80 ms 3 30.0.0.2 80 ms 60 ms 70 ms
本文为原创文章,著作权归作者所有:来自「KOBIN 技术随笔」作者的原创作品,转载请标明出处。
「HCIA 数通」3、常用协议
https://blog.kobin.cn/notes/1156.html
「HCIA 数通」3、常用协议
https://blog.kobin.cn/notes/1156.html