計算機網路基礎知識大總匯

  一、什麼是TCP/IP

網路和協議

1. TCP/IP是一類協議系統,它是一套支持網路通信的協議集合。網路是計算機或類似計算機的設備之間通過常用的傳輸介質進行通信的集合。

2.網路協議就是一套通用規則,用來幫助定義複雜數據傳輸的過程。數據傳輸從一台計算機上的應用程序開始,通過計算機網路硬體,經過傳輸介質到正確目的地,然後上傳到目的地計算機網路硬體,最後到達負責接收的應用程序。

計算機網路基礎知識大總匯

3.TCP/IP協議定義了網路通信過程,更重要的是,定義了數據單元的格式和內容,以便接收計算機能夠正確解釋接收到的消息。TCP/IP被稱為協議簇。

4.TCP/IP標準定義了TCP/IP網路的通信規則;TCP/IP做到是一個軟體組件,計算機通過它參與到TCP/IP網路中。

TCP/IP的特性

1.邏輯編址:TCP/IP通過邏輯編址提供了子網化的能力。邏輯地址是一個同過網路軟體來配置的地址。在TCP/IP中,計算機的邏輯地址稱為IP地址。

2.路由選擇:路由器是一種特殊的設備,能夠讀取邏輯地址信息,並將數據通過網路直接傳送到它的目的地。在局域網中,數據傳輸到另一台計算機或設備時,不用經過路由器,因此不會給大型網路的傳輸線路帶來負擔。如果數據要傳送到子網以外的計算機上,路由器將負責轉PO數據。

3.名稱解析:域名到IP地址的映射稱為名稱解析。域名服務器的專用計算機中存儲了用於顯示域名和IP地址轉換方式的表。

4.錯誤控制和流量控制:TCP/IP協議簇提供了確保數據在網路中可靠傳送的特性。這些特性包括檢查數據的傳輸錯誤(確保到達的數據與發送的數據一致)和確認成功接收到網路信息。

5.應用支持:同一台計算機可以運行多種網路應用程序。協議軟體必須提供某些方法來判斷接收到的數據包屬於哪個應用程序。在TCP/IP中,這個通過系統的邏輯通道做到從網路到應用程序的接口被稱為端口。

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

二、TCP/IP的工作方式

TCP/IP協議系統

1.TCP/IP協議系統必須要完成的任務:

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

2.TCP/IP模型的協議層:應用層-傳輸層-網際層-網路訪問層(數據鏈路層-物理層)

3.網路訪問層:提供了與物理網路連接的接口。針對傳輸介質設置數據的格式,根據硬體的物理地址做到數據的尋址,對數據在物理網路中的傳遞提供錯誤控制。

4.網際層:提供獨立於硬體的邏輯尋址,從而讓數據能夠在具有不同物理結構的子網之間傳遞。提供路由功能來降低流量,支持網間的數據傳遞。做到物理地址與邏輯地址的轉換。

5.傳輸層:為網路提供了流量控制、錯誤控制和確認服務。充當網路應用程序的接口。

6.應用層:為網路排錯、文件傳輸、遠程控制和internet操作提供了應用程序。

TCP/IP和OSI模型

1.開放系統互連模型——OSI

計算機網路基礎知識大總匯

2.

計算機網路基礎知識大總匯

數據包

1.在數據發送的過程中,其流程是從堆棧的上到下,每一層都把相關的信息(成為「報頭」)捆綁到實際的數據上。包含報頭信息和數據的數據包就作為下一層的數據,再次被添加報頭信息和重新打包。

2.

計算機網路基礎知識大總匯

3.每一層封裝報頭的原因:接收設備上的每個協議層需要不同的信息來處理收到的數據,所以發送設備上的沒一些就封裝相應的報頭信息。

計算機網路基礎知識大總匯

三、網路訪問層

協議和硬體

1.網路訪問層管理為物理網路準備數據所必須的服務與功能:與計算機網路適配器的連接;根據合適的訪問方式調整數據傳輸;把數據轉化為電子流或模擬脈沖的形式,以在傳輸介質上進行傳輸;對接收到的數據進行錯誤檢查;給發送的數據添加錯誤檢查信息,從而讓接收端計算機能夠對數據進行錯誤檢查。

2.網路訪問層定義了與網路硬體交互和訪問傳輸介質的過程。

網路訪問層與OSI模型

1.網路訪問層大致對應OSI模型的物理層和數據鏈路層。

2.物理層負責把數據幀轉化為適合於傳輸介質的比特流。在接收端,物理層把這些脈沖重新組合為數據幀。

3.數據鏈路層執行兩個獨立的任務:介質訪問控制(MAC)——這個子層提供與網路適配器連接的接口。實際上,網路適配器驅動程序通常被稱為MAC驅動;邏輯鏈路控制(LLC)——這個子層對經過子網傳遞的幀進行錯誤檢查,並且管理子網上通信設備之間的鏈路。

網路體系

1.網路體系具有一系列的規範來管理介質訪問、物理尋址、計算機與傳輸介質的交互。在決定網路體系時,實際上是在決定如何設計網路訪問層。

2.網路體系包含對物理網路的定義,以及該物理網路上定義的通信規範。

計算機網路基礎知識大總匯

3.網路訪問層的軟體必須伴隨於特定的硬體設計。TCP/IP協議棧的設計保證了與硬體交互相關的細節都發生在網路訪問層,使得TCP/IP能夠工作於多種不同的傳輸介質。以下是集中網路體系的類型:

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

物理尋址

1.網路訪問層需要把邏輯IP地址與網路適配器的固定物理地址相關聯。

2.物理尋址是由介質訪問控制(MAC)子層負責的。

3.TCP/IP使用地址解析協議(ARP)和逆向地址解析協議(RARP)把IP地址關聯到網路適配器的物理地址。ARP和RARP為用戶提供的邏輯IP地址與局域網上使用的硬體地址建立了一個對應關係。

以太網

1.以太網是目前使用最廣泛的局域網技術,是當今現有局域網採用的最通用的通信協議標準。

2.在典型的以太網上,全部計算機共享同一個傳輸介質。以太網使用成為載波偵聽多路訪問/衝突檢測(CSMA/CD)的方法,來判斷計算機何時可以把數據發送到訪問介質。通過CSMA/CD,所有計算機都監視傳輸介質的狀態,在傳輸之前等待線路空閒。如果兩台計算機嘗試同時發送數據,就會發生衝突,計算機就會停止發送,等待一個隨機的時間間隔,然後再次嘗試發送。

3.傳統以太網在中低負載情況下運行良好,但在大負載情況下會由於衝突的增多而影響性能。在現代以太網中,像網路交換機這樣的設備會對流量進行管理,減少衝突的發生,從而讓以太網的運行更具效率。

計算機網路基礎知識大總匯

剖析以太網幀

1.網路訪問層的軟體從網際層接收數據報,把它轉化符合物理網路規範的形式。在以太網中,網路訪問層的軟體必須把數據轉化成能夠通過網路適配器硬體進行傳輸的形式。

2.

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

四、網際層

尋址與發送

1.物理尋址方式適合單個局域網網段。由不間斷介質連接在一起的若干台計算機利用物理地址就可以做到所需要的功能。只需使用網路訪問層的低級協議就可以把數據從網路適配器直接傳遞另一個網路適配器。但是,在路由式網路中,不能利用物理地址做到數據傳輸,因為根據物理地址進行傳輸所需的過程不能跨越路由接口來進行。

2.TCP/IP隱藏了物理地址,以一種邏輯化、層次化的尋址方案對網路進行組織。這種邏輯尋址方案由網際層的IP協議維護,而邏輯地址被稱為IP地址。

3.在一個路由式網路中,TCP/IP要使用如下策略在網路上發送數據:

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

網際協議

1.IP協議提供了一種分層的、與硬體無關的尋址系統,具有在複雜的路由式網路中傳遞數據所需的服務。TCP/IP網路上的每個網路適配器都有一個唯一的IP地址。

2.IP地址分為兩個部分:網路ID和主機ID。網路必須提供一種方式來判斷IP地址的哪一部分是網路ID,哪一部分是主機ID。

IP報頭字段

1.每個IP數據報都以一個IP報頭開始。源計算機的TCP/IP軟體構造這個IP報頭,目的計算機的TCP/IP軟體利用IP報頭中封裝的信息處理數據。IP報頭包含大量信息,包括源IP地址、目的IP地址、數據報長度、IP版本號和路由器的特殊指令。

2.IP數據報由報頭和數據兩部分組成。報頭由一個20字節的固定長度和一個可任選任意長度部分組成。IP數據報最長為65535字節。

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

IP尋址

1.劃分網路ID和主機ID的最初方案是使用地址分類。

2.A類:0.0.0.0~127.255.255.255

B類:128.0.0.0~191.255.255.255

C類:192.0.0.0~223.255.255.255

D類:224.0.0.0~239.255.255.255

E類:240.0.0.0~247.255.255.255

規定首字節不能是127、0、255,主機各位不能同時為0和1

計算機網路基礎知識大總匯

3.網路管理員可以把網路劃分為更小的次級網路,這被稱為子網。劃分子網的是指就是借用主機ID中的一些為,在網路內創建額外的網路。AB類地址會廣泛應用子網劃分技術。

地址解析協議——ARP

1.ARP把IP地址映射為物理地址。主機必須知道目的網路適配器的物理地址才能向它發送數據。

2.網段上每台主機在記憶體中都保存著一個被稱為ARP表或ARP緩存的表格,其中包含了網段上其他主機的IP地址與物理地址的對應關係。當主機需要向網段上的其他主機發送數據時,它會查看ARP緩存來獲得目的的物理地址。ARP緩存是動態變化的,如果要接收數據的地址當前並不存在於ARP緩存中,主機就會發送一個名為ARP請求幀的廣播。

計算機網路基礎知識大總匯

ARP請求幀包含為解析的IP地址,還包含發送這個請求的主機的IP地址和物理地址。網段上的其他主機接收到這個ARP請求,擁有這個未解析IP地址的主機會向發出請求的主機發送自己的物理地址。這個新的IP地址與物理地址的對應關係就會添加到請求主機的ARP緩存中。

逆向地址解析協議——RARP:在知道物理地址而不知道IP地址時,應該使用RARP。

INTERNET控制消息協議——ICMP

1.發送到遠程計算機的數據通常會經過一個或多個路由器,這些路由器在把數據傳輸到最終目的地的過程中可能發生多種問題。路由器利用ICMP協議把問題通知給源IP。ICMP還有用於調試和排錯的功能。

2.

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

五、子網劃分和CIDR

子網

1.子網劃分可以利用IP地址系統把物理網路分解為更小的邏輯實體——子網。

2.子網的概念最早源自於地址分類系統,而且在ABC類地址中能夠得到很好的展現。然而硬體廠商和internet社區建立了一種解析地址的新系統,名為無類別域間路由(CIDR),它不需要關心地址類別。

劃分網路

1.ABC類網路ID來識別網段具有一些局限性,主要是在網路級別之下不能對地址空間進行任何邏輯細分。數據報到達某個網關(90.0.0.0)地址空間,但如果要考慮它在這個地址空間中是如何傳遞的,這個就會變得非常複雜,因為A類網路能夠容納超過1600萬台主機。

2.為了在大型網路裡做到更高效的數據傳輸,地址空間被劃分為較小的網段。唯一可行的解決辦法是在網路標ID下對地址空間進行某種細分,讓主機和路由器能夠根據IP地址判斷應該把數據發送到哪個網段。

3.TCP/IP的設計者借用了主機ID裡的一些位來形成子網地址。一個名為子網掩碼的參數指明了地址中多少位用於子網ID,保留多少位作為實際的主機ID。

4.像IP地址一樣,子網掩碼是個32位的二進制值。子網掩碼裡的每一位代表IP地址中的一個位,用1表示IP地址中屬於網路ID或子網ID的位,用0表示IP地址裡屬於主機ID的位。

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

5.在子網網路上,路由器和主機所使用的路由表包含了每個IP地址相關的子網掩碼信息。數據報根據網路ID被路由到目標網路,而這個網路ID是由地址類別決定的。當數據報到達目標網路之後,它根據子網ID路由到合適的網段。在到達這個網段之後,再根據主機ID傳輸到正確的計算機。

計算機網路基礎知識大總匯

使用子網

1.子網掩碼決定了網路ID之後又多少位是作為子網ID的。子網ID的長度不是固定的,取決於子網掩碼的值。子網ID越長,留給主機ID的位數就越少。

2.全0或全1的主機ID是不能分配的

3.

計算機網路基礎知識大總匯

無類別域間路由——CIDR

1.CIDR技術使用一個名為CIDR前綴的值指定地址中作為網路ID的位數。這個前綴有時也被稱為變長子網掩碼。

2.這個前綴可以位於地址空間的任何位置,讓管理者能夠以更靈活的方式定義子網,以簡便的形式指定地址網路ID部分與主機ID部分。

3.CIDR標記使用一個斜線/,後面跟一個十進制數值來表示地址中網路部分所占的位數。

4.例如一個ISP被分配了一些C類網路,這個ISP準備把這些C類網路分配給各個用戶群,已經分配了三個C類網段給用戶,如果沒有實施CIDR技術.ISP的路由器的路由表中會有三條下連網段的路由條目,並且會把它通告給Internet上的路由器.通過實施CIDR技術,我們可以在ISP的路由器上把這三個網段198.168.1.0,198.168.2.0,198.168.3.0匯聚成一條路由198.168.0.0/16.這樣ISP路由器只向Internet通告198.168.0.0/16這一條路由,大大減少了路由表的數目.從而為網路路由器節省出了存儲空間。 值得注意的是,使用CIDR技術匯聚的網路地址的比特位必須是一致的,如上例所示.如果上例所示的ISP連接了一個172.178.1.0網段,這些網段路由將無法匯聚,無法做到CIDR技術.

5.CIDR建立於「超級組網」的基礎上,「超級組網」是「子網劃分」的派生詞,可看作子網劃分的逆過程。子網劃分時,從地址主機部分借位,將其合併進網路部分;而在超級組網中,則是將網路部分的某些位合併進主機部分。這種無類別超級組網技術通過將一組較小的無類別網路匯聚為一個較大的單一路由表項,減少了Internet路由域中路由表條目的數量。

六、傳輸層

傳輸層簡介

1.傳輸層需要提供如下功能:

計算機網路基礎知識大總匯

2.傳輸層為網路應用程序提供了一個接口。

3.傳輸控制協議——TCP:TCP提供了完善的錯誤控制和流量控制,能夠確保數據正確傳輸,它是一個面向連接的協議。

4.用戶數據報協議——UDP:UDP只提供了非常基本的錯誤檢測,用於不需要TCP精細控制功能的場合,它是一個無連接的協議。

面向連接協議和無連接協議

1.面向連接協議:會在通信計算機之間建立並維護一個連接,並且在通信過程中監視連接狀態。通過網路傳輸的每個數據包都會有一個確認,發送端計算機會記錄狀態信息來確保每個數據包都被正確無誤的接收了,並且在需要時會重發數據。當數據傳輸結束後,發送端和接收端計算機會以適當方式關閉連接。

2.無連接協議:以單向方式向目的發送數據報,不承擔通知目的計算機關於數據發送的職責。目的計算機接收到數據後也不需要向源計算機返回狀態信息。

端口和套接字

1.在TCP/IP系統中,應用程序可以使用端口號通過TCP或UDP指定數據目的地。端口是一個預定義的內部地址,充當從應用程序到傳輸層或是從傳輸層到應用程序的通路。

2.TCP或UDP數據實際是被發送到一個套接字上的。套接字是一個由IP地址和端口號組成的地址。

計算機網路基礎知識大總匯

多路復用/多路分解

1.多路復用是指把多個來源的數據導向一個輸出,而多路分解是把從一個來源接收的數據發送到多個輸出。多路傳輸/多路分解讓TCP/IP協議棧較低層的協議不比關心哪個程序在傳輸數據。與應用程序相關的操作都由傳輸層完成了,數據通過一個與應用程序無關的管道在傳輸層與網際層之間傳遞。

2.多路復用是指兩個或多個用戶共享公用信道的一種機制。通過多路復用技術,多個終端能共享一條高速信道,從而達到節省信道資源的目的,多路復用有頻分多路復用(FDMA),時分多路復用(TDMA),碼分多路復用(CDMA)幾種。

TCP:面向連接的傳輸協議

1.TCP重要特性:

計算機網路基礎知識大總匯

2.TCP數據格式:

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

3.TCP連接:TCP通過連接髮送和接收數據,而這個連接必須根據TCP的規則進行請求、打開和關閉。TCP的功能之一是為應用程序提供訪問網路的接口。這個接口是通過TCP端口提供的,而為了通過端口提供連接,必須打開TCP與應用程序的接口。 被動打開——某個應用程序進程通知TCP準備通過TCP端口接收連接,這樣就會打開TCP到應用程序的連接,從而為參與連接請求做準備。 主動打開——程序要求TCP發起與另一台計算機的連接,這就是主動打開狀態。

計算機網路基礎知識大總匯

4.建立連接:三次握手總是發生在TCP連接建立的初期 。需要三次握手的原因——TCP的三次握手最主要是防止已過期的連接再次傳到被連接的主機。

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

5.TCP流量控制(滑動窗口方法):接收端計算機利用「窗口」字段(也被稱為「緩存大小」字段)來定義一個超過最後一個已確認序列號的序列號「窗口」,在這個範圍內的序列號才允許發送端計算機進行發送。發送端計算機在沒有接收到下一個確認消息之前不能發送超過這個窗口的序列號。

6.關閉連接:計算機A發送一個數據分段,其中的FIN標記設置為1。之後應用程序進入’fin-wait’狀態。在這個狀態下,計算機的TCP軟體繼續接受數據分段,並處理已經在序列中的數據分段,但不再從應用程序接收數據了。當計算機B接收到FIN數據分段時,它返回FIN確認信息,然後發送剩餘的數據分段,通知本地應用程序接收到了FIN消息。計算機B向計算機A發送一個FIN數據分段,計算機A返回確認信息,連接就被關閉了。

計算機網路基礎知識大總匯

【注意】中斷連接端可以是Client端,也可以是Server端。假設Client端發起中斷連接請求,也就是發送FIN報文。Server端接到FIN報文後,意思是說’我Client端沒有數據要發給你了’,但是如果你還有數據沒有發送完成,則不必急著關閉Socket,可以繼續發送數據。所以你先發送ACK,’告訴Client端,你的請求我收到了,但是我還沒準備好,請繼續你等我的消息’。這個時候Client端就進入FIN_WAIT狀態,繼續等待Server端的FIN報文。當Server端確定數據已發送完成,則向Client端發送FIN報文,’告訴Client端,好了,我這邊數據發完了,準備好關閉連接了’。Client端收到FIN報文後,’就知道可以關閉連接了,但是他還是不相信網路,怕Server端不知道要關閉,所以發送ACK後進入TIME_WAIT狀態,如果Server端沒有收到ACK則可以重傳。「,Server端收到ACK後,’就知道可以斷開連接了’。Client端等待了2MSL後依然沒有收到回復,則證明Server端已正常關閉,那好,我Client端也可以關閉連接了。Ok,TCP連接就這樣關閉了!計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

雙方同時要求關閉連接:ESTAB->FIN-WAIT-1->CLOSING->TIME-WAIT->CLOSED TIME-WAIT狀態之後等待2MSL(包的最大保存時間)是為了確保所有該連接上的包都已在網路消失。

7.TCP如何保證可靠性:TCP的可靠性是通過順序編號和確認(ACK)來做到的。TCP在開始傳送一個段時,為準備重傳而首先將該段插入到發送隊列之中,同時啟動時鐘。其後,如果收到了接受端對該段的ACK信息,就將該段從隊列中刪去。如果在時鐘規定的時間內,ACK未返回,那麼就從發送隊列中再次送出這個段。TCP在協議中就對數據可靠傳輸做了保障,握手與斷開都需要通訊雙方確認,數據傳輸也需要雙方確認成功,在協議中還規定了:分包、重組、重傳等規則;而UDP主要是面向不可靠連接的,不能保證數據正確到達目的地。

UDP:無連接傳輸協議

1.UDP實際上能夠執行基本的錯誤檢驗,因此,可以說UDP具有有限的錯誤檢驗功能。UDP數據報中包含一個校驗和,接收端計算機可以利用它來檢驗數據的完整性。

2.UDP的開銷沒有TCP大。

3.UDP不會重新傳輸丟失或損壞的數據報、重新排列混亂的接收數據、消除重復的數據報、確認數據報的接收、建立或是終止連接。它主要是在程序不必使用TCP連接開銷的情況下發送和接收數據報的一種方式。

七、應用層

TCP/IP應用層與OSI

1.TCP/IP應用層對應於OSI模型的應用層、表示層和會話層。

2.應用層:OSI的應用層包含的組件為用戶應用程序提供服務並支持網路訪問。

3.表示層:表示層把數據轉化為平台無關的格式,並處理加密和數據壓縮。

4.會話層:負責管理聯網計算機上應用程序之間的通信,提供了一些傳輸層不具備、與連接相關的功能,比如名稱識別和安全。

應用層的部分協議

計算機網路基礎知識大總匯

API和應用層:應用編程接口(API)是預定義的編程組件的集合,應用程序可以利用它訪問操作環境的其他部分,也就是與操作系統進行通信。網路協議棧就是API概念的典型應用,網路API提供了程序與協議棧的接口,應用程序利用API的函數打開和關閉連接、從網路讀取和寫入數據。

八、路由選擇

路由器的概念

1.路由器是負責根據邏輯地址對通信流量進行過濾的設備。經典的網路路由器工作於網際層,使用網際層報頭中的IP尋址信息。

2.向Internet這樣的大型網路具有很多路由器,提供了從源到目的節點的多條路徑。這些路由器必須獨立工作,但整個系統必須保證數據能夠準確高效地在網路中傳輸。

3.當路由器將數據從一個網路傳輸到下一個網路時,它會替換網路訪問層報頭信息,因此路由器可以連接不同類型的網路。很多路由器還維護關於最佳路徑的詳細信息,這是根據距離、帶寬和時間綜合考慮的。

4.早期的路由器實際上就是具有兩塊或多塊網路適配器的計算機(也被稱為多宿主計算機)。

計算機網路基礎知識大總匯

路由選擇過程

1.路由器全面功能:

計算機網路基礎知識大總匯

2.路由表和建立路由表的協議是路由器具有的兩個顯著特性。對於路由器的大多數討論都是關於建立路由表、匯集路由表的路由協議如何讓所有的路由器像一個整體一樣提供服務。

3.靜態路由:要求網路管理員手工輸入路由信息。

4.動態路由:根據使用路由協議獲得的路由信息來動態建立路由表。

路由表的概念

1.路由表和忘記曾其他路由元素的用途在於把數據傳遞到正確的本地網路。當數據到達本地網路之後,網路訪問協議就會知道它的目的地。因此,路由表不需要存儲完整的IP地址,只需要列出網路ID即可。

2.

計算機網路基礎知識大總匯

路由表就是把目的網路ID映射到下一跳的IP地址,即數據報通往目的網路的下一站。路由表會區分直接連接到路由器本身的網路和通過其他路由器間接連接過來的網路。下一跳可以是目的網路,也可以是通向目的網路的下一個下遊路由器。

IP轉PO

1.主機的路由表比路由器簡單得多,它可能只包含兩行:一個條目用於本地網路,另一個用於默認路由(用於處理不能在本地網段上傳輸的數據包)。

2.IP轉PO過程實際上不會再IP報頭中寫入路由器的地址,而是由主機把數據報和路由器的IP地址向下傳遞到網路訪問層,該層的協議軟體會使用一個獨立的查詢過程把數據包封裝到一個幀中,通過本地網段傳遞給路由器。換句話說,被轉PO的數據報裡的IP地址指向最終要接收數據的主機 ,而轉PO數據報的幀中的物理地址指向路由器上本地適配器的地址。

3.

計算機網路基礎知識大總匯

直接路由和間接路由

1.

計算機網路基礎知識大總匯

2.路由器了解間接路由的方式有兩種:從系統管理員和從其他路由器。這兩種方式分別對應靜態路由和動態路由。

3.大多數現代路由器使用了某種形式的動態路由。路由器彼此之間的相互通信,共享關於網段和網路路徑的信息,每台路由器都根據從這種通信過程中得到的信息建立自己的路由表。

動態路由算法——距離矢量路由

1.距離矢量路由是一種高效、簡單的路由方法,被很多路由協議所採用。其設計目標是讓路由器之間所需的通信最少,讓路由表中必須保存的數據最少。這種設計理念認為路由器不必知道通向每個網段的完整路徑,而是只需知道向哪個方向發送數據報即可。

2.網段之間的距離以數據報在兩個網路之間傳輸必須經過的路由器的數量來表示,而使用距離矢量路由的路由器優化路徑的方式是讓數據報必須經過的路由器達到最少。這個距離參數成為「跳數」。

3.距離矢量路由的工作方式:

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

動態路由算法——鏈路狀態路由:連接狀態路由背後的理念在於每個路由器都嘗試建立關於網路拓撲的內部映射。每台路由器定期向網路發送狀態信息,其中列出了自己直連的其他路由器以及鏈路的狀態。路由器利用從其他路由器收到的狀態消息建立網路拓撲的映射,當它需要轉PO數據報時,會根據現有條件選擇最佳路徑。

複雜網路上的路由

1.對於internet上的路由器來說,並不是每台路由器都需要知道其他所有路由器的信息。在網路有效組織的情況下,大多數路由器只需要與相鄰路由器交互協議信息即可。

2.在孕育了internet的ARPnet系統中,一組核心路由器作為網路互聯的中央骨幹網,把自動配置和管理的獨立網路連接在一起。核心路由器了解每個網路,但不必知道每個子網。只要數據報能夠找到到達核心路由的路徑,就能夠到達整個網路的任何位置。附屬網路中的路由器不必了解世界上的全部網路,只需要知道如何在相鄰路由器之間如何傳輸數據和如何到達核心路由器即可。

3.

計算機網路基礎知識大總匯

路由選擇協議

1. 因特網有兩大類路由選擇協議:內部網關協議IGP(InteriorGateway Protocol)即在一個自治系統內部使用的路由選擇協議。目前這類路由選擇協議使用得最多,如RIP和OSPF協議。外部網關協議EGP(ExternalGateway Protocol)若源站和目的站處在不同的自治系統中,當數據報傳到一個自治系統的邊界時,就需要使用一種協議將路由選擇信息傳遞到另一個自治系統中。這樣的協議就是外部網關協議EGP。在外部網關協議中目前使用最多的是BGP-4。

2.路由信息協議RIP是內部網關協議IGP中最先得到廣泛使用的協議。RIP是一種分布式的基於距離向量的路由選擇協議。RIP協議要求網路中的每一個路由器都要維護從它自己到其他每一個目的網路的距離記錄。距離的解釋:從一路由器到直接連接的網路的距離定義為1。從一個路由器到非直接連接的網路的距離定義為所經過的路由器數加1。RIP協議中的「距離」也稱為「跳數」(hop count),因為每經過一個路由器,跳數就加1。這裡的「距離」實際上指的是「最短距離」。RIP認為一個好的路由就是它通過的路由器的數目少,即「距離短」。RIP允許一條路徑最多只能包含15個路由器。「距離」的最大值為16時即相當於不可達。可見RIP只適用於小型互聯網。RIP不能在兩個網路之間同時使用多條路由。RIP選擇一個具有最少路由器的路由(即最短路由)哪怕還存在另一條高速(低時延)但路由器較多的路由。

3. 「開放」表明OSPF協議不是受某一家廠商控制,而是公開發表的。「最短路徑優先」是因為使用了Dijkstra提出的最短路徑算法SPF。OSPF只是一個協議的名字,它並不表示其他的路由選擇協議不是「最短路徑優先」。是分布式的鏈路狀態協議。

4.BGP是不同自治系統的路由器之間交換路由信息的協議。邊界網關協議BGP只能是力求尋找一條能夠到達目的網路且比較好的路由(不能兜圈子),而並非要尋找一條最佳路由。

九、連網

撥號連接

1.連接TCP/IP網路的一種最常用的方式是通過電話線,而近幾年,向電纜調制解調器和DSL這樣的寬帶技術降低了撥號連接的重要性。調制解調器(modem)通過電話線提供網路訪問,它的作用在於把來自計算機的數字傳輸轉化為能夠通過電話系統的端口進行傳輸的模擬信號,也把來自電話線的模擬信號轉化為計算機能夠理解的數字信號。

2.電話線兩段的計算機不需要與其他計算機爭用傳輸介質,他們只需要在彼此之間共享介質就可以了。這種連接方式被稱為點到點連接。

3.調制解調器協議:串行線路網際協議(SLIP)——基於TCP/IP的早期調制解調器協議,相對簡單,有很多局限性。點到點協議(PPP)——最初當前用於調制解調器連接的最流行協議,是對SLIP的細化,具有SLIP所不具備的很多重要特性。

電纜寬帶:電纜調制解調器直接連接到一條同軸電纜,後者被連接到有線電視服務網路上。這個調制解調器通常具有一個以太網接口,可以連接到單台計算機或小型局域網中的交換機或路由器。電纜調制解調器做到數字信號與模擬信號的轉換,從而讓數據能夠通過電纜連接高效傳輸。

計算機網路基礎知識大總匯

連接設備

1.網橋:根據物理地址過濾和轉PO數據包的連接設備,它工作與OSI模型的數據鏈路層。網橋監聽它所連接的每個網段,建立一個表來反應物理地址位於哪個網段。當數據在一個網段上傳輸時,網橋會查看數據的目的地址,與路由表進行比較。如果目的地址屬於發送數據的網段,網橋就忽略這個數據。如果目的地址在不同的網段,網橋就把數據轉PO到適當的網段。如果目的地址不在路由表,網橋就會把數據轉PO到除源網段之外的全部網段。

2.HUB(集線器):作為一個物理設備從一個端口接收數據,然後把數據重復到其餘全部的端口。換句話說,全部計算機就好像是被一條連續線路連接在一起的。HUB不會過濾或路由任何數據,知識接收和重新發送信息。

計算機網路基礎知識大總匯

3.交換機:每台計算機也是通過一條線路連接到交換機。但是,交換機知道應該把接收到的數據發送到哪一個端口。大多數交換機把端口與所連接設備的物理地址關聯起來。當一個端口所連接的計算機發送數據幀時,交換機會查看幀的目的地址,把幀發送到目的地址相關聯的端口。

計算機網路基礎知識大總匯

十、名稱解析

使用主機文件進行名稱解析

1.主機文件是一個保存有一個主機名、相關IP地址列表的文件。主機名解析實在更複雜的DNS名稱解析之前被開發出來的。

2.在小型網路上配置主機名解析通常很簡單。支持TCP/IP的操作系統都能識別主機文件,並可以將它用於名稱解析,而且期間幾乎不需要用戶干預。

3.配置名稱解析的大致步驟如下:為每台計算機分配IP地址和主機名;創建映射了IP地址和所有計算機主機名的主機文件。這些文件的名稱一般是hosts;將主機文件放置每台計算機的指定位置上。對於具體位置每種操作系統都有自己的規定。

DNS名稱解析

1.DNS會將名稱解析數據防止在一個或多個專用服務器上,由DNS服務器為網路提供名稱解析服務。如果網路上計算機需要將某個主機名解析成IP地址,會向服務器發送一個查詢,詢問與這個地址關聯的主機名。如果DNS服務器保存了相應的地址,就將這個地址返回給發出請求的計算機。接下來,這台計算機會用IP地址來替代主機名,進而再執行命令。

2.DNS服務器又多個有點,它為本地網路提供了一個單一的DNS配置點,使得網路資源的利用更加有效。然而,DNS無法高效地保存Internet上所有主機名的數據庫。解決辦法是,使所有名稱服務器都可以彼此通信。

3.如果DNS在自己保存的地址數據庫中發現了被請求的地址,則將這個地址發回給客戶端。如果名稱服務器在自己保存的記錄中沒有找到這個地址,會要求其他的名稱服務器查找這個地址,接著將這個地址發回給客戶端。

4.工作原理:當DNS客戶機需要在程序中使用名稱時,它會查詢DNS服務器來解析該名稱。客戶機發送的每條查詢信息包括三條信息:包括:指定的DNS域名,指定的查詢類型,DNS域名的指定類別。基於UDP服務,端口53. 該應用一般不直接為用戶使用,而是為其他應用服務,如HTTP,SMTP等在其中需要完成主機名到IP地址的轉換。

瀏覽器輸入網址之後的過程

1.應用層:客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個IP地址找到客戶端到服務器的路徑。客戶端瀏覽器發起一個HTTP會話到220.161.27.48,然後通過TCP進行封裝數據包,輸入到網路層。

計算機網路基礎知識大總匯

DNS解析IP地址計算機網路基礎知識大總匯

HTTP訪問服務器

2.傳輸層:在客戶端的傳輸層,把HTTP會話請求分成報文段,添加源和目的端口,如服務器使用80端口監聽客戶端的請求,客戶端由系統隨機選擇一個端口如5000,與服務器進行交換,服務器把相應的請求返回給客戶端的5000端口。然後使用IP層的IP地址查找目的端。

3.客戶端的網路層不用關心應用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達服務器,期間可能經過多個路由器,這些都是由路由器來完成的工作,通過查找路由表決定通過那個路徑到達服務器,其中用到路由選擇協議。

4.客戶端的鏈路層,包通過鏈路層發送到路由器,通過鄰居協議查找給定IP地址的MAC地址,然後發送ARP請求查找目的地址,如果得到回應後就可以使用ARP的請求應答交換的IP數據包現在就可以傳輸了,然後發送IP數據包到達服務器的地址。不管網路層使用的是什麼協議,在實際網路的鏈路上傳送數據幀時,最終還是必須使用硬體地址。每一個主機都設有一個 ARP 高速緩存(ARP cache),裡面有所在的局域網上的各主機和路由器的 IP 地址到硬體地址的映射表。當主機 A 欲向本局域網上的某個主機 B 發送 IP 數據報時,就先在其 ARP 高速緩存中查看有無主機 B 的 IP 地址。如有,就可查出其對應的硬體地址,再將此硬體地址寫入 MAC 幀,然後通過局域網將該 MAC 幀發往此硬體地址。

十一、TCP/IP安全

防火牆

1.防火牆就是一個放置在網路路徑上的設備,它可以檢查、接受或拒絕打算進入網路的數據包。防火牆和傳統的路由器最重要的區別是傳統路由器會盡可能轉PO數據包,而防火牆則只轉PO自己認可的數據包。對數據包的轉PO決定不再是僅基於地址,而是基於網路所有者配置的一組規則,這些規則可以確定哪些流量類型能被網路所允許。

2.防火牆可以阻止任何或者所有的外界流量進入網路,但是它並不干涉內部網路中的通信。

計算機網路基礎知識大總匯

3.當代的防火牆通常是包過技術、狀態查看和應用層過濾技術的組合。一些防火牆還可以作為DHCP服務器和網路地址轉換工具。防火牆可以是硬體也可以是軟體,既可以簡單又可以複雜。

4.最早的防火牆是數據包過濾器。它通過檢查數據包來找出該數據包的企圖。許多包過濾防火牆會查看封裝在傳輸層報頭中的TCP和UDP端口號,可以確定數據包的企圖。

5.防火牆進化過程中,出現了有狀態防火牆設備。有狀態防火牆不僅僅是單獨檢查每一個數據包,還會檢查數據包包含在哪個通信會話序列中。這種狀態敏感性有助於有狀態防火牆監視諸如無效數據包、會話劫持企圖,以及某些拒絕服務攻擊這樣的攻擊手段。

6.應用層防火牆是最新一代防火牆。這種防火牆是在TCP/IP應用層工作的,在這裡可以更全面地理解與協議和服務相關聯的數據包。

代理服務

1.所有用來保護和簡化內部網路,將潛在的不安全Internet活動限制在邊界之外的技術中,防火牆是核心技術。另一種相關的技術是代理服務。

2.代理服務器可以截獲對Internet資源的請求,並替代客戶端轉PO這些請求,它在客戶端和請求的目的服務器之間扮演了一個中介的角色。

計算機網路基礎知識大總匯

3.通過代理客戶端發送和接受Internet請求,代理服務器可以使客戶端免於直接與惡意網站聯繫。一些代理還可以執行內容過濾,查看信息是否來自黑名單上的服務器,或者內容是否帶有潛在的危險。代理客戶端還常被用來限制內部網路客戶端的瀏覽範圍。

保護TCP/IP:http://kb.cnblogs.com/page/162080/http://www.guokr.com/post/114121/

1.保險套接字(SSL)是為了保護WEB通信而引入的一個TCP/IP安全協議集。SSL的目的是,在傳輸層上的套接字和提供那些套接字訪問網路的應用程序之間提供一層安全。

計算機網路基礎知識大總匯

2.SSL包含有兩個子層。SSL記錄協議是訪問TCP的一個標準庫。在這個記錄協議紙上,是一組執行特定服務的SSL相關協議。

計算機網路基礎知識大總匯

3.支持SSL的服務直接通過SSL記錄協議運行。在連接建立之後,SSL記錄協議提供確保會話機密性和完整性所需的加密和驗證。

4.如同其他協議安全技術一樣,這裡的技巧是要檢驗參與者的身份和安全地交換將用來加解密數據傳輸的密鑰。SSL採用公開密鑰加密,並提供對數字這個數的支持。

5.在SSL中會使用密鑰交換算法交換密鑰;使用密鑰對數據進行加密;使用散列算法對數據的完整性進行驗證,使用數字證書證明自己的身份。

6.握手協議:握手協議是客戶機和服務器用SSL連接通信時使用的第一個子協議,握手協議包括客戶機與服務器之間的一系列消息。SSL中最複雜的協議就是握手協議。該協議允許服務器和客戶機相互驗證,協商加密和MAC算法以及保密密鑰,用來保護在SSL記錄中發送的數據。握手協議是在應用程序的數據傳輸之前使用的。

7.記錄協議:記錄協議在客戶機和服務器握手成功後使用,即客戶機和服務器鑒別對方和確定安全信息交換使用的算法後,進入SSL記錄協議,記錄協議向SSL連接提供兩個服務——

計算機網路基礎知識大總匯

8.警報協議:客戶機和服務器發現錯誤時,向對方發送一個警報消息。如果是致命錯誤,則算法立即關閉SSL連接,雙方還會先刪除相關的會話號,秘密和密鑰。每個警報消息共2個字節,第1個字節表示錯誤類型,如果是警報,則值為1,如果是致命錯誤,則值為2;第2個字節制定實際錯誤類型。

十二、配置

服務器提供IP地址的情況

1.每一台計算機都已經預先配置了一個IP地址。這種情況被稱為靜態IP地址。每一台計算機在啟動時就知道自己的IP地址,並且能夠立刻使用網路。靜態IP尋址在小型網路中表現得很好,但是由於大型網路上經常會出現重新配置和更改的情況,因此靜態IP尋址也受到很多限制。

2.靜態IP地址的缺點:

計算機網路基礎知識大總匯

DHCP

1.DHCP是一個用來向計算機分配TCP/IP配置參數的協議。DHCP服務器可以為DHCP客戶端提供一組TCP/IP設置,比如IP地址、子網掩碼和DNS服務器地址。

2.DHCP是用來分配IP地址的,所以必須使用靜態IP地址信息來配置DHCP服務器。需要在客戶端進行配置的唯一一個網路參數是將客戶端設置為從DHCP服務器接收IP地址信息。

3.當DHCP客戶端計算機啟動時,TCP/IP軟體將被載入到記憶體中並開始執行相應的操作。然而,因為這是TCP/IP棧還沒有IP地址,所以無法直接髮送或接收數據包。計算機只能發送和監聽廣播數據。這種通過廣播進行通信的功能正是DHCP進行工作的基礎。從DHCP服務器中租用IP地址的過程需要4個步驟:

計算機網路基礎知識大總匯

計算機網路基礎知識大總匯

? 著作權歸作者所有