tft每日頭條

 > 科技

 > 網絡數據的三種傳輸方式

網絡數據的三種傳輸方式

科技 更新时间:2025-01-18 10:50:24
引言

本文借鑒與許世偉老師的<IP 網絡: 連接世界的橋梁>一文。

網絡連接一切。它連接了人(個人和企業)、服務(由軟件系統構建的服務接口)和物(大自然産物和智能終端),構建了多姿多彩的互聯網。

在前面的章節,許老師分别介紹了進程、存儲、輸入、輸出以及其背後的原理。這裡通過一個單機來描述它的局限性,由此襯托網絡對計算機世界的重要地位。

通常來講,計算機世界裡的任何技術,都能從現實的生活裡得到映射。網絡作為一個數據交換的通道,就自然地與郵寄聯系到了一起。

數據封包過程

能夠正常被接收的包裹通常包含寄件人信息、收件人信息、收件人地址三個基本信息。有了寄件人的信息,物流公司就可以知道是誰郵寄的。收件人的信息,可以知道郵寄給誰。收件人地址表示要郵到哪裡去。所有的這些信息是物流公司所産生的需求,如果專業地進行表示,這些信息叫做物流協議。

同樣的網絡也是如此,如何将某台主機(寄件人)的數據内容,通過局域網、廣域網傳輸到另外一台主機上(收件人),就成了網絡要解決的問題。

技術人員應該都有了解,OSI協議講網絡分為了七層,分别是應用層、表示層、會話層、傳輸層、網絡層、數據鍊路層、物理層。在這裡許老師用了一個很貼切的圖片進行展示。

網絡數據的三種傳輸方式(數據是怎樣通過網絡進行傳輸的)1

OSI七層模型

讓我們設想下,傳輸一部電影,應該怎麼來傳?

第一步:分批次

網絡傳輸對數據包的大小是有限制的,在數據包過大的情況下,會分批次進行傳輸(從物理網絡視角看,數據是并不是流(stream),而是一個個大小有明确限制的數據包),收到電影(大報文)的時候,應用層負責電影拆成多個固定大小的數據包。

第二步:傳輸層貼上發出者和接收者

傳輸層将每個數據包都貼上了一層标簽,包含源主機端口(寄件人),目标主機端口(收件人),以及傳輸的協議(TCP/UDP)以及批次号()。

傳輸層有兩套協議,一套是 TCP 協議,另一套是 UDP 協議。UDP 協議不保證對方一定收到,信封上就沒寫批次編号。

第三步:網絡層貼上從哪兒發出到哪兒去

網絡層接收到傳輸層給的數據後,在報文頭部加上源IP地址和目标IP地址。有了IP的信息,就可以知道報文要發往哪裡去。網絡層主要任務是為網絡上的不同主機提供通信,作用是将報文從源主機送達目标主機。

主要功能包括:

  1. 轉發:報文從源主機的輸出端口,轉發到目标主機的輸入端口。
  2. 路由選擇:通過算法為報文通過網絡選擇最佳途徑。

網絡層提供了多種協議,其中IP協議和ICMP協議最為常見。

第四步:數據鍊路層保證傳輸

數據鍊路層是最接近物理層的,主要做了三件事:

  1. 進一步的對報文封裝,頭尾部加上數據鍊路層的标識,叫做幀。
  2. 通過加幀的方式,實現透明傳輸(什麼樣的報文都可以通過這樣的協議進行傳輸)
  3. 在尾部加上字符碼進行冗餘校驗(通過某種算法獲取一個值放在尾部,每次都通過算法進行校驗數據的正确性)
網絡協議

網絡協議是通信計算機雙方必須共同遵從的一組約定。如怎麼樣建立連接、怎麼樣互相識别等。隻有遵守這個約定,計算機之間才能相互通信交流。

什麼是MAC 地址

MAC 地址的英語是 Media Access Control Address,直譯為媒體存取控制位址,也稱為局域網地址(LAN Address)、以太網地址(Ethernet Address)或物理地址(Physical Address),它是一個用來确認網絡設備位置的位址。

通俗地講,一台計算機有一個或多個網卡,每個網卡會有自己的唯一标識即 MAC 地址。

什麼是IP地址

IP地址是IP協議提供的一種統一的地址格式,它為互聯網上的每一個網絡和每一台主機分配一個邏輯地址,以此來屏蔽物理地址的差異。

什麼是網關

網關(Gateway)就是一個網絡連接到另一個網絡的關口。網絡由多個局域網和廣域網組成,每個網絡互相的通道就是網關。

什麼是域名

互聯網上某一台計算機或計算機組的名稱,用于在數據傳輸時标識計算機的電子方位(有時也指地理位置)。

域名就是對IP的另外一種表示。例如:給李長順起了個外号叫做鐵蛋,就是用來加深對這個人的記憶。

DNS協議

這個協議記錄了IP與域名的配對,每次通過域名訪問,都能解析到對應的IP上。

DHCP 協議

動态主機配置協議,第一次接入網絡的計算機,隻有網卡自帶的MAC地址,通過DHCP協議給它分配IP地址和默認網關。

ARP 協議

DNS協議是将域名解析為IP,ARP協議(地址解析協議)就是将IP轉換為MAC地址。原因是在網絡通訊中,最終需要的是MAC地址。

RARP 協議

RARP 全稱叫反向地址轉換協議,顧名思義就是将MAC地址轉換為IP。

ICMP 協議

互聯網控制報文協議,用來檢測網路的連線狀況,以保證連線的有效性,提供常用的ping、Telnet命令。

數據傳輸過程

網絡數據的三種傳輸方式(數據是怎樣通過網絡進行傳輸的)2

數據傳輸過程

在網絡内,源主機跟目标主機之間是通過多個路由器和交換機相連的。

同一個局域網内的主機通信

局域網内部,源主機與目标主機隻經過了交換機。

網絡數據的三種傳輸方式(數據是怎樣通過網絡進行傳輸的)3

同一個局域網數據交換

  1. 源主機隻有目标主機的IP地址,沒有MAC地址,因此采用ARP請求,獲取MAC地址。
  2. 交換機在收到ARP請求時候,有兩種狀态:
  • 交換機有目标主機的IP和MAC地址映射關系,此時直接返回其MAC地址。
  • 交換機沒有對應的IP和MAC地址關系,此時交換機會向局域網内所有的主機轉發數據包(泛洪),當目标主機判斷IP跟自身IP一緻的時候,返回其MAC地址。

3. 交換機有了IP跟MAC地址之後,進行自身緩存,之後的主機通訊不需要再次進行泛洪。

兩個局域網内的數據傳輸

兩個局域網内的主機之間經過若幹個路由器和交換機(可選)。

網絡數據的三種傳輸方式(數據是怎樣通過網絡進行傳輸的)4

跨局域網的數據傳輸

主機1與主機4進行通信步驟:

  1. 主機1發送數據包,通過交換機(可選),到達局域網的網關。
  2. 網關根據自身的路由映射表,選取最佳的路徑,發送數據包。
  3. 路由器遵循着自身的路由表,将數據包層層轉發到對應的目标網關上。
  4. 目标網關進行數據的拆包和重組,形成新的數據包。
  5. 新的數據包經過交換機(可選),再轉發到對應的主機4上去。
總結

這裡隻是從抽象上介紹了整個網關協議以及數據轉發過程,數據在傳輸過程中會經過層層的封包和拆包過程,在這裡不再過多的介紹。

整個網絡的構建是一個非常複雜而且龐大的工程,通過對整個過程的了解,可以發現其設計的精妙之處。

  1. 通過OSI七層模型将數據的傳輸過程進行拆解,每個模型負責一部分的工作。
  2. 每一次的數據交換都有對應的協議進行支持。
  3. 網絡從域上拆分成為多個子網,每個子網又管理多個子網或者多個主機。

整體來說,分而治之的思想,在整個網絡結構裡,随處可見。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved