跨域邊界沒有回程路徑時,來源端的互動不能原封不動搬到目的端。原本由兩端共同維持的連線、請求、回覆與錯誤處理,要先在 Blue Node 結束。真正需要跨越邊界的是互動中取得的資料及其意義;資料抵達 Red Side 後,再由 Red Node 整理成目的系統可用的形式。
重點不是把協定換個名字,而是把責任拆清楚。公開的資料介面名稱,只描述 Blue Side 的來源行為與 Red Side 可用的結果,不代表跨域內部如何實作。把協定終止、資料整理、單向移動與目的端重建分開,才能避免把目的端服務誤認為原始雙向連線的延伸。
核心結論
Blue Node 負責完成來源端必要互動;Adapter 負責辨識要跨域的資料、資料邊界與語意;硬體強制單向邊界只讓資料由 Blue Side 移向 Red Side;Red Node 最後依目的端用途建立新的資料形式。四段責任彼此銜接,卻不能互相替代。
跨域邊界沒有確認訊息、握手或回程流量。這會固定資訊流方向,也移除 Red Side 沿同一路徑回報接收結果、協商狀態或要求重送的能力。因此,設計者要另外定義資料邊界、資料新舊、可接受的缺漏與重建方式;不能因為方向是單向,就認定每筆資料都已抵達。
四段責任|從來源互動到目的端表示
1. 協定終止|Blue Node 完成來源端互動
協定終止發生在 Blue Node。它依來源協定扮演合法的讀取者、接收者或互動端點,完成取得資料所需的連線、請求回覆、訂閱、檔案讀取或其他程序。來源協定需要的確認、握手與錯誤回覆都留在 Blue Side,不跨越硬體邊界。
這一段的輸出不是一條等待在 Red Side 繼續的連線,而是已被辨識的來源資料。驗收時要確認來源端互動由誰結束、錯誤如何被觀察,以及什麼條件表示一筆資料已經可以交給 Adapter。若 Blue Node 尚未取得資料,後續階段無法替它補造內容。
2. 資料適配|Adapter 整理資料與語意
資料適配會從來源互動中選出需要跨域的內容,並保留目的端理解資料所需的資訊。通常包括來源識別、資料類型、事件時間、資料邊界、格式或版本,以及用途需要的狀態欄位。Adapter 的責任是把來源協定狀態整理成明確的資料規格,不是讓來源端互動在邊界另一側繼續存在。
Adapter 也要分清楚公開介面與跨域實作。公開介面名稱描述兩側對既有系統提供的行為;跨域資料只攜帶經選定的內容與語意。不同資料介面可以有不同的分段、更新與重建需求,不能因此宣稱所有介面共用一種自訂協議。
3. 單向傳輸|跨越硬體強制單向邊界
單向傳輸只負責讓整理好的資料由 Blue Node 移向 Red Node。硬體強制單向邊界不提供 Red-to-Blue 資訊流,因此不保留來源協定的回覆路徑,也不會把 Red Side 的接收狀態送回 Blue Side。這一段固定的是方向,不是端到端互動。
方向控制也不能替代資料品質判斷。若目的端用途不能容許某些缺口、重複、亂序或過期狀態,需求必須被寫入來源採集、資料 contract、Red Side 檢查與營運程序;不能把它歸給單向邊界本身。
4. 目的端重建|Red Node 建立可用資料
目的端重建由 Red Node 讀取跨域資料,依來源識別、時間、格式與用途規則,建立目的系統可以使用的資料。結果可能是資料模型、事件、檔案、查詢結果或服務介面;具體形式由目的端需求決定,不由來源連線的形式決定。
重建成功至少要回答:資料單位是否可辨識、必要欄位是否可解析、資料屬於哪個來源與時間、過期或缺口如何呈現,以及目的系統能否完成預定工作。Red Node 可以呈現它觀察到的接收與重建狀態,但這不會把回程確認加入邊界,也不能反推 Blue Side 已知悉結果。
來源事實|方向、資料邊界與時間各有定義
NIST SP 800-82 Rev. 3 將 unidirectional gateway 說明為硬體與軟體的組合:硬體讓資料由一個網路流向另一個網路,且物理上無法把資訊送回來源網路;軟體則可在目的端複製資料庫或模擬 protocol server/device。查閱 NIST 的 unidirectional gateway 定義
這項定義把兩種責任分開。無回程的方向由硬體成立;跨域後可供目的端使用的服務或資料,則由軟體建立。來源沒有說兩側會共享原始連線,也沒有把目的端重建視為硬體方向自然附帶的結果。
IETF RFC 9622 將應用資料描述為具有邊界與 metadata 的 messages。文件說明 Message Framer 可以加入接收端辨識資料邊界所需的資訊,並負責將送出內容封裝或編碼,以及將接收內容解碼回 messages;它也指出應用層協定不一定能直接從較低層取得 message boundaries。查閱 IETF 的 Messages and Framers
IETF RFC 3339 聚焦網路協定中的事件時間,將 timestamp 定義為某一時間點的不含混表示,並以明確時區關係與固定格式降低跨系統解讀差異。查閱 IETF 的 timestamp 定義 Timestamp 能表示事件時間,卻不自行定義目的端可接受多久以前的資料。
來源建議|分開驗收六個設計問題
RFC 9622 的 framing 與 message metadata 模型顯示,資料邊界與應用語意需要被明確表達;RFC 3339 則建議用一致且不含混的時間表示支持跨系統交換。查閱 framing 指引 查閱時間表示指引 依這些來源,無回程資料路徑應把下列問題分開驗收:
| 設計問題 | 應回答的問題 | 可觀察證據 | 不能由它推定的事 |
|---|---|---|---|
| 資料邊界 | 一筆訊息、紀錄或物件從哪裡開始與結束 | 長度、分隔、類型、物件識別、格式版本與解析結果 | 目的端已正確完成用途 |
| 資料新舊 | 目的端如何判斷資料仍在用途允許的時間範圍 | 來源事件時間、採集時間、接收時間、時鐘狀態與過期門檻 | 過往資料沒有缺口 |
| 缺漏容忍度 | 此用途能接受哪些缺漏、重複、亂序或無法解析狀態 | 順序或事件時間檢查、缺口呈現、失效處理與用途驗收 | 邊界承諾補回缺少資料 |
| 目的端重建 | Red Node 如何產生目的端可使用的資料 | 格式驗證、物件建立、欄位映射、匯入或查詢結果 | 來源端互動仍在 Red Side 存續 |
| 目的端可用性 | 重建結果能否完成目的端預定工作 | 實際目的系統的查詢、顯示、關聯、告警或處理結果 | 原始連線仍然延續 |
| 單向保證 | Red Side 能否沿同一跨域路徑送回資訊 | 實體方向與架構檢查 | 逐筆送達、零資料遺失、資料必達或完整紀錄 |
資料新舊不是由邊界統一給出的一個數字。狀態型資料可以依最後來源事件時間判斷是否過期;事件型資料可能同時檢查來源時間與順序;檔案型資料則可能要等目的端物件通過格式與完整性判定後,才開放使用。RFC 3339 提供的是時間表示規則,過期門檻仍由目的端用途、風險與營運程序決定。查閱時間互通建議
可接受的資料缺漏也取決於來源與目的端用途。連續趨勢、週期快照與獨立事件,面對缺口時會有不同的失效行為。設計應記錄「缺少什麼時要如何呈現或停止使用」,而不是把單向保證寫成接收承諾。
編輯推論|用資料規格取代跨域連線假設
綜合 NIST 對硬體方向與目的端軟體的分工,以及 IETF 對資料分段、欄位資訊與時間戳記的規範,可以得到一個可測試的設計單位:跨域的是資料規格,不是原始連線。規格至少要描述來源、資料單位、格式、事件時間、更新規則、缺口處理與目的端形式;Blue Node、Adapter、單向邊界與 Red Node 再各自提供驗證證據。
這個模型也把故障責任分開。Blue Node 可能無法完成來源互動;Adapter 可能無法辨識或映射資料;單向路徑可能沒有讓某個資料單位出現在 Red Side;Red Node 可能無法解析或建立目的端表示;目的系統也可能拒絕或誤用重建結果。這些狀態都可能呈現為「目的端沒有可用資料」,但不能用同一個原因或同一項保證解釋。
目的端可用,不代表原始連線仍在延續。目的端能查詢、顯示或處理重建後資料,只證明該用途能在 Red Side 成立;這不表示原始確認、握手、連線狀態或錯誤回覆曾跨過邊界。若工作流程必須依賴跨域回覆或即時協商,就應把它視為另一種互動需求,另行評估路徑與風險。
評估清單
- 記錄 Blue Node 如何終止、讀取或接收來源協定,以及哪些來源端互動不得跨域。
- 定義 Adapter 要取得的資料、語意、資料邊界、來源識別、事件時間與格式。
- 只以公開的 Blue-to-Red 單向光纖資料傳輸描述跨域方向,不公開底層實作。
- 為每種資料用途分別定義資料邊界、更新時間、缺漏容忍度與異常呈現。
- 說明 Red Node 如何判斷資料單位並建立目的端可用形式。
- 以實際目的端工作驗證可用性,不以來源連線是否看似存在作為完成條件。
- 分別記錄單向保證、接收觀察與營運核對;不要把其中一項擴張成其他保證。
- 測試來源互動停止、資料過期、資料缺口、schema 不相容與重建失敗時,各階段如何呈現狀態。
閱讀限制
本文提供產品中立的架構分析,不指定特定來源介面、目的系統或跨域實作方式,也不新增任何支援能力。引用 NIST 與 IETF 文件,是為了保留資料方向、分段、欄位與時間表示的原始背景,不代表它們支持任何產品或部署。實際設計仍要依來源系統、目的用途、資料敏感度、故障模式與組織程序完成風險評估。
