網絡分層協議
OSI模型
OSI模型(Open System Interconnect model)是一個由國際標準化組織提出的概念模型,試圖提供一個使各種不同的計算機和網絡在世界範圍內實現互聯的標準框架。
將計算機網絡體系結構劃分爲七層:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。
1.七層網絡模型介紹
- 物理層:物理層負責最後將信息編碼成電流脈衝或其它信號用於在互聯網上傳播;
eg: RJ45等將數據轉化爲0和1進行傳輸。
- 數據鏈路層:數據鏈路層通過物理網絡鏈路提供數據傳輸。不同的數據鏈路層定義了不同的網絡和協議特徵,其中包括物理編址、網絡拓撲結構、錯誤校驗、數據幀序列以及流控;
定義數據網絡包的形式
- 網絡層:網絡層負責在源和終點之間建立連接;
確定網絡資源的位置
- 傳輸層:傳輸層向上層提供可靠的端到端的網絡數據流服務。
- 會話層:會話層建立、管理和終止表示層與實體之間的通信會話;
- 表示層:表示層提供多種功能用於應用層數據編碼和轉換,確保以一個系統應用層發送的信息可以被另一個系統應用層識別;
解決不同系統之間的通信
- 應用層:應用層協議包括文件的傳輸、訪問及管理協議(FTAM),以及文件虛擬終端協議(VIP)和共用管理系統信息(CMIP)等;
規定數據的傳輸協議
常見的應用層協議
協議 | 端口 | 說明 |
---|---|---|
HTTP | 80 | 超文本傳輸協議 |
HTTPS | 443 | HTTP+SSL,HTTP的安全版 |
FTP | 20,21,990 | 文件傳輸協議 |
POP3 | 110 | 郵局協議 |
SMTP | 25 | 簡單的郵件傳輸協議 |
telnet | 23 | 遠程終端協議 |
2.TCP/IP協議
- 基礎概念
TCP/IP模型把網絡分爲3-5層來描述TCP/IP協議,每一層都和OSI模型有較強的相關性但是又可能會有交叉;TCP/IP的設計,是吸取了分層模型的精華思想–封裝。每層對上一層提供服務的時候,上一層的數據結構是黑盒,直接作爲本層的數據,而不需要關心上一層協議的任何細節。 分層結構
應用層、傳輸層、網絡層、數據鏈路層、物理層TCP/IP協議族
互聯網協議族是一個網絡通信模型,以及一整個網絡傳輸協議家族,爲互聯網的基礎通信架構。它常被統稱爲TCP/IP協議族,是因爲該協議家族的兩個核心協議:TCP(傳輸控制協議)和IP(網際協議)是該協議家族中最早通過的標準。- TCP/IP協議族常用的協議
分層 | 協議 |
---|---|
應用層 | TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telenet等 |
傳輸層 | TCP,UDP |
網絡層 | IP,ICMP,OSPF,ELGRP,IGMP |
數據鏈路層 | SLIP,CSLIP,PPP,MTU |
重要的TCP/IP協議族協議簡單介紹
- IP(Internet Protocol,網際協議):網絡層的主要協議,任務是在源地址和目的地址之間傳輸數據。IP協議只是盡最大的努力來傳輸數據包,並不保證所有的包都可以傳輸到目的地,也不保證數據包的順序和唯一。
- IP定義了TCP/IP協議的地址、尋址方式,以及路由規則。現在廣泛使用的IP協議有IPv4和IPv6兩種:IPv4使用32位二進制整數做地址,一般使用點分十進制方式表示。
- 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 Protocal,網路控制信息協議):TCP/IP和核心協議之一,用於在IP網絡中發送控制信息,提供通信過程中的各種問題反饋。ICMP直接使用IP數據包傳輸,但是ICMP並不被視爲IP協議的子協議。常見的聯網診斷工具比如依賴於ICMP協議。
- TCP(Transmission Control Protocol,傳輸控制協議):面向連接的可靠的,基於字節流傳輸的通信協議。TCP具有端口號的概念,用來識別同一個地址上的不同應用。TCP的標準文檔是RFC793。
- UDP(User Datagram Protocol,用戶數據報協議):面向數據報喜歡的傳輸層協議。UDP的傳輸是不可靠的,簡單來說就是發送完數據報就放手不管,發送者不會知道目標地址的數據通路是否發生擁塞,也不知道數據是否到達,是否完整以及是否還是原來的次序。它同TCP一樣有用來標識本地應用的端口號。所以應用UDP的應用程序,都能夠容忍一定數量的錯誤和丟包,但是對傳輸性能敏感的程序,比如流媒體、DNS等不適合使用UDP作爲傳輸層協議。
- ECHO(Echo Protocol,回聲協議):簡單的調試和檢測工具。服務器會原樣發回它收到的任何數據,既可以使用TCP傳輸,也可以使用UDP傳輸,使用端口號7。
- DHCP(Dynamic Host Configration Protocol,動態主機配置協議):用於局域網自動分配IP地址和主機配置的協議。可以使局域網的部署更加簡單。
- DNS(Domain Name System,域名系統):互聯網的一項域名服務,可以簡單的將用“.”分隔的有意義的域名轉換成不易記憶的IP地址。一般使用UDP協議傳輸,也可以使用TCP,默認服務端口號53。
- FTP(File Transfer Protocol,文件傳輸協議):進行文件傳輸的標準協議。FTP基於TCP使用端口20來傳輸數據,21端口傳輸控制信息。
- TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議):簡化的文件傳輸協議,設計簡單,通過少量的存儲器就能輕鬆實現,所以一般被用來通過網路引導計算機過程中傳輸引導文件等小文件。
- SSH(SecureShell,安全Shell):傳統的網絡服務程序比如Telnet本質上都是極不安全的,明文傳輸數據和用戶信息包括密碼,SSH被開發出來避免這些問題,它其實是一個協議框架,有大量的擴展冗餘能力,並且提供了加密壓縮的通道可以爲其他協議使用。
- POP(Post Office Protocol,郵局協議):支持通過客戶端訪問電子郵件的服務,現在版本是POP3,也有加密版本POP3S。協議使用TCP,端口號110。
- SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議):目前互聯網上發送電子郵件的標準協議,使用TCP傳輸協議,端扣號25。
- HTTP(Hyper Text Transfer Protocol,超文本傳輸協議):現在廣爲流行的WEB網絡的基礎,HTTPS是HTTP的加密安全版本。協議通過TCP傳輸,HTTP的默認端口號是80,HTTPS使用端口號443。