1.網絡程式是如何工作的

從上面的圖中我們可以看出,當我們在電腦上浏覽網頁的時候,我們的浏覽器會解析遠端伺服器發來的頁面資訊,解析流程大緻是這樣的:
(1)鍊路層(2層):将網絡封包的MAC頭取出來,與本機的MAC位址比對,如果發現是發給自己的則将封包轉交給網絡層進行處理。
(2)網絡層(3層):比對封包的IP位址,如果判斷是發給自己的則将封包轉交給傳輸層進行處理,否則丢棄封包。
(3)傳輸層:解析封包中的端口号,取下TCP封包頭,将HTTP正文内容交給相應的APP進行處理。
(4)應用層:浏覽器取下HTTP頭,然後将網頁内容進行展示。
由此我們完成,從網絡中擷取封包到網頁内容展示的過程。當我們需要操作頁面時,該流程正好是接受封包的逆過程,即将操作資訊分别包裝上HTTP頭,TCP頭,IP頭,MAC頭,通過鍊路傳輸給網站伺服器進行處理。
2.網絡裝置辨別符
當我們執行在Linux上執行ifconfig的時候,我們能看到以下結果:
UP表示的是目前網卡的啟動狀态;
BROADCAST表示該網卡就有廣播位址,能發廣播包;
RUNNING表示網卡的網線被接上;
MUTICAST表示網卡可以發多點傳播包;
mtu:最大傳輸單元,1500是預設值
3.IP位址和MAC位址的了解
MAC位址可以了解為網絡裝置的身份ID,而IP位址了解為通訊位址。IP位址可以标示給網絡裝置所處的位置,而MAC位址能精确定位到該網絡裝置。
4.DHCP(Dynamic Host Configuration Protocol)
DHCP中文名稱為動态主機配置協定。使用DHCP協定我們可以給新加入的網絡裝置動态配置設定IP位址。它與靜态IP位址的差別可以類比為,靜态IP位址就像自己買房子,IP設定了,就隻給你用,不會中途收回,而DHCP類似于租房子,需要簽訂租約。
使用DHCP還可以為主機安裝作業系統,該過程稱為PXE(Pre-boot Execution Environment),該過程如下所示:
(1)剛加入的網絡裝置需要向DHCP伺服器申請自己的IP位址和pxelinux.0的位置。
(2)PXE用戶端向FTP伺服器下載下傳pxelinux.0檔案,該檔案是一個bootloader,通過它可以進行核心安裝引導。
(3)安裝完prelinux.0之後,需要向FTP伺服器下載下傳核心和initramfs。
(4)安裝核心和initramfs。initramfs是一個初始檔案系統,該程式可以幫助在啟動早期提供一個使用者态環境,幫助核心完成一些不易完成的工作。
附錄:
(1)MTU:https://yq.aliyun.com/articles/222535
(2)initramfs:https://www.imooc.com/article/42024