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