計算機網絡筆記,視頻地址:https://www.bilibili.com/video/av9876107
文章目錄
1. 網絡層提供的服務
在網絡結構中,底層的結構都爲上一層提供服務
網絡層只負責在不同網絡之間傳輸數據包(基於數據的IP地址),不負責丟包重傳以及包的順序
emmmmm…沒有感情的甩包機器
由圖可以看出,在互聯網中既有局域網又有廣域網,既有光纖又有銅線,還有無限傳輸,在數據鏈路層中使用的到協議也是各不相同的,有PPP協議,也有CSMA/CD,爲了實現各部分的通信,這裏使用了路由器,可以在傳輸中統一協議。
2. 計算機的通信過程
在上一章已經有看過集線器、交換機和路由器,爲了鞏固一下,還是把鏈接拖過來
參考博客https://blog.csdn.net/GoGleTech/article/details/80519510
由上圖可以看出
發送端所做的工作有:
- 應用層準備需要傳輸的文件
- 傳輸層將文件分段,並編號
- 網絡層對不同段的數據加上目標和源IP地址(網絡地址)變爲數據包
- 數據鏈路層在數據包上增加目標和源的MAC地址(物理地址)形成數據幀
- 首先需要根據自己的子網掩碼判斷自己以及目標地址所在網段
- 如目標和源在同一個網段,ARP協議廣播解析目標IP地址的MAC地址(IP地址決定數據的起點和終點,MAC地址決定了數據下一跳的位置)
- 如不在一個網段,需要送到路由器(通過網關地址,網關地址就是路由器地址)
接受端所做的工作有:
-
路由器確認IP網關是否相同,相同則傳入
-
數據鏈路層找到對應MAC地址的主機
3. 網絡層協議
3.1 ARP協議(Address Resolution Protocol,地址解析協議)
將IP地址通過廣播目標地址IP得到MAC地址,廣播只能在一個網段中廣播
在cmd中可以通過arp -a
查看本網段的所有MAC地址
通過arp -d
清除arp中的緩存
通過arp -s
靜態綁定IP和對應MAC地址
因此如果在一個局域網中,可以通過MAC地址欺騙來截取其他主機之間通信數據
這裏老師說了幾個流氓軟件--------網絡執法官:干擾本網段中其他主機之間的通信
---------p2p終結者:控制本網段中其他主機的上網流量(欺騙自己是網關)
解決ARP欺騙的方法:
- 靜態綁定靜態綁定IP和對應MAC地址,不經過ARP廣播
- 防火牆設置
3.2 ICMP協議(Internet Control Message Protocal,網際控制報文協議)
ICMP允許主機或路由器報告差錯情況和提供有關異常情況的報告
ICMP是IP層的協議
3.2.1 ping命令
PING(Packet Internet Grope,因特網包探索器),是用於測試網絡連接量的程序。
ping指的是端對端連通,常作爲可用性檢測,ping發送一個ICMP回聲請求消息給目的地
ping /?
可以查看ping的相關命令
其中TTL表示數據包的生存時間,在網上發數據的時候,經過一個路由器ttl就減一,防止數據包循環
Linux系統,TTL默認值是64
Windows系統,TTL默認值是128
Unix系統,TTL默認值是255
3.2.2 pathping
pathping可以跟蹤數據包路徑,計算丟包情況
3.2.3 tracert
tracert可以在路由器上跟蹤數據包路徑
3.3 IGMP協議(Internet Group Management Protocol, 因特網組管理協議)
IGMP協議是掃描本網段中不同計算機綁定的多播IP地址
-
單播通信:點對點通信,具有針對性
-
廣播通信:目標MAC地址FF,目標IP地址255.255,全網段通信,但是不能跨網段
-
組播/多播通信:通過多播IP地址實現,相當於分組頻道,可以跨網段
接收端綁定多播IP地址就可以接受多播的信息,如果是跨網段,只有一份多播信息在廣域網上傳輸,這也避免了帶寬的浪費,只要局域網中有一臺主機綁定了多播IP地址,多播數據就會傳輸到該網段,如果沒有主機綁定,則多播數據不會傳送到該網段
多播沒有進度條,和直播類似,目標主機受到的數據與源主機時間上保持一致
多播不建立會話
4. IP數據包結構
IP數據包由首部和數據兩部分組成
首部的前20字節是固定長度,是所有IP數據必須具有的,後面接一些可選字段,長度不固定,在IPv6中沒有了可變部分
-
版本:表示TCP/IP協議的版本號 ipv4 ipv6
-
首部長度:首部的總長度,固定部分+可變部分,一般只有固定的20個字節,很少有數據包有可變部分
-
區分服務:不同數據流的優先級不同,在發送數據時要加區分服務的標記,同時路由器也要能夠識別標記,
-
總長度:數據包的總長度,最大可以是字節,網絡層數據包傳到數據鏈路層如果過大需要分片,最大的傳輸長度是1500字節
淚滴攻擊:向目標主機發送損壞的IP包,例如重疊的包或過大的包,以浪費計算機資源
-
標識:在產生數據包時會產生標識,每個數據包的標識不同,對於同一個數據包分片後得到的不同數據包,其標識相同
-
標誌:用於區分數據包是分片數據包還是完整數據包,標識佔3bit,前兩位有意義,最低位MF,MF=1表示後面還有分片數據包,MF=0表示是最後一個分片,標識中間爲是DF,DF=0時才允許分片
-
片偏移:字節/8得到偏移量,用於確定分片順序
-
生存時間:TTL,經過一個路由器ttl就減1
-
協議:數據部分的協議,ICMP 協議號1、IGMP 協議號2、TCP 協議號6、UDP 協議號17、IPv6 協議號41、OSPF 協議號89
-
首部檢驗和:16位,只檢驗數據報的首部,不檢驗數據部分
5. 網絡故障排錯
5.1 抓包工具排除網絡故障
抓包工具-------wireshark
其他課程-------謝希仁
抓包可以抓廣播包和多播包
5.2 網絡暢通的條件
- 沿途路由器知道來回路徑,數據包有去有回
5.3 靜態路由和動態路由
-
靜態路由
一個路由一個路由的設置目標IP和下一跳IP地址,來回都要設置,配置路由表
適用於小規模網絡,不能自動調整路由
-
動態路由
RIP協議:週期性廣播路由表,30秒更新路由信息,最大跳數15跳,過的路由器次數越少越優,自動選擇最優路徑
OSPF協議:選擇路徑的標準是帶寬,哪個帶寬開銷少就選哪個路徑