網(wǎng)絡(luò )安全的需求
據統計,2000年企業(yè)及政府部門(mén)遭受駭客(Hacker)攻擊的概率高達85%,而網(wǎng)絡(luò )安全的漏洞不是防堵駭客入侵就解決了,其它像遭窺探者竊取機密性數據,或是心懷不滿(mǎn)的員工蓄意破壞系統內重要檔案,警覺(jué)性不足的員工外泄重要密碼、不小心由Email引入計算機病毒等,都是威脅網(wǎng)絡(luò )安全的幾個(gè)危險因子。
為了讓區域內網(wǎng)絡(luò )維持安全運作,建立一套安全防護網(wǎng)才是根本解決之道,較完整的防衛機制大概分為三大類(lèi):
(一)Network Security (網(wǎng)絡(luò )安全)
(Firewalls, Intrusion detection system, Intrusion
prevention System, Wireless security, Mail security,
E-commerce security,
Load balancer /High Availability)
(二)Content Filtering (內容過(guò)濾)
(Antivirus, Internet /Web / URL filters, Spam
filtering,
Content security)
(三)Encryption (加密)
(Virtual Private Network, Public Key Infrastructure
Certification Architecture,
三種市場(chǎng)應用各有不同的系統規格需求,VPN 的系統需將訊息全數打亂再丟到網(wǎng)絡(luò )上,透過(guò)加密機制在公開(kāi)的網(wǎng)絡(luò )里建立起加密通道(Encrypted
Tunnel),接收端再解密取得真實(shí)訊息,在浩瀚的因特網(wǎng)內建立起安全私密的虛擬局域網(wǎng)絡(luò );Firewall則像大樓管理員,檢查來(lái)訪(fǎng)封包的通行許可證,包含檢查封包的來(lái)源、目的地、連接埠等字段,但是防火墻并沒(méi)有辦法擋掉所有的入侵者,此時(shí)就須要另一道防線(xiàn)IDS;IDS
就像網(wǎng)絡(luò )上的監控攝影機,可以分析流經(jīng)的封包數據,偵測未經(jīng)授權的行為,IDS大致區分為「網(wǎng)絡(luò )系統」跟「主機系統」兩類(lèi)。基本上IDS需求的系統處理能力可以涵蓋VPN及Firewall的需求.
入侵偵測系統的應用
防火墻與IDP的差異在于, 防火墻僅能就網(wǎng)絡(luò )封包做到2到4層的檢測,就來(lái)源地址/端口號以及目的地址/服務(wù)進(jìn)行控管;而IDP可以做到4到7層(也就是應用層)的檢測,因此IDP可以發(fā)覺(jué)包藏在應用層里的惡意攻擊碼(譬如蠕蟲(chóng)攻擊、緩沖溢位攻擊便藏匿于此),并予以狙擊。IDP內建龐大的攻擊特征數據庫,可以有效阻絕已知的攻擊;IDP也透過(guò)「異常協(xié)議偵測」的方式,實(shí)時(shí)檢查并將不符合RFC規范的網(wǎng)絡(luò )封包丟棄。所以在「攻擊防御」方面,IDP遠勝于防火墻之上。
由于IDP一般僅能就IP以及IP群組決定封包放行權限,所以在「資源存取權限管理」方面,防火墻較優(yōu)于IDP。然而,防火墻并無(wú)法有效管控企業(yè)內部使用者使用P2P、實(shí)時(shí)通訊(Instant
Messenger、Yahoo Messenger)等軟件、也無(wú)法杜絕利用Web-Mail或者Web-Post等方式將機密外泄,這些問(wèn)題需要能監控4到7層的IDP設備才能控管。目前已經(jīng)有少部分的IDP產(chǎn)品采用IXP2xxx芯片利用其「深層檢測」的優(yōu)勢,有效地解決上述問(wèn)題。
IDP可以防止蠕蟲(chóng)由外入侵至企業(yè)網(wǎng)絡(luò )內部,而如果防火墻要防止蠕蟲(chóng)攻擊,僅能消極地關(guān)閉某些Port。但一般的檔案型病毒,則不在IDP及防火墻的防護范圍內。因此資安的最后一層防護網(wǎng)便是在使用者端安裝防毒軟件。
各項資安產(chǎn)品皆有其擅長(cháng)與不足之處,因此建議企業(yè)資安負責人員深入了解以及比較這些資安產(chǎn)品的差異,并依據企業(yè)的實(shí)際需要充分搭配使用,加強資安防護網(wǎng)的縱深,以確保企業(yè)的網(wǎng)絡(luò )安全。
后面我們就以較復雜的IDS為例做IXP-2400的應用說(shuō)明。
網(wǎng)絡(luò )處理器的時(shí)代已經(jīng)來(lái)臨,它可有效解決網(wǎng)絡(luò )交通擁塞的問(wèn)題,也可處理復雜的封包運算。不論如何,Inetel
IXA架構已經(jīng)正確的跨出第一步,接下來(lái)就須要更多的平臺設計者投入開(kāi)發(fā)工作,以及更多的應用開(kāi)發(fā)者投入資源,發(fā)展軟件程序,逐步建立完整的可攜式Microblocks。網(wǎng)絡(luò )興起、頻寬加速拓展,使整個(gè)網(wǎng)絡(luò )通訊的市場(chǎng)板塊不斷的在調整、挪動(dòng),凌華科技與Intel合作,共同推廣IXP-2XXX網(wǎng)絡(luò )處理器的應用,針對網(wǎng)絡(luò )安全其中封包處理過(guò)程以下進(jìn)一步來(lái)討論。
何謂封包與功能:
在網(wǎng)絡(luò )安全論述中,所有傳輸動(dòng)作是經(jīng)由封包完成的, 封包就很像我們在郵寄信件的時(shí)候那個(gè)郵件的模樣了!信紙內容總是得放入信封吧?而信封上面會(huì )寫(xiě)上發(fā)信人住址,受收信人住址與姓名.
所以,一封郵件主要會(huì )有兩個(gè)部分,分別是:『信封表面的信息部分、與信封內部的信件內容!』。同樣的,網(wǎng)絡(luò )的信息封包主要也是分為兩個(gè)部分,一個(gè)是表頭
( Header ) 的部分,另一個(gè)則是內容 ( messages ) 的部分!而一個(gè)封包要傳送到哪里去,都是通過(guò)
Header 的訊息部分進(jìn)行分析而傳送的!那么 Header 有哪些重要的信息呢?主要就如同上面提到的,至少會(huì )有來(lái)源與目標
IP 、來(lái)源與目標 Port等等!封包是怎么在兩部主機之間進(jìn)行傳送的呢?事實(shí)上,封包的傳送是相當復雜的,而且封包的狀態(tài)不同
(TCP/UDP) 也會(huì )有不一樣的傳送機制。這里舉一個(gè)『相對比較可靠的封包傳送方式』來(lái)介紹。如下圖所示:
 |
較可靠的封包傳送狀態(tài) |
當發(fā)送封包者發(fā)送出一個(gè)封包給接受者后,接受者在『正確的接到』這個(gè)封包之后,會(huì )回復一個(gè)響應封包
( Acknowledgment ) 給發(fā)送者,告訴他接受者已經(jīng)收到了!當發(fā)送端收到這個(gè)響應封包后,才會(huì )繼續發(fā)送下一個(gè)封包出去,否則就會(huì )將剛剛的封包重新發(fā)送一次!這種封包的傳遞方式因為考慮到對方接到的封包的狀態(tài),所以算是比較可靠的一種方式。目前因特網(wǎng)上面常見(jiàn)的封包是
TCP 與 UDP ,其中 TCP 的聯(lián)機方式中,會(huì )考慮到較多的參數,他是一種聯(lián)機模式(Connection
Oriented)的可靠傳輸,至于 UDP 則省略了響應封包的步驟,所以是一種非聯(lián)機導向的非可靠傳輸。在一個(gè)
TCP 封包的傳送過(guò)程中,因為至少需要傳送與響應等封包來(lái)確定傳送出去的數據沒(méi)有問(wèn)題,所以他是相當可靠的一種傳輸方式,不過(guò)就是傳輸與響應之間的時(shí)間可能會(huì )拖比較久一點(diǎn)。至于
UDP 封包就因為少了那個(gè)確認的動(dòng)作,所以雖然他是較不可靠一點(diǎn),但是速度上就比 TCP 封包要來(lái)的快!底下我們將繼續介紹
TCP, UDP 以及 ICMP 等封包信息的內容. TCP 與 UDP 封包的建立是有差異存在的!針對TCP封包Header的內容作個(gè)簡(jiǎn)單的介紹!
TCP 封包的 Header 內容主要如下:
 |
TCP 封包的 Header 信息 |
Source
Port & Destination Port ( 來(lái)源端口口 & 目標端口口
):來(lái)源與目標的端口,這個(gè)容易了解吧!上面剛剛提過(guò)那個(gè)埠口的觀(guān)念。再次的強調一下,小于
1024 以下的 Port 只有 root 身份才能啟用,至于一般 Client 發(fā)起的聯(lián)機,通常是使用大于
1024 以上的埠口!
Sequence
Number ( 封包序號 ):在OSI 七層協(xié)定里面提到過(guò),由于種種的限制,所以一次傳送的封包大小大約僅有數千
bytes ,但是我們的資料可能大于這個(gè)封包所允許的最大容量,所以就得將我們的數據拆成數個(gè)封包來(lái)進(jìn)行傳送到目的地主機的動(dòng)作。那么對方主機怎么知道這些封包是有關(guān)連性的呢?就得通過(guò)這個(gè)
Sequence Number 來(lái)輔助了。當發(fā)送端要發(fā)送封包時(shí),會(huì )為這個(gè)封包設定一個(gè)序號,然后再依據要傳送的數據長(cháng)度,依序的增加序號。也就是說(shuō),我們可以使用遞增的值來(lái)替下一個(gè)封包作為它序號的設定!
Acknowledgment
Number ( 回應序號 ) :封包傳輸過(guò)程中,我們知道在接受端接收了封包之后,會(huì )響應發(fā)送端一個(gè)響應封包,那個(gè)響應的信息就是在這里。當接收端收到
TCP 封包并且通過(guò)檢驗確認接收該封包后,就會(huì )依照原 TCP 封包的發(fā)送序號再加上數據長(cháng)度以產(chǎn)生一個(gè)響應的序號,而附在回應給發(fā)送端的響應封包上面,這樣發(fā)送端就可以知道接收端已經(jīng)正確的接收成功該
TCP 封包了!所以說(shuō), Sequence 與 Acknowledgment number
是 TCP 封包之所以可靠的保證!因為他可以用來(lái)檢測封包是否正確的被接受者所接收!
Data Offset (資料補償):這是用來(lái)記錄表頭長(cháng)度用的一個(gè)字段。
Reserved (保留):未使用的保留字段。
Control Flag (控制標志碼):控制標志碼在
TCP 封包的聯(lián)機過(guò)程當中,是相當重要的一個(gè)標志,先來(lái)說(shuō)一說(shuō)這六個(gè)句柄,然后再來(lái)討論吧:
* Urgent data :如果 URG 為 1 時(shí),表示這是一個(gè)緊急的封包數據,接收端應該優(yōu)先處理;
* Acknowledge field significant
:當 ACK 這個(gè) Flag 為 1 時(shí),表示這個(gè)封包的 Acknowledge Number
是有效的,也就是我們上面提到的那個(gè)回應封包。
* Push function :如果 PSH 為 1 的時(shí)候,該封包連同傳送緩沖區的其它封包應立即進(jìn)行傳送,而無(wú)需等待緩沖區滿(mǎn)了才送。接收端必須盡快將此數據交給程序處理。
* Reset :如果 RST 為 1 的時(shí)候,表示聯(lián)機會(huì )被馬上結束,而無(wú)需等待終止確認手續。
* Synchronize sequence number
:這就是 SYN 標志啦!當 SYN 為 1 時(shí),那就表示發(fā)送端要求雙方進(jìn)行同步處理,也就是要求建立聯(lián)機的意思,這個(gè)
SYN 是相當重要的一個(gè) Flag 喔!
* No more data fro sender (Finish)
:如果封包的 FIN 為 1 的時(shí)候,就表示傳送結束,然后雙方發(fā)出結束響應,進(jìn)而正式進(jìn)入 TCP
傳送的終止流程。
Window (滑動(dòng)窗口):與接收者的緩沖區大小有關(guān)的一個(gè)參數。
Checksum(確認):當數據要由發(fā)送端送出前,會(huì )進(jìn)行一個(gè)檢驗的動(dòng)作,并將該動(dòng)作的檢驗值標注在這個(gè)字段上;而接收者收到這個(gè)封包之后,會(huì )再次的對封包進(jìn)行驗證,并且比對原發(fā)送的
Checksum 值是否相符,如果相符就接受,若不符就會(huì )假設該封包已經(jīng)損毀,進(jìn)而要求對方重新發(fā)送此封包!
Urgent Pointer:指示緊急數據所在位置的字段。
Option:當需要
client 與 Server 同步動(dòng)作的程序,例如 Telnet ,那么要處理好兩端的交互模式,就會(huì )用到這個(gè)字段來(lái)指定數據封包的大小,不過(guò),這個(gè)字段還是比較少用的!
為什么需要用到 Intel IXP-2XXX
網(wǎng)絡(luò )處理器
因特網(wǎng)、企業(yè)網(wǎng)絡(luò )等網(wǎng)絡(luò )應用的頻寬需求急劇上升,傳輸、檢查、拆解、組合、搜尋、內容比對、轉遞等IP封包運算處理動(dòng)作,以往可以靠軟件程序在一般X86微處理器上運行,搭配以網(wǎng)絡(luò )卡做封包出入口。但是近年來(lái)這些封包的運算處理越來(lái)越復雜,將數據輸入處理單元,完后再將結果送往輸出單元,慢速處理造成的時(shí)間延遲會(huì )嚴重影響到數據吞吐量,無(wú)法滿(mǎn)足Line
Rate Operation的需求。Intel 公司提供的網(wǎng)絡(luò )處理器系列產(chǎn)品專(zhuān)門(mén)用來(lái)解決這樣的問(wèn)題,IXP-4XX屬于較低階的系列,IXP-2XXX系列高階網(wǎng)絡(luò )處理器,文中將以IXP-2400處理器在凌華科技cPCI-6240系列產(chǎn)品的設計為例做說(shuō)明。
以下將先介紹IXP-2XXX處理器的功能特性,再探討處理器的平臺設計、應用開(kāi)發(fā),最后探討它在網(wǎng)絡(luò )安全領(lǐng)域的應用,以入侵偵測系統為實(shí)例做說(shuō)明。
Intel XP-2XXX系列網(wǎng)絡(luò )處理器大致包含:IXP-2400、Westport,
IXP-2800及IXP-2850,請參考表一的性能差異。除此之外,Intel并考慮比照IXP-42X系列做法,高度整合MACs等功能區塊進(jìn)來(lái),建造優(yōu)異的性?xún)r(jià)比產(chǎn)品,使這一系列處理器的應用更普及化。
 |
IXP-2XXX系列比較表 |
全系列IXP-2XXX網(wǎng)絡(luò )處理器都可拆解為『控制管道』(Control
Plane)及『數據管道』(Data Plane)兩大部分。參考圖一 IXP-2400網(wǎng)絡(luò )處理器,它內建一顆個(gè)600MHz
32-bit XScale來(lái)負責Control Plane的處理工作,XScale執行相當底層的控制工作,包括信息傳送,還有跟系統內其它處理器的溝通。Data
Plane則由內建的八顆個(gè)微處理引擎(Micro-Engine Version 2, MEv2)來(lái)做平行處理,MEv2是XScale精簡(jiǎn)下來(lái)的
(Reduced) 可程序處理器,使用者可用Micro-Code匯編語(yǔ)言或是高階Micro-C語(yǔ)言撰寫(xiě)應用程序,透過(guò)指令告訴這八顆個(gè)MEv2怎樣去處理封包運算,達到應用目的。
 |
IXP-2400的外部接口 |
圖一是IXP-2400示意圖外觀(guān),它有兩個(gè)信道的QDR
SRAM接口,存放重要的數據結構,比如:Route Tables, Free Buffer
Pools,Flow State Tables,Queue Descriptors等等重要的訊息,其中一個(gè)信道還可以接一個(gè)協(xié)處理器,做TCP/IP封包比對時(shí)的內存搜尋引擎,加速決定封包的協(xié)議屬性跟流向(Flow)。DDR
DRAM則用來(lái)儲存封包以及大量的State tables,另外C-bus接口可以連接第二個(gè)處理器,這是采用一進(jìn)一出架構的雙處理器設計時(shí)用的。
另兩個(gè)重要接口,一個(gè)是64-bit/66MHz PCI
2.2接口,作為Control Plane連通的Bus,可以透過(guò)此接口外掛控制處理器,像是PrPMC控制卡;另一個(gè)是Flash界面,是存取RedBoot韌體的通道,Redboot相當于X86系統的BIOS;媒體及切換接口(Media
and Switch Fabric Interface, MSF)是網(wǎng)絡(luò )封包進(jìn)出處理器的主要途徑,視應用可以規劃為SPI-3、CSIX或是UTOPIA
Level2接口。
圖二是IXP-2400內部示意圖,內部的SHaC
是一個(gè)多功能控制單元,內含Hash單元,可以建立48-,64-或是128-bit寬的 Hash
indices,XScale與MEv2可存取Hash來(lái)幫助Table的搜尋,特別是要搜尋的Keys很大時(shí);第二個(gè)單元是16KB的Scratch
Pad memory,這是處理器內第三個(gè)內存資源,XScale與MEv2可共同存取,三種內存資源可以讓海量存儲器存取同時(shí)間平行發(fā)生;第三個(gè)單元是Control
and Status Register (CSR),提供9顆個(gè)處理器(1 * XScale
+ 8* MEv2)互相之間溝通用途。
除此之外,還有 XScale 外圍,包含中斷控制器、Timers,
UART、GPIO等單元。在處理器內部,XScale、MEv2、DRAM Controller、SRAM
Controller、T/R-Buffer之間透過(guò) Chassis Bus,將 Data Plane
的路徑在處理器內部連通起來(lái),這些控制單元可以共享 SRAM、DRAM 等內存資源做數據交換。
 |
圖二:IXP-2400功能單元及數據信道
(取材自Intel IXA架構及應用一書(shū)) |
網(wǎng)絡(luò )處理器的『平臺設計』、『應用開(kāi)發(fā)』
(一) 平臺規劃、開(kāi)發(fā)
平臺規劃 設計IXP-2XXX平臺首先要先為產(chǎn)品做準確的定位,定義平臺最終應用、頻寬需求、封包處理效能等級。若是想一半接到ATM網(wǎng)絡(luò ),則MSF接口有一半要規劃成Utopia
Level 2接口,連接的ASIC像是Intel IXF-6012/6048 Cell/Packet
Framer;若是要直接連IP網(wǎng)絡(luò ),則MSF接口規劃成SPI-3或是CSIX,連接像Intel
IXF-1104 (Quad Giga-E MACs的ASIC);或是接FIC(Fabric
Interface Controller) 的ASIC。另外規劃時(shí)要全面考慮:Control
Plane的處理效能、是否外掛輔助處理器、開(kāi)機影像文件下載速度;Data Plane則須考慮SRAM大小、DRAM資源使用、是否須加密功能
(IXP-2850有)、是否外掛網(wǎng)絡(luò )搜尋加速器、是否外掛內容檢查加速器等、要多少個(gè)網(wǎng)絡(luò )接口。這些硬件規格要根據功能應用,做整體效能評估才行,在開(kāi)案初期要審慎評估。
平臺開(kāi)發(fā) 包括硬件、韌體(Redboot)、系統支持套件(Board
Supporting Package, BSP),BSP內含組件驅動(dòng)程序。其中硬件設計跟一般X86運算平臺沒(méi)什么兩樣,記得要預留軟件除錯端口,就像X86-CPU的
ITP Port一樣;Redboot韌體則相當于X86 BIOS,系統初始化、自我測試、Boot
Loader都包在Redboot內;Redboot及BSP可以通過(guò)Intel IXA SDK得到幫忙,建立以XScale為處理核心的操作系統平臺,最后這三大要素即可建立一個(gè)完整的網(wǎng)絡(luò )處理器平臺。
(二) 應用程序開(kāi)發(fā)
Intel 建立了IXA 軟件可攜式架構,讓今天花力氣辛辛苦苦在IXP-2400建立起來(lái)的軟件,明天在下一代IXP-2XXX仍然適用,而這個(gè)軟件架構可以簡(jiǎn)單用圖三表示。
應用程序的開(kāi)發(fā)也可以通過(guò)Intel IXA SDK得到幫忙,考慮到投資杠桿效應,Intel
IXA軟件程序架構采模塊化,SDK提供一些基本的microblocks,開(kāi)發(fā)者再開(kāi)發(fā)自有的microblocks,將這些microblocks視為基礎組件(Building
Blocks),去組合實(shí)現實(shí)際的功能應用,讓開(kāi)發(fā)者的工作簡(jiǎn)單化,也縮短TTM時(shí)間。
 |
圖三:Intel IXA 可攜式軟件架構
(取材自Intel IXA架構及應用一書(shū)) |
圖四是采用IXP-2400為核心建立的IDS系統結構圖,凌華采用IXP-2400內建的XScale去控制管理Control
Plane的組件,內建的八個(gè)MicroEngine去收送處理封包的分類(lèi)及內容比對,處理Data
Plane的運算。IXP-2400的QDR SRAM通道0也叫做LA-1(Look Aside
Interface)接口,可以選擇接市面上現有的TCAM(Ternary Content Addressable
Memory) 輔助處理器,幫忙做第三層以下封包數據搜尋比對的工作,幫IXP-2400處理器卸載(offload)一些運算負擔。
 |
圖四 IXP-2400在網(wǎng)絡(luò )安全的應用-『入侵偵測系統』方塊圖 |
 |
圖五 ADLINK cPCI-6240系列網(wǎng)絡(luò )安全平臺 |
網(wǎng)絡(luò )安全系統內最關(guān)鍵性的功能可以說(shuō)是封包表頭辨識(Classification)及內容檢查(Content
Inspection),表頭辨識系針對其流向、連結、輸入端口及目的地址等做比對;內容檢查則有復雜的算法,處理頻寬及內存容量需求極高,很顯然內容檢查即將是此系統非常嚴重的交通瓶頸所在,這個(gè)運算將耗用大量IXP-2400網(wǎng)絡(luò )處理器的運算資源。因此必須采用另一個(gè)處理器卸載此運算,有兩種方法可行,其一是如圖四:加入一顆個(gè)可程序內容檢查引擎(Programmable
CIE, Content Inspection Engine),比如IDT PAX.port
2500 CIE;或是在封包經(jīng)網(wǎng)絡(luò )處理器集結成較大封包后,進(jìn)入一張專(zhuān)屬內容檢查的高速運算服務(wù)器,比如ADLINK
cPCI-6860 Dual-Xeon Server Blade。加CIE的做法可以卸載95%
的MicroEngine資源使用量,刪除掉85%的MicroCode,同時(shí)削減75%內存頻寬使用量,成本可大大節省,TTM(Time
to Market)時(shí)間可以顯著(zhù)縮減。加一張專(zhuān)屬服務(wù)器則維持舊有軟件延續使用,節省軟件開(kāi)發(fā)的時(shí)間及人力成本,兩者各有優(yōu)點(diǎn),但是CIE是純硬件運算所以效率較好,長(cháng)期來(lái)看應會(huì )成為較受歡迎的選擇。
批注
TCP/IP
與 OSI 比較和說(shuō)明
在網(wǎng)絡(luò )世界中計算機與計算機之間是透過(guò)特種協(xié)議來(lái)傳輸和溝通, 當今此協(xié)議是以TCP/IP (Transmission
Control Protocol / Internet Protocol) 是由IETF (Internet
Society's Internet Engineering Task Force) 根據
DoD (Department Of Defense) 模型所制定的標準和 OSI (Open
System Interconnection ) 是由ISO (International
Standard Organization)所制定的標準, 下面三層偏硬件,上面三層偏軟件,中間一層偏軟件硬件間的溝通。兩種標準協(xié)議圖(一)和圖(二)來(lái)作簡(jiǎn)單說(shuō)明.
TCP/IP各層的功能如下:
網(wǎng)絡(luò )存取層 (Network Access Layer) 網(wǎng)絡(luò )存取層相當于 OSI 的實(shí)體層及數據鏈結層,主要負責網(wǎng)絡(luò )實(shí)體連接的部份。事實(shí)上,TCP/IP
并未定義這一層的協(xié)議,換言之,它可以架構在多種網(wǎng)絡(luò )存取接口上,如 Ethernet、Token-Rign、FDDI、…等,TCP/IP
只須提供這些接口的驅動(dòng)程序即可。TCP/IP的網(wǎng)絡(luò )存取層涵蓋 OSI 的數據鏈結層 (Data
Link Layer) 及實(shí)體層 (Physical Layer)。在這一層傳送的數據稱(chēng)為數據框
(Frame)。
網(wǎng)際層 (Internet Layer) 網(wǎng)際層的主要任務(wù)是連接發(fā)送端到接收端之間的中繼節點(diǎn),提供訊息送達的服務(wù),如:辨識地址、數據傳送路徑選擇、…等。網(wǎng)際層主要協(xié)議為
IP (Internet Protocol),及 ARP (Address Resolution
Protocol)、RARP (Reverse Address Resolution Protocol)、ICMP
(Internet Control Message Protocol) 等協(xié)定。TCP/IP
的網(wǎng)際層相當于 OSI 的網(wǎng)絡(luò )層 (Network Layer)。在這一層傳送的數據稱(chēng)為數據包
(Datagram)。
運輸層 (Transport Layer) 運輸層又稱(chēng)為主機對主機層
(Host to Host Layer) ,任務(wù)是提供主機對主機的訊息送達服務(wù)。主要協(xié)議有
TCP (Transmission Control Protocol) 及 UDP (User
Datagram Protocol)。TCP/IP 的運輸層也相當于 OSI 的運輸層 (Transport
Layer)。在這一層傳送的數據,TCP 協(xié)議稱(chēng)為 Segment,UDP 則稱(chēng)為 Packet。
應用層 (Application Layer) 應用層的任務(wù)提供各種應用程序協(xié)議,為使用者提供服務(wù),這一層的協(xié)議相當多,著(zhù)名的應用層協(xié)議包括:TELNET、FTP、SMTP、POP3、SNMP、NNTP、DNS、NIS、NFS、HTTP、…等。TCP/IP
的應用層涵蓋 OSI 的應用層 (Application Layer)、表現層 (Presentation
Layer)、會(huì )議層 (Session Layer) 的功能,事實(shí)上 TCP/IP 并未定義
Presentation Layer 及 Session Layer 的相關(guān)協(xié)議,相關(guān)功能是由應用程序自行處理。在這一層傳送的數據,TCP
的程序稱(chēng)為 Stream,UDP 的程序則稱(chēng)為 Message。
OSI各層的功能如下:
實(shí)體層 (Physical Layer) 定義數據在線(xiàn)路上的傳輸方法。主要是負責傳送信息,并將硬設備(如網(wǎng)絡(luò )卡,傳輸
媒介)送來(lái)的訊息,轉換計算機認識的訊息,如 0, 1, ... 等。
數據鏈路層 (Data Link Layer) 定義單一傳輸在線(xiàn)點(diǎn)對點(diǎn)間之可靠性傳輸方法。將實(shí)體層傳來(lái)
0,1 訊息組成 Frame (資 料框),負責流量控制(通常接收方應比發(fā)送方快),定義 Token-Ring、Ethernet、…等。
網(wǎng)絡(luò )層 (Network Layer) 定義網(wǎng)絡(luò )上任意不相鄰兩點(diǎn)間之可靠性傳輸方法,規劃數據在網(wǎng)絡(luò )中最佳傳輸路徑,以
便將 Packet 傳送到目的地。
運輸層 (Transport Layer) 負責數據在兩點(diǎn)間傳輸之可靠性及透明性,將數據安全無(wú)誤送達目的地,尤其是來(lái)自上層的多樣傳輸的問(wèn)題。包括檢查遺失、重復封包、…。
會(huì )議層 (Session Layer) 負責兩個(gè)節點(diǎn)間的聯(lián)機之建立,管理、終止及錯誤恢復。如:所用的通訊協(xié)議,通訊模
式,如何結束通訊、…等。
表現層 (Presentation Layer)
數據格式的問(wèn)題,主要是將數據轉成計算機或系統程序看得懂的模式,如:數據壓縮/解壓 縮,資料加密/解密、…。
應用層 (Application Layer) 提供各種服務(wù),做為應用程序與網(wǎng)絡(luò )間的溝通接口。
|