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