一千萬個為什麽

搜索

EIGRP RTP seq/ack編號

博客文章討論了EIGRP中的RTP。我的問題是如何選擇seq號碼以及為什麽在發送新數據包時設備應該提到最後一個數據包的seq號碼?例如

A-----seq:23 ack:0 ---->B
A<----seq:23 ack:23---- B

到目前為止沒問題,它說實際上我收到了seq:23並且我承認23。

A-----seq:24 ack:23---->B

第一個問題在這裏,為什麽A應該在它的數據包中放置ack:23?我的意思是它應該為零,因為A沒有收到seq的確認:24?

A<----seq:24  ack:24-----B

現在B承認A seq:24與ack:24?請參考上面的鏈接,我有點困惑。

最佳答案

Нi! Look at 61 page of RFC1889

關於你的問題: “是如何選擇seq數”

當設備發送會話的第一個RTP數據包時,seq號必須是隨機的,以使加密的已知明文攻擊更加困難,在下一個數據包中seq只是增量

“B第一個問題在這裏”,沒有問題,A告訴B,A收到了最後一個B包的確認(這是seq 23)

“現在B承認A seq:24與ack:24 ???”,是的;-),B向A承認,seq 24已收到,發送確認24

添加:

最新版本的增強的內部網關路由協議 草案 - 野蠻 - 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數字從1開始(不是隨機的,就像在RTP中一樣)。並且看起來有趣的是,seq號將增加,直到我們將重新啟動設備或重新啟動eigrp進程(“no router eigrp”)。 “clear ip eigrp nei”was se drop num to zero,hm

轉載註明原文: EIGRP RTP seq/ack編號