TCP/IP基礎知識

引言

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

內容

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

TCP/IP模型
TCP/IP模型與OSI模型的相互關係以下:學習

一、應用層:與OSI的應用層、表示層、會話層相對應,主要做用是向用戶應用提供訪問網絡的接口;
二、傳輸層:也稱爲主機到主機層,與OSI的傳輸層相對應,指定了控制網絡層的協議,定義了數據的傳輸方式是TCP仍是UDP,創建兩臺設備的端到端鏈接;傳輸層和數據鏈路層都定義了流控和差錯控制機制,區別是:數據鏈路層協議強調控制數據鏈路上的流量,即鏈接兩臺設備的物理介質流量,而傳輸層控制邏輯鏈路上的流量,即兩臺設備的端到端鏈接,這種邏輯鏈接可能跨越一連串數據鏈路;
三、網絡層:定義了數據包格式和地址格式,主要的做用是IP編址和路由選擇。
四、接入層:包括數據鏈路層和物理層,數據鏈路層定義瞭如何訪問和共享介質,如何標識介質上的設備即二層編址(MAC地址)以及在介質上發送數據以前如何完成數據成幀,經常使用的二層協議有:以太網、PPP、HDLC、幀中繼、ATM等;物理層定義了物理介質相關的協議即:電子/光學協議(電壓、光強、編碼、信號波形)機械協議(尺寸、導線的金屬成分)功能性協議(描述作什麼)程序性協議(描述瞭如何作如:1表示電壓小於-3V)測試

TCP協議編碼

解釋spa

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

機制指針

一、使用序列號對數據包進行標記;
二、使用確認、校驗和定時器系統以及重傳機制提供可靠性;
三、滑動窗口機制調整數據包的流量:減小因接收方緩衝區滿而形成丟失數據包的可能。接口

一、源端口和目的端口:長度各爲16位,爲封裝的數據指定了源和目的應用程序;應用程序的端口號加上應用程序所在主機的IP地址統稱爲套接字。在網絡上套接字惟一地標識了每個應用程序。
(補充:經常使用端口號對應的服務:FTP:TCP21;   TELNET:TCP23; SMTP:TCP25;   BGP:TCP179;  DNS:TCP/UDP53;  TFTP:UDP69;   SNMP:UDP161;  RIP:UDP520;)
二、序列號:字段長度爲32位,肯定了發送方發送的數據流中被封裝的數據所在位置;
三、確認號:長度爲32位,肯定了源點下一次指望從目標接受的序列號,隱含地確認了收到了該編號的上一個數據包;
四、報頭長度:長度爲4位,指定了以32位字爲單位的報頭長度。
五、保留:長度爲4位,一般設置爲0;
六、標記:8位,用於流和鏈接控制。從左到右依次是:CWR、ECE、URG、ACK、PSH、RST、SYN、FIN;
七、窗口大小:字段長度16位,主要用於流控制。窗口大小指明接收方接收緩衝區的大小;
八、校驗和:長度爲16位,對報頭和被封裝數據進行校驗;
九、緊急指針:僅當URG標記置位時使用。16位被添加到序列號上用於指明緊急數據的結束;
十、可選項:用於指明TCP發送進程要求的選項,經常使用的可選項是最大段長度,用於通知接收者發送者願意接收的最大段長度,爲了保證報文的長度是32個八位組的倍數,使用0填充該字段的剩餘部分。進程

UDP協議

解釋

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

優勢

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

註釋

一、源端口和目的端口:長度各爲16位,爲封裝的數據指定了源和目的應用程序
二、UDP長度:以八位組爲單位的整個段長度;包含數據段的總長度;
三、校驗和:長度爲16位,校驗和是可選字段,不使用時所有設置爲0

IP協議

解釋

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

IP編址

一、IP地址長度爲32位,點分十進制表示,用於標識設備的邏輯地址;IPV4地址包括網絡號和主機號兩部分,網絡號部分惟一地標識了一條物理鏈路或邏輯鏈路,主機號部分惟一地標識了該鏈路上鍊接的具體設備。這種層次化的地址設計方式有助於快速查找、方便維護以及節約地址;
補充:子網掩碼:網絡位全爲1,主機位全爲0,由連續的1和連續的0組成
廣播地址:網絡位不變,主機位全1.
網絡號:  網絡位不變,主機位全0。
二、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
三、子網劃分與子網彙總
子網劃分:超越主類網的可變長子網掩碼劃分;使用方法:借位;
子網彙總:將多個網絡地址彙總爲一個網絡地址;方法:取相同位,去不一樣位;

註釋

一、版本:4位,0100表示IPV4,0110表示IPV6。二、報頭長度:4位,表示32位字長的IP報頭長度。IP包最小長度爲20字節,最大可擴展爲60字節(15*4);三、服務類型TOS:DSCP6位+ECN2位 6位DSCP最多能定義64個不一樣的服務類別,ECN=11表示擁塞顯示,在IP報頭中的TOS字段保留,通常用於QOS中設置報文的優先級;四、總長度:16位,使用IP數據包總長減去IP報頭長度,就能夠肯定數據有效載荷的大小。IP數據包最大長度爲65535;五、標識符:長度爲16位,一般與標記字段和分片偏移字段一塊兒用於數據包的分段。若數據包的原始長度超過數據包所要通過的數據鏈路的最大傳輸單元,就須要進行數據包的分片處理,設備會對分片的每片數據包的標識字段上打上相同的標記,以便接收設備能夠識別出屬於一個數據包的分段;六、標記:長度爲3位,保留位、不分段位(DF)、更多分段位(MF);若DF=1表示路由器不能對數據包進行分段處理;MF=0表示最後一個被分片的報文;七、分片偏移:長度爲13位,以8位組爲單位,用於指明分段起始點相對於報文起始點的偏移量,做用是使接收者能夠按照正確的順序重組數據包;八、生存時間(TTL):8位,當數據包逐個沿路由器被傳輸時,TTL都會減1,當TTL=0時,路由器將會丟棄該數據包並向源點發送錯誤報告,這種方法能夠防止數據包無止休地被傳輸,建議默認爲64;能夠經過traceroute命令來查看數據包傳輸過程當中通過的路由器;九、協議:8位,指定了數據包中的信息類型。經常使用的協議號:1-ICMP;6-TCP;17-UDP;47-GRE;88-EIGRP;89-OSPF;十、頭部校驗和:16位,不包含被封裝的數據部分,因爲TTL在傳輸過程當中遞減,所以每臺路由器必須從新計算校驗和;十一、源地址和目的地址:32位的IP地址;十二、可選項:長度可變的字段,包括源點產生的信息和其餘路由器加入的信息,經常使用於測試,常見的可選字段有:鬆散源路由選擇、嚴格源路由選擇、記錄路由、時間戳;1三、填充項:經過在可選項字段後面添加0來補夠32位,保證報頭長度爲32位的整數倍;

相關文章
相關標籤/搜索