這只是IP的其中一塊內容-訪問服務器流程,IP還有更多內容可以查看IP專欄,前一段學習內容為IA內容,還有更多內容可以查看IA專欄,可通過以下路徑查看IA-----配置NAT-CSDN博客CSDN,歡迎指正
1.訪問服務器流程
1.分層
1.更利于標準化
2.降低層次之間的關聯性---每一層都只完成自身層次所執行的功能--每一層都在下層的基礎上提供增值服務
1.應用層
抽象語言---編碼---提供人機交互的接口
2.表示層
編碼--二進制,壓縮解壓縮、格式轉換
3.會話層
建立維持主機應用到服務器之間的會話連接---------主機------服務器------另一臺主機----主機傳輸信息到服務器,服務器再轉發給另一臺主機
4.傳輸層
建立端到端的傳輸---應用到應用之間的傳輸---------四層封裝------封裝源端口號和目標端口號
端口號---16位二進制構成 65536 1-65535 1-1023--知名端口號:區分進程和服務------固定的,其他的都不可以用
主機的端口號一般都是隨機端口號,但是不可能會是1-1023。
HTTP:80 (超文本協議-----除了文本其他的圖片,也都可以)
HTTPS:443 SSL-TLS DNS:53 UDP TCP
DHCP:67 68 RIP :UDP 520 521
5.網絡層
通過IP地址進行邏輯尋址-------路由---------三層封裝----------封裝源IP和目標IP
獲取目標IP地址的方法:(服務器)
1.直接知道目標的IP地址
2.通過dns協議去獲取IP地址
3.通過APP或者一些應用去獲取IP
4.通過廣播去獲取目標IP---掃描
6.數據鏈路層
MAC地址(物理地址)---二進制---電信號:控制物理層----------二層封裝--------封裝源MAC地址和目標MAC地址
MAC地址是以太網所獨有的地址
7.物理層
處理電信號--CPU------一層不封裝,因為是處理電信號的一層
2.封裝和解封裝
封裝:數據來到每一層都會加入該層實現功能的協議報文(四層封裝)
解封裝:從二層開始往第四層依次解封裝,解封裝第二層看目標MAC地址是否是自己的,是則繼續進行解封裝第三層,如果不是給自己的就轉發或者丟棄;解封裝第三層,看目標IP如果不是給自己的就轉發或者丟棄,如果是給自己的就繼續解封裝第四層,然后看端口號,根據端口號將跟數據給相應端口號的應用層去處理。
協議頭部---------數據每一層封裝后都會加上協議頭部-------以便解封裝時知道解下一層封裝的
應用層-------數據
傳輸層---------四層封裝------封裝源端口號和目標端口號------協議頭部--------協議號------TCP,UDP
網絡層---------三層封裝----------封裝源IP和目標IP-------協議頭部--------數字類型--------IPV4,IPV6
數據鏈路層---------二層封裝--------封裝源MAC地址和目標MAC地址
物理層----------處理電信號(一層不封裝)
跨層封裝---OSPF跨四層封裝的協議--------協議號:89
---STP-----如下圖
3.訪問服務器流程
主機獲取IP地址的方法:
靜態獲取
DHCP---動態主機配置協議----動態獲取
C/S
UDP :68---C 67---S
1.過程
訪問服務器需要自身端口號,服務器端口號,自身IP,服務器IP,自身MAC地址,網關MAC地址
要的是網關MAC地址原因是
自身MAC地址,服務器端口號,自身端口號(隨機端口號)服務器IP全部已知
自身IP,網關MAC地址全部不知道,所以需要獲取
首先獲取自身IP-------獲取過程中知道一個網關IP-----因為路由器給需要IP的設備發IP時,回包會有路由器網關IP
然后獲取網關MAC地址不知道-------通過ARP協議發送數據包獲取
------------二層封裝自身MAC地址,以及全f泛洪,三層封裝自身IP以及網關IP,用戶發送給交換機,交換機進行解封裝二層,發現是 全f,然后進行泛洪,泛洪后路由器接收到進行三層解封裝,發現是給自己的,就將MAC地址補全,最后進行回包。
然后再次進行發送,路由器接收到后進行解封裝,解封裝二層發現是給自己的,繼續解封裝,解封裝三層,發現不是給自己的,查看自身的路由表,是否有記錄,有或者有缺省路由就進行轉發,沒有就丟棄,如果轉發,就需要重新進行封裝二層,源MAC為路由器自身的,目標MAC地址為下一跳路由的MAC地址,然后不斷轉發查找最后訪問到
2.轉發和獲取
ARP:
地址解析協議:已知一種地址獲取另外一種地址的協議
正向ARP---通過IP地址獲取MAC地址會發送一個廣播的ARP數據包,所有這個廣播域中的設備均會收到,如果目標IP請求的是自身的MAC
則單播回復,若請求IP地址不是自身則僅記錄數據包中原IP地址和對應的MAC地址,后續轉發過程中將直接調用ARP表中的記錄,直接轉發。
反向ARP--通過MAC地址獲取IP地址
免費ARP---無故ARP--檢測地址沖突 ,自我介紹
交換機的轉發:
交換機收到一個數據幀,會查詢自身MAC地址表中的記錄信息,如果存在記錄則按照MAC地址表記錄單播轉發,如果沒有記錄則直接洪范:除了收到這個數據幀的接口外,向交換機其他所有接口復制轉發一次-------如果連接路由器,那么路由器也是收得到
路由表: 在路由器中接收到一個數據包,會進行解封裝,如果解封裝第二層是給自己的,就會繼續解封裝第三層,在路由表上查看是否有該IP記錄,如果沒有但是有缺省路由,就按缺省路由轉發,如果沒有記錄也沒有缺省路由就進行丟棄。
3.自動獲取IP流程
1.客戶端---服務端 DHCP discover包 ----廣播
SPORT :68 DPORT :67
SIP:0.0.0.0 DIP:255.255.255.255
--------沒有地址要寫0.0.0.0,不能不寫,因為STP頭部協議中有一個檢驗和,如果沒有寫就說明有缺,會丟棄
--------255.255.255.255 --- 受限廣播地址 --- 受路由器的限制 --- 只能作為目標IP地址使用(不知道目的地址使用)
SMAC:主機 DMAC:ff-ff-ff-ff…ff
-------全f--------強制主動洪范
------全球唯一格式統一MAC地址 --- 所有芯片出廠時,廠商燒錄的一個串號。48位二進制構成 ---- 前24位為廠商的 標識,后24位為廠商為產品分配的串號(物理地址)
2.服務器---客戶端 ---DHCP Offer包 (攜帶一個可用的臨時IP地址) 可以廣播/單播
SPORT:67 DPORT:68
SIP:服務器的IP地址 DIP:下發的IP地址
SMAC:服務器 DMAC:客戶端MAC
3.客戶端---服務端 DHCP request ---請求一個合法的IP地址 (廣播發送)
會選擇最先收到的Offer包中攜帶的IP地址
SPORT:68 DPORT 67
SIP : DIP:服務器的IP地址
SMAC:主機 DMAC:ff-ff..ff
4.服務端---客戶端 DHCP ACK(廣播發送/單播)
SPORT: 67 DPORT:68/
SIP:fwq DIP :
SMAC:FWQ DMAC :主機
4.域名
這只是IP的其中一塊內容-訪問服務器流程,IP還有更多內容可以查看IP專欄,后一章內容為網絡類型,可通過以下路徑查看IP---網絡類型-CSDN博客 ,歡迎指正