http://entry.hit.edu.tw/~bd92044/014.htm
轉自以上網址
TCP/IP 與 OSI 網路七層協定:
根據上面說明的網路資料運作的流程方式,我們就不難知道,想要進行網路的傳輸,就必須要有硬體,
而且還需要其他網路相關功能的運作之後,才能夠連上 Internet 。
然而您必須要瞭解的是,網路相關的硬體開發商可不是只有一家啊,
並且,可以運作的作業系統也不是只有一種啊!
如果大家都獨自玩自己的網路架構,
那麼可能就會造成 W 牌的作業系統與 L 牌的作業系統之間資料無法進行傳輸的問題啦!
那不就傷腦筋了~呵呵!是啊!
所以,為了規範所有的硬體開發商開發出來的產品是可以互容的,
也為了讓不同的作業平台都可以兼容於 Internet 的傳輸方式,
因此大家所發展的軟硬體就得要符合 TCP/IP 這個協定啊!
其實現今網路的原型最早是在大約 1970 年代的美國政府委託
Advanced Research Project Agency (ARPA) 所發展的 ARPANET 網路架構,
後來該網路架構經過各大專院校、研究人員的採用,並且將之用於 Unix 系統上。
因為這個架構相當的具有實用性,尤其是他的設計是公開的,並非專屬於某個私有單位,
所以就有越來越多的單位投入 TCP/IP 的使用之中。
關於 TCP/IP 的種種技術文件,是由 Internet Network Information Center (INTERNIC)
所統一整理與維護的,
至於 TCP/IP 的標準則主要以 Request For Comment (RFC) 技術報告的形式公開,
您可以在ftp://nic.merit.edu/internet/documents/rfc/下載所有的 RFC 文件喔!
TCP/IP 的全名是 Transmission Control Protocol / Internet Protocol (TCP/IP) ,
可以分為兩部分來說明,亦即 TCP 與 IP ,IP 的工作是在網路層,
這個就是我們常常看到的四組 0-255 的十進位數字並以小數點『.』隔開的數據,
例如 192.168.100.100 這樣的組合,就構成了 IP 。
要在網際網路上面將資料由這部電腦傳輸到另一部電腦,就得需要 IP 到 IP 的傳輸了。
至於 TCP 則更為複雜,上面說的由 IP 傳送到另一個 IP 就是透過 TCP 協定的參與了!
關於 TCP/IP 我們將在後面的章節更詳細的說明。
除了 TCP/IP 這個基礎協定之外,為了讓所有的軟硬體開發者都能夠基於同一基準,
因此就有 OSI ( Reference Model for Open System Interconnetction ) 的產生了。
說起來, OSI 只是一個模式 (model) ,他並沒有硬性的規範軟硬體一定要如何如何,
而是提出一個指引的依據而已!
這個 OSI 將整個網路運作由最底層的實體層到最上層的資料應用層共分為七大部分,
所以我們一般通稱為 OSI 七層協定,
分別規定最底層的實體層到最上層的資料應用層所需要符合的相關依據。如下所示:
圖一、OSI 網路七層協定 並且,在這七層協定當中,又粗分為兩大群組,
一個用在網路的基礎(硬體協定與網路位址)方面,主要規定了硬體與網路的最底層相關協定;
另一個則是與使用者比較有關的協定,使用者與軟體開發者可以這些協定來設計自己的應用程式
!大致上就如同底下說的:
- **網路基礎:**實體層、資料連接層、網路層
- 使用者方面:
- 傳輸、會談、表現及應用層我們可以簡單的用下表來稍微瞭解一下所謂的 OSI 七層協定
- 分別負責什麼?表一、OSI 七層協定內每層負責的工作
-
OSI 七層協定的名稱 該層負責的工作 實體層 既然網路工作實際的運作者是電子訊號以及傳遞電子訊號的硬體設備,<br><br><br>那麼所有的網路媒體就必須要理解相關的電子訊號了!<br><br><br>當然這些硬體配備就需要進行規範,好讓所有的媒體都能夠具有理解電壓、波長、<br><br><br>以及不同網路線規格的相關規範。所以這個層級就規範了包括各個網路媒體之定義、還有網路的連接型態,<br><br><br>例如 ethernet 網路卡還有 RJ-45 網路線等等。<br><br><br>當然啦,如果您有興趣想要發展網路媒體硬體的話,<br><br><br>那麼您的硬體就需要符合這個層級的規定啦!<br><br><br>不然做出來的硬體可就無法與其他的規格品溝通囉! 資料連接層 由於傳送資料的網路媒體是以是電子訊號進行傳送,所以我們的資料要使用這樣的訊號傳送時,<br><br>就需要制訂各種網路型態的框包(Frame)了,才能確保資料可以在不同的網路媒體進行傳送的動作。<br><br><br>所以,在這一層當中就制訂了 frame 的格式以及通過網路的方式。 <br><br> <br><br>事實上,每個 frame 都會具有一個 Media Access Control (MAC, 共有 6 bytes 的位址) 的位址,這個位址是來自於網路媒體,簡單的來說,就是網路卡的卡號啦!<br><br><br>每一張網路卡在出廠的時候就已經具有一個獨特而且不會重複的卡號,<br><br><br>那就是 MAC (一般也會稱為 Hardware Address, 硬體位址),而 frame 要傳送的來源與目的地,<br><br><br>就是依據這個 MAC 來進行傳送的。至於傳送過程當中的框包遺失、重新發送框包、<br><br><br>封包的確認等等,也都是在這個層級當中被定義的吶! <br><br> <br><br>在這個層級當中,有個重要的協定,那就是 Address Resolution Protocol (ARP) ,<br><br><br>這個 ARP 協定主要就是用來對應 MAC 與 IP 的重要工作喔!後續我們會仔細的說明。 網路層 剛剛我們在上面提到的 TCP/IP 協定當中,那個 IP 就是網路層這個層級的重要內容了。網路層的主要功能就是要讓封包 (packet) 可以在不同的網路之間進行傳遞!請注意,實際上在進行電子訊號傳遞的是較底層的 MAC 與 frame ,而這個網路層的 packet 則是用來處理網路定址的。 <br><br> <br><br>在這個 packet 被發送之前,在發送端的電腦會為這個封包建立表頭(header),Header 裡面的資訊包含了來源與目的端的位址,還有資料傳送的方法與流程等,以作為這個 packet 在網路或者是子網路之間進行路由 ( route )的依據。我們常常在設定的網路 IP 以及 route table 都是這一層的規定喔。 傳送層 就像我們要寄信時一樣,總是得把資料放入信封再封起來吧。這個傳送層的工作之一就是將電腦資料『打包』成為封包(packet)的狀態,以提供網路層去進行表頭的建立!在這個層級當中,同時會設定控制節點之間的資料傳遞以及錯誤檢測和修正的方法。 <br><br> <br><br>由於物理機制上的限制,所以在一次資料的傳遞中,通常只有數千 byte 的資料量。為了確保不論多大或者多小的資料都可以正確的到達目的地,因此資料就會在這個層級當中被打包,如果資料太大,就會被拆成數個小封包來傳送,並且同時利用一個檢測的手段來使資料正確的到達目的地。而如果資料封包有破損,也能夠進行重新發送的工作。 會談層 在這個層級當中,定義了兩個位址之間的通道連接與掛斷,也就是電腦與電腦之間的溝通模式。舉例來說, Client 為節點 A 而 Server 為節點 B,那麼當資料要在 A 與 B 之間進行傳送時,兩部電腦會先進行會談,以確認是否可以進行傳送的動作。會談的過程如下:<ol><br><li><span>當節點 A 要對 B 要求建立連線時,A 會先發出『連線請求』的訊息封包,該訊息上面帶有 SYN 的符號;</span></li><li><span>節點 B 收到訊息之後,如果確定接受 A 的連線要求,那麼就會回應一個『確認請求』的訊息封包給 A ,該訊息上面則帶有 SYN/ACK 符號;</span></li><li><span>然後節點 A 再度回應給 B 一個『確認連線』的訊息封包,帶有 ACK 的符號,這個時候就進入了資料傳送的階段了!</span></li><li><span>當節點 A 資料傳送完畢之後, A 會發送一個『終止連線』的訊息封包,則在得到 B 回應的『確認終止』訊息之後,就結束了該次連線!</span></li></ol><br>上面即是有名的『三向交握, Three-Way Handshack』的工作原理啦!那就是在這一層裡面達成的哩!所以我們可以說,在會談層裡面可以提供穩定的可靠的連線渠道! 表現層 我們在應用程式上面所製作出來的資料格式不一定符合網路傳輸的標準編碼格式的!所以,在這個層級當中,主要的動作就是:將來自本地端應用程式的資料格式轉換(或者是重新編碼)成為網路的標準格式,然後再交給底下傳送層等的協定來進行處理。當然啦,如果是來自遠端的資料,那麼這個層級也會將網路的標準編碼轉換成為應用程式所需的格式,再交給應用程式處理。也就是說,這個層級當中定義了數據的語法以及格式,當應用程式的語法與格式不符時,還可以進行翻譯(重新編碼)的工作。 應用層 表現層的工作是將來自應用程式的資料轉成網路傳輸的標準格式,至於應用層則是完全與應用程式有關。 - 由上面的說明,我們不難理解 OSI 七層協定當中,每一層之間是具有相關性的,並且底層要完備之後,才有辦法進行上一層的工作。例如要進行 IP 的設定來說好了,如果沒有網路介面,怎麼進行 IP 的設定?而如果都沒有網路媒體了,怎麼進行資料傳送?!另外,在每一層的協定中,都僅與該層相對應。目前到這裡先說個簡單的概念,後續請您繼續看完之後,就能大略的瞭解了! 在下一節裡面,我們將針對 OSI 七層協定裡面的每一層進行說明,以讓大家更容易瞭解整個網路的架構喔!資料來源:http://linux.vbird.org/linux_server/0110network_basic.php#IP_component
msecn=微軟網際網路使用者訊息管理程式 妨害書信秘密罪 (刑法)