Нi!看RFC1889的 61 页
关于您的问题:“是如何选择 seq 号的”
当设备发送会话的第一个 RTP 数据包时,seq 编号必须是随机的,以使对加密的已知明文攻击更加困难,在下一个数据包中,seq 只是递增
“B 第一个问题就在这里”,没有问题,A 告诉 B,A 已收到最后一个 B 数据包的 ack(即 seq 23)
“现在 B 用 ack:24 确认 A seq:24 ???”,是的 ;-),B 向 A 确认,通过发送 ack 24 收到了 seq 24
添加:
有最新版本的增强型内部网关路由协议 draft-savage-eigrp-02:
The following sequence number rules must be met for the reliable
EIGRP protocol to work correctly:
o A sender of a packet includes its global sequence number
in the sequence number field of the fixed header. The
sender includes the receivers sequence number in the
acknowledgment number field of the fixed header.
o Any packets that do not require acknowledgment must be
sent with a sequence number of 0.
o Any packet that has an acknowledgment number of zero (0)
indicates that sender is not expecting to explicitly
acknowledging delivery. Otherwise, it is acknowledging
a single packet.
o Packets that are network layer multicast must contain
acknowledgment number of 0.
但是,在 rfc 中,没有关于第一个 seq 编号的信息,所以我已经在硬件上进行了测试。正如我所看到的,seq 编号从 1 开始(不是随机的,就像在 RTP 中一样)。有趣的是,看起来,seq 号将递增,直到我们重新启动设备或重新启动 eigrp 进程(“no router eigrp”)。"clear ip eigrp nei" wasnt drop seq num to zero, hm