~~網絡編程(二):層級初識~~


進擊のpython

*****

網絡編程——層級了解


前面也提到了,就是計算機們要是想互相玩耍,就必須要接入internet

  • 物理層

    最起碼你得連接網線吧(說用無線的稍一稍),連接的網線就是物理層

    還有什么光纜啊,電纜啊,無線電波啊什么雜七雜八的,他能干什么呢?

    你想啊,這個電啊,有兩種狀態,高和低,那也就對應着計算機的二級制1和0

    那我們就可以根據高低電平的變化來傳輸數據

    畢竟1和0也是帶有數據的嘛!那物理層的作用就出來了!

    物理層功能:主要是基於電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0


  • 數據鏈路層

    數據鏈路層,你可以不用太糾結,你只需要知道他是干什么的就行

    我們剛才啊,在物理層知道了我們將信息通過1,0傳輸

    但是單純的1,0是沒有意義的,我們必須要有個規定

    規定一下電信號多少位一組,每組是什么意思才行

    那,這個工作就交給了數據鏈路層

    數據鏈路層的功能:定義了電信號的分組方式

    而這里,就用到了我們的第一個協議:以太網協議

    以太網協議是用來干什么的呢?

    假設我要給你發快遞,除了要把東西打包以外

    是不是還要寫寄件人收件人和寄貨信息呢?

    那計算機怎么知道你就是你呢??

    於是大家一研究,得了!就用每個電腦獨一無二的mac信息當作信息識別吧

    並且在發送信息之前,在信息的開頭添加發送人的mac信息,收信人的mac信息,還有數據類型

    這一坨信息,我們就管他叫報頭.


    現在信息打包了,我要怎么發出去呢???

    現在的信息傳播方式是"廣播方式"

    什么叫廣播?

    咱倆在一個有很多人的屋子

    然后我就嗷嘮(喊)一嗓子!"XXX你的快遞!"

    然后你聽到了,也嗷嘮(喊)一嗓子!"我在這捏!"

    然后我就把東西給你了!這種方式就叫廣播!

    你也看到局限性了吧,你要是不在這個屋子

    那我喊完了你也聽不到,那信息就沒辦法傳達

    這個屋子就是計算機的局域網!

    所以,以太網的信息傳輸是在局域網內展開的


  • 網絡層

    那看完數據鏈路層你就有疑問了,那我不在同一個局域網,怎么辦?

    也就是說,如果在同一個局域網,我就廣播,如果不在同一個局域網,我就有一種別的方法

    吶!網絡層的作用出來了

    網絡層功能:引入一套新的地址用來區分不同的廣播域/子網,這套地址即網絡地址

    在這里我們要了解第二個協議:IP協議

    其實IP協議和以太網協議差不多(細分的話,自己去百度吧)

    他的作用就是找你在哪個屋子,然后好去吼你

    也是在我要傳的信息前面加一個報頭!

    這樣我要傳的信息就變成了 IP報頭+以太報頭+信息 這種形式了

    這里吧,應該詳細的說一下,但是我建議你自己去查查

    鍛煉一下自學能力好不啦鐵汁


  • 傳輸層

    現在我通過上面的兩層,指定能找到你了吧

    好,那我找到你了,我是不是把信息給你了?

    但是你打不開啊,因為我得傳給你的QQ上才行啊

    那我把本該傳給QQ的信息傳給快播,那也不行啊

    那問題就來了,我如何在你那么多的應用里找到QQ呢?

    在計算機里啊,因為有網卡嘛,然后就把每個應用都分配個端口

    比如我的電腦的QQ的端口是80,那你的電腦的QQ的端口就也是80

    我這面的信息,再加上端口,傳到你這,就通過端口來找你電腦上的應用

    這樣就達到了應用之間的信息傳遞,誒嘿!傳輸層的作用就來了

    傳輸層功能:建立端口到端口的通信

    在這,我們還要知道兩種協議:UDP協議和TCP協議

    這兩種協議呢,稍后再說,現在你知道這有兩種協議就行


  • 應用層

    應用層就很好理解了,就是你電腦里面的軟件,放着的位置就是應用層


那其實我們這個順序是接收的順序

如果按照發送的來講的話,就是把這個順序倒過來

也就是說,我們一般發信息,是發出了這樣的鬼東西

以太網頭+IP頭+UDP/TCP頭+信息


*TCP*
*UDP*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM