大家每天在上網,瀏覽網頁、聊及時通、msn、收發email、下載mp3...等等之動作,看起來似乎很簡單,只要在滑鼠上點一點,鍵盤上敲一敲,就可以出現自己想要的資訊。然而,這小小的動作,卻是必須經過七層通訊協定才能完成訊息的傳送。這七層是哪七層呢??請讓小弟來為大家介紹。
我們在網頁上所做的動作(例如:接收網頁、收發email,等等之類)都被我們的電腦切割成一塊一塊的封包,然後由網路傳送出去!!
但是接收的電腦要怎麼知道我們所傳送的封包是什麼東西呢??所以國際標準組織(International Organization for Standard , ISO)做了一套網路通訊機制,大家都詢這套機制運作的話,可以確保網路的效率。
接下來,介紹Internet protocol stack是哪七層。
最高的一層,也就是第七層,與我們最接近。他叫做應用程式層(application layer),在這一層提供了一套機制,使得應用程式知道怎麼把封包裡面的訊息表達給我們知道。讓所有的應用程式都知道該怎麼切割封包,該怎麼傳送封包,該怎麼解讀封包。
假設現在我們在yahoo的網頁上輸入了一個keyword要做搜尋,我們的瀏覽器(瀏覽器也算是一種application)便把我們所輸入的keyword往下一層丟。那下一層是什麼呢??
下一層就是第六層,叫做表達層(presentation layer),這一層所提供的機制是讓資料的呈現方式有一套統一的規則。這層接收到剛剛所搜尋的keyword以後,會依照所訂定的機制把keyword切割成一小塊一小塊的封包,再往下一層丟。
接下來,封包被丟到第五層,會議層(session layer),這一層就好像是聯合國,所有的應用程式在開會一樣,誰的封包要先傳送,誰的封包要先被解讀,各個應用程式的協議都在這邊達成。達成了以後,由這一層來把封包往下一層丟。
接著來到第四層,傳輸層(transport layer),這裡就好比一個港口,封包在此進進出出,由於網路頻寬是有限的,所以就必須由這層來安排傳送的順序以及接收、處理由伺服器傳送過來的封包。
好,那麼封包傳出去了,要傳到哪??當然是傳到網路上拉!!那麼假設傳出去了,誰知道要接收呢??這時就必須由第三層(網路層,network layer)來判斷,這好比郵局在分類信件一樣,網路層閱讀了封包上的目的地地址以後,便把封包朝著該方向丟出。
但是沒有溝通管道,要怎麼傳輸呢??好比你雖然有交通工具、有目的地地址,但是沒有馬路,難道要用瞬間移動的嗎??當然不可能。所以就必須先與目的地伺服器建立連線。由誰來負責這個動作呢??就是由第二層,資料鏈結層(link layer)來負責。此層會先與對方伺服器建立一條連線,確認對方伺服器有回應了,在來做資料的傳輸。
假設連線建立了,那麼封包要怎麼由電腦傳出去呢??這時就是透過我們常常摸到的一個硬體,也就是最後一層,實體層(physical layer)來傳輸,什麼是實體層??就是網路卡拉!!網路卡聽過吧??沒聽過網路卡也該看過網路卡走路吧??阿...我在說什麼阿...錯了錯了!!太可怕了!!網路卡會走路...應該是說最後就是由網路卡把我們的封包透過網路線傳送到網際網路上。網路卡就好像一個加油站一樣,把油加滿了以後,封包就朝著目的地出發了。
寫到這邊,小弟只是把網路的傳出做了一半的解釋。另外一半是什麼呢??另外一半就是伺服器端的接收拉!!至於接收方法呢,並不是由第七層開始接收歐~~是由第一層。接著在一層一層的往上處理。而伺服器端的訊號傳送到我們這邊以後,也是由我們這邊的第一層(網路層)接收,接著由第二層、第三層、...、第七層,這樣一層一層的傳送,最後才把訊息顯示在螢幕上,讓我們看到!!
寫到這邊,由衷的佩服制定這套機制的人,把網路機制訂的這麼完美,讓我們現在可以在網路上通行無阻。這篇文章,希望可以讓大家對網路的傳輸有了最基本的了解。等小弟期中考完,在來發表其他網路通訊的文章^^
以上文章由 數位男女-風雲人物 製作,如需轉載,請先告知並且註明出處,謝謝!!