計算機網絡TCP/IP模型複習筆記(隨時補充)

看到一篇大佬的博客,剛好前段時間也有簡單瞭解了一點計算機網絡的TCP/IP,就順便總結一下。
大佬文章鏈接:

https://blog.csdn.net/ThinkWon/article/details/104903925

計算機網絡的自己理解,儘量白話。理解不對,請指正

1. 簡單講述

計算機網絡因爲很抽象,所以不是很好理解,用生活中舉例來說一個場景「你在家,用電腦、手機去請求一個網址或者發送一個微信消息」都會用到計算機網絡
你請求百度的網址,百度給你返回一些信息,那麼問題來了:
你請求中間發生了什麼?返回怎麼返回的?
這個時候就涉及到了計算機網絡

2. 計算機分層結構

這個地方是有個圖的,可是感覺每次看完圖就過了,所以這次先寫,在放圖吧。
從上往下:
應用層
運輸層
網絡層
數據鏈路層

注意:部分會將數據鏈路層劃分爲數據層和物理層(可能也有不同的叫法),所以也就有了4層或者5層的說法,7層的是ISO模型,此處暫時不管

3. 每一層協議簡述(請注意,是簡述)

按照請求百度,百度返回值給主機這種行爲來大概說一下每層的功能以及部分協議吧。

  • 應用層:

這個地方最常見的協議是HTTP和HTTPS了(還有什麼email、FTP等等)。
延伸問題(職業測試,真的遇到過,順便記錄一下吧):
問題一:HTTP和HTTPS的端口號一般是多少?
問題二:HTTP和HTTPS請求的區別是什麼?

  • 傳輸層:

這個地方最常見的協議就是TCP和UDP了
延伸問題(下面這兩個真的是老生常談):
問題一:TCP和UDP的區別是什麼?
問題二:請描述一下三次握手和四次揮手。

  • 網絡層:

這個地方常見的協議就是IP、ICMP、IGMP了。
延伸問題:
ping使用的協議是——?

  • 數據鏈路層:

這個地方用的比較多的是ARP和RARP協議了

好,下面是放圖了
第一張圖:
四層、五層、七層進行了對照
(不用告訴我每層的名字和我說的存在不一樣,我知道)
計算機網絡體系
第二張圖:
將通信過程與四層進行了對照
在這裏插入圖片描述

4. 數據幀大概的封裝和分發

其實計算機底層都是二進制,大家都知道,這個地方需要了解一點東西:
二進制
8比特(bit)
1字節
簡單來說,一個二進制位,就是0或1,又稱1bit
8個0/1組成就是一個字節

好,講重點。
這個地方,先放圖,不然可能不好懂
最先放上從別人那邊複製來的圖:簡單明瞭
在這裏插入圖片描述
第二張圖:封裝圖一:封裝過程
第三張圖:分發
分用過程
這個地方出現2個概念:封裝分用
封裝就是你要寄快遞,你把這個東西打包一下
分用就是別人要收你的快遞,就要拆包裹

我主要想寫一下4層,所以封裝,我們將上面兩個看做一層。

  • 封裝
    對應的操作步驟:
    用戶a向百度(www.baidu.com)發起請求,傳輸數據給百度
    那麼對應這個圖來看,就是
    1、首先,有個用戶數據要傳輸了,此時對應數據鏈路層
    2、然後,數據要進行網絡傳輸,那麼就分爲TCP傳輸還是UDP傳輸,不同的傳輸,對應不同的首部信息,這個時候,就要添加上TCP或者UDP的首部信息了,此時對應運輸層
    3、我們到百度的服務器距離還是很遠的,中間會經過好多個路由器,那麼怎麼走呢?這個時候就到了網絡層,會給你進行IP路由尋址(這是一個知識點,不是一言兩句就能講完,知道就好了,我也還沒弄清),此時對應網絡層
    4、好,我們終於到了以太網中,這個時候,就要加上我們的以太網首部信息,此時對應數據鏈路層

注意:這個時候我們已經不知不覺添加了好多個首部信息,後面這些首部信息中會有報文字段,後面再說。。。。。。。

  • 分用
    接收方(此處是百度),比如我們進行的是HTTP請求,那麼在百度服務器的80端口,就會接收到我們發來的數據報信息
    PS:這個地方又提到了端口,簡單來說,就是類似人類世界的門牌號,每天有不同的人來敲門,有找你的,有敲錯的,還有騷擾你的,這個時候,怎麼看是不是找你的?——敲你的門就是找你的,還有通過攜帶的信息,判斷是正經找你還是騷擾你的。

迴歸正題:
分用就是「拆快遞」
1、首先要去掉以太網首部(撕掉快遞單)
2、再要去除IP首部(撕掉外包裝)
3、最後還要去掉TCP或者UDP首部信息(拆掉盒子)
4、拿到最終的用戶數據(收到你的寶貝)

先講這麼多吧,後面打算講一下下面內容,備註一下,怕忘了。 1、每層主要的協議,報文包含哪些字段,幹什麼用? 2、IP路由協議(此處要先講一下網絡號) 3、自己出的題,自己寫答案唄