《計算機網(wǎng)絡:自頂向下方法》學習筆記(1)

第一章

因特網(wǎng)

公共因特網(wǎng)是一個世界范圍的計算機網(wǎng)絡,即它是一個互聯(lián)了遍及全世界的數(shù)以百萬計的計算設備的網(wǎng)絡。這些計算設備多數(shù)是傳統(tǒng)的桌面PC、基于 Linux的工作站以及所謂的服務器(服務器用于存儲和傳輸Web頁面和電子郵件報文等信息)。然而,越來越多的非傳統(tǒng)的因特網(wǎng)端系統(tǒng),如個人數(shù)字助手(PDA)、TV、移動計算機、蜂窩電話、Web相機、汽車、環(huán)境傳感設備、數(shù)字像框、家用電器和安全系統(tǒng),正在與因特網(wǎng)相連。

用因特網(wǎng)術語來說,所有這些設備都稱為主機(host)或端系統(tǒng)( end system)。

主機有時又被進一步劃分為兩類:客戶機( client)和服務器( server)。

在網(wǎng)絡軟件的上下文中,客戶機和服務器有另一種定義。客戶機程序( client program)是運行在一個端系統(tǒng)上的程序,它發(fā)出請求,并從運行在另一個端系統(tǒng)上的服務器程序( server program)接收服務。這種客戶機-服務器模式無疑是因特網(wǎng)應用程序的最為流行的結構。Web、電子郵件、文件傳輸、遠程注冊(例如 Telnet)、新聞組和許多其他流行的應用程序采用了客戶機-服務器模式。因為通常客戶機程序運行在一臺計算機上,而服務器程序運行在另一臺計算機上,所以根據(jù)定義,客戶機-服務器因特網(wǎng)應用程序是分布式應用程序( distributed application)。客戶機程序和服務器程序通過因特網(wǎng)互相發(fā)送報文而進行交互。

今天的因特網(wǎng)應用程序并非全都是由與純服務器程序交互的純客戶機程序組成的。越來越多的應用程序是對等(P2P)應用程序,其中的端系統(tǒng)互相作用并運行執(zhí)行客戶機和服務器功能的程序。例如,在P2P文件共享應用程序(如 Limewire、 eDonkey和 Kazaa)中,用戶端系統(tǒng)中的程序起著客戶機程序和服務器程序的雙重作用。當它向另一個對等方請求文件時,起著客戶機的作用。

image.png

端系統(tǒng)通過通信鏈路( communication link)和分組交換機( packet switch)連接到一起。

通信鏈路由不同類型的物理媒體組成,這些物理媒體包括同軸電纜、銅線、光纖和無線電頻譜。不同的鏈路以不同的速率傳輸數(shù)據(jù),鏈路的傳輸速率是以bps度量的。當一臺端系統(tǒng)有數(shù)據(jù)要向另一臺端系統(tǒng)發(fā)送時,發(fā)送端系統(tǒng)將數(shù)據(jù)分段,并為每段加上首部字節(jié)。用計算機網(wǎng)絡的術語來說,由此形成的信息包稱為分組( packet),這些分組通過網(wǎng)絡發(fā)送到目的端系統(tǒng),在那里被裝配成初始數(shù)據(jù)。

分組交換機從它的一條入通信鏈路接收到達的分組,并從它的一條出通信鏈路轉發(fā)該分組。市面上流行著各種不同類型且各具特色的分組交換機,但在當今的因特網(wǎng)中,兩種最著名的類型是路由器( router)和鏈路層交換機(link-layer switch)。這兩種類型的交換機朝著最終目的地轉發(fā)分組。

從發(fā)送端系統(tǒng)到接收端系統(tǒng),一個分組所經(jīng)歷的一系列通信鏈路和分組交換機稱為通過該網(wǎng)絡的路徑( route或path)。

端系統(tǒng)通過因特網(wǎng)服務提供商( Internet Service Provider,ISP)接入因特網(wǎng),包括像AOL(美國在線)那樣的住宅區(qū)ISP、本地電纜或電話公司、公司ISP、大學ISP,以及像 T-Mobile那樣在機場、旅館、咖啡店和其他公共場所提供無線接入的ISP。

每個ISP是一個由多個分組交換機和多段通信鏈路組成的網(wǎng)絡。不同的ISP為端系統(tǒng)提供了各種不同類型的網(wǎng)絡接入。

端系統(tǒng)、分組交換機和其他因特網(wǎng)部件,都要運行控制因特網(wǎng)中信息接收和發(fā)送的一系列協(xié)議( protocol)。TCP( Transmission Control Protocol,傳輸控制協(xié)議)和lP( Internet Protocol,網(wǎng)際協(xié)議)是因特網(wǎng)中兩個最為重要的協(xié)議。IP協(xié)議定義了在路由器和端系統(tǒng)中發(fā)送和接收的分組的格式。因特網(wǎng)主要的協(xié)議統(tǒng)稱為TCP/IP。

因特網(wǎng)中的所有活動,凡是涉及兩個或多個通信的遠程實體都受協(xié)議的制約。

一個協(xié)議定義了在兩個或多個通信實體之間交換的報文格式和次序,以及在報文傳輸和/或接收或其他事件方面所采取的動作。

與因特網(wǎng)相連的端系統(tǒng)提供了一個應用程序編程接口( Application Programming Interface, API),API規(guī)定了運行在一個端系統(tǒng)上的軟件請求因特網(wǎng)基礎設施向運行在另一個端系統(tǒng)上的特定目的地軟件交付數(shù)據(jù)的方式。因特網(wǎng)API是一套發(fā)送軟件必須遵循的規(guī)則集合,因此因特網(wǎng)將向目的地軟件交付數(shù)據(jù)。

網(wǎng)絡核心

通過網(wǎng)絡鏈路和交換機移動數(shù)據(jù)有兩種基本方法:電路交換( circuit switching)和分組交換( packet switching)。在電路交換網(wǎng)絡中,沿著端系統(tǒng)通信路徑,為端系統(tǒng)之間通信所提供的資源(緩存、鏈路傳輸速率)在通信會話期間會被預留。在分組交換網(wǎng)絡中,這些資源則不被預留;會話的報文按需使用這些資源,這將導致可能不得不等待(即排隊)接入通信線路。

一個簡單的類比是,考慮兩家餐館,一家需要預訂,而另一家不需要預訂但不保證能安排。對于需要預訂的那家餐館,我們在離開家之前要承受必須先打電話預訂的麻煩。但當我們到達該餐館時,原則上我們能夠立即與服務員聯(lián)系并點菜。對于不需要預訂的那家餐館,我們沒有預訂餐桌的麻煩,但也許不得不先等到有空閑餐桌后才能找服務員點菜。

電路交換

image.png

圖1-8顯示了一個電路交換網(wǎng)絡。在這個網(wǎng)絡中,用4條鏈路互聯(lián)4臺電路交換機。這些鏈路的每條都有n條電路,因此每條鏈路能夠支持n條電路同時連接。每臺主機(例如PC和工作站)都與一臺交換機直接相連。當兩臺主機要通信時,該網(wǎng)絡在兩臺主機之間創(chuàng)建一條專用的端到端連接(end-to- end connection)。(多個設備之間的會議呼叫當然也是可能的。為了簡化起見,我們假定每個連接僅有兩臺主機。)因此,主機A為了向主機B發(fā)送報文,該網(wǎng)絡必須在兩條鏈路之一上先預留一條電路。因為每條鏈路具有η條電路,每條鏈路由端到端連接使用,該連接在連接期間獲得該鏈路帶寬的In部分。

鏈路中的電路要么通過頻分多路復用( Frequency-Division Multiplexing,FDM)實現(xiàn),要么通過時分多路復用(Time- Division Multiplexing,TDM)實現(xiàn)。對于FDM,鏈路的頻譜由跨越鏈路創(chuàng)建的所有連接所共享。特別是,該鏈路在連接期間為每條連接專用一個頻段。在電話網(wǎng)絡中,這個頻段通常具有4kHz(即每秒400赫茲或4000周)。該頻段的寬度被稱為帶寬( bandwidth)。調頻無線電臺也使用FDM來共享88~108MHz的頻譜,其中每個電臺被分配一個特定的頻帶。
對于一條TDM鏈路,時間被劃分為固定區(qū)間的幀,并且每幀又被劃分為固定數(shù)量的時隙。
當網(wǎng)絡跨越一條鏈路創(chuàng)建一條連接時,該網(wǎng)絡在每個幀中為該連接指定一個時隙。這些時隙專門由該連接單獨使用,一個時隙可用于傳輸該連接(在每個幀內)的數(shù)據(jù)。

分組交換

各種應用程序在完成其任務時要交換報文( message)。報文能夠包含協(xié)議設計者需要的任何東西。報文可以執(zhí)行一種控制功能(例如,握手例子中的“你好”報文),或能夠包含數(shù)據(jù)(例如電子郵件數(shù)據(jù)、JPEG圖像或MP3音頻文件)。

在現(xiàn)代計算機網(wǎng)絡中,源主機將長報文劃分為較小的數(shù)據(jù)塊,并稱之為分組( packet)。在源和目的地之間,這些分組中的每個都通過通信鏈路和分組交換機( packet switch)(交換機主要有兩類:路由器和鏈路層交換機)傳送。分組以該鏈路的最大傳輸速率在通信鏈路上傳輸。

多數(shù)分組交換機在鏈路的輸入端使用存儲轉發(fā)傳輸( store-and- forward transmission)機制。存儲轉發(fā)傳輸機制是指在交換機能夠開始向輸岀鏈路傳輸該分組的第一個比特之前,必須接收到整個分組。因此,存儲轉發(fā)式分組交換機沿著該分組的路徑在每條鏈路的輸入端引入了存儲轉發(fā)時延。

對于每條相連的鏈路,該分組交換機具有一個輸出緩存( output buffer(也稱為輸出隊列( output queue),它用于存儲路由器準備發(fā)往那條鏈路的分組。該輸出緩存在分組交換中起著重要的作用。如果到達的分組需要跨越鏈路傳輸,但發(fā)現(xiàn)該鏈路正忙于傳輸其他分組,該到達分組必須在輸出緩存中等待。因此,除了存儲轉發(fā)時延以外,分組還要承受輸出緩存的排隊時延( queue delay)。這些時延是變化的,變化的程度取決于網(wǎng)絡中的擁塞水平。因為緩存空間的大小是有限的,所以一個到達的分組可能發(fā)現(xiàn)該緩存被等待傳輸?shù)姆纸M完全充滿了。在此情況下,將出現(xiàn)分組丟失丟包( packet lost)—可能是到達的分組也可能是已經(jīng)排隊的分組之一將被丟棄。

分組交換網(wǎng)中的時延、丟包和吞吐量

時延

1.處理時延
檢查分組首部和決定將該分組導向何處所需要的時間是處理時延的一部分。處理時延也包括其他因素,如檢查比特級差錯所需要的時間,該差錯出現(xiàn)在這些分組比特從上游節(jié)點向路由器A傳輸?shù)倪^程中。高速路由器的處理時延通常是微秒或更低的數(shù)量級。在這種節(jié)點處理之后,路由器將該分組引向通往路由器B鏈路之前的隊列。
2.排隊時延
在隊列中,當分組在鏈路上等待傳輸時,它經(jīng)受排隊時延。一個特定分組的排隊時延將取決于先期到達的、正在排隊等待向鏈路傳輸?shù)姆纸M的數(shù)量。如果該隊列是空的,并且當前沒有其他分組在傳輸,則該分組的排隊時延為0.另一方面,如果流量很大,并且許多其他分組也在等待傳輸,該排隊時延將很大。我們將很快看到,到達組的分組數(shù)量是到達該隊列的流量的強度和性質的函數(shù)。實際的排隊時延通常在毫秒到微秒級。
3.傳輸時延
傳輸時延是路由器將分組推出所需要的時間,它是分組長度和鏈路傳輸速率的函數(shù),而與兩臺路由器之間的距離無關。
4.傳播時延
傳播時延是一個比特從一臺路由器向另一臺路由器傳播所需要的時間,它是兩臺路由器之間距離的函數(shù),但與分組的長度或鏈路的傳輸速率無關。

協(xié)議層次

這個部分已經(jīng)寫過幾次筆記啦,就直接放鏈接了
計算機網(wǎng)絡:發(fā)送數(shù)據(jù)的過程

計算機網(wǎng)絡:發(fā)送一封郵件的圖解過程

可以簡單理解一下計算機網(wǎng)絡的七層或五層、四層~

網(wǎng)絡的威脅

1.壞家伙能夠經(jīng)因特網(wǎng)將惡意軟件放入你的計算機

為了從因特網(wǎng)接收數(shù)據(jù)或向因特網(wǎng)發(fā)送數(shù)據(jù),我們將設備與因特網(wǎng)相連。接收或發(fā)送的數(shù)據(jù)包括各種好的東西,例如web頁面、電子郵件報文、MP3、電話、視頻實況、搜索引擎結果等。但是,隨之而來的還有不好的東西(這些不好的東西統(tǒng)稱為惡意軟件( malware),它們能夠影響我們的設備。一旦惡意軟件感染了我們的設備,它就能夠做各種不正當?shù)氖虑?,包括:刪除文件;安裝間諜軟件來收集隱私信息,如社會保險號、口令和按鍵,然后將這些信息經(jīng)因特網(wǎng)發(fā)送給壞家伙。受害主機還可能征召網(wǎng)絡上數(shù)以千計的類似受害設備,它們被統(tǒng)稱為僵尸網(wǎng)絡( botnet),壞家伙可以控制僵尸網(wǎng)絡,有效地對目標主機展開垃圾郵件分發(fā)或分布式拒絕服務攻擊。

今天,大多數(shù)惡意軟件是自我復制(self- replicating)的:一旦它感染了一臺主機,就會從那臺主機進更多的主機。按照這種方式,自我復制的惡意軟件能夠以指數(shù)級快速擴散。

病毒( virus)是一種需要某種形式的用戶交互來感染用戶設備的惡意軟件。

2.壞家伙能夠攻擊服務器和網(wǎng)絡基礎設施

拒絕服務( Denial- of-Service,DoS)攻擊是一種寬泛類型的安全性威脅。顧名思義,DoS攻擊使得合法用戶不能使用網(wǎng)絡、主機或其他基礎設施部分。Web服務器、電子郵件服務器DNS服務器(在第2章中討論)和機構網(wǎng)絡都可以成為DoS攻擊的目標。因特網(wǎng)DoS攻擊極為常見,每年會出現(xiàn)數(shù)以千計的DoS攻擊

大多數(shù)因特網(wǎng)DoS攻擊屬于下列三種類型之一:

  • 弱點攻擊。這涉及向目標主機上運行的易受攻擊的應用程序或操作系統(tǒng)發(fā)送制作精細的大報文。如果多個分組以適當?shù)捻樞虬l(fā)送給一個易受攻擊的應用程序或操作系統(tǒng),該服務可能停止運行,甚至導致主機崩潰。
  • 帶寬洪泛。攻擊者向目的主機發(fā)送大量的分組,導致目標的接入鏈路變得擁塞,從而使合法的分組無法到達服務器。
  • 連接洪泛。攻擊者在目標主機中創(chuàng)建大量的半開或全開TCP連接。目標主機因這些偽造的連接而陷入困境,從而停止合法的連接。

3.壞家伙能夠嗅探分組

今天,許多用戶經(jīng)無線設備接入因特網(wǎng)。當無所不在的因特網(wǎng)接入極為便利且令人驚奇的新應用程序為移動用戶所用時,也產(chǎn)生了重大的安全弱點,即在無線傳輸設備的附近放置一臺被動的接收機,該接收機就能得到傳輸?shù)拿總€分組的拷貝!這些分組包含各種敏感信息,包括口令、社會保險號、商業(yè)秘密和隱秘的個人信息。記錄每個流經(jīng)的分組拷貝的被動接收機被稱為分組嗅探器( packet sniffer)。

4.壞家伙能夠偽裝成你信任的人

生成具有任意源地址、分組內容和目的地址的分組,然后將這個人工制作的分組傳輸?shù)揭蛱鼐W(wǎng)中,當然因特網(wǎng)將忠實地將該分組轉發(fā)到目的地。一個不可信的接收方(比如說因特網(wǎng)上的一臺路由器)接收了分組,用(虛假的)源地址偽裝真實的源地址,進而執(zhí)行某些嵌入在該分組中的命令(比如說修改它的轉發(fā)表)。將具有虛假源地址的分組注入因特網(wǎng)的能力被稱為IP哄騙( IP spoofing),它只是一個用戶能夠冒充另一個用戶的多種方式之一。
為了解決這個問題,需要采用端點鑒別(end- point authentication)機制,即確保報文源自我們認為它應當來自的地方的機制。當你繼續(xù)學習本書各章時,建議你思考一下怎樣為網(wǎng)絡應用程序和協(xié)議做這件事。

5.壞家伙能夠修改或刪除報文

我們通過描述中間人攻擊( man-in-middle attack)來終止這個有關網(wǎng)絡攻擊的概述。在這類攻擊中,壞家伙插入到兩個通信實體之間的通信路徑中。

思維導圖:

圖片比較大,可以另存再放大看~


計算機網(wǎng)絡1.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容