1. 程式人生 > >前端要知道的計算機網路原理

前端要知道的計算機網路原理

1. 網路、網際網路、因特網概念

-網路:由若干結點和連線這些結點的鏈路組成。結點可以是計算機、集線器、交換器或者路由器;
-網際網路:通過路由器連線起來的覆蓋範圍更廣的網路,即網路的網路;
-因特網:世界上最大的網際網路絡;

-總之一句話:網路是把許多計算機連線在一起,而網際網路則把網路連線在一起,因特網是世界上最大的網際網路

2. 計算機網路體系結構(至上而下)

在這裡插入圖片描述

  1. 應用層:任務是如何通過應用程序間的互動來完成特定的網路應用。定義的協議是:應用程序間的通訊和互動規則。(程序為正在執行的的程式,應用工層互動的資料稱之為報文)
  2. 運輸層:任務是負責兩臺主機中程序之間提供通用的資料傳輸
    服務。
    一臺主機可以同時執行多個程序,運輸層有複用與分用功能。複用:多個程序可以同時使用運輸層羨慕的服務;分用:運輸層把收到的訊息交付給應用層相應的程序。一臺主機可以同時執行多個程序,運輸層有複用與分用功能。複用:多個程序可以同時使用運輸層羨慕的服務;分用:運輸層把收到的訊息交付給應用層相應的程序。
    運輸層運用的協議:TCP,UDP
    ** 傳輸控制協議TCP**(Transimission Control Protocol):提供面向連線的,可靠的資料服務,資料傳輸單位是報文段。
    使用者資料報協議UDP(User Datagram Protocol):提供面向無連線的,盡最大努力的資料傳輸服務
    (不保證資料傳輸的可靠性),傳輸資料單位為使用者資料報
  3. 網路層:為分組交換網上的不同主機提供服務。即使源主機運輸層傳下來的分組能過通過網路中的路由著調合適的路由,最後到達目的主機。(在傳送資料時,網路層把運輸層產生的報文段或使用者資料報封裝成分組或包進行傳送。)
  4. 資料鏈路層:在相鄰兩個結點之間傳送資料時,資料鏈路層將網路層交下來的IP資料報封裝成幀,在兩個相鄰結點見的鏈路上傳送幀
  5. 物理層:物理層上傳送單位為位元。***(傳送0/1)***傳輸媒體:雙絞線,同軸電纜、光纜。

3. 重點運輸層TCP協議

1、通訊方式:客戶–伺服器(C/S方式,如網站)、對等方式(P2P方式,如qq聊天)
2、

:應用層的源程序將報文傳送給運輸層的某個埠,而應用層的目的程序從埠接收報文。
埠分類:
熟知埠(0-1023):因特網賦號管理局IANA負責分配給一些常用的應用程式使用,如FTP–21,TELNET–23,SMTP–25,DNS–53,TFTP–69,HTTP–80,SNMP–161等。
登記埠(1024-49151):不分配控制,但可以在IANA 註冊登記,以防重複使用;
動態埠(49151-65535):留給使用者程序選擇做臨時埠用。
因此兩個計算機進行通訊需要知道IP(找到計算機),埠號(找到應用程序)
3、TCP/UDP應用
在這裡插入圖片描述
4、TCP主要特點

  1. 面向連線。建立連線的目的:雙方通訊,為接下來的資料傳送做好準備,初始化各種狀態變數,分配快取等資源。傳送完畢後要釋放連線,如打電話,要先撥號輸入號碼建立連線,通話結束後要結束通話。
  2. 每一條tcp連線只有兩個端點。兩個端點分別由二元組(ip地址+埠號)唯一標識
  3. 提供可靠交付服務。通過tcp傳送的資料,無差錯,不丟失,不重複,並且有序的到達。
  4. 提供全雙工通訊。(全雙工即a、b兩端可以同時給對方傳送資料)連線 的兩端都舍友傳送快取和接收快取,用來臨時存放雙方通訊的資料。
  5. 面向位元組流。流指的是流入到程序或從程序流出的位元組序列。
    tcp是一條抽象的邏輯的虛擬的連線,而不是物理連線。
    5、TCP連線管理(三次握手定理)
    a向b傳送連線請求報文;
    b收到a傳送的請求,b若同意,發回連線請求確認;
    a收到b發回的連線請求確認,再向b傳送確認。
    在這裡插入圖片描述

傳送第三個報文段的目的:防止已失效的連線請求報文段突然又傳送到主機b,因而產生錯誤。
未完待續!!
參考資料:《計算機網路原理》–謝希仁 第三版