關于網絡的知識,我這里主要是從OSI分層,網絡協議等相關的知識。
(資料圖片)
所謂七層模型和四層模型是前輩們為了增強通用型和兼容性,設計出來的層次結構,每一層都遵守一定的規則。
物理層:通過光纜,網線等物理方式把電腦連接起來,是傳遞比特流,并且規定了電平,速度,電纜針腳。數據鏈路層:把比特流封裝成數據幀的格式,幀是數據鏈路層的傳送單位。電腦連接起來之后,數據都是經過網卡傳輸,而網卡定義了世界唯一的mac地址,通過廣播的形式向局域網所有的電腦發送數據,根據數據中的mac地址和自身的進行對比判斷是否發送給自己。數據鏈路層主要是幀編碼和誤差糾正控制。網絡層:網絡層定義了IP協議和子網掩碼,通過對IP和子網掩碼進行運算能確定是否是通一個子網,通過路由器和交換機進行傳輸。網絡層具有尋址和路由選擇,連接的建立,保持,終止等功能。傳輸層:傳輸層是端到端的連接,為了確定數據包是從哪個進程發送過來的,就需要端口號,通過端口來建立通信,比如TCP和UDP屬于這一層的協議。會話層:負責建立,管理,斷開表示層實體間的通信會話。表示層:服務于應用層數據編碼和轉換功能,保證一個系統的應用層數據發送到另外一個應用層能識別。應用層:最靠近用戶的一層,是為計算機用戶提供應用接口,最終供用戶的能理解使用的一層。TCP/IP模型是四層,對于OSI的模型簡化:
網絡接口層,也叫網絡訪問層,包含OSI模型的物理層和數據鏈路層,把電腦連接起來。網絡層,也叫做IP層,處理IP數據包的傳輸、路由,建立主機間的通信。傳輸層,為兩臺主機設備提供端到端的通信。應用層,包含OSI的會話層、表示層和應用層,提供了一些常用的協議規范,比如FTP、SMPT、HTTP等。OSI模型總結物理層通過物理手段把電腦連接起來,數據鏈路層是對比特流的封裝編碼,網絡層來建立主機對主機的通信,傳輸層建立端口到端口的通信,表示層處理數據編碼和轉換,應用層最終負責建立連接,數據格式轉換,呈現給用戶。
在OSI七層參考模型中,每一層都有哪些協議?物理層協議有:EIA/TIA-232, EIA/TIA-499,V.35, V.24,RJ45, Ethernet, 802.3,FDDI數據鏈路層協議有:Frame Relay,HDLC,PPP, IEEE 802.3/802.2網絡層協議有:IP,IPX,AppleTalk DDP傳輸層協議有:TCP,UDP會話層協議有:RPC,SQL,NFS,NetBIOS,names,AppleTalk表示層協議有:TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption應用層協議有:FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP如何知道兩臺機器是否相通?判斷兩臺機器是否相通,我們從上面的OSI模型中能知道在IP層實現就行了,IP層是實現兩臺機器的通信,關于IP層我們從上面也知道有IP協議,IPX協議等,其實我們只要能知道實現IP層協議的一些命令就能知道如何通過命令知道兩臺機器是否相通。
如何知道兩臺機器是否相通,我們可以通過ping或者traceroute命令,ping和traceroute命令基于ICMP協議實現。下面我們來分析一下ping和traceroute命令以及ICMP協議。
ping命令:。它是基于網絡層、通過發送和接收數據包來檢測兩臺計算機間的連接狀況。當出現網絡故障的時候,我們就可以用ping命令來預估故障點,如果ping命令沒有成功,那么就該考慮硬件連接是否出錯,比如網卡設置是否正確、比如網線是否連通,再考慮IP地址設置是否正確。也可以用于數據包一去一回所需耗的時間。使用命令:Ping IP地址。
ping命令就會將目的服務器的 IP 地址,數據大小,往返花費的時間打印到屏幕上。如下圖:
traceroute命令:traceroute命令是一款充分利用 ICMP 差錯報文類型的應用,其主要用作追蹤路由信息。它的實現是利用從每個機器節點之間的IP報的TTL從1開始遞增同時發送UDP包,當出錯則接受ICMP包的超時錯誤信息。
我們參考下圖,就能清楚的描述 traceroute 的整個過程。
tracerouter發UDP,為啥出錯會回ICMP?正常情況下,協議棧能正常走到UDP,當然正常返回UDP。但是,你主機不可達,是IP層的(還沒到UDP)。IP層,當然只知道回ICMP。
ICMP協議ICMP是 Internet Control Message Protocol 的縮寫,即互聯網控制消息協議。它是互聯網協議族的核心協議之一。它是IP層中發送控制消息,提供可能發生在通信環境中的各種問題反饋,通過這些信息,使網絡管理者可以對所發送的問題作出診斷,從而采取適當措施來解決問題。
ICMP本身是網絡層的一個協議,但是它的報文不是直接傳送給數據鏈路層,而是要封裝IP數據包,然后再傳送給數據鏈路層。ICMP的差錯和控制信息傳輸只是要解決IP可能出現的不可靠問題,它不能獨立于IP而單獨存在,因此應該把它視為IP的一個部分,歸于IP體系。
ICMP協議報文協議報文
ICMP報文中各字段含義如下:
類型:占1字節,表示ICMP消息的類型。代碼:占l字節,進一步劃分ICMP消息的子類型,如對類型3(目的不可達)又細分為目的網絡不可達(代碼0)、目的主機不可達(代碼2)、目的協議不可達(代碼3)、目的端口不可達(代碼4)等。校驗和:占2字節,對ICMP報文首部和數據進行校驗。第4個字段:占4字節,內容取決于ICMP報文的類型,有的類型不定義該字段。數據部分:內容和長度取決于ICMP報文的類型。ICMP消息的類型分為查詢報文,差錯控制報文:
ICMP報文類型 | 類型的值 | 說明查詢報文 | 8 | 回應請求查詢報文 | 0 | 應答報文查詢報文 | 13 | 時間戳請求查詢報文 | 14 | 應答報文查詢報文 | 17 | 子網掩碼請求查詢報文 | 18 | 應答報文查詢報文 | 10 | 路由查詢查詢報文 | 9 | 通告報文差錯控制報文 | 3 | 目標不可達差錯控制報文 | 4 | 源端控制差錯控制報文 | 5 | 重定向差錯控制報文 | 11 | 超時差錯控制報文 | 12 | 報文參數出錯
ICMP代碼類型:
代碼 | 含義0 | 目標網絡不可達1 | 目標主機不可達2 | 目標協議不可達3 | 目標端口不可達4 | 需要分段且已設置DF5 | 源路由失敗6 | 目的網絡未知7 | 目的主機未知8 | 源主機被隔離9 | 目的網絡被強制禁止10 | 目的主機被強制禁止11 | 網絡不能達到指定的服務類型12 | 主機不能達到指定的服務類型13 | 因管理結構的主機設置了過濾器而不可達14 | 因主機所設置的優先級收到破壞而不可達15 | 因優先級被刪除而使主機不可達
了解了ICMP協議的報文了,我們來看下ping命令實現的ICMP協議的整個傳輸流程。ICMP 是 IP 的上層協議,但是ICMP也分擔了IP的一部分功能。下面展示了ICMP協議的實現的圖解。
? ?
X 關閉
X 關閉
- 1轉轉集團發布2022年二季度手機行情報告:二手市場“飄香”
- 2充電寶100Wh等于多少毫安?鐵路旅客禁止、限制攜帶和托運物品目錄
- 3好消息!京東與騰訊續簽三年戰略合作協議 加強技術創新與供應鏈服務
- 4名創優品擬通過香港IPO全球發售4100萬股 全球發售所得款項有什么用處?
- 5亞馬遜云科技成立量子網絡中心致力解決量子計算領域的挑戰
- 6京東綠色建材線上平臺上線 新增用戶70%來自下沉市場
- 7網紅淘品牌“七格格”chuu在北京又開一家店 潮人新寵chuu能紅多久
- 8市場競爭加劇,有車企因經營不善出現破產、退網、退市
- 9北京市市場監管局為企業紓困減負保護經濟韌性
- 10市場監管總局發布限制商品過度包裝標準和第1號修改單