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