就是愛分享
柯博文是在某大學推廣教育部上職訓課程的學生,當進入教室坐定之後打開電腦,第一件事就是執行即時通,看看有誰在線上,給他登登登一下,順便清除一些垃圾信,接著繼續邊吃剛買的早餐邊打開瀏覽器到壹頻果網路、中時電子報、聯合新聞網看新聞,等看完也差不多快要上課了。趕快打開自己的部落格,看一下有沒有人留言,然後開始將練習好的作業貼上去,並美化版面。

在瀏覽網頁的過程當中,雖然大多都在短時間就打開了,但期間所傳輸的資料和訊號,都是花了許多技術和硬體以確保完整的傳達,就像某快遞公司的廣告口號:使命必達。

首先題外話對於誰是世界上第一台電腦,一般公認是1946年2月在費城首次公開的ENIAC(Electronic Numerical Integrator and Computer)。不過最近一場曠日持久的官司卻由ABC(Atanasoff-Berry Computer)這台電子電腦取而代之,他是由愛荷華州立大學的約翰•文森特•阿塔納索夫(John Vincent Atanasoff)和他的研究生克利福特•貝瑞(Clifford Berry)在1937年至1941年間所開發出來的。

到了1977年,蘋果電腦發表個人電腦Apple II。1981年,IBM發表開放架構的個人電腦IBM PC,使個人電腦在家庭和商業開始廣泛的使用。

其實人們很早就在思考如何將電腦之間和周邊設備連接起來分享資料和資源,於是乎在1968年夏威夷大學將歐胡島的IBM 360,利用無線電系統與分散在各離島和海域船隻上的讀卡機及終端機,形成ALOHA無線電網路系統。

不過一般還是以1969年美國國防部在加州大學洛杉磯分校(UCLA)、加州大學聖塔芭芭拉分校(UCSB)、史丹佛研究所和猶他大學等四地設立的ARPAnet實驗網路(為Internet網路的前身),作為現代網路的起源。

1972年7月Bob Metcalfe在全錄(Xerox PARC)工作,他將公司的多台ALOT個人電腦連接到EARS雷射印表機上,並將其稱為ALOT ALOHA網路,這個是世界上第一個為個人電腦所準備的區域網路(LAN,Local Area Network)。在1973年5月22日開始運作,當天Robert Metcalfe宣稱將其改名為「乙太網路」(Ethernet)。後來在1979年,Metcalfe離開PARC,成立3Com,一家電腦網路設備的製造商。

到了1970年代末期,已有各自不同的區域網路技術誕生,例如Datapoint的ARCnet網路。不過乙太網路後來是使用者最多的一種,主要是因為容易架設與維護,便宜的器材設備,以及簡單的工作原理。但更重要的是Robert Metcalfe執意將乙太網路推展成業界標準,而不是某個廠商的專屬技術。1981年6月IEEE(Institute of Electrical and Electronic Engineers)協會的802專案委員會決定由委員會內的802.3小組,以DIX(DEC、Intel與Xerox)聯盟制定的乙太網路規格為基礎開發了802.3標準。1989年ISO(International Organization for Standard)組織將其納入IS88023標準後等於是得到了國際性的認可。

另一方面,1983年1月1日,在網際網路的前身(ARPA網)中,TCP/IP協定取代了舊的網路核心協定(NCP,Network Core Protocol),從而成為今天的網際網路的基石。最早的TCP/IP由文頓‧瑟夫(Vinton Cerf)和羅伯特‧卡恩(Robert E. Kahn)兩位開發,慢慢地通過競爭戰勝了其他一些網路協定的方案,比如國際標準化組織ISO的OSI參考模型。

TCP/IP協定採用四層(layer)架構,具有簡單、易於實作、效率等特性。而OSI ( Open System Interconnection ; 開放系統互連架構 ) 則分為7層,是由ISO和 ITU所創建的網路架構標準,其目的是提供資料網路的標準以促使多廠牌之間的設備得以互相溝通。OSI與TCP/IP對應關係如下:



就表面上來看,如果在家裡想要瀏覽某個學校的網頁時,如果是中華電信Hinet非固定制,第一次要先設定PPPoE連線,輸入個人帳號和密碼建立網路連線捷徑,以後只要執行該捷徑即可,ISP會分配一組浮動IP;或者在無線AP設定剛才的帳密,以後直接打開瀏覽器就可以輸入網址了。

而如果是固定制的話,因為是固定IP,所以不需要進行網路撥號連線動作就可以上網,同時若有需要也可以架設開放給網路上其他人使用或瀏覽的伺服器。

接著透過個人電腦的網路卡、網路線、數據機,以及中華電信的電話線路連上網際網路,經過該學校的校園主幹網路和區域網路(路由器、防火牆、交換器、光纖等硬體設備和傳輸媒介),找到了可能位於某個機房的網頁伺服器,最後將網頁的內容按照最佳的路徑再回傳到家裡的個人電腦(如圖例)。



而整個過程,就是透過OSI的七層通訊協定將家裡的個人電腦和學校的網頁伺服器建立溝通。為了要讓資料封包由來源向前行進到目的地,來源處的OSI模型各層必須與目的地的相對各層溝通,這種形式的溝通稱為對等式通訊(peer-to-peer)。在這種通訊過程中,各層協定在雙方對等層間交換的資訊,稱為協定資料單元(PDU)。

來源電腦上各層的通訊,是以各層特定的協定資料單元來進行通訊,而目的地電腦上的相對層相互通訊,資料在網路上是先在來源電腦上進行封裝,然後再傳送至目的地。

OSI模型的每一層透過封裝作業將上一層的協定資料單元放入資料欄位中,然後加入本層所需的表頭和尾標來執行功能。當資料向下移動穿透OSI模型各層時,會加上層所需的表頭和尾標。在第7、第6,及第5各層加入此種資訊後,第4層會加入更多資訊。這個資料群組,也就是第4層的協定資料單元,稱為區段。

實體層:主要讓資料透過實體的傳輸媒介傳送。該層設備分為被動式和主動式,被動式設備不需要電源供應,例如插座、連接器、接頭、連接纜線、實體媒體;主動式設備則需要電源,例如中繼器(Repeater)、集線器(Hub)、收發器(Transceiver)、數據機(Modem)等。

實體層將資料連結訊框編碼(Encoding)成一連串的1和0(位元),並轉成電或光的訊號,以供在第1層媒體(通常是電線)進行傳輸,同時檢查訊號必須同步,考慮訊號衰減等問題,最後提供服務給資料連結層。



資料連結層:提供連線實體(纜線與介面裝置)一個可靠的資料傳輸方法。該層設備包括網路卡、橋接器(Bridge)和交換器(Switch)。交換器會根據MAC位址來判斷訊框該往何處送,並會將所收到的資料送到連接目的地主機的連接埠,不會打擾其他不相干的連接埠。

資料連結層將網路層資訊封裝入訊框(第2層PDU)中;訊框表頭包括要完成資料連結功能的資訊(例如實體位址)。資料連結層透過將網路層資訊封裝入訊框的方式,提供服務給網路層,IP資料元會被封裝入訊框中,包括IP表頭的資料元會被當成資料。

在資料到達目的地之後,資料連結層會檢查訊框收件欄的實體位址,並進行資料錯誤檢查,以確保資料在傳輸過程中沒有發生錯誤。收件位址和資料檢查沒有錯誤的話,就褪去訊框,把第3層的協定資料單元往上送給第3層。



網路層:透過路徑選擇、交換路由訊息和定址作業,來達到連接不同網路之間傳送與傳遞封包的任務,若找不到目的地IP位址,就會將封包丟棄。該層設備主要有路由器(Router),另外現在已經有L3的交換器(又稱為IP Switch或Switch Router),透過專屬的ASIC晶片來解析第三層表頭(如IP Header)以達到傳送目的,因此通常可以提高到每秒百萬封包的效能以及數十個高速乙太網路連接埠之容量。L3 Switch的路由表可以對VLAN做更有效的管制,讓廣播封包不會無限制的傳送。

網路層的任務是在互連網路間移動資料。透過封裝資料,並附加表頭,建立第3層的資料封包(第3層PDU)來完成作業。表頭中包括完成傳輸所需的資訊,例如來源和目的地的邏輯位址。

第3層在檢查目的地的邏輯位址無誤之後,就會褪去第3層的表頭,把第4層的協定資料單元往上送給第4層。



傳輸層:負責將資料流從來源傳輸到目的地,並加以調整控制,使資料的傳輸精確可靠。傳輸層在TCP/IP通訊協定中,分為TCP和UDP兩種協定,其中UDP對於傳送來的資料單元不做確認,因此不保證資料的正確性,所以可靠性由應用層協定負責,包括TFTP、SNMP、DHCP、DNS等協定。

第4層會根據序號重組資料,如果沒有缺失,就把資料送給上層;如果有丟失,就發送訊號要求對方重送。



交談層:負責建立、管理以及終止兩個通訊主機之間的連線對話(傳輸模式有單工、半雙工、全雙工)。該層也利用檢查點(Checkpoint)來分隔對話,以便有條理地依序起始、終止、暫時中斷和恢復通訊。

第5層會根據服務點的號碼,向上分別傳送資料給所需的接收點,確保上層可以同時進行不同的連線交談而不會紊亂。



表現層:提供相同的資料格式,以確保發送端送出資訊可由接收端讀取。該層也提供三項主要功能,格式化(Formatting)、加密(Encryption)與壓縮(Compression)。

第6層會對壓縮的資料進行解壓縮,對加密的資料進行解密處理,然後比對資料格式,必要時翻譯成第7層所需的格式,以便呈現原文原貌,假如雙方的第6層無法溝通,就無法呈現網頁的內容。



應用層:最後該層提供常見的網路應用服務給應用程序介面,例如使用HTTP提供網頁瀏覽器解讀網頁內容的資料,將HTML所規定的網頁面貌呈現在電腦螢幕上。
0 Responses