日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

day3.网络基础之网络协议

發布時間:2025/3/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 day3.网络基础之网络协议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.操作系統基礎

操作系統:(Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在“裸機”上的最基本的系統軟件,任何其他軟件都必須在操作系統的支持下才能運行。 注:計算機(硬件)->os->應用軟件

二.網絡通信原理

  2.1 什么是互聯網

連接兩臺計算機之間的internet實際上就是一系列統一的標準,這些標準稱之為互聯網協議 互聯網的本質就是一系列的協議,總稱為‘互聯網協議’(Internet Protocol Suite). 互聯網協議的功能:定義計算機如何接入internet,以及接入internet的計算機通信的標準。

  2.2 osi七層協議

互聯網協議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層(應表會傳網數物) 每層運行常見物理設備

    2.3 tcp/ip五層模型講解

我們將應用層,表示層,會話層并作應用層,從tcp/ip五層協議的角度來闡述每層的由來與功能,搞清楚了每層的主要協議就理解了整個互聯網通信的原理。 首先,用戶感知到的只是最上面一層應用層,自上而下每層都依賴于下一層,所以我們從最下一層開始切入,比較好理解。 每層都運行特定的協議,越往上越靠近用戶,越往下越靠近硬件。

      2.3.1 物理層

物理層由來:孤立的計算機之間要想一起玩,就必須接入internet,言外之意就是計算機之間必須完成組網 物理層功能:主要是基于電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0(發送電信號)

      2.3.2 數據鏈路層

數據鏈路層由來:單純的電信號0和1沒有任何意義,必須規定電信號多少位一組,每組什么意思 數據鏈路層的功能:定義了電信號的分組方式 (ethernet)以太網協議 :(基于MAC地址進行廣播通信)
      • 一組電信號構成一個數據包,叫做‘幀’
      • 每一數據幀分成:報頭head和數據data兩部分
head(固定18個字節)包含:
      • 發送者/源地址,6個字節
      • 接收者/目標地址,6個字節
      • 數據類型,6個字節
data包含:(最短46字節,最長1500字節)
      • 數據包的具體內容
head長度+data長度=最短64字節,最長1518字節,超過最大限制就分片發送 head中包含的源和目標地址由來:ethernet規定接入internet的設備都必須具備網卡,發送端和接收端的地址便是指網卡的地址,即mac地址。  mac地址:每塊網卡出廠時都被燒制上一個世界唯一的mac地址,長度為48位2進制,通常由12位16進制數表示(前六位是廠商編號,后六位是流水線號) 廣播:有了mac地址,同一網絡內的兩臺主機就可以通信了(一臺主機通過arp協議獲取另外一臺主機的mac地址) ethernet采用最原始的方式,廣播的方式進行通信,即計算機通信基本靠吼 ?

      2.3.3 網絡層

網絡層由來:有了ethernet、mac地址、廣播的發送方式,世界上的計算機就可以彼此通信了,問題是世界范圍的互聯網是由一個個彼此隔離的小的局域網組成的,那么如果所有的通信都采用以太網的廣播方式,那么一臺機器發送的包全世界都會收到,這就不僅僅是效率低的問題了,這會是一種災難。 網絡層功能:引入一套新的地址用來區分不同的廣播域/子網,這套地址即網絡地址 IP協議:
    • 規定網絡地址的協議叫ip協議,它定義的地址稱之為ip地址,廣泛采用的v4版本即ipv4,它規定網絡地址由32位2進制表示
    • 范圍0.0.0.0-255.255.255.255
    • 一個ip地址通常寫成四段十進制數,例:172.16.10.1
ip地址分成兩部分
      •     網絡部分:標識子網
      •     主機部分:標識主機
注意:單純的ip地址段只是標識了ip地址的種類,從網絡部分或主機部分都無法辨識一個ip所處的子網 例:172.16.10.1與172.16.10.2并不能確定二者處于同一子網 子網掩碼 所謂”子網掩碼”,就是表示子網絡特征的一個參數。它在形式上等同于IP地址,也是一個32位二進制數字,它的網絡部分全部為1,主機部分全部為0。比如,IP地址  172.16.10.1,如果已知網絡部分是前24位,主機部分是后8位,那么子網絡掩碼就是11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。 知道”子網掩碼”,我們就能判斷,任意兩個IP地址是否處在同一個子網絡。方法是將兩個IP地址與子網掩碼分別進行AND運算(兩個數位都為1,運算結果為1,否則為0),然后比較結果是否相同,如果是的話,就表明它們在同一個子網絡中,否則就不是。 比如,已知IP地址172.16.10.1和172.16.10.2的子網掩碼都是255.255.255.0,請問它們是否在同一個子網絡?兩者與子網掩碼分別進行AND運算, 172.16.10.1:10101100.00010000.00001010.000000001 255255.255.255.0:11111111.11111111.11111111.00000000 AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0 172.16.10.2:10101100.00010000.00001010.000000010 255255.255.255.0:11111111.11111111.11111111.00000000 AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0 結果都是172.16.10.0,因此它們在同一個子網絡。 總結一下,IP協議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些地址在同一個子網絡。 ip數據包 ip數據包也分為head和data部分,無須為ip包定義單獨的欄位,直接放入以太網包的data部分 head:長度為20到60字節 data:最長為65,515字節。 而以太網數據包的”數據”部分,最長只有1500字節。因此,如果IP數據包超過了1500字節,它就需要分割成幾個以太網數據包,分開發送了。 ARP協議 arp協議由來:計算機通信基本靠吼,即廣播的方式,所有上層的包到最后都要封裝上以太網頭,然后通過以太網協議發送,在談及以太網協議時候,我門了解到 通信是基于mac的廣播方式實現,計算機在發包時,獲取自身的mac是容易的,如何獲取目標主機的mac,就需要通過arp協議 arp協議功能:將IP地址翻譯為以太網的MAC地址 ? 協議工作方式:每臺主機ip都是已知的 例如:主機172.16.10.10/24訪問172.16.10.11/24 一:首先通過ip地址和子網掩碼區分出自己所處的子網
場景數據包地址
同一子網目標主機mac,目標主機ip
不同子網網關mac,目標主機ip
二:分析172.16.10.10/24與172.16.10.11/24處于同一網絡(如果不是同一網絡,那么下表中目標ip為172.16.10.1,通過arp獲取的是網關的mac)
?源mac目標mac源ip目標ip數據部分
發送端主機發送端macFF:FF:FF:FF:FF:FF172.16.10.10/24172.16.10.11/24數據
三:這個包會以廣播的方式在發送端所處的自網內傳輸,所有主機接收后拆開包,發現目標ip為自己的,就響應,返回自己的mac  數據鏈路層:ethernet 以太網協議:基于mac地址的廣播通信(在局域網內)     網絡層:ip協議:?(1)尋址與路由。 (a)用IP地址來標識Internet的主機         arp協議功能:將IP地址翻譯為以太網的MAC地址         tcp協議:一個程序有唯一的端口號,0-25535 端口范圍,0-1024系統軟件

2.3.4 傳輸層

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

補充:端口范圍0-65535,0-1023為系統占用端口

tcp協議:

可靠傳輸,TCP數據包沒有長度限制,理論上可以無限長,但是為了保證網絡的效率,通常TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包不必再分割。

udp協議:

不可靠傳輸,”報頭”部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。

tcp報文

?

tcp三次握手和四次揮手

?

2.3.5 應用層

應用層功能:規定應用程序的數據格式。

例:TCP協議可以為各種各樣的程序傳遞數據,比如Email、WWW、FTP等等。那么,必須有不同協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了”應用層”。

?

四.網絡通信流程

1.本機獲取

  • 本機的IP地址:192.168.1.100
  • 子網掩碼:255.255.255.0
  • 網關的IP地址:192.168.1.1
  • DNS的IP地址:8.8.8.8

2.打開瀏覽器,想要訪問Google,在地址欄輸入了網址:www.google.com。

3.dns協議(基于udp協議)

  域名定義:http://jingyan.baidu.com/article/1974b289a649daf4b1f774cb.html

4.http協議

?

5.TCP協議

6 IP協議

7 以太網協議

  最后,IP數據包嵌入以太網數據包。以太網數據包需要設置雙方的MAC地址,發送方為本機的網卡MAC地址,接收方為網關192.168.1.1的MAC地址(通過ARP協議得到)。

以太網數據包的數據部分,最大長度為1500字節,而現在的IP數據包長度為5000字節。因此,IP數據包必須分割成四個包。因為每個包都有自己的IP標頭(20字節),所以四個包的IP數據包的長度分別為1500、1500、1500、560。

8.服務器端響應

?

轉載于:https://www.cnblogs.com/maxiaotiaoshishui/p/7160929.html

總結

以上是生活随笔為你收集整理的day3.网络基础之网络协议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。