TCP/IP協議介紹 TCP/IP協議基礎之二

TCP/IP的通訊協議
這部分簡要介紹一下TCP/IP的內部結構,為討論與互聯網有關的安全問題打下基礎 。TCP/IP協議組之所以流行,部分原因是因為它可以用在各種各樣的信道和底層協議(例如T1和X.25、以太網以及RS-232串行接口)之上 。確切地說,TCP/IP協議是一組包括TCP協議和IP協議,UDP(User Datagram Protocol)協議、ICMP(Internet Control Message Protocol)協議和其他一些協議的協議組 。
TCP/IP整體構架概述
TCP/IP協議并不完全符合OSI的七層參考模型 。傳統的開放式系統互連參考模型,是一種通信協議的7層抽象的參考模型,其中每一層執行某一特定任務 。該模型的目的是使各種硬件在相同的層次上相互通信 。這7層是:物理層、數據鏈路層、網路層、傳輸層、話路層、表示層和應用層 。而TCP/IP通訊協議采用了4層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求 。這4層分別為:
應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等 。
傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據并把它傳輸到下一層中,這一層負責傳送數據,并且確定數據已被送達并接收 。
互連網絡層:負責提供基本的數據封包傳送功能,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協議(IP) 。
網絡接口層:對實際的網絡媒體的治理,定義如何使用實際網絡(如Ethernet、Serial Line等)來傳送數據 。
TCP/IP中的協議
以下簡單介紹TCP/IP中的協議都具備什么樣的功能,都是如何工作的:
1. IP
網際協議IP是TCP/IP的心臟,也是網絡層中最重要的協議 。
IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,并把該數據包發送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層 。IP數據包是不可靠的,因為IP并沒有做任何事情來確認數據包是按順序發送的或者沒有被破壞 。IP數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址) 。
高層的TCP和UDP服務在接收數據包時,通常假設包中的源地址是有效的 。也可以這樣說,IP地址形成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機發送來的 。IP確認包含一個選項,叫作IP source routing,可以用來指定一條源地址和目的地址之間的直接路徑 。對于一些TCP和UDP的服務來說,使用了該選項的IP包好象是從路徑上的最后一個系統傳遞過來的,而不是來自于它的真實地點 。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連接 。那么,許多依靠IP源地址做確認的服務將產生問題并且會被非法入侵 。
2. TCP
假如IP數據包中有已經封好的TCP數據包,那么IP將把它們向‘上’傳送到TCP層 。TCP將包排序并進行錯誤檢查,同時實現虛電路間的連接 。TCP數據包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳 。
TCP將它的信息送到更高層的應用程序,例如Telnet的服務程序和客戶程序 。應用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設備驅動程序和物理介質,最后到接收方 。
面向連接的服務(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP 。DNS在某些情況下使用TCP(發送和接收域名數據庫),但使用UDP傳送有關單個主機的信息 。

推薦閱讀