1. 程式人生 > >深入淺出-網路七層模型&&網路資料包

深入淺出-網路七層模型&&網路資料包

引言

今天回顧一下--網路七層模型&&網路資料包

網路基本概念

OSI模型

OSI 模型(Open System Interconnection model)是一個由國際標準化組織提出的概念模型,試圖供一個使各種不同的計算機和網路在世界範圍內實現互聯的標準框架。

它將計算機網路體系結構劃分為七層,每層都可以供抽象良好的介面。瞭解 OSI 模型有助於理解實際上網際網路絡的工業標準——TCP/IP 協議。

OSI 模型各層間關係和通訊時的資料流向如圖所示:

顯然、如果一個東西想包羅永珍、一般時不可能的;在實際的開發應用中一般時在此模型的基礎上進行裁剪、整合!

七層模型介紹

  • 物理層:

物理層負責最後將資訊編碼成電流脈衝或其它訊號用於網上傳輸;

eg:RJ45等將資料轉化成0和1;

  • 資料鏈路層:

資料鏈路層通過物理網路鏈路

供資料傳輸。不同的資料鏈路層定義了不同的網路和協議特徵,其中包括物理編址、網路拓撲結構、錯誤校驗、資料幀序列以及流控;

可以簡單的理解為:規定了0和1的分包形式,確定了網路資料包的形式;

  • 網路層

網路層負責在源和終點之間建立連線;

可以理解為,此處需要確定計算機的位置,怎麼確定?IPv4,IPv6!

  • 傳輸層

傳輸層向高層提供可靠的端到端的網路資料流服務。

可以理解為:每一個應用程式都會在網絡卡註冊一個埠號,該層就是埠與埠的通訊!常用的(TCP/IP)協議;

  • 會話層

會話層建立、管理和終止表示層與實體之間的通訊會話;

建立一個連線(自動的手機資訊、自動的網路定址);

  • 表示層:

表示層供多種功能用於應用層資料編碼和轉化,以確保以一個系統應用層傳送的資訊 可以被另一個系統應用層識別;

可以理解為:解決不同系統之間的通訊,eg:Linux下的QQ和Windows下的QQ可以通訊;

  • 應用層:

OSI 的應用層協議包括檔案的傳輸、訪問及管理協議(FTAM) ,以及檔案虛擬終端協議(VIP)和公用管理系統資訊(CMIP)等;

規定資料的傳輸協議;

常見的應用層協議:

網際網路分層結構的好處: 上層的變動完全不影響下層的結構。

TCP/IP 協議基本概念

OSI 模型所分的七層,在實際應用中,往往有一些層被整合,或者功能分散到其他層去。TCP/IP 沒有照搬 OSI 模型,也沒有 一個公認的 TCP/IP 層級模型,一般劃分為三層到五層模型來述 TCP/IP 協議。

  • 在此描述用一個通用的四層模型來描述,每一層都和 OSI 模型有較強的相關性但是又可能會有交叉。

  • TCP/IP 的設計,是吸取了分層模型的精華思想——封裝。每層對上一層提供服務的時 候,上一層的資料結構是黑盒,直接作為本層的資料,而不需要關心上一層協議的任何細節。

TCP/IP 分層模型的分層以乙太網上傳輸 UDP 資料包如圖所示;

資料包

寬泛意義的資料包:每一個數據包都包含"標頭"和"資料"兩個部分."標頭"包含本資料包的一些說明."資料"則是本資料包的內容.

細分資料包:

  • 應用程式資料包: 標頭部分規定應用程式的資料格式.資料部分傳輸具體的資料內容.*** ——對應上圖中的資料!***

  • TCP/UDP資料包:標頭部分包含雙方的發出埠和接收埠. UDP資料包:'標頭'長度:8個位元組,"資料包"總長度最大為65535位元組,正好放進一個IP資料包. TCP資料包:理論上沒有長度限制,但是,為了保證網路傳輸效率,通常不會超過IP資料長度,確保單個包不會被分割. *** ——對應上圖中的UDP資料!***

  • IP資料包: 標頭部分包含通訊雙方的IP地址,協議版本,網站速度測試,長度等資訊. '標頭'長度:20~60位元組,"資料包"總長度最大為65535位元組. *** ——對應上圖中的IP資料***

  • 乙太網資料包: 最基礎的資料包.標頭部分包含了通訊雙方的MAC地址,資料型別等. '標頭'長度:18位元組,'資料'部分長度:46~1500位元組. *** ——對應上圖中的乙太網資料***

四層模型

1.網路介面層

網路介面層包括用於協作IP資料在已有網路介質上傳輸的協議。

它定義像地址解析協議(Address Resolution Protocol,ARP)這樣的協議,提供 TCP/IP 協議的資料結構和實際物理硬體之間的介面。

可以理解為:確定了網路資料包的形式。

2.網間層

網間層對應於 OSI 七層參考模型的網路層,本層包含 IP 協議、RIP 協議(Routing Information Protocol,路由資訊協議),負責資料的包裝、定址和路由。同時還包含網間控制報文協議(Internet Control Message Protocol,ICMP)用來提供網路診斷資訊;

可以理解為:該層時確定計算機的位置。

3.傳輸層

傳輸層對應於 OSI 七層參考模型的傳輸層,它提供兩種端到端的通訊服務。其中 TCP 協議(Transmission Control Protocol)提供可靠的資料流運輸服務,電影下載,UDP 協議(Use Datagram Protocol)提供不可靠的使用者資料報服務。

TCP:三次握手、四次揮手;UDP:只發不管別人收不收得到--任性哈

4.應用層

應用層對應於 OSI 七層參考模型的應用層和表達層;

不明白的再看看7層參考模型的描述。

TCP/IP 協議族常用協議

  • 應用層:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

  • 傳輸層:TCP,UDP

  • 網路層:IP,ICMP,OSPF,EIGRP,IGMP

  • 資料鏈路層:SLIP,CSLIP,PPP,MTU

重要的 TCP/IP 協議族協議進行簡單介紹:

  • IP(Internet Protocol,網際協議)是網間層的主要協議,任務是在源地址和和目的地址之間傳輸資料。IP 協議只是盡最大努力來傳輸資料包,並不保證所有的包都可以傳輸 到目的地,也不保證資料包的順序和唯一。

IP 定義了 TCP/IP 的地址,定址方法,以及路由規則。現在廣泛使用的 IP 協議有 IPv4 和 IPv6 兩種:IPv4 使用 32 位二進位制整數做地址,一般使用點分十進位制方式表示,比如 192.168.0.1。

IP 地址由兩部分組成,即網路號和主機號。故一個完整的 IPv4 地址往往表示 為 192.168.0.1/24 或192.168.0.1/255.255.255.0 這種形式。

IPv6 是為了解決 IPv4 地址耗盡和其它一些問題而研發的最新版本的 IP。使用 128 位 整數表示地址,通常使用冒號分隔的十六進位制來表示,並且可以省略其中一串連續的 0,如:fe80::200:1ff:fe00:1。

目前使用並不多!

  • ICMP(Internet Control Message Protocol,網路控制訊息協議)是 TCP/IP 的 核心協議之一,用於在 IP 網路中傳送控制訊息,提供通訊過程中的各種問題反饋。 ICMP 直接使用 IP 資料包傳輸,但 ICMP 並不被視為 IP 協議的子協議。常見的聯網狀態診斷工具比如依賴於 ICMP 協議;

  • TCP(TransmissionControlProtocol,傳輸控制協議)是一種面向連線的,可靠的, 基於位元組流傳輸的通訊協議。TCP 具有埠號的概念,用來標識同一個地址上的不 同應用。表述 TCP 的標準文件是 RFC793。

  • UDP(UserDatagramProtocol,使用者資料報協議)是一個面向資料報的傳輸層協議。UDP 的傳輸是不可靠的,簡單的說就是發了不管,傳送者不會知道目標地址 的資料通路是否發生擁塞,也不知道資料是否到達,是否完整以及是否還是原來的 次序。它同 TCP 一樣有用來標識本地應用的埠號。所以應用 UDP 的應用,都能 夠容忍一定數量的錯誤和丟包,但是對傳輸效能敏感的,比如流媒體、DNS 等。

  • ECHO(EchoProtocol,回聲協議)是一個簡單的除錯和檢測工具。伺服器器會 原樣回發它收到的任何資料,既可以使用 TCP 傳輸,也可以使用 UDP 傳輸。使用 埠號 7 。

  • DHCP(DynamicHostConfigrationProtocol,動態主機配置協議)是用於局域 網自動分配 IP 地址和主機配置的協議。可以使區域網的部署更加簡單。

  • DNS(DomainNameSystem,域名系統)是網際網路的一項服務,可以簡單的將用“.” 分隔的一般會有意義的域名轉換成不易記憶的 IP 地址。一般使用 UDP 協議傳輸, 也可以使用 TCP,預設服務埠號 53。

  • FTP(FileTransferProtocol,檔案傳輸協議)是用來進行檔案傳輸的標準協議。 FTP 基於 TCP 使用埠號 20 來傳輸資料,21 來傳輸控制資訊。

  • TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協議)是一個簡化的檔案傳輸協議,其設計非常簡單,通過少量儲存器就能輕鬆實現,所以一般被用來通過網路引導計算機過程中傳輸引導檔案等小檔案;

  • SSH(SecureShell,安全Shell),因為傳統的網路服務程式比如TELNET本質上都極不安全,明文傳說資料和使用者資訊包括密碼,SSH 被開發出來避免這些問題, 它其實是一個協議框架,有大量的擴充套件冗餘能力,並且提供了加密壓縮的通道可以 為其他協議使用。

  • POP(PostOfficeProtocol,郵局協議)是支援通過客戶端訪問電子郵件的服務, 現在版本是 POP3,也有加密的版本 POP3S。協議使用 TCP,埠 110。

  • SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)是現在在網際網路 上傳送電子郵件的事實標準。使用 TCP 協議傳輸,埠號 25。

  • HTTP(HyperTextTransferProtocol,超文字傳輸協議)是現在廣為流行的WEB 網路的基礎,HTTPS 是 HTTP 的加密安全版本。協議通過 TCP 傳輸,HTTP 預設 使用埠 80,HTTPS 使用 443。

以上就是今天回顧的內容。