天天看點

linux tcp設定多點傳播位址多用戶端檔案傳輸,TCP多點傳播初始化僅

多點傳送TCP與TCP規範不相容。 RFC 1122 section 4.2.3.10說:

A TCP implementation MUST reject as an error a local OPEN call for an invalid remote IP address (e.g., a broadcast or multicast address).

An incoming SYN with an invalid source address must be ignored either by TCP or by the IP layer (see Section 3.2.1.3).

A TCP implementation MUST silently discard an incoming SYN segment that is addressed to a broadcast or multicast address.

的基本問題是,SYN-ACK應答的源位址必須與原始SYN資料包的目标位址相比對 - 這是回答如何與原來的連接配接請求比對(除了将目标位址與原始源位址比對以及比對端口号)。但為了在握手後切換到單點傳播,您需要知道伺服器的真實位址。

你可以,我想,增強協定來添加一個包含這個位址的TCP選項。或者你可以說,當SYN被發送到一個多點傳播組時,比對的源位址在比對時被忽略 - 這意味着端口号本身可以唯一地定義多點傳播連接配接請求。如果你對此感興趣,也許你應該為它寫一個規範,并将它送出給IETF作為協定增強。

但是已經有一些協定用于查找網絡上的伺服器,比如Bonjour。伺服器也可以在DNS或Active Directory中列出。你的想法聽起來不像是它完成了任何尚不可用的事情。