文章目錄
- IP地址的分類
- 特殊IP地址
- VLSM 可變長子網掩碼 子網劃分
- CIDR 無類域間路由 用于匯總
- OSI模型
- TCP/IP協議簇
- 以太網 II 型幀
- TCP的頭部
- UDP頭部
IP地址的分類
IP地址分為5類: A類,B類,C類,D類,E類
如何劃分的?
根據IP地址的前八位來區分
A類: 0開頭 0xxx xxxx 0 - 127(實際上是 1 - 126)
掩碼:255.0.0.0 允許的主機數量就多 為2*2^24
B類: 10開頭 10xx xxxx 128 - 191
掩碼:255.255.0.0 允許的主機數量就多 為2*2^16
C類: 110開頭 110x xxxx 192 - 223
掩碼:255.255.255.0 允許的主機數量就多 為2*2^8
D類: 1110開頭 1110 xxxx 224 - 239
E類: 1111開頭 1111 xxxx 240 - 255
A B C三類 為單播地址 特點:既可以成為源IP,也可以成為目標IP
D類 為組播地址 特點:只能作為目標IP使用
E類 為保留地址
單播: 一對一的通訊
組播: 一對多的通信(同一個組播組)但是需要配置組,需要給特定的一部份人發訊息,就可以把它們從邏輯上劃分為一個組,之后給這個組發送訊息,就只有在組里面的能收到
廣播: 一對所有(同一個廣播域),所有電腦在同一廣播域,但如果有其它電腦在這個廣播域,這個資訊對于他們來說就是垃圾資訊,會浪費計算機的運算能力,
特殊IP地址
- 127.0.0.1 - 127.255.255.254 環回地址
- 255.255.255.255 受限廣播地址(被路由器限制)只能作為目標IP使用
- 主機位全1 直接廣播地址 只能作為目標IP使用 掩碼為255.255.255.0 ip為192.168.72.255 這個2551就是
- 主機為全0 代表的是一個網段,也稱為網路號,是一個范圍
- 0.0.0.0 可以代表沒有地址 可以代表所有地址
- 169.254.0.0/16 自動私有地址 獲取不到ip地址時,會自動在這個范圍內找一個先用著,是個網段,不是具體的一個ip
電腦上不了網的解決思路
- ipconfig看自己有沒有ip
- ping自己的IP地址,看能不能通,不能通再ping環回地址127.0.0.1,如果通,則可能物理網卡有問題,通不了,可能就系統有問題
- ping自己的網關
- ping與自己在同一廣播域的ip
VLSM 可變長子網掩碼 子網劃分
做法:
看需求,需要劃分出幾個網段,加入需要劃分3個網段,2^2 = 4,3在4的范圍內,所以我們需要把主機位的前兩位拿來加入網段
例一:
將192.168.1.0/24 劃分出2個網段
因為2^1 = 2,所以我們拿主機位的前第一個用來劃分網段

例二:
172.16.0.0/16 劃分出7個網段:
因為2^3 = 8,7在8的范圍內,我們就需要拿主機位的前三個來劃分

主機位全為0,不能用 要加一
CIDR 無類域間路由 用于匯總
訣竅: 取相同,去不同
去不同:要把不同的那一位 展開寫成2進制
例一:


超網: 上面的例子就是超網 原本的網路位(192開頭的為C類網 掩碼默認為/24) /24 之后變為 /22,而且網路位擴大,這種叫超網
匯總:

172開頭的為B類網,掩碼默認為/16,之后可能通過子網劃分變成了 /24 ,但之后又匯總為 /22
OSI模型
開放式系統互聯通信參考模型(英語:Open System Interconnection Reference Model,縮寫為 OSI),簡稱為OSI模型(OSI model)

OSI參考模型的核心思想:分層
? 屬于同一層面的不同功能,其目的和作用相似或相近,
? 不同層面的功能及目的和作用都具有明顯的差異,
? 每一次都在下面一層提供的服務的基礎上在提供增值服務,
分層的作用:
- 更易于標準化
- 降低層次之間的關聯性
- 便于學習理解
七層:
應用層
抽象語言到編碼
表示層
編碼到二進制
會話層
維持網路應用和應用服務器之間的會話連接
傳輸層
實作端到端的傳輸 -- 埠號 -- 會話層地址 取值范圍:1-65535 (2^16) 其中1-1023稱為知名埠號 用于區分不同會話地址
網路層
進行邏輯地址尋址,實作不同網路之間的路徑選擇
資料鏈路層
邏輯鏈路控制層(LLC)-- 在資料末尾增加一個校驗和(FCS 幀校驗序列,確保資料完整性 CRC 回圈冗余演算法)
介質訪問控制層(MAC) 二進制到電信號
物理層
處理電信號
TCP/IP協議簇
TCP/IP 四層模型 — TCP/IP標準模型
TCP/IP 五層模型 — TCP/IP對等模型
下面都是以五層模型來說的

與OSI對比

PDU 協議資料單元
在分層網路結構,例如在開放式系統互聯(OSI)模型中,在傳輸系統的每一層都將建立協議資料單元(PDU),PDU包含來自上層的資訊和當前層的物體附加的資訊,這個PDU會被傳送到下一較低的層,物理層實際以一種編幀的位流形式傳輸這些PDU,這些PDU由協議堆疊的較高層建造,接收系統自下而上傳送這些分組通過協議堆疊,并在協議堆疊的每一層分離出PDU中的相關資訊,
L1PDU
L2PDU
…
L7PDU

封裝與解封裝
封裝 資料加工的程序,把最重要資訊的添加進資料包里面
解封裝 拆解資料包
應用層
HTTP(超文本傳輸協議)-- TCP協議 80埠
FTP(檔案傳輸協議)-- TCP協議 20/21
TELNET(遠程連接協議)-- TCP 23
DHCP(動態主機配置協議)-- UDP 67/68
DNS(域名決議協議)-- UDP/TCP 53
TFTP(簡單檔案傳輸協議)-- UDP 69
HTTPS(HTTP + SSL/TLS)–TCP 443
?
傳輸層 需要封裝埠號 TCP UDP
- TCP是面向連接的協議,UDP是無連接的協議
- TCP的傳輸是可靠的,UDP的傳輸不太可靠
- TCP可以分段,UDP不行
- TCP可以實作流控,UDP不行
- TCP傳輸速度較慢,消耗資源較大;UDP傳輸速度快,消耗資源小
TCP UDP使用場景
- TCP適用于效率要求較低,但準確性要求較高的場景
- UDP適用于效率要求較高,但準確性要求較低的場景
網路層 需要封裝IP地址 IP協議
資料鏈路層 需要封裝MAC地址 以太網協議 以太網:早期局域網的解決方案,主要依賴MAC地址進行尋址,以太網主要作業在1,2層
什么是面向連接?
? 面向連接就是指設備在傳輸之前,先使用預備的協議建立點到點的連接,再傳輸資料
以太網 II 型幀

- 前導碼(Preamble):由0、1間隔代碼組成,用來通知目標站作好接收準備,
- 目標地址(Destination Address):表示接收幀的作業站的地址,各占據6個位元組,目標地址可以是單址,也可以是多點傳送或廣播地址,
- 源地址( Source Address):表示發送的作業站的地址,各占據6個位元組,
- 型別(Type):指定接收資料的高層協議型別,
- 資料(Data):在經過物理層和邏輯鏈路層的處理之后,包含在幀中的資料將被傳遞給在型別段中指定的高層協議,該資料段的長度最小應當不低于46個位元組,最大應不超過1500位元組,如果資料段長度過小,那么將會在資料段后自動填充(Trailer)字符,相反,如果資料段長度過大,那么將會把資料段分段后傳輸,
- 幀校驗序列(FSC):包含長度為4個位元組的回圈冗余校驗值(CRC),由發送設備計算產生,在接收方被重新計算以確定幀在傳送程序中是否被損壞,
TCP的頭部

16位埠號: 告知主機該報文段是來自哪里(源埠Source Port)以及傳給哪個上層協議或應用程式(目的埠Destination Port)的,進行TCP通信時,客戶端通常使用系統自動選擇的臨時埠號,而服務器則使用知名服務埠號(比如DNS協議對應埠53,HTTP協議對應80,這些埠號可在/etc/services檔案中找到),
32位序號: 一次TCP通信(從TCP連接建立到斷開)程序中某一個傳輸方向上的位元組流的每個位元組的編號,假設主機A和主機B進行TCP通信,A發送給B的第一個TCP報文段中,序號值被系統初始化為某個隨機值ISN(Initial Sequence Number,初始序號值),那么在該傳輸方向上(從A到B),后續的TCP報文段中序號值將被系統設定成ISN加上該報文段所攜帶資料的第一個位元組在整個位元組流中的偏移,例如,某個TCP報文段傳送的資料是位元組流中的第1025~2048位元組,那么該報文段的序號值就是ISN+1025.另外一個傳輸方向(從B到A)的TCP報文段的序號值也具有相同的含義,
32位確認號(acknowledgement number):用作對另一方發送來的TCP報文段的回應,其值是收到的TCP報文段的序號值加1,假設主機A和主機B進行TCP通信,那么A發送出的TCP報文段不僅攜帶自己的序號,而且包含對B發送來的TCP報文段的確認號,反之,B發送出的TCP報文段也同時攜帶自己的序號和對A發送來的報文段的確認號,
4位頭部長度(header length):標識該TCP頭部有多少個32bit字(4位元組),因為4位最大能標識15,所以TCP頭部最長是60位元組,
6位標志位包含如下幾項:
URG標志,表示緊急指標(urgent pointer)是否有效,
ACK標志,表示確認號是否有效,我們稱攜帶ACK標識的TCP報文段為確認報文段,
PSH標志,提示接收端應用程式應該立即從TCP接識訓沖區中讀走資料,為接收后續資料騰出空間(如果應用程式不將接收到的資料讀走,它們就會一直停留在TCP接識訓沖區中),
RST標志,表示要求對方重新建立連接,我們稱攜帶RST標志的TCP報文段為復位報文段,
SYN標志,表示請求建立一個連接,我們稱攜帶SYN標志的TCP報文段為同步報文段,
FIN標志,表示通知對方本端要關閉連接了,我們稱攜帶FIN標志的TCP報文段為結束報文段,
16位視窗大小(window size):是TCP流量控制的一個手段,這里說的視窗,指的是接收通告視窗(Receiver Window,RWND),它告訴對方本端的TCP接識訓沖區還能容納多少位元組的資料,這樣對方就可以控制發送資料的速度,
16位校驗和(TCP check sum):由發送端填充,接收端對TCP報文段執行CRC演算法以檢驗TCP報文段在傳輸程序中是否損壞,注意,這個校驗不僅包括TCP頭部,也包括資料部分,這也是TCP可靠傳輸的一個重要保障,
16位緊急指標(urgent pointer):是一個正的偏移量,它和序號欄位的值相加表示最后一個緊急資料的下一位元組的序號,因此,確切地說,這個欄位是緊急指標相對當前序號的偏移,不妨稱之為緊急偏移,TCP的緊急指標是發送端向接收端發送緊急資料的方法,
TCP頭部選項: TCP頭部的最后一個選項欄位(options)是可變長的可選資訊,這部分最多包含40位元組,因為TCP頭部最長是60位元組(其中還包含前面討論的20位元組的固定部分),
偽頭部校驗: 校驗網路層中12個位元組的內容,32位源IP,32目標IP,8位保留,8位協議,16位總長度

UDP頭部

頭部結構中各部分的作用:
- 16位源埠號 記錄源埠號,在需要對方回信時選用,不需要時可用全0,
- 16位目的埠號 記錄目標埠號,這在終點交付報文時必須要使用到,
- UDP長度 UDP資料報的長度(包括資料和首部),其最小值為8B(即僅有首部沒有資料的情況),
- 校驗和檢測UDP資料報在傳輸中是否有錯,有錯就丟棄,該欄位時可選的,當源主機不想計算校驗和,則直接令該欄位為全0,當傳輸層從IP層收到UDP資料報時,就根據首部中的目的埠,把UDP資料報通過相應的埠,上交給行程,如果接收方UDP發現收到的報文中目的埠號不正確(即不存在對應埠號的應用行程),就丟棄該報文,并由ICMP發送“埠不可達”差錯報文交給發送方,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/298636.html
標籤:其他
上一篇:Linux--網路3(傳輸層)
下一篇:tcp與udp應用場景的區別
