圖解tcpip讀書筆記

T參考: 一步一步學習IP路由流程

 

第一章 網絡基礎知識

OSI參考模型將網絡通信分爲7層,對通信中的必要功能進行了歸納:

1、應用層: 爲應用程序提供通信的細節 如:文件傳輸、電子郵件

2、表示層:將應用信息轉換爲適合網絡傳輸的格式或將下一層數據轉換爲應用層格式數據 如:utf-8編碼轉換

3、會話層:負責建立和斷開連接及數據的分割等

4、傳輸層:保證數據的可靠性傳輸

5、網絡層:負責路由和尋址將數據傳到目標地址 。

6、數據鏈路層:負責物理層面上的互連、節點之間的傳輸(只負責同一局域網中的分發)。一般交換機用於數據鏈路層直接的數據傳輸

7、物理層:將比特流(0、1)與電壓之間的轉換

分組交換是指計算機將數據發送給路由器,路由器將數據緩存再發送到目標計算機

MAC地址和IP地址的關係:

MAC用於同一網絡中的識別、ip地址用於網絡尋址。IP地址包含:網絡號及主機號,網絡號相同表明處於同一網絡中

路由器和交換機的關係:

交換機:用於數據鏈路層的轉發

路由器:用於網絡層的轉發

網絡的構成要素:

網卡:任何計算機連接網絡必須通過網卡

中繼器:用於轉換、放大網絡信號。如電纜和光纜的信號轉換、長距離網絡的信號放大

交換機:用於數據鏈路層連接的網絡連接並提供數據校驗保證數據有沒有損壞(根據mac地址就行處理)

路由器:用於連接不同的數據鏈路層。提供ip的尋址

4~7層交換機:指傳輸層到應用層的數據交換。比如:web服務器的負載均衡、防火牆等

網關:用於傳輸層以上的數據的轉發和轉換。比如:代理服務器、防火牆

網絡的構成:由骨幹網絡和邊緣網絡組成。

骨幹網絡:一般是指用高速路由器傳輸大量數據

邊緣網絡:由很多普通路由器和交換機構成,他要經過骨幹網絡才能連接到網絡

 

 

 

 

 

 

 

 

移動網絡構成:

 

第二章 tcp/ip協議基礎

TCP協議標準是由IETF制定並由RFC文檔進行記錄

TCP協議與OSI協議模型的關係

物理層指一切看見的物理設備

數據鏈路層指設備的驅動程序來實現通信

網絡層指在不同網絡間通過尋址找到路由路徑

傳輸層指通過tcp和udp來實現真正的數據傳輸

TCP各個分層間的構成關係

每個分層中都會在,發送的數據包中附加上一個首部

經過數據鏈路的包都至少會包含發送端和接收端的地址

數據包的接收處理

數據鏈路層:判斷接收到包的目標MAC地址是否爲自身地址。若不是則丟棄,若是則傳遞到IP層

IP層:判斷包首部的IP地址是否爲自身地址。若是則根據傳輸層的協議類型傳到TCP層或UDP層

TCP層:對包的數據進行校驗和並判斷順序是否正確,接收完畢後發送回執確認

應用層:對傳輸層的數據處理

 

第三章 數據鏈路

數據鏈路的段指一個被分割的網絡

網絡拓撲指網絡連接和構成的形態:總線型、星型、環型、網狀型

MAC地址用於在數據鏈路中主機的識別

數據鏈路網絡的類型:

共享介質:共享同一種通信介質 如:對講機

非共享介質:獨自佔用通信介質 如:交換機

半雙工通信:同時只能一方進行數據發送接收

全雙工通信:可以多方同時進行數據發送接收

交換機的自學過程:

交換機內部有個記錄各個端口與MAC地址對應交換表,當有數據送到對應的MAC地址時,則在交換表中增加一條記錄

交換機的轉發方式:

儲存轉發:校驗數據幀後再進行轉發

直通轉發:當獲取到對應的mac地址端口後直接開始轉發

環路檢測技術:環路是指某臺設備出現問題導致數據包不停的被網絡中循環發送

生成樹方式:定時的檢查端口是否正常,若不正常重新生成交換表

源路由法:在發送幀中寫入目標地址RIF,即使某個設備損壞也能到到目標地址

以太網:現在終端與交換機一般採用獨佔電纜的方式實現以太網通信

以太網的傳輸速率的表現方式是以時鐘頻率進行:

比特、字節、8位字節關係

以太網幀的格式:前導碼+幀本體

 

第四章 IP協議

ip層和數據鏈路層的區別:數據鏈路層提供兩個設備之間的通信,ip層提供不同網絡的之間的通信

IP地址:用於在所有網絡中識別目標主機的地址

路由控制:爲使數據包從源地址到目標地址所採用的控制方法

跳:數據鏈路層下從源mac地址到達目標mac地址的網絡路徑,路由控制由許多跳構成

多跳路由:路由器在轉發數據包時只指定下一個主機或路由的ip地址,而非全部路徑

路由控制表:爲了將數據包發送給目標主機,所有主機有一個路由控制表,記錄下一步IP包將發送到哪個路由器

數據鏈路層抽象化

IP層對不同的鏈路層進行了抽象化,對IP層最大的區別就是MTU(最大傳輸單位)。當數據包超過MTU,IP層將對其進行分片處理和多次傳輸並對上層來說是無感知的。

IP協議面向無連接方式以求達到簡化和提速的目的

IP地址的構成

網絡地址+主機地址:網絡地址表示不同網絡間的地址,主機地址表示同一個網絡間的不同主機地址 形如:192.168.10.5/24

IP協議網絡地址的格式

將32位二進制以8位一組,分爲4組並以“."爲分割,最後轉換爲10進制

廣播地址

用於在同一鏈路之間不同主機之間發送數據包。分爲:

本地廣播:同一網絡間的數據發送

直接廣播:不同網絡間的數據發送(一般被路由屏蔽)

IP多播

用於不同網絡間的數據羣發(可以通過路由)

子網掩碼

對應IP部分全部爲1,對應主機部分全部爲0,這樣可以用於表示ip的地址範圍就擴大。

全局地址和私有地址

即使通過子網掩碼IP地址不夠用,所以只有一部分路由主機使用全局地址來連接互聯網,子網網絡的主機採用私有地址。

全局地址現在一般通過isp運營商獲取,isp向ICANN獲取。

IP地址與路由控制

IP地址需要路由控制表才能到達下一個路由控制器。路控制表記錄着目標地址與路由器的映射關係。

路由控制聚合 指對類似的IP地址進行合併,減少路由ip地址的查找時間

IP報文的分片與重組

由於在路由中MTU的不同,路由器可以對數據包進行分片傳輸。由於數據包存在多次的轉發、丟包情況,所以只在終端重組。

路徑MTU發現

爲了避免分片,主機通過某種手段獲取鏈路中的最小mtu到達不用發片的目的

IPv4首部

標識:用於分片時的重組

位偏移:用於分片重組時各個數據的位置偏移量

首部校驗和:用於校驗IP的首部有誤數據丟失

 

第五章 IP協議相關技術

主機識別碼:在中可以通過主機識別碼在host文件來映射ip地址,當ip地址更新時就需要更新host文件

Dns域名:它呈現出樹狀的層級結構,每個層級之間有父子關係

域名服務器

保存着域名和ip的映射關係,當主機的域名和ip關係更新時就需要更新所有域名服務器

根域名服務器

所有的域名服務器都需要在根服務器下進行註冊才能讓其他域名服務器進行查找

解析器

進行dns查詢的主機或軟件。一般主機都要註冊一個以上域名服務器。

DNS查詢流程

首先向上一級查詢dns對應ip,若沒有則再向上進行查找,直到查找到相應的ip。查找後會在主機進行緩存,方便以後快速查找

DNS中的其他記錄

PTR:從IP地址檢索域名

A記錄:主機名與ip的映射

NS記錄:上下層域名服務器ip地址映射

ARP協議

通過發送ARP數據包找到ip對應的mac地址

 

第六章 TCP與UDP

根據IP協議中的協議類型字段判斷它的上一層是tcp還是udp

tcp協議通過端口號來確定發送數據到哪個端口

TCP和UDP的區別

tcp可以確保數據正確到達,效率較低

udp不能確認數據到達,效率高

TCP通過源IP、目標IP、源端口號、目標端口號、協議號來識別一個通信

端口分配

通過標準制定(如http)範圍:0~1024

通過註冊:1024~49151

時序分配法:通過系統隨機進行分配

TCP收到數據後通過“確認到達”來回復發送主機數據已收到來保證數據不丟失

TCP發送端帶有數據的序列號及長度,接收端接收到後發送下個數據的開始序列號作爲確認應答

 

“重發超時”即當TCP發送端等待ACK的超時時間,若超過即進行重發

重發超時的長短根據網絡情況及報文的往返時間進行動態的修正。開始以6秒爲基礎,以0.5秒爲單位進行修正。若多次重發未響應則認爲已經斷開

TCP的三次握手

通過發送SYN表示請求建立連接,接收端接收到請求後發送SYN和ACK包進行反請求,發送端接收到後發送ACK進行確認

TCP的四次撒手

通過發送FIN請求斷開請求,接收端收到請求後發送ACK同時發送FIN進行反請求,發送端接收到後再次發送ACK進行確認

TCP以段爲發送單元

段的大小爲MSS(最大消息長度)。MSS的大小通過三次握手來在兩端之間即使出

窗口控制

當以段爲單位進行確認答覆時,通信效率非常低下。通過窗口控制可以不必等待每個段的答覆,而是連續發送幾個段然後再等待答覆。

滑動窗口控制

以窗口控制爲基礎,當某個段的確認答覆到達時,窗口移動到該段前面到達不必重發的目的

窗口控制的重發機制

接收端收到而發送端未收到確認回覆:接收端會緩存當前數據,並會發送下一個期待的序列號,

若序列號大於未收到確認回覆的序列號則不必重發

接收端未收到:接收端會多次發送期望序列號的確認回覆,若超過三次則發送端會進行重發

流控制即窗口大小控制

當接收端接收能力下降時(如:高負荷時),接收端可以通過tcp的窗口大小字段來縮小窗口值達 到控制流的消息。

若接收端長時間爲收到確認回覆,它會發送一個窗口探測包獲取最新窗口大小

擁塞窗口控制即根據網絡情況動態控制窗口大小

發送數據時會根據接收端接受窗口和擁塞窗口的最小值

擁塞窗口的大小爲:在啓動時爲1當每次收到確認回覆時會加1,直到到達擁塞窗口閥值。

到達閥值後會呈現擁塞窗口漲幅會收窄呈直線增長方式

在超時重發時擁塞窗口的啓動值會重設置爲1

在3次確認回覆時啓動值爲當時窗口大小一半+3

 

 

 

 

 

 

 

 

TCP 協議的構成

序列號:初始化由隨機數生成,發送端每次發送就累加其大小。

數據偏移:指tcp的數據部分的偏移位數

保留:爲以後擴展使用

控制位:用於表示tcp的某些屬性 如:是否爲SYN包等

窗口大小:用於表示每次最大的窗口的大小

校驗和:用於校驗數據是否被破壞

緊急指針:用於表示暫停通信的字段

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章