不是吧!不是吧,你居然不知道TCP/IP基礎知識,還想進阿里

引言

本篇屬於TCP/IP協議的基礎知識,重點介紹了TCP/IP協議簇的內容、作用以及TCP、UDP、IP三種常見網絡協議相關的基礎知識。

內容

TCP/IP協議簇是由OSI七層模型發展而來的,之所以存在OSI互聯參考模型主要有以下幾點好處:1、用於解決不同廠商的設備互聯問題:即兼容性考慮;2、層次化結構獨立性強;可擴展性強;3、統一標準可以方便學習;

TCP/IP模型TCP/IP模型與OSI模型的相互關係如下圖所示:

不是吧!不是吧,你居然不知道TCP/IP基礎知識,還想進阿里

 

註釋

1、應用層:與OSI的應用層、表示層、會話層相對應,主要作用是向用戶應用提供訪問網絡的接口;2、傳輸層:也稱爲主機到主機層,與OSI的傳輸層相對應,指定了控制網絡層的協議,定義了數據的傳輸方式是TCP還是UDP,建立兩臺設備的端到端連接;傳輸層和數據鏈路層都定義了流控和差錯控制機制,區別是:數據鏈路層協議強調控制數據鏈路上的流量,即連接兩臺設備的物理介質流量,而傳輸層控制邏輯鏈路上的流量,即兩臺設備的端到端連接,這種邏輯連接可能跨越一連串數據鏈路;

3、網絡層:定義了數據包格式和地址格式,主要的作用是IP編址和路由選擇。

4、接入層:包括數據鏈路層和物理層,數據鏈路層定義瞭如何訪問和共享介質,如何標識介質上的設備即二層編址(MAC地址)以及在介質上發送數據之前如何完成數據成幀,常用的二層協議有:以太網、PPP、HDLC、幀中繼、ATM等;物理層定義了物理介質相關的協議即:電子/光學協議(電壓、光強、編碼、信號波形)機械協議(尺寸、導線的金屬成分)功能性協議(描述做什麼)程序性協議(描述瞭如何做如:1表示電壓小於-3V)

TCP協議

解釋

傳輸控制協議(TCP):是一種可靠的,面向連接的服務。即:提供了一個類似於點到點的連接。

機制

1、使用序列號對數據包進行標記;

2、使用確認、校驗和定時器系統以及重傳機制提供可靠性;

3、滑動窗口機制調整數據包的流量:減少因接收方緩衝區滿而造成丟失數據包的可能。

報文

不是吧!不是吧,你居然不知道TCP/IP基礎知識,還想進阿里

 

註釋

1、源端口和目的端口:長度各爲16位,爲封裝的數據指定了源和目的應用程序;應用程序的端口號加上應用程序所在主機的IP地址統稱爲套接字。在網絡上套接字唯一地標識了每一個應用程序。(補充:常用端口號對應的服務:FTP:TCP21; TELNET:TCP23; SMTP:TCP25; BGP:TCP179; DNS:TCP/UDP53; TFTP:UDP69; SNMP:UDP161; RIP:UDP520;)

2、序列號:字段長度爲32位,確定了發送方發送的數據流中被封裝的數據所在位置;

3、確認號:長度爲32位,確定了源點下一次期望從目標接受的序列號,隱含地確認了收到了該編號的上一個數據包;

4、報頭長度:長度爲4位,指定了以32位字爲單位的報頭長度。

5、保留:長度爲4位,通常設置爲0;

6、標記:8位,用於流和連接控制。從左到右依次是:CWR、ECE、URG、ACK、PSH、RST、SYN、FIN;

7、窗口大小:字段長度16位,主要用於流控制。窗口大小指明接收方接收緩衝區的大小;

8、校驗和:長度爲16位,對報頭和被封裝數據進行校驗;

9、緊急指針:僅當URG標記置位時使用。16位被添加到序列號上用於指明緊急數據的結束;

10、可選項:用於指明TCP發送進程要求的選項,常用的可選項是最大段長度,用於通知接收者發送者願意接收的最大段長度,爲了保證報文的長度是32個八位組的倍數,使用0填充該字段的剩餘部分。

UDP協議

解釋

用戶數據報協議(UDP):是一種無連接、盡力而爲的數據轉發服務。

優點

不花時間建立連接,直接發送數據,即開銷小,可以使發送小數據量的應用取得更好的性能優勢。

報文

不是吧!不是吧,你居然不知道TCP/IP基礎知識,還想進阿里

 

註釋

1、源端口和目的端口:長度各爲16位,爲封裝的數據指定了源和目的應用程序

2、UDP長度:以八維組爲單位的整個段長度;包含數據段的總長度;

3、校驗和:長度爲16位,校驗和是可選字段,不使用時全部設置爲0

IP協議

解釋

IP:最常見的網絡層協議,是一種不可靠、盡力而爲的轉發,可結合四層和二層保證數據的可靠傳輸;

IP編址

1、IP地址長度爲32位,點分十進制表示,用於標識設備的邏輯地址;IPV4地址包括網絡號和主機號兩部分,網絡號部分唯一地標識了一條物理鏈路或邏輯鏈路,主機號部分唯一地標識了該鏈路上連接的具體設備。這種層次化的地址設計方式有助於快速查找、方便維護以及節約地址;補充:子網掩碼:網絡位全爲1,主機位全爲0,由連續的1和連續的0組成廣播地址:網絡位不變,主機位全1.網絡號: 網絡位不變,主機位全0。

2、IPV4地址分類:

A類:第一位固定是0, 1到126,子網掩碼255.0.0.0

B類:前兩位固定爲10,128到191,子網掩碼255.255.0.0

C類:前三位固定爲110,192到223,子網掩碼255.255.255.0

D類地址:前四位固定爲1110,224到239,組播地址,無子網掩碼;

E類地址:前四位固定爲11110,240到255,用於科研和保留。

特殊地址:不可用地址,包括:本地環回地址:127.0.0.1;本地鏈路地址:169.254開頭,子網掩碼是255.255.0.0;網絡地址:即網絡位不變,主機位全爲0的地址;廣播地址:網絡位不變,主機位全1,可以在三層設備上傳輸;受限廣播地址:網絡位和主機位全爲1即255.255.255.255,終止於三層設備(路由器)。

私有地址:從公有地址中抽出來某些地址作爲私有地址,私有地址不會被分配,不能在網絡中使用,若要在網絡中通信,必須結合NAT,進行私網地址到公網地址的轉換;

A類似有地址:10.0.0.0到10.255.255.255

B類私有地址:172.16.0.0到172.31.255.255

C類私有地址:192.168.0.0到192.168.255.0

3、子網劃分與子網彙總

子網劃分:超越主類網的可變長子網掩碼劃分;使用方法:借位;

子網彙總:將多個網絡地址彙總爲一個網絡地址;方法:取相同位,去不同位;

報文

不是吧!不是吧,你居然不知道TCP/IP基礎知識,還想進阿里

 

註釋

1、版本:4位,0100表示IPV4,0110表示IPV6。

2、報頭長度:4位,表示32位字長的IP報頭長度。IP包最小長度爲20字節,最大可擴展爲60字節(15*4);

3、服務類型TOS:DSCP6位+ECN2位 6位DSCP最多能定義64個不同的服務類別,ECN=11表示擁塞顯示,在IP報頭中的TOS字段保留,一般用於QOS中設置報文的優先級;

4、總長度:16位,使用IP數據包總長減去IP報頭長度,就可以確定數據有效載荷的大小。IP數據包最大長度爲65535;

5、標識符:長度爲16位,通常與標記字段和分片偏移字段一起用於數據包的分段。若數據包的原始長度超過數據包所要經過的數據鏈路的最大傳輸單元,就需要進行數據包的分片處理,設備會對分片的每片數據包的標識字段上打上相同的標記,以便接收設備可以識別出屬於一個數據包的分段;

6、標記:長度爲3位,保留位、不分段位(DF)、更多分段位(MF);若DF=1表示路由器不能對數據包進行分段處理;MF=0表示最後一個被分片的報文;

7、分片偏移:長度爲13位,以8位組爲單位,用於指明分段起始點相對於報文起始點的偏移量,作用是使接收者可以按照正確的順序重組數據包;

8、生存時間(TTL):8位,當數據包逐個沿路由器被傳輸時,TTL都會減1,當TTL=0時,路由器將會丟棄該數據包並向源點發送錯誤報告,這種方法可以防止數據包無止休地被傳輸,建議默認爲64;可以通過traceroute命令來查看數據包傳輸過程中經過的路由器;

9、協議:8位,指定了數據包中的信息類型。常用的協議號:1-ICMP;6-TCP;17-UDP;47-GRE;88-EIGRP;89-OSPF;

10、頭部校驗和:16位,不包含被封裝的數據部分,由於TTL在傳輸過程中遞減,因此每臺路由器必須重新計算校驗和;

11、源地址和目的地址:32位的IP地址;

12、可選項:長度可變的字段,包括源點產生的信息和其他路由器加入的信息,常用於測試,常見的可選字段有:鬆散源路由選擇、嚴格源路由選擇、記錄路由、時間戳;

13、填充項:通過在可選項字段後面添加0來補夠32位,保證報頭長度爲32位的整數倍;

這裏推薦一位大佬視頻講解的深入解析TCP視頻看下哦

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