執行環境(EE)在協議棧中的定位
前面提到,執行環境應當在協議棧中相對較低的層次上實現。在設計時,涉及到對具體層次的選擇,選擇的基本原則是包處理的效率以及通用性。基于此,執行環境大致應該在網絡層或傳輸層實現。由于傳輸層常用的有TCP/UDP兩種不同的協議,在該層實現EE必須針對TCP、UDP分別實現,而且傳輸層的效率也相對較低,因而不在傳輸層實現。
重點考慮以下3個選擇:
(1) 設備驅動(device driver)層;
(2) 設備通用接口函數(generic device functions)層;
(3) IP層。若在設備驅動層實現,雖然可以得到更高的效率,但是需要修改(hacking)標準的設備驅動,而且對不同的網絡設備無法做到統一通用的實現。設備通用接口函數層具有對所有的網絡設備統一通用的實現,而且效率也相對較高;但它也有一點不足之處:需要直接修改操作系統的核心代碼,將很難實現前面提到的運行時擴展接口,而且可移植性也較差。本文決定在IP層實現執行環境。一方面,它的效率和設備通用接口函數層幾乎相當;另一方面,在該層次可以較為方便的實現運行時擴展接口,而且該接口具有較好的易用性。
實用網絡中主動網執行環境的設計及實現
評論