淺談OSI七層網絡模型和TCP/IP四層模型


OSI七層網絡模型

  OSI(Open System Interconnection)開放系統互連參考模型是國際標准化組織(ISO)制定的一個用於計算機或通信系統間互聯的標准體系。

 

OSI七層模型

功能

對應的網絡協議

應用層

應用層是網絡體系中最高的一層,也是唯一面向用戶的一層,也可視為為用戶提供常用的應用程序,每個網絡應用都對應着不同的協議

HTTP、TFTP, FTP, NFS, WAIS、SMTP

表示層

主要負責數據格式的轉換,確保一個系統的應用層發送的消息可以被另一個系統的應用層讀取,編碼轉換,數據解析,管理數據的解密和加密,同時也對應用層的協議進行翻譯

Telnet, Rlogin, SNMP, Gopher

會話層

負責網絡中兩節點的建立,在數據傳輸中維護計算機網絡中兩台計算機之間的通信連接,並決定何時終止通信

SMTP, DNS

傳輸層

是整個網絡關鍵的部分,是實現兩個用戶進程間端到端的可靠通信,處理數據包的錯誤等傳輸問題。是向下通信服務最高層,向上用戶功能最底層。即向網絡層提供服務,向會話層提供獨立於網絡層的傳送服務和可靠的透明數據傳輸。

TCP, UDP

網絡層

 

進行邏輯地址尋址,實現不同網絡之間的路徑選擇,IP就在網絡層

IP, ICMP, ARP, RARP, AKP, UUCP

數據鏈路層

物理地址(MAC地址),網絡設備的唯一身份標識。建立邏輯連接、進行硬件地址尋址,相鄰的兩個設備間的互相通信

FDDI, Ethernet, Arpanet, PDN, SLIP, PPP,STP。HDLC,SDLC,幀中繼

物理層

七層模型中的最底層,主要是物理介質傳輸媒介(網線或者是無線),在不同設備中傳輸比特,將0/1信號與電信號或者光信號互相轉化

IEEE 802.1A, IEEE 802.2到IEEE 802

數據發送時從上至下封裝,收到數據包后從下至上解包。

TCP/IP四層模型

TCP/IP四層模型:TCP/IP參考模型是計算機網絡的祖父ARPANET和其后繼的因特網使用的參考模型。

 

 

常見的網絡相關的協議

DNS:域名解析協議 www.baidu.com

SNMP(Simple Network Management Protocol)網絡管理協議

DHCP(Dynamic Host Configuration Protocol)動態主機配置協議,它是在TCP/IP網絡上使客戶機獲得配置信息的協議

FTP(File Transfer Protocol)文件傳輸協議,它是一個標准協議,是在計算機和網絡之間交換文件的最簡單的方法。

TFTP(Trivial File Transfer Protocol):小文件傳輸協議

HTTP(Hypertext Transfer Protocol ):超文本傳輸協議

HTTPS(Secure Hypertext Transfer Protocol):安全超文本傳輸協議,它是由Netscape開發並內置於其瀏覽器中,用於對數據進行壓縮和解壓操作.

ICMP(Internet Control Message Protocol):Internet控制信息協議,互聯網控制報文協議

ping  ip定義消息類型有:TTL超時、地址的請求與應答、信息的請求與應答、目的地不可到達

SMTP(Simple Mail Transfer Protocol):簡單郵件傳送協議

TELNET Protocol:虛擬終端協議

UDP(User Datagram Protocol):用戶數據報協議,它是定義用來在互連網絡環境中提供包交換的計算機通信的協議

TCP(Transmission Control Protocol):傳輸控制協議,是一種面向連接的、可靠的、基於字節流的傳輸層通信協議  log轉發:開啟一個協議:tcp(三次握手和四次揮手) 

TCP三次握手協議

TCP的連接建立是一個三次握手過程,目的是為了通信雙方確認開始序號,以便后續

通信的有序進行。主要步驟如下:

1. 連接開始時,連接建立方(Client)發送SYN包,並包含了自己的初始序號a;——連接請求

2. 連接接受方(Server)收到SYN包以后會回復一個SYN包,其中包含了對上一個a包

的回應信息ACK,回應的序號為下一個希望收到包的序號,即a+1,然后還包含

了自己的初始序號b;——請求確認

3. 連接建立方(Client)收到回應的SYN包以后,回復一個ACK包做響應,其中包含了

下一個希望收到包的序號即b+1。——連接確認

TCP四次揮手

TCP終止連接的四次握手過程如下:

1. 首先進行關閉的一方(即發送第一個FIN)將執行主動關閉,而另一方(收到這

個FIN)執行被動關閉。

2. 當服務器收到這個FIN,它發回一個ACK,確認序號為收到的序號加1。和SYN一

樣,一個FIN將占用一個序號。

3. 同時TCP服務器還向應用程序(即丟棄服務器)傳送一個文件結束符。接着這個

服務器程序就關閉它的連接,導致它的TCP端發送一個FIN。

4. 客戶必須發回一個確認,並將確認序號設置為收到序號加1。

 

 總結

  TCP(Transmission Control Protocol,傳輸控制協議)是基於連接的協議,也就是說,在正式收發數據前,必須和對方建立可靠的連接。
一個TCP連接必須要經過三次“對話”才能建立起來,其中的過程非常復雜,我們這里只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。
我們來看看這三次對話的簡單過程:主機A向主機B發出連接請求數據包:“我想給你發數據,可以嗎?”,這是第一次對話;主機B向主機A發送同意連接
和要求同步(同步就是兩台主機一個在發送,一個在接收,協調工作)的數據包:“可以,你什么時候發?”,這是第二次對話;主機A再發出一個數據包
確認主機B的要求同步:“我現在就發,你接着吧!”,這是第三次對話。三次“對話”的目的是使數據包的發送和接收同步,經過三次“對話”之后,主機A
才向主機B正式發送數據。 UDP(User Data Protocol,用戶數據報協議)是與TCP相對應的協議。它是面向非連接的協議,它不與對方建立連接,
而是直接就把數據包發送過去!  
  

 UDP適用於一次只傳送少量數據、對可靠性要求不高的應用環境。比如,我們經常使用“ping”命令來測試兩台主機之間TCP/IP通信是否正常,
其實“ping”命令的原理就是向對方主機發送UDP數據包,然后對方主機確認收到數據包,如果數據包是否到達的消息及時反饋回來,那么網絡就是通的。
例如,在默認狀態下,一次“ping”操作發送4個數據包(如圖2所示)。大家可以看到,發送的數據包數量是4包,收到的也是4包(因為對方主機收到
后會發回一個確認收到的數據包)。這充分說明了UDP協議是面向非連接的協議,沒有建立連接的過程。正因為UDP協議沒有連接的過程,所以它的通信
效果高;但也正因為如此,它的可靠性不如TCP協議高。QQ就使用UDP發消息,因此有時會出現收不到消息的情況。 tcp協議和udp協議的差
 
        
 
TCP 
UDP 
是否連接
面向連接
 面向非連接
傳輸可靠性
 可靠 
不可靠
應用場合
傳輸大量數據
視頻,語音通訊,或網絡環境很好,比如局域網中通訊可以使用
udp。數據傳輸完整性,可以通過應用層的軟件來校對就可以了。
少量數據 
傳文件,數據完整性要求高
速度
對系統資源
的要求
較多      
   較少

     結構

 

  信息包有20個字節 UDP信息包的標題很短,只有8個字節
     

TCP和UDP常用端口號名稱

可以查詢 vim /etc/services    此文件中,包含所有常見端口號及服務名稱

21

ftp

文件傳輸服務

22

ssh

安全遠程連接服務

23

telnet

遠程連接服務

25

smtp

電子郵件服務

53

DNS

域名解析服務,有tcp53也有用udp53端口傳輸

80

http

web服務

443

https

安全web服務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM