- 網絡互聯組網配置技術
- 楊林
- 3122字
- 2018-12-27 19:26:21
2.2 協議
隨著局域網和廣域網規模不斷擴大,對不同網絡設備的性能要求越來越高,不同設備互聯、不同網絡互聯成為頭等大事。為了解決網絡之間不能兼容和不能通信的問題,20世紀80年代早期,國際標準化組織(ISO)意識到需要建立網絡模型,以幫助廠家生產出可互操作的網絡產品,商議通過了先致力于制定一套普遍適用的規范集合,以使得全球范圍的計算機平臺可進行開放式的通信。于1979年創建了一個有助于開發和理解計算機的通信模型,即開放系統互聯OSI(模型),在1984年正式發布該模型。
2.2.1 協議的概念
為了實現計算機間的相互通信,必須對整個通信過程的各個環節制定規劃或約定,包括傳送信息采用哪種數據交換方式,采用什么樣的數據格式來表示數據信息和控制信息,一旦傳輸有誤又該采用哪種差錯控制方式,收發雙方選用哪種同步方式等。這種規定通信雙方通信時所應遵循的一組規則和約定稱為協議。協議定義了網絡上的各種計算機和設備之間相互通信和進行數據管理、數據交換的整套規則。通過這些規則(約定),網絡上的計算機才有了彼此通信的共同語言。
協議既是一個整體概念,又是一個具體概念。一個具體協議包括語法、語義和定時三方面的內容。語法指定數據的格式、信號電平等,語義規定協議語法成分的含義,定時(或稱時序)則確定協議語法成分的順序和速度匹配關系。
協議的語法定義了如何進行通信的問題,即對通信雙方采用的數據格式、編碼等進行定義。例如,報文中內容的組織形式、報文中內容的順序形式都是協議的語法問題。
協議的語義解決在什么層次上定義通信,其內容是什么,即對發出的請求、執行的動作以及對方的應答做出解釋。例如,對于報文,它由什么部分組成、哪些部分用于控制數據、哪些部分是真正的通信內容。
協議的定時(或稱時序)定義了何時進行通信,先講什么,后講什么,講話的速度等。例如,是采用同步傳輸還是異步傳輸。
協議必須在解決好語法、語義和定時這三部分的問題之后,才算比較完整地構成了數據通信的語言,故又將語法、語義和定時稱為網絡三要素。
可以這樣認為,協議就是網絡的語言,只有能夠表達而且可以理解這些語言的計算機才能在網絡上與其他計算機彼此通信。正是有了協議,在網絡上的各種大小不同、結構不同、操作系統不同、處理能力不同、廠家不同的產品才能夠互相連接起來,實現相互通信,實現資源共享。從這個意義上講,協議就是網絡的本質。
2.2.2 TCP/IP
美國國防部高級研究計劃局從20世紀60年代開始致力研究不同類型計算機網絡之間的互相連接問題,并成功地開發出著名的TCP/IP(Transmission Control Protocol/Internet Protocol),它是ARPAnet網絡結構的一部分,提供了連接不同廠家計算機主機的通信協議。它主要包含了兩個協議:網際協議(IP)和傳輸控制協議(TCP)。
如今,TCP/IP已經發展成為一個完整的協議簇,它由很多協議組成,構成了一個網絡協議體系,并且得到了廣泛的應用和支持,成為事實上的國際標準和工業標準。
IP是通信子網的最高層,提供無連接的數據報傳輸機制。它的主要任務是對數據包進行尋址和路由,并從一個網絡轉發到另一個網絡中,即為要傳輸的數據分配地址、打包、確定收發端的路由,并提供端到端的數據報傳遞;還規定了計算機在Internet通信時所必須遵守的一些基本規則,以確保路由的正確選擇和報文的正確傳輸。IP本身提供的是不可靠的數據傳輸功能,并且沒有提供流量控制和差錯控制功能。
TCP是一種標準協議,提供面向連接的可靠數據傳輸服務。它通過認證方式、重傳機制等確保數據的可靠傳送。適合于每個分組僅含少量字符的交互式終端的應用,也適合大數據量的文件傳輸。
TCP是面向連接的協議,這里的“面向連接”就是在正式通信前必須與對方建立起連接。例如,你給別人打電話,必須等線路接通了,對方拿起話筒才能相互通話。它是基于連接的協議,也就是說,在正式收發數據前,必須和對方建立可靠的連接。一個TCP連接必須經過三次“對話”才能建立起來。
TCP從用戶進程接受任意長的報文,把它們分成不超過64 KB的片段,將每個片段加上編排的序號后作為獨立的TCP數據報,交給IP層進行發送。由于IP層不能保證正確可靠地傳遞數據報,因此,TCP采用超時重傳的策略,即如果在時限內未接收到應答,則重傳超時的TCP數據報。
2.2.3 TCP/IP模型
由于ISO制定的OSI參考模型過于龐大、復雜招致了許多批評。與此對照,由技術人員自己開發的TCP/IP棧獲得了更為廣泛的應用。
TCP/IP棧是美國國防部高級研究計劃局計算機網(Advanced Research Projects Agency Network,ARPANET)和其后繼因特網使用的參考模型。ARPANET是由美國國防部(U.S.Department of Defense,DoD)贊助的研究網絡。最初,它只連接了美國境內的四所大學。隨后的幾年中,它通過租用的電話線連接了數百所大學和政府部門。
TCP/IP參考模型分為4個層次:應用層、傳輸層、網際層和網絡接口層,如圖2-3所示。

圖2-3 TCP/IP參考模型層次結構
在TCP/IP參考模型中,去掉了OSI參考模型中的會話層和表示層(這兩層的功能被合并到應用層實現)。同時將OSI參考模型中的數據鏈路層和物理層合并為主機到網絡層。
網絡接口層
網絡接口層為TCP/IP協議的底層,也被稱為鏈路層或主機到網絡層。它與OSI模型的下兩層(物理層與數據鏈路層)相對應,負責把數據傳輸到網絡介質上,并從網絡介質上接收數據。這一層涉及網絡適配器(網卡)、網絡傳輸介質和下兩層用到的網絡設備。實際上TCP/IP參考模型沒有真正描述這一層的實現,只是要求能夠提供給其上層——網絡互連層一個訪問接口,以便在其上傳遞IP分組。由于這一層次未被定義,所以其具體的實現方法將隨著網絡類型的不同而不同。
網際層
網際層又稱為網絡互聯層,是整個TCP/IP協議棧的核心。它的功能是把分組發往目標網絡或主機。同時,為了盡快地發送分組,可能需要沿不同的路徑同時進行分組傳遞。因此,分組到達的順序和發送的順序可能不同,這就需要上層必須對分組進行排序。
網際層定義了分組格式和協議,即IP(Internet Protocol)。
網際層除了需要完成路由的功能外,還要完成將不同類型的網絡(異構網)互聯。除此之外,還處理網間差錯、流量控制和擁塞等問題。
傳輸層
在TCP/IP模型中,傳輸層的功能是使源端主機和目標端主機上的對等實體可以進行會話。提供在網絡結點之間的預定通信和授權的能力,并將數據上傳到應用層或下傳到網絡互聯層。此外,還指出數據所傳遞的應用程序的唯一標志符。
在傳輸層定義了兩種服務質量不同的協議。即傳輸控制協議(Transmission Control Protocol,TCP)和用戶數據報協議(User Data Protocol,UDP)。
TCP是一個面向連接的、可靠的協議。它將一臺主機發出的字節流無差錯地發往互聯網上的其他主機。在發送端,它負責把上層傳送下來的字節流分成報文段并傳遞給下層。在接收端,它負責把收到的報文進行重組后遞交給上層。同時處理端到端的流量控制,以避免緩慢接收的接收方沒有足夠的緩沖區接收發送方發送的大量數據。
TCP能為應用程序提供可靠的通信連接,使一臺計算機發出的字節流無差錯地發往網絡上的其他計算機,對可靠性要求高的數據通信系統往往使用TCP傳輸數據。
UDP是與TCP相對應的協議。它是面向非連接的協議,它不與對方建立連接,而是直接把數據包發送過去。“面向非連接”就是在正式通信前不必與對方先建立連接,不管對方狀態就直接發送。這與我們使用手機短信非常相似,在發短信的時候,只需輸入對方手機號就可以了。它是一個不可靠的、無連接的協議,主要適用于不需要對報文進行排序和流量控制的場合。
UDP是面向非連接的協議,沒有建立連接的過程。正因為UDP沒有連接的過程,所以它的通信效果高。但也正因為如此,它的可靠性不如TCP高。
應用層
TCP/IP模型將OSI參考模型中的會話層和表示層的功能合并到應用層實現。應用層向用戶提供調用和訪問網絡中各種應用程序的接口,并向用戶提供各種標準的應用程序及相應的協議。當然用戶還可以根據需要建立自己的應用程序。
應用層面向不同的網絡應用引入不同的應用層協議。其中,有基于TCP的,如文件傳輸協議(FTP)、虛擬終端協議(TELNET)、超文本鏈接協議(HTTP),也有基于UDP的。