課本是第五版 謝希仁 謝鈞 《計算機網(wǎng)絡(luò)教程》
概述
因特網(wǎng)的組成
從功能上劃分有邊緣部分和核心部分,邊緣部分由所有連接在因特網(wǎng)的主機組成拯腮,這部分是用戶直接使用的;而核心部分就是由大量連接這些網(wǎng)絡(luò)的路由器組成。這部分是為邊緣部分提供服務的
網(wǎng)絡(luò)的邊緣部分的主機也有被不正式的劃分為客戶機(Client)和服務器(Server)
網(wǎng)絡(luò)的核心部分起特殊作用的就是路由器袜香,它是一種專用計算機,但不是主機享潜。路由器是實現(xiàn)分組交換的關(guān)鍵構(gòu)件困鸥,其任務是轉(zhuǎn)發(fā)收到的分組。
電路交換
在電話問世不久后就發(fā)現(xiàn)剑按,讓兩兩電話之間都相連是不現(xiàn)實的事情疾就,于是有了交換機,兩個電話要連接就通過交換機來相連艺蝴。這就是一種稱為電路交換的方式猬腰。
其過程就是建立連接(分配資源)----通話------釋放連接(歸還所占的資源)。
但是計算機可不是這樣的猜敢,建立了連接不一定在不停的傳輸數(shù)據(jù)姑荷,所以這樣的傳輸效率很低,寶貴的通信資源利用率很低缩擂,這是一種浪費鼠冕。
分組交換
我們要發(fā)送的整個數(shù)據(jù)稱作報文,將報文劃分成多個數(shù)據(jù)段胯盯,每個數(shù)據(jù)段為1024bit懈费,再在每個數(shù)據(jù)段前面加上一些必要的控制信息組成的首部后,一個數(shù)據(jù)段加首部就構(gòu)成了一個分組博脑,又叫做包憎乙。計算機將分組通過通信鏈路直接發(fā)送給分組交換機,分組交換機收到分組叉趣,先將分組存儲起來泞边,再檢查其首部的信息,根據(jù)信息查找轉(zhuǎn)發(fā)表疗杉,找到合適的接口再轉(zhuǎn)發(fā)出去阵谚,這個過程叫做存儲轉(zhuǎn)發(fā)方式。
分組交換機有多條鏈路相連烟具,所以這個分組交換機有一個輸出緩存椭蹄,用于存儲分組交換機準備發(fā)往哪條鏈路的分組。如果太多净赴,輸出緩存滿了绳矩,將發(fā)生分組丟失,這時被稱作網(wǎng)絡(luò)發(fā)生了擁塞玖翅。
計算機網(wǎng)絡(luò)的定義翼馆、分類
最簡單的定義是:一些互相連接的割以、自治的計算機的集合。
局域網(wǎng)(Local Area Network LAN)
一般用微信計算機或者工作站通過高速通信線路应媚,地理上的范圍比較小严沥,距離大概在1km左右
城域網(wǎng)(MAN)
作用范圍一般是一個城市,可以跨越幾個街區(qū)甚至整個城市中姜。作用范圍一般在5~50km
廣域網(wǎng)(WAN)
作用范圍在幾十千米到幾千千米消玄,可以覆蓋整個國家甚至跨幾個洲,又叫做遠程網(wǎng)
個人區(qū)域網(wǎng)(PAN)
不同于以上網(wǎng)絡(luò)丢胚,這個網(wǎng)絡(luò)不是用來連接普通的計算機的翩瓜,而是用來連接個人使用的電子設(shè)備用的。也叫做無線個人區(qū)域網(wǎng)
公用網(wǎng)
指電信公司出資建造大型網(wǎng)絡(luò)携龟。向該公司繳費可以使用這種網(wǎng)絡(luò)
專用網(wǎng)
某個部門為本單位的特殊業(yè)務工作的需要而建造的一個網(wǎng)絡(luò)兔跌,這種網(wǎng)絡(luò)不向外界提供服務。
計算機網(wǎng)絡(luò)的主要性能指標
帶寬
本指某個信號具有的頻帶寬度峡蟋。在計算機網(wǎng)絡(luò)中帶寬用來表示網(wǎng)絡(luò)通信線路所能傳輸數(shù)據(jù)的能力坟桅,帶寬在這表示的就是單位時間內(nèi)從網(wǎng)絡(luò)中某一點到另一點所能通過的最高數(shù)據(jù)率單位是bit/s
吞吐量
表示在實際應用中,單位時間內(nèi)能夠通過網(wǎng)絡(luò)的數(shù)據(jù)量蕊蝗。它受到帶寬的影響仅乓。
時延
數(shù)據(jù)從一端傳送到另一端的時間。
發(fā)送時延:是主機或路由器將分組發(fā)送到通信線路上所需要的時間蓬戚。計算公式是:
發(fā)送時延=分組長度/發(fā)送速率
傳播時延:電磁波在信道中需要傳播一定距離而花費的時間方灾。
物理層
物理層協(xié)議的主要任務就是 確定與傳輸媒體的接口有關(guān)的一些特性,如下:
機械特性 指明接口所用接線器的形狀和尺寸碌更、引腳樹木和排列、固定和鎖定裝置洞慎。
電氣特性 指明在接口電纜的各條線上出現(xiàn)的電壓的范圍
功能特性 指明某條線上出現(xiàn)的某一電平的電壓表示何種意義
過程特性 指明對于不同功能的各種事件出現(xiàn)順序
數(shù)據(jù)通信的基礎(chǔ)知識
數(shù)據(jù)通信系統(tǒng)的模型
一個數(shù)據(jù)通信系統(tǒng)包括 :
**源系統(tǒng)**:
源點:源點設(shè)備要傳輸?shù)臄?shù)據(jù)
發(fā)送器:通常源點生成的數(shù)字比特流要通過發(fā)送器編碼后才可以在傳輸系統(tǒng)中進行傳輸
**傳輸系統(tǒng)**
**目的系統(tǒng)**:
接收器:接收傳輸系統(tǒng)傳送過來的信號痛单,并把它們轉(zhuǎn)換成為能夠被目的設(shè)備處理的信息
終點:終點設(shè)備從接收器獲取傳送過來的數(shù)字比特流
編碼與調(diào)制
數(shù)字數(shù)據(jù)轉(zhuǎn)換成為數(shù)字信號的過程稱為編碼
將數(shù)字數(shù)據(jù)轉(zhuǎn)換成為模擬信號的過程稱為調(diào)制
幾種基本調(diào)制方法
- 調(diào)幅 即載波的振幅隨基帶數(shù)字信號而變化。0代表無載波劲腿,1代表有載波
- 調(diào)頻 即載波的頻率隨基帶數(shù)字信號而變化
- 調(diào)相 即載波的初始相位隨基帶數(shù)字信號而變化
信道的極限容量
信號能通過的頻率范圍
在傳輸信號的時候要控制好傳輸速率旭绒,不然很容易出現(xiàn)碼間串擾(碼間串擾就是嚴重失真出現(xiàn)的時候,接收端收到的信號波形失去了碼元之間的清晰分界線)焦人。
關(guān)于傳輸速率的上限挥吵,有奈奎斯的奈氏準則可以表達,
奈氏準則:每赫帶寬的理想低通信道的最高碼元傳輸速率是每秒2個碼元花椭,每赫帶寬的帶通信道的最高碼元傳輸速率為1個碼元
信噪比
通過多元制可以提高信息的傳輸速率忽匈,但是卻不能夠無限提升,還有信道中的噪聲會影響接收端對碼元的識別矿辽,并且噪聲功率越高影響越大丹允。香農(nóng)公式表明:信道的帶寬或信道中的信噪比越大郭厌,信息的極限傳輸速率就越高
香農(nóng)公式:
香農(nóng)公式表明:信道的帶寬或者信道中的信噪比越大,則信息的極限傳輸速率就高雕蔽。
傳輸方式
并行傳輸和串行傳輸
并行傳輸:是指一次發(fā)送n個比特而不是一個折柠,為此,在發(fā)送端和接收端之間需要n條傳輸路線
串行傳輸:一個一個比特發(fā)送批狐。
異步傳輸和同步傳輸
同步傳輸就是收發(fā)雙方在時間基準上保持一致的過程
異步傳輸是以字節(jié)為獨立的傳輸單位扇售,字節(jié)中的每個比特還是要同步的,為此嚣艇,每個字節(jié)前后要加上起始位和結(jié)束位承冰。
單工、半雙工和全雙工
單向通信又稱為單工通信髓废,即只能有一個方向的通信而沒有反方向的交互巷懈。無線電廣播或有線電廣播,以及電視廣播慌洪。
雙向交替通信顶燕,又稱為半雙工通信,即雙方都可以發(fā)送消息冈爹,但不能雙方同時發(fā)送涌攻,也不能同時接收。
雙向同時通信频伤,又稱作全雙工通信
物理層下的傳輸媒體
導引型傳輸媒體
雙絞線
把兩根相互絕緣的線按照喲定規(guī)則絞合起來就構(gòu)成了雙絞線恳谎。電話系統(tǒng)中使用的雙絞線最多。
模擬傳輸和數(shù)字傳輸都可以使用雙絞線憋肖,通信距離為幾千米到十幾千米因痛,太長的距離就要加放大器或者用中繼器,不然的話就會失真岸更。導線越粗鸵膏,傳的就越遠,但是相應的需要的造價就越高怎炊,局域網(wǎng)就用雙絞線谭企。為了提高抗干擾能力,可以在雙絞線外面加一層金屬網(wǎng)屏蔽層评肆,這就是屏蔽雙絞線债查,比無屏蔽雙絞線貴一點。
同軸電纜
由內(nèi)導體銅制芯線瓜挽、絕緣層盹廷、網(wǎng)狀編織的外導體屏蔽層、保護塑料外套構(gòu)成久橙,有比雙絞線更加抗干擾速和、更高帶寬的特性歹垫。
光纖
利用光導纖維傳遞光脈沖來實現(xiàn)通信傳遞。有光脈沖為1颠放,無光脈沖為0排惨。
信道復用技術(shù)
復用技術(shù)就是指一個傳輸媒介可以給多個通信使用,而不是專屬哪個通信碰凶。
頻分復用(FDM):就是將傳輸線路頻帶資源劃分為多個子頻帶暮芭,形成多個子信道
時分復用(TDM):將傳輸線路的帶寬資源按時間輪流分配給不同的用戶,每個用戶只在分配的時間里使用線路傳輸欲低。
波分復用:就是光的頻分復用辕宏。
數(shù)據(jù)鏈路層
鏈路與數(shù)據(jù)鏈路的區(qū)別
數(shù)據(jù)鏈路與鏈路不是一回事,鏈路是指從一個節(jié)點到相鄰節(jié)點的一段物理線路砾莱;數(shù)據(jù)鏈路除了一段物理線路之外還有通信協(xié)議控制這些數(shù)據(jù)的傳輸瑞筐。
數(shù)據(jù)鏈路層主要就是將網(wǎng)絡(luò)層傳下來的數(shù)據(jù)封裝成幀,數(shù)據(jù)鏈路層的協(xié)議數(shù)據(jù)單元——幀
數(shù)據(jù)鏈路層必須使用物理層來一個一個傳輸幀腊瑟,這樣就需要一個界定標記來劃分從什么時候是一個幀開始聚假,什么時候是幀的結(jié)束。這樣就是封裝成幀
為了防止出現(xiàn)數(shù)據(jù)中有結(jié)束標志或開始標志導致傳輸?shù)臅r候誤認為是一個幀從而定錯幀闰非,可以使用字符填充(字節(jié)填充)的方法來解決膘格,達到透明傳輸?shù)男Ч?/p>
透明傳輸?shù)囊馑际菙?shù)據(jù)進入鏈路層傳輸,我們不需要什么數(shù)據(jù)或者操作就能使得這些幀里的部分數(shù)據(jù)不被認為是幀的開始或者結(jié)束财松,機器自己知道這些是數(shù)據(jù)部分不會提早結(jié)束一個幀瘪贱。整體上看起來就像是直接從鏈路層傳到兩一個主機的鏈路層上一樣,里面的字符填充之類的操作好像是不存在一樣辆毡,是透明的菜秦。
PPP協(xié)議采用的是零比特填充法:發(fā)送端會掃描整個信息段,只要有5個連續(xù)的1就在后面加一個0舶掖,以保證絕對不會出現(xiàn)六個1球昨。
但是傳輸不可能絕對正確,是有可能出現(xiàn)比特差錯访锻,通常使用的差錯檢測方法是循環(huán)冗余檢驗(CRC)也稱作多項式檢驗
可靠傳輸
停止等待協(xié)議:接收方收到一個分組,用差錯檢驗技術(shù)檢測闹获,沒問題則發(fā)送一個確認分組ACK期犬,出錯時發(fā)送一個否認分組NAK,發(fā)送方收到ACK則發(fā)送下一個分組避诽,收到NAK就重發(fā)龟虎。
當數(shù)據(jù)分組或確認分組丟失時,發(fā)送方會一直等待接收方的確認分組沙庐,為解決此問題鲤妥,發(fā)送方會啟用一個超時計時器佳吞,超時了就會重傳。
點對點協(xié)議(PPP)
數(shù)據(jù)鏈路層通常是用PPP協(xié)議來傳輸數(shù)據(jù)棉安,PPP的特點有:
簡單:接收方每收到一個幀底扳,就進行CRC檢驗,檢驗正確就收下這個幀贡耽,反之就拋棄這個幀衷模。而且PPP的數(shù)據(jù)鏈路層向上不提供可靠傳輸服務,如果需要可靠傳輸服務蒲赂,就靠運輸層來完成阱冶。
封裝成幀:PPP規(guī)定特殊的字符作為幀界定符
透明傳輸
差錯檢測:檢測到錯誤的幀,直接丟掉滥嘴,不會糾錯
PPP能夠在同一條物理線路上同時支持多種網(wǎng)絡(luò)層的協(xié)議
檢測連接狀態(tài):PPP有一種機制木蹬,能夠自動檢測出來是否處在正常工作狀態(tài)
最大傳送單元:PPP對每一種類型的帶隊點鏈路設(shè)置最大傳送單元MTU,分組的數(shù)據(jù)部分長度超過MTU就會丟棄這個幀若皱。
PPP的幀格式
PPP工作狀態(tài)
CSMA/CD協(xié)議
以太網(wǎng)的通信為了簡便镊叁,采取了兩個措施:
- 采用較為靈活的無連接的工作方式,因此以太網(wǎng)提供的服務是不可靠的交付是尖,如果收到錯誤的幀意系,直接丟棄,不管其他的饺汹。是否重傳是高層決定的蛔添,以太網(wǎng)什么都不用管。
- 采用基帶傳輸兜辞,發(fā)送的數(shù)據(jù)都使用曼切斯特編碼的信號迎瞧。
還剩下一個重要的問題就是:總線同一時間只可以發(fā)或者接受,不然就會撞在一起逸吵。于是就有了CSMA/CD協(xié)議(載波監(jiān)聽多址接入/碰撞檢測)凶硅,這個協(xié)議就是用來解決這個問題的。
多址接入:許多站點以多址接入的方式接在總線上
載波監(jiān)聽:發(fā)送前先監(jiān)聽
碰撞檢測:邊發(fā)邊監(jiān)聽
以太網(wǎng)幀格式:
網(wǎng)絡(luò)層
分組轉(zhuǎn)發(fā):按照最佳的路線發(fā)送
路由選擇:確定一條最佳路由
網(wǎng)絡(luò)層提供的兩種服務
在網(wǎng)絡(luò)層提供面向連接服務的計算機網(wǎng)絡(luò)叫做虛電路網(wǎng)絡(luò)
在網(wǎng)絡(luò)層提供無連接服務的計算機網(wǎng)絡(luò)叫做數(shù)據(jù)報網(wǎng)絡(luò)
虛電路網(wǎng)絡(luò)
網(wǎng)際協(xié)議(IP)
32位扫皱,分四份足绅,每份8位;點分十進制表示:x.x.x.x
IP地址編址方式三個歷史階段:
分類編址
劃分網(wǎng)絡(luò)號和主機號韩脑;
IP地址 ::={<網(wǎng)絡(luò)號>氢妈,<主機號>}
根據(jù)網(wǎng)絡(luò)號的位數(shù)劃分ABCDE類
A類:8為網(wǎng)絡(luò)號,24為主機號
B類:16位網(wǎng)絡(luò)號段多,16位主機號
C類:24位網(wǎng)絡(luò)號首量,8位主機號
D類:多播地址
E類:保留為今后使用
劃分子網(wǎng)
劃分網(wǎng)絡(luò)號、子網(wǎng)號和主機號;
IP地址 ::={<網(wǎng)絡(luò)號>加缘,<子網(wǎng)號>鸭叙,<主機號>}
減少了A、B類地址空間的浪費
無分類編址
前面兩個方法仍然無法解決IP地址快要消耗干凈的問題拣宏,于是在1993年沈贝,IETF發(fā)布了無分類域間路由選擇(CIDR)的文檔。CIDR消除了ABC類地址以及劃分子網(wǎng)的概念蚀浆。
CIDR將IP地址劃分為不定長的網(wǎng)絡(luò)前綴和主機號
IP地址 ::={<網(wǎng)絡(luò)前綴>缀程,<主機號>}
網(wǎng)絡(luò)前綴不定長,主機號也是不定長市俊,于是這就需要子網(wǎng)掩碼來決定他的網(wǎng)絡(luò)前綴有多長杨凑。
地址解析協(xié)議(ARP)
在網(wǎng)絡(luò)中,我們雖然有IP地址摆昧,但是IP地址是會隨時改變的撩满,所以我們都是通過MAC地址來查找是不是你要連接的主機,ARP協(xié)議就是通過IP地址來獲取對方的MAC地址
IP數(shù)據(jù)報格式
IP數(shù)據(jù)報的首部有固定部分和可變部分兩個部分绅你,固定部分長度20個字節(jié)
網(wǎng)際控制報文協(xié)議(ICMP)
ICMP報文作為IP層數(shù)據(jù)報的數(shù)據(jù)部分伺帘。
傳輸層
應用進程之間的通信
運輸層向他上面的應用層提供端到端通信服務
UDP協(xié)議(用戶數(shù)據(jù)報協(xié)議)
UDP在傳送數(shù)據(jù)前不建立連接,是無連接的忌锯,所以傳輸不可靠伪嫁,但是所需要的信息不多,簡便偶垮,傳輸方便张咳。
UDP首部格式
四個部分:源端口號、目的端口號似舵、長度(UDP用戶數(shù)據(jù)包長度)脚猾、檢驗和;每個部分兩個字節(jié)砚哗,只有八個字節(jié)
TCP協(xié)議(傳輸控制協(xié)議)
TCP是面向連接的龙助,比UDP可靠,除此之外蛛芥,TCP還在運輸層使用了流量控制和擁塞控制機制提鸟。
TCP提供全雙工通信,而且雙邊都有緩存仅淑;
TCP面向字節(jié)流
TCP報文段格式
源端口和目的端口:各占兩個字節(jié)称勋。
序號:占四個字節(jié),TCP是面向字節(jié)流的漓糙,在一個TCP連接中每一個字節(jié)都按順序編號铣缠。
確認號:占四個字節(jié)烘嘱,是期望收到對方下一個保溫段的第一個數(shù)據(jù)字節(jié)的序號
數(shù)據(jù)偏移:占四個字節(jié)昆禽,指出TCP保溫段的數(shù)據(jù)其實距離TCP報文段的起始處有多遠蝗蛙,實際上就是TCP報文段首部的長度。
保留:占六位
緊急URG:當URG=1的時候表示緊急指針字段有效醉鳖,意思是告訴接收方TCP此報文段中有緊急數(shù)據(jù)
確認ACK:ACK=1的時候有效
窗口:占兩個字節(jié)捡硅,指示發(fā)送方的接收窗口的大小,在0到2的十六次方減一之間
檢驗和:占兩個字節(jié)
選項:長度可變盗棵。
TCP的連接管理
TCP連接有三個階段:連接建立壮韭、數(shù)據(jù)傳送、連接釋放
連接建立
TCP建立連接需要解決這些問題:
- 要使得每一方都知道對方的存在纹因;
- 要允許雙方協(xié)商一些參數(shù)(如報文長度喷屋、最大窗口代銷,服務質(zhì)量等)
- 能夠?qū)\輸實體資源進行分配和初始化
TCP三次握手
假設(shè) A 為客戶端瞭恰,B 為服務器端屯曹。
- 首先 B 處于 LISTEN(監(jiān)聽)狀態(tài),等待客戶的連接請求惊畏。
- A 向 B 發(fā)送連接請求報文恶耽,SYN=1,ACK=0颜启,選擇一個初始的序號 x偷俭。
- B 收到連接請求報文,如果同意建立連接缰盏,則向 A 發(fā)送連接確認報文涌萤,SYN=1,ACK=1乳规,確認號為 x+1形葬,同時也選擇一個初始的序號 y。
- A 收到 B 的連接確認報文后暮的,還要向 B 發(fā)出確認笙以,確認號為 y+1,序號為 x+1冻辩。
- B 收到 A 的確認后猖腕,連接建立。
三次握手的原因
第三次握手是為了防止失效的連接請求到達服務器恨闪,讓服務器錯誤打開連接倘感。
客戶端發(fā)送的連接請求如果在網(wǎng)絡(luò)中滯留,那么就會隔很長一段時間才能收到服務器端發(fā)回的連接確認咙咽±下辏客戶端等待一個超時重傳時間之后粉怕,就會重新請求連接。但是這個滯留的連接請求最后還是會到達服務器胳蛮,如果不進行三次握手半哟,那么服務器就會打開兩個連接。如果有第三次握手镜廉,客戶端會忽略服務器之后發(fā)送的對滯留連接請求的連接確認弄诲,不進行第三次握手,因此就不會再次打開連接娇唯。
TCP四次揮手
A 發(fā)送連接釋放報文齐遵,F(xiàn)IN=1。
B 收到之后發(fā)出確認塔插,此時 TCP 屬于半關(guān)閉狀態(tài)梗摇,B 能向 A 發(fā)送數(shù)據(jù)但是 A 不能向 B 發(fā)送數(shù)據(jù)。
當 B 不再需要連接時想许,發(fā)送連接釋放報文留美,F(xiàn)IN=1。
A 收到后發(fā)出確認伸刃,進入 TIME-WAIT 狀態(tài)谎砾,等待 2 MSL(最大報文存活時間)后釋放連接。
B 收到 A 的確認后釋放連接捧颅。
四次揮手的原因
客戶端發(fā)送了 FIN 連接釋放報文之后景图,服務器收到了這個報文,就進入了 CLOSE-WAIT 狀態(tài)碉哑。這個狀態(tài)是為了讓服務器端發(fā)送還未傳送完畢的數(shù)據(jù)挚币,傳送完畢之后,服務器會發(fā)送 FIN 連接釋放報文扣典。
TIME_WAIT
客戶端接收到服務器端的 FIN 報文后進入此狀態(tài)妆毕,此時并不是直接進入 CLOSED 狀態(tài),還需要等待一個時間計時器設(shè)置的時間 2MSL贮尖。這么做有兩個理由:
- 確保最后一個確認報文能夠到達笛粘。如果 B 沒收到 A 發(fā)送來的確認報文,那么就會重新發(fā)送連接釋放請求報文湿硝,A 等待一段時間就是為了處理這種情況的發(fā)生薪前。
- 等待一段時間是為了讓本連接持續(xù)時間內(nèi)所產(chǎn)生的所有報文都從網(wǎng)絡(luò)中消失,使得下一個新的連接不會出現(xiàn)舊的連接請求報文关斜。
TCP流量控制
TCP流量控制服務示括,以解決因發(fā)送方發(fā)送數(shù)據(jù)太快而導致接收方來不及接收,使得接收方緩存溢出的問題痢畜。
利用滑動窗口實現(xiàn)流量控制
- TCP 流量控制
- 流量控制是為了控制發(fā)送方發(fā)送速率垛膝,保證接收方來得及接收鳍侣。
接收方發(fā)送的確認報文中的窗口字段可以用來控制發(fā)送方窗口大小,從而影響發(fā)送方的發(fā)送速率吼拥。將窗口字段設(shè)置為 0拱她,則發(fā)送方不能發(fā)送數(shù)據(jù)。
- 流量控制舉例
應用層
域名系統(tǒng)
用來將域名轉(zhuǎn)換為ip地址用的一個系統(tǒng)扔罪,轉(zhuǎn)換過程稱為域名解析。
在一個應用進程中桶雀,我們輸入一個域名矿酵,就會把待解析的域名放在DNS報文中,以UDP數(shù)據(jù)報方式發(fā)送給本地域名服務器矗积。本地域名服務器在查找到域名對應的IP地址放在回答報文中返回全肮。
域名的結(jié)構(gòu)分為頂級域名、二級域名棘捣、三級域名······辜腺。
根據(jù)域名的不同分級,域名服務器也分出多個級別乍恐,方便查詢评疗,將頂級域名放入頂級域名服務器,其他級別放入權(quán)威域名服務器茵烈。
有遞歸查詢和迭代查詢兩種方法百匆,但都是主機發(fā)送DNS報文給本地域名服務器,讓本地域名服務器作為DNS代理呜投。
萬維網(wǎng) WWW
概述
- 萬維網(wǎng) WWW (World Wide Web)并非某種特殊的計算機網(wǎng)絡(luò)加匈。
- 萬維網(wǎng)是一個大規(guī)模的、聯(lián)機式的信息儲藏所仑荐。
- 萬維網(wǎng)用鏈接的方法能非常方便地從因特網(wǎng)上的一個站點訪問另一個站點雕拼,從而主動地按需獲取豐富的信息。
- 這種訪問方式稱為“鏈接”粘招。
- 萬維網(wǎng)是分布式超媒體(hypermedia)系統(tǒng)啥寇,它是超文本(hypertext)系統(tǒng)的擴充。
萬維網(wǎng)的工作方式
- 萬維網(wǎng)以客戶服務器方式工作洒扎。
- 瀏覽器就是在用戶計算機上的萬維網(wǎng)客戶程序示姿。萬維網(wǎng)文檔所駐留的計算機則運行服務器程序,因此這個計算機也稱為萬維網(wǎng)服務器逊笆。
萬維網(wǎng)必須解決的問題
- (1) 怎樣標志分布在整個因特網(wǎng)上的萬維網(wǎng)文檔栈戳?
使用統(tǒng)一資源定位符 URL (Uniform Resource Locator)來標志萬維網(wǎng)上的各種文檔。
使每一個文檔在整個因特網(wǎng)的范圍內(nèi)具有唯一的標識符 URL难裆。 - (2) 用何協(xié)議實現(xiàn)萬維網(wǎng)上各種超鏈的鏈接子檀?
在萬維網(wǎng)客戶程序與萬維網(wǎng)服務器程序之間進行交互所使用的協(xié)議镊掖,是超文本傳送協(xié)議 HTTP (HyperText Transfer Protocol)。
HTTP 是一個應用層協(xié)議褂痰,它使用 TCP 連接進行可靠的傳送亩进。 - (3) 怎樣使各種萬維網(wǎng)文檔都能在因特網(wǎng)上的各種計算機上顯示出來,同時使用戶清楚地知道在什么地方存在著超鏈缩歪?
超文本標記語言 HTML (HyperText Markup Language)使得萬維網(wǎng)頁面的設(shè)計者可以很方便地用一個超鏈從本頁面的某處鏈接到因特網(wǎng)上的任何一個萬維網(wǎng)頁面归薛,并且能夠在自己的計算機屏幕上將這些頁面顯示出來。 - (4) 怎樣使用戶能夠很方便地找到所需的信息匪蝙?
為了在萬維網(wǎng)上方便地查找信息,用戶可使用各種的搜索工具(即搜索引擎)千元。
統(tǒng)一資源定位符 URL
- 統(tǒng)一資源定位符 URL 是對可以從因特網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示幸海。
- URL 的一般形式是:<協(xié)議>://<主機>:<端口>/<路徑>
超文本傳送協(xié)議 HTTP
- HTTP 是面向事務的客戶服務器協(xié)議奥务。
- HTTP 1.0 協(xié)議是無狀態(tài)的(stateless)氯葬。
- HTTP 協(xié)議本身也是無連接的溢谤,雖然它使用了面向連接的 TCP 向上提供的服務。
萬維網(wǎng)的文檔
- 超文本標記語言 HTML
- 超文本標記語言 HTML 中的 Markup 的意思就是“設(shè)置標記”阀参。
- HTML 定義了許多用于排版的命令(即標簽)蛛壳。
- HTML 把各種標簽嵌入到萬維網(wǎng)的頁面中衙荐。這樣就構(gòu)成了所謂的 HTML 文檔浮创。HTML 文檔是一種可以用任何文本編輯器創(chuàng)建的 ASCII 碼文件斩披。
- 動態(tài)萬維網(wǎng)文檔
- 靜態(tài)文檔是指該文檔創(chuàng)作完畢后就存放在萬維網(wǎng)服務器中讹俊,在被用戶瀏覽的過程中仍劈,內(nèi)容不會改變贩疙。
- 動態(tài)文檔是指文檔的內(nèi)容是在瀏覽器訪問萬維網(wǎng)服務器時才由應用程序動態(tài)創(chuàng)建况既。
- 動態(tài)文檔和靜態(tài)文檔之間的主要差別體現(xiàn)在服務器一端坏挠。這主要是文檔內(nèi)容的生成方法不同降狠。而從瀏覽器的角度看庇楞,這兩種文檔并沒有區(qū)別吕晌。
萬維網(wǎng)的信息檢索系統(tǒng)
- 全文檢索搜索
- 全文檢索搜索引擎是一種純技術(shù)型的檢索工具睛驳。它的工作原理是通過搜索軟件到因特網(wǎng)上的各網(wǎng)站收集信息乏沸,找到一個網(wǎng)站后可以從這個網(wǎng)站再鏈接到另一個網(wǎng)站。然后按照一定的規(guī)則建立一個很大的在線數(shù)據(jù)庫供用戶查詢匙瘪。
- 分類目錄搜索
- 分類目錄搜索引擎并不采集網(wǎng)站的任何信息丹喻,而是利用各網(wǎng)站向搜索引擎提交的網(wǎng)站信息時填寫的關(guān)鍵詞和網(wǎng)站描述等信息碍论,經(jīng)過人工審核編輯后骑冗,如果認為符合網(wǎng)站登錄的條件,則輸入到分類目錄的數(shù)據(jù)庫中巧涧,供網(wǎng)上用戶查詢谤绳。
超文本傳輸協(xié)議(HTTP)
HTTP定義了瀏覽器是如何向萬維網(wǎng)服務器請求萬維網(wǎng)文檔缩筛,以及萬維網(wǎng)服務器如何把萬維網(wǎng)文檔傳送給了瀏覽器瞎抛。
每個萬維網(wǎng)網(wǎng)站都有一個服務器進程却紧,它不斷監(jiān)聽TCP的80端口晓殊,監(jiān)聽到請求就會建立連接巫俺,然后發(fā)送響應交互介汹,最后被釋放連接嘹承。
HTTP使用了面向連接的TCP作為運輸層協(xié)議赶撰,保證了數(shù)據(jù)包傳輸?shù)目煽啃院滥取TTP是不需要考慮數(shù)據(jù)傳輸?shù)姆€(wěn)不穩(wěn),有沒有丟否灾,丟了要怎樣重傳墨技。
HTTP/1.0采用的是非持續(xù)連接方式,一次交互建立一次TCP請求断楷,完成后就斷開連接冬筒。
HTTP/1.1采用持續(xù)連接方式舞痰,就是連一次不斷開响牛,只要你請求同一個服務器的文檔就一直保持連接狀態(tài)。
HTTP報文格式:
請求格式:
請求行:
方法:OPTION聚磺、GET、HEAD稠炬、POST首启、PUT撤摸、CONNECT
URL
版本
請求頭部
請求正文
響應格式:
狀態(tài)行:
版本
狀態(tài)碼:200准夷、500衫嵌、404
短語
響應頭部
響應正文
FTP協(xié)議
FTP 文件傳輸協(xié)議 提供交互式訪問结闸,允許客戶知名文件的類型與格式桦锄,并允許文件具有存取權(quán)限察纯。FTP屏蔽了計算機系統(tǒng)的細節(jié)香伴,適用于異構(gòu)網(wǎng)絡(luò)中人以計算機之間傳送文件具则。
FTP工作過程
FTP的客戶現(xiàn)象FTP服務器的21端口發(fā)起一個TCP請求博肋,建立連接控制。FTP客戶通過該控制連接發(fā)送用戶的表示和口令膊畴,也發(fā)送改變遠程目錄等命令病游。如果客戶發(fā)送起一個文件傳輸命令衬衬,服務端就會從20端口發(fā)起一個到客戶端的數(shù)據(jù)連接玉控。為此沒在客戶想服務器發(fā)送文件傳輸命令的時候要告訴服務器其數(shù)據(jù)傳送進程打開的端口。
電子郵件
電子郵件概述
- 電子郵件(e-mail)是因特網(wǎng)上使用得最多的和最受用戶歡迎的一種應用虱而。
- 電子郵件把郵件發(fā)送到收件人使用的郵件服務器,并放在其中的收件人郵箱中诅迷,收件人可隨時上網(wǎng)到自己使用的郵件服務器進行讀取趟畏。
- 電子郵件不僅使用方便赋秀,而且還具有傳遞迅速和費用低廉的優(yōu)點。
- 一個電子郵件系統(tǒng)由三部分組成:用戶代理、郵件服務器以及郵件協(xié)議身笤。
電子郵件的最主要的組成構(gòu)件
簡單郵件傳送協(xié)議 SMTP
- SMTP 只能發(fā)送 ASCII 碼,而互聯(lián)網(wǎng)郵件擴充 MIME 可以發(fā)送二進制文件。MIME 并沒有改動或者取代 SMTP忍弛,而是增加郵件主體的結(jié)構(gòu)蔗彤,定義了非 ASCII 碼的編碼規(guī)則。
電子郵件的信息格式
- 一個電子郵件分為信封和內(nèi)容兩大部分丢早。
- RFC 822 只規(guī)定了郵件內(nèi)容中的首部(header)格式傀缩,而對郵件的主體(body)部分則讓用戶自由撰寫。
- 郵件內(nèi)容的首部
- “To:”后面填入一個或多個收件人的電子郵件地址。用戶只需打開地址簿,點擊收件人名字惯驼,收件人的電子郵件地址就會自動地填入到合適的位置上。
- “Subject:”是郵件的主題。它反映了郵件的主要內(nèi)容,便于用戶查找郵件傲宜。
- 抄送 “Cc:” 表示應給某某人發(fā)送一個郵件副本撇眯。
- “From” 和 “Date” 表示發(fā)信人的電子郵件地址和發(fā)信日期锚国。“Reply-To” 是對方回信所用的地址梆砸。
- 郵件內(nèi)容的首部
郵件讀取協(xié)議 POP3 和 IMAP
- POP3
- POP3 的特點是只要用戶從服務器上讀取了郵件沸枯,就把該郵件刪除哪轿。但最新版本的 POP3 可以不刪除郵件。
- IMAP
- IMAP 協(xié)議中客戶端和服務器上的郵件保持同步,如果不手動刪除郵件,那么服務器上的郵件也不會被刪除。IMAP 這種做法可以讓用戶隨時隨地去訪問服務器上的郵件。
基于萬維網(wǎng)的電子郵件
- 例子
- 電子郵件從 A 發(fā)送到網(wǎng)易郵件服務器是使用 HTTP 協(xié)議。
- 兩個郵件服務器之間的傳送使用 SMTP彭则。
- 郵件從新浪郵件服務器傳送到 B 是使用 HTTP 協(xié)議输瓜。
- 概要: 示意圖
通用因特網(wǎng)郵件擴充 MIME
- MIME 概述
- MIME 并沒有改動 SMTP 或取代它。
- MIME 的意圖是繼續(xù)使用目前的[RFC 822]格式,但增加了郵件主體的結(jié)構(gòu),并定義了傳送非 ASCII 碼的編碼規(guī)則。
網(wǎng)絡(luò)安全
計算機網(wǎng)絡(luò)通信面臨的安全性威脅及安全措施
安全威脅
網(wǎng)絡(luò)通信四種攻擊方式:
截獲:攻擊者從網(wǎng)絡(luò)上竊聽他人通信內(nèi)容
中斷:攻擊者有意中斷他人在網(wǎng)絡(luò)上的通信
篡改:攻擊者故意篡改網(wǎng)絡(luò)上傳送報文
偽造:攻擊者偽造信息在網(wǎng)絡(luò)上傳送
流量分析:屬于被動攻擊赘阀,就是只把截獲的信息讀取,不做什么破壞的影響。
拒絕服務:屬于主動攻擊,攻擊者發(fā)一大堆惡意報文把服務器搞崩。
惡意程序:包括計算機病毒、計算機蠕蟲、特洛伊木馬懊纳、邏輯炸彈
安全服務
為防以上安全威脅茂缚,有幾個基本安全服務:機密性戴而、報文完整新扶踊、不可否認性、實體鑒別、訪問控制、可用性
機密性與密碼學
對稱秘鑰密碼體制和公開密鑰密碼體制
對稱秘鑰密碼體制
一種加密秘鑰和解密秘鑰相同的密碼體制伐厌,雙方有一樣的秘鑰,然后根據(jù)數(shù)據(jù)加密標準(DES)這個算法進行加密解密画饥。但是現(xiàn)在的計算機算力可以暴力解密衔彻,現(xiàn)在人們提出三重DES來執(zhí)行加密和解密柄沮。
公鑰密碼體制
公鑰(加密秘鑰)是公開的狱意,加密算法E和解密算法D都是公開的;
公鑰加密的密文要解密秘鑰(私鑰)才能解開
計算機可以容易的生成公鑰和私鑰
從已知的公鑰在計算上無法推導出私鑰
基于這幾個情況下包各,公鑰密碼體制就很安全了,公鑰可以發(fā)給別人靶庙,也不怕別人截獲问畅,他們用公鑰加密,發(fā)密文給你六荒,你再用私鑰解開密文护姆。
完整性與鑒別
報文摘要和報文鑒別碼
有些通信內(nèi)容不在乎是否被人監(jiān)聽了,只在乎是否是完整性掏击,這個時候就是報文完整性的問題卵皂,報文完整性的驗證就是報文鑒別。如果我們加密整個報文就很浪費時間和資源砚亭。于是使用報文摘要來進行報文鑒別灯变。
先把報文通過報文摘要算法得出一個固定長度的報文摘要殴玛,再對報文摘要加密,叫做報文鑒別碼(MAC)添祸,并將其附在報文后面一起發(fā)過去
報文摘要和差錯檢測碼都是多對一的散列函數(shù)的例子滚粟,需要滿足:
- 給定報文摘要x,不能在計算上實現(xiàn) 報文摘要x->報文y
- 任意兩個報文刃泌,經(jīng)過報文摘要算法計算會得到兩個相同的報文摘要
滿足條件的叫做密碼散列函數(shù)或安全散列函數(shù)
還有一種方法:前提是雙方通過通信雙方共享一個叫做鑒別秘鑰的秘密比特串s凡壤,發(fā)送方用s與報文級連生成m+s,并計算三列H(m+s)耙替。將H(m+s)作為報文鑒別碼附加到報文m上亚侠。這樣攻擊者不知道s就無法偽造報文,這種技術(shù)叫做散列報文鑒別碼(HMAC)俗扇。
數(shù)字簽名
數(shù)字簽名首先要保證這三點:
接收方可以核實發(fā)送方對報文的數(shù)字簽名
發(fā)送方事后不能抵賴對報文的數(shù)字簽名
任何人包括接收方都不能對數(shù)字簽名進行偽造
數(shù)字簽名的生成式發(fā)送方用解密秘鑰進行計算硝烂,這樣就沒人可以偽造數(shù)字簽名了。