Ⅰ 電腦怎樣通過互聯網傳輸數據
網路中數據傳輸過程
我們每天都在使用互聯網,我們電腦上的數據是怎麼樣通過互聯網傳輸到到另外的一台電腦上的呢?
我們知道現在的互聯網中使用的TCP/IP協議是基於,OSI(開放系統互聯)的七層參考模型的,(雖然不是完全符合)從上到下分別為 應用層 表示層 會話層 傳輸層 網路層 數據鏈路層和物理層。其中數據鏈路層又可是分為兩個子層分別為邏輯鏈路控制層(Logic Link Control,LLC )和介質訪問控制層((Media Access Control,MAC )也就是平常說的MAC層。LLC對兩個節點中的鏈路進行初始化,防止連接中斷,保持可靠的通信。MAC層用來檢驗包含在每個楨中的地址信息。在下面會分析到。還要明白一點路由器是在網路層的,而網卡在數據鏈路層。
我們知道,ARP(Address Resolution Protocol,地址轉換協議)被當作底層協議,用於IP地址到物理地址的轉換。在乙太網中,所有對IP的訪問最終都轉化為對網卡MAC地址的訪問。如果主機A的ARP列表中,到主機B的IP地址與MAC地址對應不正確,由A發往B數據包就會發向錯誤的MAC地址,當然無法順利到達B,結 果是A與B根本不能進行通信。
首先我們分析一下在同一個網段的情況。假設有兩台電腦分別命名為A和B,A需要相B發送數據的話,A主機首先把目標設備B的IP地址與自己的子網掩碼進行「與」操作,以判斷目標設備與自己是否位於同一網段內。如果目標設備在同一網段內,並且A沒有獲得與目標設備B的IP地址相對應的MAC地址信息,則源設備(A)以第二層廣播的形式(目標MAC地址為全1)發送ARP請求報文,在ARP請求報文中包含了源設備(A)與目標設備(B)的IP地址。同一網段中的所有其他設備都可以收到並分析這個ARP請求報文,如果某設備發現報文中的目標IP地址與自己的IP地址相同,則它向源設備發回ARP響應報文,通過該報文使源設備獲得目標設備的MAC地址信息。為了減少廣播量,網路設備通過ARP表在緩存中保存IP與MAC地址的映射信息。在一次 ARP的請求與響應過程中,通信雙方都把對方的MAC地址與IP地址的對應關系保存在各自的ARP表中,以在後續的通信中使用。ARP表使用老化機制,刪除在一段時間內沒有使用過的IP與MAC地址的映射關系。一個最基本的網路拓撲結構:
PC-A並不需要獲取遠程主機(PC-C)的MAC地址,而是把IP分組發向預設網關,由網關IP分組的完成轉發過程。如果源主機(PC-A)沒有預設網關MAC地址的緩存記錄,則它會通過ARP協議獲取網關的MAC地址,因此在A的ARP表中只觀察到網關的MAC地址記錄,而觀察不到遠程主機的 MAC地址。在乙太網(Ethernet)中,一個網路設備要和另一個網路設備進行直接通信,
除了知道目標設備的網路層邏輯地址(如IP地址)外,還要知道目標設備的第二層物理地址(MAC地址)。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。 數據包在網路中的發送是一個及其復雜的過程,上圖只是一種很簡單的情況,中間沒有過多的中間節點,其實現實中只會比這個更復雜,但是大致的原理是一致的。
(1)PC-A要發送數據包到PC-C的話,如果PC-A沒有PC-C的IP地址,則PC-A首先要發出一個dns的請求,路由器A或者dns解析伺服器會給PC-A回應PC-C的ip地址,這樣PC-A關於數據包第三層的IP地址信息就全了:源IP地址:PC-A,目的ip地址:PC-C。
(2)接下來PC-A要知道如何到達PC-C,然後,PC-A會發送一個arp的地址解析請求,發送這個地址解析請求,不是為了獲得目標主機PC-C的MAC地址,而是把請求發送到了路由器A中,然後路由器A中的MAC地址會發送給源主機PC-A,這樣PC-A的數據包的第二層信息也全了,源MAC地址:PC-A的MAC地址,目的MAC地址:路由器A的MAC地址,
(3)然後數據會到達交換機A,交換機A看到數據包的第二層目的MAC地址,是去往路由器A的,就把數據包發送到路由器A,路由器A收到數據包,首先查看數據包的第三層ip目的地址,如果在自己的路由表中有去往PC-C的路由,說明這是一個可路由的數據包。 (4)然後路由器進行IP重組和分組的過程。首先更換此數據包的第二層包頭信息,路由器PC-A到達PC—C要經過一個廣域網,在這里會封裝很多廣域網相關的協議。其作用也是為了找下一階段的信息。同時對第二層和第三層的數據包重校驗。把數據經過Internet發送出去。最後經過很多的節點發送到目標主機PC_C中。
現在我們想一個問題,PC-A和PC-C的MAC地址如果是相同的話,會不會影響正常的通訊呢!答案是不會影響的,因為這兩個主機所處的區域網被廣域網分隔開了,通過對發包過程的分析可以看出來,不會有任何的問題。而如果在同一個區域網中的話,那麼就會產生通訊的混亂。當數據發送到交換機是,這是的埠信息會有兩個相同的MAC地址,而這時數據會發送到兩個主機上,這樣信息就會混亂。因此這也是保證MAC地址唯一性的一個理由。
我暫且按我的理解說說吧。
先看一下計算機網路OSI模型的七個層次:
┌—————┐
│ 應用層 │←第七層
├—————┤
│ 表示層 │
├—————┤
│ 會話層 │
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│數據鏈路層│
├—————┤
│ 物理層 │←第一層
└—————┘
而我們現在用的網路通信協議TCP/IP協議者只劃分了四成:
┌—————┐
│ 應用層 │ ←包括OSI的上三層
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│網路介面層 │←包括OSI模型的下兩層,也就是各種不同區域網。
└—————┘
兩台計算機通信所必須需要的東西:IP地址(網路層)+埠號(傳送層)。
兩台計算機通信(TCP/IP協議)的最精簡模型大致如下:
主機A---->路由器(零個或多個)---->主機B
舉個例子:主機A上的應用程序a想要和主機B上面的應用程序b通信,大致如下
程序a將要通信的數據發到傳送層,在傳送層上加上與該應用程序對應的通信埠號(主機A上不同的應用程序有不同的埠號),如果是用的TCP的話就加上TCP頭部,UDP就加上UDP頭部。
在傳送成加上頭部之後繼續嚮往下傳到網路層,然後加上IP頭部(標識主機地址以及一些其他的數據,這里就不詳細說了)。
然後傳給下層到數據鏈路層封裝成幀,最後到物理層變成二進制數據經過編碼之後向外傳輸。
在這個過程中可能會經過許多各種各樣的區域網,舉個例子:
主機A--->(區域網1--->路由器--->區域網2)--->主機B
這個模型比上面一個稍微詳細點,其中括弧裡面的可以沒有也可能有一個或多個,這個取決於你和誰通信,也就是主機B的位置。
主機A的數據已經到了具體的物理介質了,然後經過區域網1到了路由器,路由器接受主機A來的數據先經過解碼,還原成數據幀,然後變成網路層數據,這個過程也就是主機A的數據經過網路層、數據鏈路層、物理層在路由器上面的一個反過程。
然後路由器分析主機A來的數據的IP頭部(也就是在主機A的網路層加上的數據),並且修改頭部中的一些內容之後繼續把數據傳送出去。
一直到主機B收到數據為止,主機B就按照主機A處理數據的反過程處理數據,直到把數據交付給主機B的應用程序b。完成主機A到主機B的單方向通信。
這里的主機A、B只是為了書寫方便而已,可能通信的雙方不一定就是個人PC,伺服器與主機,主機與主機,伺服器與伺服器之間的通信大致都是這樣的。
再舉個例子,我們開網頁上網路:
就是我們的主機瀏覽器的這個應用程序和網路的伺服器之間的通信。應用成所用的協議就是HTTP,而伺服器的埠號就是熟知埠號80.
大致過程就是上面所說,其中的細節很復雜,任何一個細節都可以寫成一本書,對於非專業人員也沒有必要深究。
Ⅱ 計算機網路數據傳輸有哪兩種方法
計算機網路中,數據傳輸主要通過兩種方法進行:TCP傳輸和UDP傳輸。這兩種傳輸方式各有特點,適用於不同的應用場景。
TCP傳輸,即傳輸控制協議,是一種面向連接的、可靠的、基於位元組流的傳輸層通信協議。TCP通過三次握手建立連接,確保數據傳輸的可靠性和順序性。數據在傳輸過程中,TCP會進行流量控制和擁塞控制,確保數據流不會對網路造成過大壓力。TCP適用於需要高可靠性和數據順序性的應用,例如文件傳輸、電子郵件和網頁瀏覽等。
UDP傳輸,即用戶數據報協議,是一種無連接的、不可靠的傳輸層協議。UDP不進行流量控制和擁塞控制,數據包可能會在傳輸過程中丟失或亂序。UDP適用於對實時性要求高、對數據完整性要求較低的應用,例如在線游戲、視頻會議和網路直播等。
在實際應用中,根據具體需求,可以選擇適合的傳輸方式。例如,在實時性要求較高的場景中,可以選擇UDP傳輸以減少延遲;而在需要確保數據完整性和順序性的場景中,應選擇TCP傳輸。
總之,TCP和UDP在計算機網路數據傳輸中扮演著重要角色,它們各自的特點和適用場景,使得這兩種傳輸方式在不同的網路應用中發揮著重要作用。
Ⅲ 網路的傳輸方式
1. 廣播式網路(broadcast networks)
特點:所有計算機共享一條通信信道,任何一台計算機發出的信息可以直接被其他所有計算機接收,不需要節點轉送,兩台以上的計算機同時發送信息會發生沖突
• 介質訪問控制方法:發現沖突,避免沖突,解決沖突(講前先聽,邊講邊聽)
用的是多路復用技術,把信道分成很多的子信道,不同的信號就不會產生沖突
2. 點到點式網路(point-to-point networks)
特點:一條線路連接兩個網路互連設備。一般情況下,兩台計算機間的傳輸要經過多台
網路互連設備;兩條計算機間的傳輸有多條路徑可選擇。
關鍵技術:路由選擇
• 路由表:給出大致的網路和范圍,然後再一層一層找下去
·集線器以廣播式方式工作
1.價格便宜,集線器相當於一個多路開關,時延小(因為不需要轉發)
2.A發一個信息,BCD都能收到,達不成只給一個節點發送數據的要求
3.如果帶寬是100M,那麼ABCD每個節點最多帶寬能達到25M
★集線器連接的兩個節點不能距離太遠,否則發現沖突查不出來。發送的數據的最後一位離開了發送節點時還沒聽到沖突就覺得沒有沖突,因此為了避免這樣的問題,對網路的跨度還是有一定的限度的
·交換機以點對點式方式工作
1.帶寬利用率高,如果帶寬是100M,那麼ABCD每個節點達到的最大帶寬是100M
2.安全性提高了
3.向外發送信息時要有源地址和目的地址,如果找不到目的地址時就會以廣播式方式工作
4.支持全雙工,A→交換機的同時,交換機→A (前提是交換機有兩個緩存)
5.網路跨度大於集線器
6.時延大於集線器
7.可以連接不同速率的節點,即ABCD的速率可以不一樣
A把數據給D時,90%的數據都沒有了