Unity——网络协议
目錄
網絡協(xié)議概述
????????協(xié)議的字面意思
????????網絡協(xié)議的基本概念
OSI
? ? ? ? OSI模型是什么
? ? ? ??OSI模型的規(guī)則
? ? ? ? ?OSI模型每層的智能
? ? ? ? ? ? ? ? 物理層
????????????????????????功能
? ? ? ? ? ? ? ? ? ? ? ? 主要功能
? ? ? ? ? ? ? ? 數據鏈路層
? ? ? ? ? ? ? ? ? ? ? ? 功能
??????????????網絡層
? ? ? ? ? ? ? ? ? ? ? ? ?功能
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 包含信息
? ? ? ? ? ? ? ? 傳輸層
????????????????????????功能
????????????????????????包含信息
? ? ? ? ? ? ? ? 應用層
? ? ? ? ? ? ? ? ? ? ? ??功能
????????????????????????包含信息
????????????????????????常用的協(xié)議(規(guī)則)
? ? ? ? ? ? ? ? 表示層
? ? ? ? ? ? ? ? ? ? ? ??功能
? ? ? ? ? ? ? ? 會話層
????????????????????????功能
? ? ? ??總結
?????????OSI模型每層的職能
?TCP/IP協(xié)議
? ? ? ? TCP/IP協(xié)議是什么
????????TCP/IP協(xié)議的規(guī)則
? ? ? ??TCP/IP協(xié)議每層的職能
? ? ? ? ? ? ? ? 應用層頭
? ? ? ? ? ? ? ??傳輸層頭
? ? ? ? ? ? ? ??網絡層頭
????????????????網絡接口頭尾
?TCP/IP協(xié)議中的重要協(xié)議
? ? ? ? 應用層協(xié)議
????????傳輸層協(xié)議
? ? ? ??網絡層協(xié)議
TCP協(xié)議
????????特點
? ? ? ??三次握手建立連接
? ? ? ? 四次揮手端口連接
UDP協(xié)議
????????特點
總結
? ? ? ? TCP
? ? ? ? UDP
網絡協(xié)議概述
????????協(xié)議的字面意思:
????????????????經過談判、協(xié)商而制定的共同承認、共同遵守的文件
? ? ? ?
????????網絡協(xié)議的基本概念:
????????????????網絡協(xié)議是計算機網絡中進行數據交換而建立的規(guī)則、標準或約定的集合
????????????????指的是計算機網絡中互相通信的對等實體之間交換信息時所必須遵守的規(guī)則的集合
????????如果你想要在網絡環(huán)境中進行通信,那么網絡協(xié)議就是你必須遵守的規(guī)則
????????OSI模型是網絡通信的基本規(guī)則
????????TCP/IP協(xié)議是基于OSI模型的工業(yè)實現?
????????OSI模型是國際組織定義的一套理論基礎,主要用于定義網絡通信的規(guī)則
? ? ? ? TCP/IP協(xié)議是基于這套理論基礎真正實現的通信規(guī)則??
????????
? ? ? ? 該篇的網絡通信API底層都是基于TCP/IP協(xié)議的
OSI
? ? ? ? OSI模型是什么
? ? ? ? ? ? ? ??開放式系統(tǒng)互聯(lián)通信參考模型,簡稱OSI模型
? ? ? ? ? ? ? ? 它是一種概念模型
? ? ? ? ? ? ? ? 由ISO
? ? ? ? ? ? ? ? 國際標準化組織提出,是一個試圖使各種設備在世界范圍內互聯(lián)為網絡的標準框架
? ? ? ? ? ? ? ? 不同公司都按照統(tǒng)一的標準來控制網絡互聯(lián)通信
? ? ? ? ? ? ? ? 那么各設備之間就能夠達到真正的互聯(lián)通信了
? ? ? ? ? ? ? ? OSI模型是人為定義的一個標準(規(guī)范)
? ? ? ? ? ? ? ? 它制定了設備之間相互連接相互通信的標準(規(guī)范)
? ? ? ? ? ? ? ? 各公司按照這個標準設計的規(guī)則(協(xié)議),就可以讓不同設備利用互聯(lián)網進行互聯(lián)通信
? ? ? ??OSI模型的規(guī)則
? ? ? ? ? ? ? ? 由于互聯(lián)網協(xié)議(規(guī)則)很龐大,很復雜,所以OSI模型采用了分而制之的設計方法,?把網絡的功能劃分為不同的多個模塊,以分層的形式有機地組合在了一起
? ? ? ? ? ? ? ? OSI模型將復雜的互聯(lián)網實現分成了好幾層(部分)
? ? ? ? ? ? ? ? 每一層都有自己的功能,就好像建筑物一樣,從上到下有很多層構成
? ? ? ? ? ? ? ? 每一層都要靠下一層的支持
? ? ? ? ? ? ? ? 用戶接觸到的都只是最上面的一層,感受不到下面層級的復雜性
? ? ? ? ? ? ? ? OSI模型把互聯(lián)通信的過程抽象的分層了七個層級
? ? ? ? ? ? ? ? ? ? ? ? 1.應用層
? ? ? ? ? ? ? ? ? ? ? ? 2.表示層
? ? ? ? ? ? ? ? ? ? ? ? 3.會話層? ? ? ?????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? 4.傳輸層
? ? ? ? ? ? ? ? ? ? ? ? 5.網絡層
? ? ? ? ? ? ? ? ? ? ? ? 6.數據鏈路層
? ? ? ? ? ? ? ? ? ? ? ? 7.網絡層
? ? ? ? ?OSI模型每層的智能
? ? ? ? ? ? ? ??第一部分:從地基開始
? ? ? ? ? ? ? ? ? ? ? ? 物理層 ->?數據鏈路層 -> 網絡層 ->?傳輸層
? ? ? ? ? ? ? ? 第二部分:從屋頂開始
? ? ? ? ? ? ? ? ? ? ? ? 應用層 ->?表示層 ->?會話層
????????????????
? ? ? ? ? ? ? ? 物理層
????????????????? ? ? ? 先把電腦連起來,可以用光纜、電纜、雙絞線、無線電波等方式
? ? ? ? ? ? ? ? ? ? ? ??
????????????????????????功能:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??它就是把電腦連接起來的物理手段
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它主要規(guī)定了網絡的一些電信特性
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 作用是負責0和1的電信號
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 物理層將2進制數據利用電脈沖
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在物理媒介上實現比特流的傳輸
????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? 主要功能:
????????????????????????????????定義傳輸模式、定義傳輸速率、比特同步比特編碼等
? ? ? ? ? ? ? ? 數據鏈路層
????????????????????????它在物理層的上方確定0和1的分組方式
? ? ? ? ? ? ? ? ? ? ? ? ?并且明確信息是發(fā)送給哪臺計算機的網卡(Mac地址)
????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? 功能:
????????????????????????????????將想要發(fā)送的信息構成一個數據包,叫做“幀”
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 每一幀分為兩部分:標頭Head+數據Data? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?標頭包含數據包的一些說明項
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 比如:發(fā)送方和接收方的Mac地址,數據類型等等
??????????????網絡層
? ? ? ? ? ? ? ? ? ? ? ? ?功能:
????????????????????????????????????????IP選址、路由選擇
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在網絡環(huán)境中,兩臺設備之間可能會經過很多
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 個數鏈路層,也可能還要經過很多通信子網
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 網絡層的主要作用就是選擇一條合適的路勁用于通信。它會在上一層的數據基礎上添加標頭
?????????????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 包含信息:
????????????????????????????????????????????????IP地址、版本、長度等等信息
? ? ? ? ? ? ? ? 傳輸層
? ? ? ? ? ? ? ? ? ? ? ??傳輸層的功能,就是建立端口到端口的通信
????????????????????????功能:
????????????????????????????????建立、管理和維護端到端的連接
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 傳輸層也稱運輸層,傳輸層負責主機中個進程之間的通信,功能是為端到端連接提供可靠的傳輸服務。它也會在上一層的數據基礎上添加標頭
????????????????????????包含信息:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??發(fā)送方接收方的端口信息、協(xié)議信息等等
????????????????????????
? ? ? ? ? ? ? ? 應用層
? ? ? ? ? ? ? ? ? ? ? ??應用層為最上層,和用戶直接打交道的可以聯(lián)網的應用程序就屬于這一層,比如瀏覽器,游戲等等
? ? ? ? ? ? ? ? ? ? ? ??功能:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??為應用程序提供服務,我們可以根據自己要傳遞的信息決定使用哪一種協(xié)議?(規(guī)則)來處理數據,進行傳輸
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 我們程序主要開發(fā)的也是這一層
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它會在原始數據的基礎上添加標頭
????????????????????????包含信息:
????????????????????????????????協(xié)議信息等等
????????????????????????常用的協(xié)議(規(guī)則):
????????????????????????????????FTP,HTTP,SMTP等等
????????????????????????????????
? ? ? ? ? ? ? ? 表示層
? ? ? ? ? ? ? ? ? ? ? ? 為了讓信息可以在各操作系統(tǒng)和設備中通用
? ? ? ? ? ? ? ? ? ? ? ??功能:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??數據格式轉換、代碼轉換、數據加密
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 為了讓不同設備之間能夠有統(tǒng)一的規(guī)則
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表示層會把數據轉換為能與各系統(tǒng)格式兼容,并且適合傳輸的格式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表示層就像是個翻譯,會把數據相關信息翻譯成國際通用的規(guī)則
????????????????????????????????
? ? ? ? ? ? ? ? 會話層
????????????????????????功能:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??建立、管理和維護會話
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它主要負責數據傳輸中設置和維護
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 網絡中兩臺設備之間的通信連接
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它不參與具體的傳輸,主要提供包括訪問驗證和會話管理在內的建立和維護應用之間通信的機制
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ??總結
????????
?????????OSI模型每層的職能
?TCP/IP協(xié)議
? ? ? ? TCP/IP協(xié)議是什么
? ? ? ? ? ? ? ??TCP/IP(Transmission Control Protocol / Internet Protocol)
? ? ? ? ? ? ? ? TCP/IP傳輸協(xié)議,即傳輸控制/網絡協(xié)議,也叫作網絡通訊協(xié)議
? ? ? ? ? ? ? ? 是指能夠在多個不同網絡間實現信息傳輸的協(xié)議簇,它是一個工業(yè)標準(就是實際會使用的標準)
? ? ? ? ? ? ? ? TCP/IP協(xié)議不僅僅指的是TCP和IP兩個協(xié)議,而是指一個由FTP、SMTP、TCP、UDP、IP等等協(xié)議構成的協(xié)議簇,只是應為在TCP/IP協(xié)議中TCP協(xié)議和IP協(xié)議最具代表性,所以被稱為TCP/IP協(xié)議
? ? ? ? ? ? ? ? 用于互聯(lián)網的通信協(xié)議(規(guī)則)
? ? ? ? ? ? ? ? TCP/IP協(xié)議是一系列規(guī)則(協(xié)議)的統(tǒng)稱,他們定義了消息在網絡間進行傳輸的規(guī)則是供已連接互聯(lián)網的設備進行通信的通信規(guī)則
????????????????
? ? ? ? ? ? ? ? 比如:在傳輸文件時我們使用其中的FTP文件傳輸協(xié)議
? ? ? ? ? ? ? ? ? ? ? ? ? ?在傳輸電子郵件時我們使用其中的SMTP郵件傳輸協(xié)議
? ? ? ? ? ? ? ? ? ? ? ? ? ?在定位遠端計算機位置時我們使用其中的IP互聯(lián)網協(xié)議地址
????????TCP/IP協(xié)議的規(guī)則
? ? ? ? ? ? ? ??TCP/IP網絡結構體系實際上是基于OSI七層模型設計出來的
? ? ? ? ? ? ? ? OSI七層模型只是一個概念模型,它主要用于描述、討論和理解單個網絡功能
? ? ? ? ? ? ? ? 而TCP/IP協(xié)議是為了解決一組特定的問題而設計的,它是基于互聯(lián)網開發(fā)的標準協(xié)議(規(guī)則)
? ? ? ? ? ? ? ? OSI模型只是一個基本概念,而TCP/IP協(xié)議是基于這個概念的具體實現
? ? ? ? ? ? ? ? TCP/IP協(xié)議把互聯(lián)網通信的過程抽象的分成了四個層級
? ? ? ? ? ? ? ? 1.應用層
? ? ? ? ? ? ? ? 2.傳輸層
? ? ? ? ? ? ? ? 3.網絡層
? ? ? ? ? ? ? ? 4.網絡接口層(數據鏈路層)
? ? ? ? ? ? ? ? 這四層是基于OSI七層模型進行設計的
????????
? ? ? ? ? ? ? ??TCP/IP是基于OSI根據目前的實際情況制定的一套規(guī)則
? ? ? ? ? ? ? ??它主要用于對當前互聯(lián)網結構體系提供一組規(guī)則
? ? ? ? ? ? ? ??所有形式的網絡傳輸都遵循這套規(guī)則
? ? ? ? ? ? ? ? 它是OSI概念的具體實現
? ? ? ? ? ? ? ? 在進行網絡開發(fā)時,我們就是基于TCP/IP協(xié)議
? ? ? ? ? ? ? ? 來進行網絡通信的
? ? ? ??TCP/IP協(xié)議每層的職能
? ? ? ? ? ? ? ??TCP/IP協(xié)議是層層封裝的,從應用層到網絡接口層
? ? ? ? ? ? ? ? 每經過一層都會添加一些額外信息
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? 應用層頭:
? ? ? ? ? ? ? ? ? ? ? ??協(xié)議頭(FTP、HTTP等協(xié)議),一般決定傳輸信息的類型
? ? ? ? ? ? ? ??傳輸層頭:
????????????????????????協(xié)議端口頭(TCP或UDP協(xié)議),一般決定傳輸信息的規(guī)則以及端口
? ? ? ? ? ? ? ??網絡層頭:
? ? ? ? ? ? ? ? ? ? ? ??IP頭、決定傳輸路線
????????????????網絡接口頭尾:
????????????????????????產生幀(消息分段),決定最終路線
?????????
?TCP/IP協(xié)議中的重要協(xié)議
? ? ? ? 應用層協(xié)議:
????????????????HTTP協(xié)議:超文本傳輸協(xié)議
? ? ? ? ? ? ? ? HTTPS協(xié)議:加密的超文本傳輸協(xié)議
? ? ? ? ? ? ? ? FTP協(xié)議:文件傳輸協(xié)議
? ? ? ? ? ? ? ? DNS:域名系統(tǒng)
????????傳輸層協(xié)議:
? ? ? ? ? ? ? ??TCP協(xié)議:傳輸控制協(xié)議
? ? ? ? ? ? ? ? UDP協(xié)議:用戶數據協(xié)議
? ? ? ??網絡層協(xié)議:
????????????????IP協(xié)議
? ? ? ? TCP:傳輸控制協(xié)議
? ? ? ? UDP:用戶數據報協(xié)議
| TCP | UDP | |
| 連接方面 | 面向連接 (打電話要先撥號建立連接) | 無連接 發(fā)送數據前不需要建立連接 |
| 安全方面 | 無差錯,不丟失 不重復,按序到達 | 只會盡力交付 不保證可靠性 |
| 傳輸效率 | 相對較低 | 相對較高 |
| 連接對象 | 一對一 | 一對一、一對多 多對一、多對多 |
TCP協(xié)議
????????TCP(傳輸控制協(xié)議)
? ? ? ? 是面向連接的協(xié)議,也就是說,在收發(fā)數據前,必須和對方建立可靠的連接
? ? ? ? 并且在消息傳送過程中是有順序的,并且是不會丟包(丟棄消息)的
? ? ? ? 如果某一條消息在傳送過程中失敗了,會重新發(fā)送消息,直到成功
????????特點:
? ? ? ? ? ? ? ??1.面向連接 —— 兩者之間必須建立可靠的連接
? ? ? ? ? ? ? ? 2.一對一? ??—— 只能是一對一的建立連接
? ? ? ? ? ? ? ? 3.可靠性高 —— 消息傳達失敗會重新發(fā)送,不允許丟包
? ? ? ? ? ? ? ? 4.有序的? ? —— 是按照順序進行消息發(fā)送的
? ? ? ? TCP協(xié)議中有一個重要概念:三次握手,四次揮手
? ? ? ??
? ? ? ??三次握手建立連接
????????????????第一次握手(C —> S)
? ? ? ? ? ? ? ? TCP連接請求,告訴服務器我要和你建立連接
? ? ? ? ? ? ? ??第二次握手(S?—> C)
? ? ? ? ? ? ? ? TCP授予連接,告訴客戶端可以建立連接
????????????????第三次握手(C —> S)
? ? ? ? ? ? ? ? TCP確認連接,告訴服務器,進行連接
? ? ? ? 四次揮手端口連接
? ? ? ? ? ? ? ? 第一次揮手(C—>S)?
? ? ? ? ? ? ? ? 告訴服務器數據發(fā)送完畢,訪問服務器是否還有未發(fā)送完的數據
? ? ? ? ? ? ? ? 第二次揮手(S—>C)?
? ? ? ? ? ? ? ? ?客戶端接收消息,繼續(xù)發(fā)送未發(fā)送完畢的消息
? ? ? ? ? ? ? ? 第三次揮手(S—>C)
? ? ? ? ? ? ? ? 告訴客戶端消息發(fā)送完畢,可以正式斷開連接了
????????????????第四次揮手(C—>S)??
? ? ? ? ? ? ? ? 告訴服務器計時結束就斷開連接
? ? ? ? TCP有了這三次握手,四次揮手的規(guī)則
? ? ? ? 可以提供可靠的服務,通過TCP連接傳送的數據
? ? ? ? 可以做到無差錯、不丟失、不重復、且按順序到達
? ? ? ? 它讓服務器和客戶端之間的數據傳遞變得更加的可靠
UDP協(xié)議
????????UDP(用戶數據報協(xié)議)
? ? ? ? 是一種無需建立連接就可以發(fā)送封裝的IP數據包的方法
? ? ? ? 提供面向事務的簡單不可靠信息傳送服務
????????
????????特點:
????????????????1.無連接? ? ? ? —— 兩者之間無需建立連接
? ? ? ? ? ? ? ? 2.可靠性低? ? ?——?消息可靠在傳送過程中丟失,丟失后不會重發(fā)
? ? ? ? ? ? ? ? 3.傳輸效率高? —— 由于它的可靠性低并且也無需建立連接,所有傳輸效率上更高一些
? ? ? ? ? ? ? ? 4.n對n? ? ? ? ? ? ?—— TCP只能1對1連接進行消息傳遞,而UDP由于無連接所以可以n對n
? ? ? ? UDP協(xié)議不像TCP協(xié)議需要建立連接有三次握手和四次揮手
? ? ? ? 當使用UDP協(xié)議發(fā)送信息時
? ? ? ? 會直接把信息數據扔到網絡上,所以也就造成了UDP的不可靠性
? ? ? ? 信息在這個傳遞過程中是有可能丟失的
? ? ? ? 雖然UDP是一個不靠譜的協(xié)議,但是由于它不需要建立連接
? ? ? ? 也不會像TCP協(xié)議那樣攜帶更多的信息,所以它具有更好的傳輸效率
? ? ? ? 它具有消耗小,處理速度快的特點
總結
? ? ? ? TCP:
? ? ? ? ? ? ? ? 更可靠,保證數據的正確性和有序性(三次握手和四次揮手)
? ? ? ? ? ? ? ? 適合對信息準確性要求高,效率要求較低的使用場景
? ? ? ? ? ? ? ? 比如:游戲開發(fā),文件傳輸,遠程登錄等
????????
? ? ? ? UDP:
? ? ? ? ? ? ? ? 更效率,傳輸更快,資源消耗更少
? ? ? ? ? ? ? ? 適合對實時性要求高的使用場景
? ? ? ? ? ? ? ? 比如:直播,即時通訊,游戲開發(fā)等?
總結
以上是生活随笔為你收集整理的Unity——网络协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux环境下搭建osm_web服务器
- 下一篇: 3dsmax2010 快捷键