為了減少網(wǎng)絡(luò)協(xié)議設(shè)計(jì)的復(fù)雜性,網(wǎng)絡(luò)設(shè)計(jì)者并不是設(shè)計(jì)一個(gè)單一、巨大的協(xié)議來為所有形式的通信規(guī)定完整的細(xì)節(jié)
而是采用把通信問題劃分為許多個(gè)小問題,然后為每個(gè)小問題設(shè)計(jì)一個(gè)單獨(dú)的協(xié)議的方法,這樣做使得每個(gè)協(xié)議的設(shè)計(jì)、分析、編碼和測試都比較容易
分層模型(layering model)是一種用于開發(fā)網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)方法。本質(zhì)上,分層模型描述了把通信問題分為幾個(gè)小問題(稱為層次)的方法,每個(gè)小問題對應(yīng)于一層。
網(wǎng)絡(luò)中同等層之間的通信規(guī)則就是該層使用的協(xié)議,如有關(guān)第N層的通信規(guī)則的集合,就是第N層的協(xié)議。
而同一計(jì)算機(jī)的不同功能層之間的通信規(guī)則稱為接口( i n t e r f a c e),在第N層和第(N+ 1)層之間的接口稱為N /(N+ 1)層接口。
總的來說,協(xié)議是不同機(jī)器同等層之間的通信約定,而接口是同一機(jī)器相鄰層之間的通信約定。
分層優(yōu)勢:
各層之間是獨(dú)立的。下層對于上層而言是個(gè)黑匣子,上層不需要知道下層是如何實(shí)現(xiàn)的,只需要知道下層提供什么功能怎么使用功能。
靈活性好。當(dāng)任何一層發(fā)生變化時(shí),只要層間接口保持不變,則其它層不受影響。
結(jié)構(gòu)上可分割開。各層都可以采用最合適的技術(shù)來實(shí)現(xiàn)。
易于實(shí)現(xiàn)和維護(hù)。使得實(shí)現(xiàn)和調(diào)試一個(gè)龐大而又復(fù)雜的系統(tǒng)變得易于處理。
能促進(jìn)標(biāo)準(zhǔn)化工作。因?yàn)槊恳粚拥墓δ芗捌渌峁┑姆?wù)都已有了精確的說明。
通常各層需要完成的功能包括以下一種或幾種任務(wù):
差錯(cuò)控制:使得通信更加可靠
流量控制:發(fā)送速率和接收速率基本同步
分段和重裝:將數(shù)據(jù)分組發(fā)送,接收端再還原
復(fù)用和分用:復(fù)用底層連接,在接收端再進(jìn)行分用
連接建立和釋放:邏輯連接的建立和釋放