互聯(lián)網概述
network(網絡):由若干個結點(node)和連接這些結點的鏈路(link),我們把直接連接計算機的網絡稱為物理網絡,而且互聯(lián)網是由物理網絡集合構成的邏輯網絡。
internet(互聯(lián)網):泛指由多個計算機網絡互聯(lián)而成的網絡(即“網絡的網絡”),這些網絡之間的通信協(xié)議可以是任意的。
Internet(因特網):當前全球最大的、開放的、由眾多網絡相互連接而成的特定計算機網絡,它采用TCP/IP協(xié)議簇作為通信的規(guī)則。其基礎結構大體經歷了三個階段的演進:
因特網標準化工作:
1992年成立因特網協(xié)會ISOC對因特網進行全面管理,其中設有技術組織因特網體系結構委員會IAB負責因特網有關協(xié)議的開發(fā)。制定因特網的正式標準要經歷一下4個階段:因特網草案、建議標準(成為RFC文檔)、草案標準、因特網標準。
第一階段——從單個網絡ARPANET向互聯(lián)網發(fā)展,1969年第一個分組交換網ARPANET誕生,1983年TCP/IP協(xié)議成為ARPANET上的標準協(xié)議,標志著互聯(lián)網的誕生。
第二階段——建成了三級結構的因特網。1985年三級計算機網絡NSFNET誕生,分為主干網、地區(qū)網和校園網(或企業(yè)網),并逐漸擴大使用范圍。
第三階段——逐漸形成了多層次ISP 結構的因特網。ISP即因特網服務提供者,1993年NSFNET逐漸被若干個商用的因特網主干網替代。ISP可以從因特網管理機構申請到成塊的IP地址,同時擁有通信線路以及路由器等聯(lián)網設備。任何機構和個人只要向ISP交納規(guī)定的費用,就可以從ISP得到所需的IP地址,并通過ISP接入因特網。
用戶通過 ISP 上網
根據提供服務的覆蓋面積大小及所擁有的IP地址數目的不同,ISP也分為不同的層次。 第一層ISP被稱為因特網主干網,并直接與其他第一層ISP相連,第二層ISP和一些大公司都是第一層ISP的用戶。 第二層ISP具有區(qū)域性或國家性覆蓋規(guī)模,與少數第一層ISP相連接。 第三層ISP又被稱為本地ISP,只擁有本地范圍的網絡,一般是校園網或企業(yè)網,以及住宅用戶和無線移動用戶都是第三層ISP的用戶。
現代因特網由于規(guī)模較大難以對其結構給出細致的描述。另外,一旦某個用戶能夠接入到因特網那么他就能夠成為ISP。20世紀90年代由CERN開發(fā)的 萬維網(WWW)在因特網的廣泛使用,促使因特網用戶猛增。
基于ISP的三層結構因特網
二、因特網的組成
因特網拓撲結構十分復雜,但從功能上看,分為:
1、邊緣部分:由所有連接在因特網的主機組成,這部分是用戶直接使用的,運行各種用戶直接使用的網絡應用:電子郵件、web、網絡游戲、文件傳輸等等…,又稱為端系統(tǒng)
2、核心部分:由大量網絡和連接這些網絡的路由器組成,向網絡邊緣中的大量主機提供連通性和數據交換
因特網的組成
邊緣部分
我們說“主機A和主機B進行通信”,實際指運行在主機A的某個程序和運行在主機B的另一個程序進行通信,由于“進程”就是“運行著的程序”,因此可以說主機A的某個進程和運行在主機B的另一個進程進行通信,簡稱為“計算機之間的通信”
主機又被非正式劃分為:客戶機(Client)和服務器(Server)
網絡應用程序的工作結構可以分為:
C/S架構
C/S 架構是一種典型的兩層架構,全稱是Client/Server,即客戶端/服務器端架構。其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。
比如:微信/客戶端QQ等是基于C/S架構。B/S架構
B/S架構的全稱為Browser/Server,即瀏覽器/服務器架構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在服務器端實現,Browser客戶端,WebApp服務器端和DB端構成所謂的三層架構。B/S架構的系統(tǒng)無須特別安裝,只要有Web瀏覽器即可。
比如:IE瀏覽器/WEB端QQ等是基于B/S架構的。
注:客戶端QQ是基于C/S架構的,C-客戶端:即下載好的QQ客戶端,可以在本地處理一些自主問題而無需經過服務器的處理,S-服務器端:即你與其他人聊天時,你的聊天記錄經過服務器的指定傳送給對方,然后才能開始愉快的聊天。C/S需要用指定的工具(比如客戶端),而B/S用瀏覽器進行網頁操作就可以了,不需要下載指定登陸工具。
P2P架構
P2P是英文Peer-to-Peer(對等)的簡稱,又被稱為“點對點“。“對等”技術,是一種網絡新技術,依賴網絡中參與者的計算能力和帶寬,而不是把依賴都聚集在較少的幾臺服務器上。
P2P還是英文Point to Point (點對點)的簡稱。
它是下載術語,意思是在你自己下載的同時,自己的電腦還要繼續(xù)做主機上傳,這種下載方式,人越多速度越快但缺點是對硬盤損傷比較大(在寫的同時還要讀),還有對內存占用較多,影響整機速度。P2P架構的核心思想是每個節(jié)點既可以充當客戶端(Client),又可以充當服務器端(Server)。
比如:BT/電驢下載,非法傳播視頻的網站等,因為每個結點既是客戶端可以進行下載,又是服務器端可以繼續(xù)上傳資源以提供下載服務給其他人,所以找不到真正的Server,打擊非法網站也就難上加難了,所以P2P架構就是一種”我為人人,人人為我“的資源共享思想。如果是C/S架構,比如HTTP協(xié)議,只需單點攻擊Server,整個C/S架構就失去了最核心的服務器端部分,基于C/S架構的通信也就被攻破了。
核心部分
網絡中的核心部分要向網絡邊緣中的大量主機提供連通性和數據交換。
在網絡核心部分起特殊作用的是路由器(router)。路由器是實現分組交換(packet switching)的關鍵構件,其任務是轉發(fā)收到的分組,這是網絡核心部分最重要的功能
電路交換(circuit switching):適用于電話網,電話交換機接通電話線的方式稱為電路交換。電路交換需要經過建立連接(分配通信資源)——通話(一直占用資源)——釋放連接(歸還通信資源),將多部電話連接到交換機,然后多部交換機連接起來就組成全世界的電信網。交換機之間擁有大量活路的中繼線是許多用戶共享的,正在通話的用戶只占用了其中一個活路。
缺點:傳送計算機數據效率低
電路交換建立的電路為通信雙方獨占,計算機數據具有突發(fā)性,這導致通信線路的利用率很低。
分組交換(packet-switching):適用于計算機網絡。
在發(fā)送報文之前,在發(fā)送端,先把較長的報文劃分成較短的、固定長度的數據段。
再將控制信息作為首部加在數據前,就構成了一個分組(packet),分組又稱為“包”,而分組的首部也可稱為“包頭”包含了諸如目的地址和源地址等重要控制信息。
分組交換:
計算機將分組通過通信鏈路直接發(fā)送給 分組交換機,分組交換機先收下整個分組,然后根據分組首部查找路由表,找到合適的端口(就是分組交換機和外部連接的借口)將分組轉發(fā)出去。這種方法被稱為 存儲轉發(fā)。 PS:在因特網中最典型的分組交換機就是 路由器(router)
核心部分中網絡可用一條線路表示
優(yōu)點:
高效 動態(tài)分配傳輸帶寬,對通信鏈路是逐段占用。
靈活 以分組為傳送單位和查找路由。
迅速 不必先建立連接就能向其他主機發(fā)送分組
缺點:
時延 路由器轉發(fā)分組需要一定時間
網絡擁塞 無法確保通信時端到端所需帶寬,造成分組丟失
開銷 各分組必須攜帶必要的控制信息,整個分組網還需要專門的管理和控制機制
分組丟失:分組到達的速率超過了輸出鏈路的帶寬時,分組會在隊列中等待被發(fā)送到輸出鏈路。當隊列已滿時,有分組到達,路由器將丟棄分組 (分組丟失,網絡出現擁塞)