网络知识 | 《图解TCP/IP》读书笔记(上)
【網絡知識】|?作者?/ Edison Zhou
這是EdisonTalk的第290篇原創內容
作為一個專業的IT技術人,一個Web應用開發者,不了解網絡基礎和協議,怎么能行?本文是我2016年閱讀《圖解TCP/IP》一書的讀書筆記,希望對你有所幫助!
1關于《圖解TCP/IP》
這是一本圖文并茂的網絡管理技術書籍,旨在讓廣大讀者理解TCP/IP的基本知識、掌握TCP/IP的基本技能。?
書中講解了網絡基礎知識、TCP/IP基礎知識、數據鏈路、IP協議、IP協議相關技術、TCP與UDP、路由協議、應用協議、網絡安全等內容,引導讀者了解和掌握TCP/IP,營造一個安全的、使用放心的網絡環境。
同時,這本書也是我的2016年度讀書計劃中的一本,下面我將會把我看書中的重點內容總結和重要圖示摘錄下來,所謂把書讀薄,就是把精華內容留下,以供以后隨時參考。
2網絡基礎知識
計算機使用模式的演變
協議
協議就是計算機與計算機之間通過網絡實現通信事先達成的一種“約定”。這種“約定”使那些由不同廠商的設備、不同的CPU以及不同的操作系統組成的計算機之間,只要遵循相同的協議就能夠實現通信。反之,如果使用的協議不同,就無法通信。
分組交換是將大數據分割為一個個叫做包(Packet)的較小單位進行傳輸的方法。這里所說的包,就如同我們平常在郵局里見到的郵包。分組交換就是將大數據分裝為一個個這樣的郵包交給對方。
協議分層與OSI參考模型
協議分層就如同計算機軟件中的模塊化開發,OSI參考模型的建議是比較理想化的。
OSI參考模型中每個層的作用:
7層通信實例:假設主機A的用戶A要給主機B的用戶B發送一封電子郵件:
發送方從第7層、第6層到第1層由上至下按照順序傳輸數據,而接收端則從第1層、第2層到第7層由下至上向每個上一級分層傳輸數據。每個分層上,在處理由上一層傳過來的數據時可以附上當前分層的協議所必須的“首部”信息。然后接收端對收到的數據進行數據“首部”與“內容”的分離,再轉發給上一分層,并最終將發送端的數據恢復為原裝。
3TCP/IP基礎知識
TCP(Transmission Control Protocol)和IP(Internet Protocol)是互聯網的眾多通信協議中最為著名的。
TCP/IP的背景及歷史
TCP/IP的標準化
(1)具體含義
很多人都會認為TCP/IP是指TCP與IP兩種協議,實際生活中有時也確實就是指這兩種協議。然后,很多情況下,它只是利用IP進行通信時所必須使用到的協議群的統稱。
(2)標準化
由于TCP/IP盡早地制定了可行性較強的協議,提出了應對技術快速革新的協議,并及時進行后期改良的方案,因此打敗了OSI模型,成為了事實上的標準。
TCP/IP的協議分層模型
上圖列出了TCP/IP與OSI分層之間的大概關系,不難看出,TCP/IP與OSI在分層模塊上稍有區別。OSI參考模型注重“通信協議必要的功能是什么”,而TCP/IP則更強調“在計算機上實現協議應該開發哪種程序”。
現在再來看看主機A向主機B發送一封電子郵件,在TCP/IP模型下的處理過程:
分組數據包經過以太網的數據鏈路時的大致流程如下圖所示:
4IP協議及相關技術
IP的主要作用
如上圖所示,IP的主要作用就是在復雜的網絡環境中將數據包發給最終的目標地址。
IP的三大作用模塊
(1)IP尋址
在計算機通信中,為了識別通信段,必須要有一個類似于地址的識別碼進行標識。而在數據鏈路層,使用MAC地址來標識同一個鏈路中不同計算機的一種識別碼。在網絡層,則叫做IP地址。
(2)路由(最終節點為止的轉發)
路由控制(Routing)是指將分組數據發送到最終目標地址的功能。即使網絡非常復雜,也可以通過路由控制確定到達目標地址的通路。因此,一個數據包之所以能夠成功地到達最終的目標地址,全靠路由控制。
Hop中文叫“跳”,它是指網絡中的一個區間,IP包正是在網絡中一個跳間被轉發。數據鏈路實現某一個區間(一跳)內的通信,而IP實現直至最終目標地址的通信(點對點)。
為了將數據包發送給目標主機,所有主機都維護著一張路由控制表(Routing Table),該表記錄IP數據在下一步應該發給哪一個路由器。IP包將根據這個路由表在各個數據鏈路上傳輸。
(3)IP分包與組包
IP面向無連接,即在發包之前,不需要建立與對端目標地址之間的連接。上層如果遇到需要發送給IP的數據,該數據會被立即壓縮成IP包發送出去。
IP為什么面向無連接?
簡化:面向連接比起面向無連接處理相對復雜!
提速:每次通信之前都需要建立連接,會降低處理速度!
????需要有連接時,可以委托上一層(傳輸層)提供此項服務,因此,IP為了實現簡單化與高速化采用面向無連接方式。
相關技術
(1)DNS
有效管理主機名和IP地址之間的對應關系->DNS系統,那么DNS查詢的機制是什么呢?
(2)ARP
ARP是一種解決地址問題的協議,以目標地址為線索,用來定位下一個應該接收數據分包的網絡設備對應的MAC地址。不過,ARP只適用于IPv4,不適用于IPv6。
RARP則是將ARP反過來,從MAC地址定位IP地址的一種協議。
(3)ICMP
一個剛剛搭建好的網絡,需要驗證該網絡的設置是否正確。ICMP(Internet Control Message Protocol)這是提供這類功能的一種協議,其主要功能包括:確認IP包是否成功送達目標地址,通知在發送過程中IP包被廢棄的具體原因等等。例如我們經常使用ping命令,就是一個典型的ICMP的具體應用。
(4)DHCP
如果逐一地為每一臺主機設置IP地址會非常繁瑣,于是為了實現自動設置IP地址、統一管理IP地址分配,就產生了DHCP(Dynamic Host Configuration Protocol)協議。有了DHCP,計算機只要連接到網絡,就可以進行TCP/IP通信。
(5)NAT
NAT(Network Address Translator)用于在本地網絡中使用私有地址,在連接互聯網時轉而使用全局IP地址的技術。
(6)IP隧道
在一個網絡環境中,假如網絡A、B使用IPv6,中間位置的網絡C支持使用IPv4的話,網絡A與網絡B之間無法直接進行通信。為了讓他們之間正常通信,這時需要采用IP隧道的功能。
IP隧道中可以將那些從網絡A發過來的IPv6的包統和為一個數據,再為之追加一個IPv4的首部以后轉發給網絡C,這種在網絡層的首部后面繼續追加網絡層首部的通信方法就叫做“IP隧道”。
Ref參考資料
[日]竹下隆史,《圖解TCP/IP》
后臺回復:圖解TCP,即可獲得pdf下載鏈接喲!
????掃碼關注EdisonTalk
設為星標,不再失聯!
往期推文合集:2020年上半年推文合集
成都新鮮坑位:喜鵲生活招聘.NET開發
十月送書福利:每天5分鐘玩轉Docker
總結
以上是生活随笔為你收集整理的网络知识 | 《图解TCP/IP》读书笔记(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实战解读ASP.NET Core身份认证
- 下一篇: IdentityServer4系列 |