国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP)

這篇具有很好參考價值的文章主要介紹了【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??? 主頁:小夜時雨
??? 專欄:javaEE初階
??? 乾坤未定,你我皆黑馬

一、應用層協(xié)議

應用層是和代碼直接相關的一層,決定了數(shù)據(jù)要傳輸什么,怎么去使用這些數(shù)據(jù)等問題。
應用層這里,雖然存在一些現(xiàn)有的協(xié)議(比如HTTP),但是也有很多的情況,需要我們?nèi)プ远x一些協(xié)議,這里的自定協(xié)議就是約定應層數(shù)據(jù)報的數(shù)據(jù)格式。

  • 如何約定格式?
  1. 確定要傳輸哪些信息。(根據(jù)需求)

比如一個外賣程序,我們需要傳輸以下的信息。

  • 請求 : 用戶id ;用戶的位置等
  • 響應 : 若干個商家信息 ; 每個商家信息:商家的名字 ; 圖片 ; 評分 ; 類型等

【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP),javaEE初階,1024程序員節(jié),java,網(wǎng)絡,udp,網(wǎng)絡協(xié)議
2. 確定數(shù)據(jù)按照什么樣的格式來組織的
一個簡單的方案就是按照分隔符進行組織數(shù)據(jù),如下圖:
【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP),javaEE初階,1024程序員節(jié),java,網(wǎng)絡,udp,網(wǎng)絡協(xié)議
在實際的開發(fā)中,還有一些現(xiàn)成的格式,是可以直接使用的

  • xml格式

這種格式主要是通過標簽的形式來組織數(shù)據(jù),具體如下圖:
【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP),javaEE初階,1024程序員節(jié),java,網(wǎng)絡,udp,網(wǎng)絡協(xié)議
其中 html 可以看作是 xml 的特殊情況

  • json 格式

json 是使用 {} 來作為標識的
【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP),javaEE初階,1024程序員節(jié),java,網(wǎng)絡,udp,網(wǎng)絡協(xié)議

二、傳輸層協(xié)議(UDP協(xié)議)

學習協(xié)議的一個重要環(huán)節(jié):認識 協(xié)議的報文格式

UDP的報文格式:
【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP),javaEE初階,1024程序員節(jié),java,網(wǎng)絡,udp,網(wǎng)絡協(xié)議
【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP),javaEE初階,1024程序員節(jié),java,網(wǎng)絡,udp,網(wǎng)絡協(xié)議

  • UDP的特點
  1. 無連接
    知道對端的 ip 和 端口號就可以進行通信,不需要建立連接
  2. 不可靠
    沒有任何的安全機制,即是 發(fā)送端發(fā)送數(shù)據(jù)報之后,如果因為某些原因,接收端沒有收到來自發(fā)送端的數(shù)據(jù),UDP協(xié)議層也不會給發(fā)送端返回任何的錯誤提示信息
  3. 面向數(shù)據(jù)報
    應用層交給UDP多長的報文,UDP原樣發(fā)送,既不會拆分,也不會合并
  4. 全雙工
    UDP只有接收緩沖區(qū),沒有發(fā)送緩存區(qū)

UDP沒有真正意義上的 發(fā)送緩沖區(qū)。發(fā)送的數(shù)據(jù)會直接交給內(nèi)核,由內(nèi)核將數(shù)據(jù)傳給網(wǎng)絡層協(xié)議
進行后續(xù)的傳輸動作;

UDP具有接收緩沖區(qū),但是這個接收緩沖區(qū)不能保證收到的UDP報的順序和發(fā)送UDP報的順序一致;如果緩沖區(qū)滿了,再到達的UDP數(shù)據(jù)就會被丟棄;

UDP的 socket 既能讀,也能寫,這個概念叫做全雙工

  • 源端口和目的端口

兩者描述了數(shù)據(jù)從哪里來以及到哪里去,ip 地址用來區(qū)分是哪一個主機,一個主機上有多個應用程序,運用端口號來區(qū)分出具體的程序。

  • 報文長度

表示了 UDP 數(shù)據(jù)報的長度,2個字節(jié),能表示的最大長度是65535即是64KB,所以傳輸一個UDP 數(shù)據(jù)報的最大長度就是64KB

若是傳輸比較大的數(shù)據(jù),怎么解決?

  1. 將數(shù)據(jù)拆分成多個部分,使用多個 UDP 數(shù)據(jù)報進行傳輸,類似于多次搬東西,但是比較復雜
  2. 直接使用 TCP 協(xié)議,TCP對數(shù)據(jù)長度沒有限制
  • 校驗和

意義: 用來判斷當前傳輸?shù)臄?shù)據(jù)是否發(fā)生錯誤
校驗和往往就是去內(nèi)容或者是內(nèi)容的一部分,通過一些算法或者數(shù)學公式,進行一些變換得到一個數(shù)值。
如果內(nèi)容發(fā)生了改變,則校驗和也就會發(fā)生了變化,也就可以感知到傳輸出錯

  • 擴展問題

經(jīng)典面試題:

  1. UDP本身是無連接,不可靠,面向數(shù)據(jù)報的協(xié)議,如果要基于傳輸層UDP協(xié)議,來實現(xiàn)一個可靠傳輸,應該如何設計?
  2. UDP大小是受限的,如果要基于傳輸層UDP協(xié)議,傳輸超過64K的數(shù)據(jù),應該如何設計?

以上兩個問題答案類似,都可以參考TCP的可靠性機制在應用層實現(xiàn)類似的邏輯:
例如:
引入序列號,保證數(shù)據(jù)順序;
引入確認應答,確保對端收到了數(shù)據(jù);
引入超時重傳,如果隔一段時間沒有應答,就重發(fā)數(shù)據(jù);

????????? 好啦,到這里有關 應用層協(xié)議與傳輸層協(xié)議 (UDP) 的分享就沒了,如果感覺做的還不錯的話可以點個贊,關注一下,你的支持就是我繼續(xù)下去的動力,蟹蟹大家了,我們下期分享傳輸層協(xié)議 (TCP),拜拜~ ☆*: .?. o(≧▽≦)o .?.:*☆文章來源地址http://www.zghlxwxcb.cn/news/detail-736309.html

到了這里,關于【網(wǎng)絡原理】| 應用層協(xié)議與傳輸層協(xié)議 (UDP)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 「網(wǎng)絡編程」應用層協(xié)議_ HTTPS協(xié)議學習及原理理解

    「網(wǎng)絡編程」應用層協(xié)議_ HTTPS協(xié)議學習及原理理解

    「前言」文章內(nèi)容大致是應用層協(xié)議的HTTPS協(xié)議講解,續(xù)上篇HTTP協(xié)議。 「歸屬專欄」網(wǎng)絡編程 「主頁鏈接」個人主頁 「筆者」楓葉先生(fy) HTTPS(HyperText Transfer Protocol Secure) 是一種通過加密和身份驗證保護網(wǎng)絡通信安全的協(xié)議。它是基于HTTP協(xié)議的安全版本,也是工作在應用

    2024年02月16日
    瀏覽(24)
  • JavaEE & HTTP應用層協(xié)議

    JavaEE & HTTP應用層協(xié)議

    HTTP應用層協(xié)議 超文本傳輸協(xié)議(Hyper Text [Transfer Protocol](https://baike.baidu.com/item/Transfer Protocol/612755?fromModule=lemma_inlink),HTTP) 是一個簡單的請求-響應協(xié)議 ,它通常運行在TCP之上。它指定了客戶端可能發(fā)送給服務器什么樣的消息以及得到什么樣的響應。請求和響應消息的頭以

    2024年02月06日
    瀏覽(24)
  • 【JavaEE】HTTP應用層協(xié)議

    【JavaEE】HTTP應用層協(xié)議

    HTTP應用層協(xié)議 超文本傳輸協(xié)議(Hyper Text [Transfer Protocol](https://baike.baidu.com/item/Transfer Protocol/612755?fromModule=lemma_inlink),HTTP) 是一個簡單的請求-響應協(xié)議 ,它通常運行在TCP之上。它指定了客戶端可能發(fā)送給服務器什么樣的消息以及得到什么樣的響應。請求和響應消息的頭以

    2024年02月07日
    瀏覽(25)
  • 計算機網(wǎng)絡 應用層上 | 域名解析系統(tǒng)DNS 文件傳輸協(xié)議FTP,NFS 萬維網(wǎng)URL HTTP HTML

    計算機網(wǎng)絡 應用層上 | 域名解析系統(tǒng)DNS 文件傳輸協(xié)議FTP,NFS 萬維網(wǎng)URL HTTP HTML

    之前我們講運輸層的時候已經(jīng)講了運輸層可以給不同進程之間通信,但我們還需要應用層原因是,許多 應用需要多個進程之間相互配合完成,所以應用層進程用來約束這些配合! 每個應用層協(xié)議用來解決一個問題 應用層的許多協(xié)議都是基于客戶服務器方式 客戶是請求方,服

    2024年01月24日
    瀏覽(59)
  • 【網(wǎng)絡應用層協(xié)議】【HTTP】詳解HTTP與HTTPS、POST 請求與 GET請求 、TCP與UDP、cookie和session的區(qū)別

    目錄 1. HTTP和HTTPS的區(qū)別 2. POST 請求與 GET 請求區(qū)別 3. TCP與UDP的區(qū)別 4. cookie和session的區(qū)別

    2024年04月14日
    瀏覽(37)
  • 【JavaEE】網(wǎng)絡原理——傳輸層協(xié)議:UDP和TCP

    【JavaEE】網(wǎng)絡原理——傳輸層協(xié)議:UDP和TCP

    目錄 1、簡單了解應用層協(xié)議 2、傳輸層UDP協(xié)議 3、傳輸層TCP協(xié)議? 3.1、TCP報文介紹 3.2、TCP實現(xiàn)可靠傳輸?shù)暮诵臋C制 3.2.1、確認應答 3.2.2、超時重傳? 3.3、連接管理 (三次揮手,四次握手) 3.3.1、建立連接(三次握手) 3.3.2、斷開連接(四次揮手)? 3.4、滑動窗口 ?3.5、流量

    2024年02月10日
    瀏覽(31)
  • 計算機網(wǎng)絡(網(wǎng)絡層,傳輸層,應用層,復習自用)
  • 【網(wǎng)絡原理進階篇】ip協(xié)議,ip地址組成,ip地址分類網(wǎng)關,路由選擇,數(shù)據(jù)鏈路層,應用層,ip與mac地址等

    【網(wǎng)絡原理進階篇】ip協(xié)議,ip地址組成,ip地址分類網(wǎng)關,路由選擇,數(shù)據(jù)鏈路層,應用層,ip與mac地址等

    前言: 大家好,我是 良辰丫 ,我們已經(jīng)學習了網(wǎng)絡原理基礎版,初步認識了網(wǎng)絡,還學習了網(wǎng)絡編程,了解了網(wǎng)絡通信的各種程序,接下來我們更深入的了解網(wǎng)絡是如何工作的.這篇文章我們主要介紹協(xié)議,UDP和TCP的一些原理.???? ??個人主頁:良辰針不戳 ??所屬專欄:javaEE初階 ??

    2024年02月06日
    瀏覽(30)
  • 【網(wǎng)絡】應用層——HTTP協(xié)議

    【網(wǎng)絡】應用層——HTTP協(xié)議

    ??作者:一只大喵咪1201 ??專欄:《網(wǎng)絡》 ??格言: 你只管努力,剩下的交給時間! 上篇文章中,本喵帶著大家對HTTP有了一個初步的認識,今天就來詳細講解一下這個應用層協(xié)議。 如上圖所示的 url (網(wǎng)址),里面包含有 / 以及 ? 等字符。 像這樣的字符,已經(jīng)被url當做 特殊

    2024年02月15日
    瀏覽(26)
  • 【網(wǎng)絡】應用層——HTTPS協(xié)議

    【網(wǎng)絡】應用層——HTTPS協(xié)議

    ??作者:一只大喵咪1201 ??專欄:《網(wǎng)絡》 ??格言: 你只管努力,剩下的交給時間! 前面本喵講解并演示了HTTP協(xié)議,在比較 POST 和 GET 方法的時候,本喵說這兩個方法都不安全,雖然 POST 的提交的表單內(nèi)容在請求正文中,無法在地址的 url 中看到,但是它仍然是不安全的。

    2024年02月14日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包