互聯網
互聯網的出現,徹底改變了人們的生活方式,足不出戶就可以購物、聊天、看電影、買車票、上班等
思考:資料是如何從一個設備傳遞到另一個設備的?
這一切都是由網路協議來規定的,沒有網路協議,就沒有今天的互聯網
為什么要學習網路協議
互聯網、移動互聯網、物聯網,都離不開網路協議
最熟悉的網路協議:HTTP
為了滿足各種需求,有各式各樣的網路協議(HTTPS、SMTP、MQTT、RTMP等)
隨著物聯網、音視頻、直播等領域的發展,企業提高對開發人員網路基本功的要求,經常問網路協議的面試題
TCP和UDP的區別?說一下它們的報文格式?
TCP的流量控制和和擁塞控制?TCP如何實作可靠性傳輸?
為什么連接是3次握手,關閉是4次揮手?
7層模型與4層模型的區別?每一層的作用是什么?
交換機與路由器的區別?
…
學習中需要搭建的環境
客戶端-服務器開發環境
客戶端:瀏覽器(HTML+CSS+JS)
服務器:Java
網路抓包
瀏覽器(Chrome、Firefox)、Fiddler、Wireshark
模擬工具
Xshell(只有Windows版)、Packet Tracer(注冊地址)、GNS3
客戶端-服務器

tomcat是由java開發的,所以需要包含在jvm里面,而jvm是Java Virtual Machine(Java虛擬機),用來運行java代碼的,最終包含在服務器里面,與客戶端進行資料的互動,

Java 的跨平臺原理
如果一個代碼可以在多個平臺運行,那么就是跨平臺
JVM(Java Virtual Machine):Java虛擬機
Java的跨平臺:一次編譯,到處運行
編譯生成跟平臺無關的位元組碼檔案(calss檔案),*.class 是位元組碼檔案,作業系統是不會執行的
*.class由對應平臺的JVM決議位元組碼為機器指令(010101)

如果代碼有語法錯誤,將編譯失敗,并不會生成位元組碼檔案
那就不會去運行一個JVM程式,最后導致Java程式運行失敗
C\C++ 的跨平臺原理
C\C++ 的跨平臺:使用平臺相關的編譯器生成對應平臺的可執行檔案,在各個平臺上有對應的編輯轉化器,轉成作業系統可以運行的格式

什么是協議
如果租房協議有一個國家(或國際)標準,會是怎樣?
全世界統一標準,服務器可以知道客戶端需要什么,客戶端可以知道服務器回傳了什么,
網路互連模型
為了更好地促進互聯網路的研究和發展,國際標準化組織 ISO 在 1985 年制定了網路互連模型
OSI 參考模型(Open System Interconnect Reference Model),具有7層結構

請求程序
客戶端由應用層從上到下逐一的封裝,服務器由物理層從下到上逐一的拆分,

網路分層

計算機之間的通信基礎
需要得知對方的IP地址
最終是根據MAC地址(網卡地址),輸送資料到網卡,被網卡接收
如果網卡發現資料的目標MAC地址是自己,就會將資料傳遞給上一層進行處理
如果網卡發現資料的目標MAC地址不是自己,就會將資料丟棄,不會傳遞給上一層進行處理
單工,半雙工和全雙工有何區別和聯系
1.單工資料傳輸只支持資料在一個方向上傳輸;在同一時間只有一方能接受或發送資訊,不能實作雙向通信,舉例:電視,廣播,
2.半雙工資料傳輸允許資料在兩個方向上傳輸,但是,在某一時刻,只允許資料在一個方向上傳輸,它實際上是一種切換方向的單工通信;在同一時間只可以有一方接受或發送資訊,可以實作雙向通信,舉例:對講機,
3.全雙工資料通信允許資料同時在兩個方向上傳輸,因此,全雙工通信是兩個單工通信方式的結合,它要求發送設備和接收設備都有獨立的接收和發送能力;在同一時間可以同時接受和發送資訊,實作雙向通信,舉例:電話通信,
計算機之間的連接方式
計算機之間的連接方式-網線直連
需要用交叉線(不是直通線)

計算機之間的連接方式-同軸電纜(Coaxial)
? 半雙工通信
? 容易沖突
? 不安全
? 中間斷了,整個都癱了

計算機之間的連接方式-集線器(Hub)

半雙工通信
容易沖突
不安全
跟同軸電纜一樣:沒有智商
計算機之間的連接方式-網橋(Bridge)
思科網路模擬機相關命令:
arp -a 查看arp快取表
arp -d 清除qrp快取表
能夠通過自學習得知每個介面那側的MAC地址
從而起到隔絕沖突域的作用:因為網橋會根據自己所快取的arp表判斷是否放行資料包

計算機0ping計算機1程序(計算機0未知計算機1的MAC地址):
1、先通過ARP發送一個MAC地址為FFFF-FFFF-FFFF-FFFF的廣播包尋找計算機1的MAC地址,通過集線器轉發到計算機2和網橋
2、計算機2發現不是自己的ip地址,丟棄,而且不會記錄計算機0的MAC地址
3、網橋得到了廣播包,記錄了計算機0的MAC地址,然后轉發給計算機1
4、計算機1發現是自己的ip地址,接受并記錄了計算機0的MAC地址與IP地址的映射
5、然后發現ARP廣播包回去
6、計算機0接受到arp廣播包后,確認計算機1已經收到了自己發的包,然后發送ICMP包再次確認
計算機之間的連接方式-交換機(Switch)

相當于介面更多的網橋
全雙工通信
比集線器安全
思考
全球所有的設備都用交換機連接會是什么情況?
會導致很多計算機同時發送ARP包,造成廣播風暴
計算機之間的連接方式-路由器(Router)

ping程序:
計算機0 ping 計算機1
計算機0發現計算機1的網段與自己不在同一個網段,然后沒有設定網關,所以不進行任何操作
計算機6 ping 計算機1
1、計算機0發現計算機1的網段與自己不在同一個網段,然后設定了網關,所以將arp包的目的ip地址變成網關的ip地址,然后進行廣播
2、通過集線器發送到路由器,路由器發現目的ip地址是自己的埠網關,接受后回傳自己介面的mac地址,然后發arp包給回計算機0
3、計算機0得到網關的mac地址,然后發送icmp包(目的mac地址是網關介面的mac地址)給計算機1
注意
網線直連、同軸電纜、集線器、網橋、交換機
連接的設備必須在同一網段,連接的設備處在同一廣播域
集線器、網橋、交換機不關心ip地址,只關心MAC地址
路由器可以在不同網段之間轉發資料,而且只能是不斷網段,因為是隔絕廣播域的
筆記內容大部分來自于小碼哥教育
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339273.html
標籤:其他
下一篇:Unity之Animation
