0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全硬件TCP/IP協(xié)議棧學(xué)習(xí)筆記(第三天:TCP/IP協(xié)議學(xué)習(xí)三)

學(xué)FPGA,慢慢來 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-12-18 10:26 ? 次閱讀

昨天我們結(jié)束時到了UDP協(xié)議,今天我們繼續(xù)

<2>.UDP協(xié)議頭

(1)UDP端口號:UDP協(xié)議通過端口號來區(qū)分不同程序的程序所需要的數(shù)據(jù)包。長度為16bit。

(2)UDP檢驗(yàn)和:這是可選的選項,并不是所有系統(tǒng)都對UDP數(shù)據(jù)包加以檢驗(yàn),但是

RFC中標(biāo)準(zhǔn)要求發(fā)送端應(yīng)該計算檢驗(yàn)和。

UDP檢驗(yàn)和覆蓋UDP協(xié)議頭和數(shù)據(jù),這和IP的檢驗(yàn)和不一樣,IP的檢驗(yàn)和只覆蓋IP數(shù)據(jù)頭,并不覆蓋所有數(shù)據(jù)。UDP和TCP都包含一個偽首部,這是為了計算檢驗(yàn)和而設(shè)置的。偽首部還包括IP地址這樣的IP協(xié)議里都有的信息。目的是讓兩次檢查數(shù)據(jù)是否已經(jīng)正確到達(dá)目的地。

(3).UDP長度:它的長度可以達(dá)到65535字節(jié)。但是一般的網(wǎng)絡(luò)在傳輸?shù)臅r候,一次一般傳送不了那么長的協(xié)議,就只好對數(shù)據(jù)分片。

<3>.IP分片:IP從上層接到數(shù)據(jù)之后,要根據(jù)IP地址來判斷從哪個接口發(fā)送數(shù)據(jù),并進(jìn)行MTU的查詢,如果數(shù)據(jù)大小超過MTU就進(jìn)行數(shù)據(jù)分片。數(shù)據(jù)的分片是對上下層透明的,而數(shù)據(jù)也只是達(dá)到目的地還會被重新組裝。IP層提供了足夠多的信息進(jìn)行數(shù)據(jù)的再組裝。

在IP頭內(nèi),16bit識別號唯一記錄了一個IP包的ID,具有同一個ID的IP片將會被重新組裝,而13位片偏移則記錄了某IP片相對于整個包的位置;而這兩個表示中間3bit標(biāo)志表示著該分片后邊是否還有新的分片。這三個標(biāo)示就組成了IP分片的所有信息,接收方就可以利用這些信息對IP數(shù)據(jù)重新組織。

但是,由于分片技術(shù)在網(wǎng)絡(luò)上經(jīng)常被使用,所以偽造IP分片包進(jìn)行流氓攻擊的軟件也就多了起來,可以使用Trancdroute程序來進(jìn)行簡單的MTU偵測。

<3>.UDP和ARP之間的交互使用

當(dāng)ARP緩存還是空的時候,UDP在被發(fā)送之前需要發(fā)送一個ARP請求來獲得目的主機(jī)的MAC地址,如果這個UDP的數(shù)據(jù)包足夠大,大到IP層一定要對其進(jìn)行分片的時候,該UDP數(shù)據(jù)包的第一個分片會發(fā)送一個ARP查詢請求,但是有些系統(tǒng)會讓每一個分片都發(fā)送一個ARP查詢,所有的片都在等待,但是接受到第一個回應(yīng)的時候,,主機(jī)卻發(fā)送了最后一個數(shù)據(jù)片而拋棄了其他的...,這樣的數(shù)據(jù)不能被及時組裝,接收主機(jī)將會在一段時間內(nèi)無法組裝的IP數(shù)據(jù)包拋棄,并發(fā)送組裝超時的ICMP報文。以保證接收主機(jī)不會自己的接收端緩存不會被那些總也得不到組裝的分片裝滿。

3.TCP協(xié)議

UDP協(xié)議的優(yōu)點(diǎn)是比較簡單,容易實(shí)現(xiàn),但是它的可靠性比較差,一旦數(shù)據(jù)包發(fā)出了,無法知道對方是否收到。

為了解決這個問題,提高網(wǎng)絡(luò)的可靠性,TCP協(xié)議就誕生了,它可被近似認(rèn)為是一個有確認(rèn)機(jī)制的UDP協(xié)議,每發(fā)出一個數(shù)據(jù)包都被要求確認(rèn)。如果有一個數(shù)據(jù)包遺失,就收不到確認(rèn),發(fā)出方就知道有必要重新發(fā)送這個數(shù)據(jù)包了。TCP協(xié)議能夠確保數(shù)據(jù)不會遺失,但是他的缺點(diǎn)就是過程復(fù)雜,實(shí)現(xiàn)困難,消耗較多的資源。

TCP數(shù)據(jù)包和UDP數(shù)據(jù)包都是內(nèi)嵌在IP數(shù)據(jù)包的數(shù)據(jù)部分。TCP數(shù)據(jù)包沒有長度限制,;理論上可以無限長。通常TCP數(shù)據(jù)包不會超過IP數(shù)據(jù)包的長度,以確保單個TCP數(shù)據(jù)包不必再分割。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • TCP協(xié)議
    +關(guān)注

    關(guān)注

    1

    文章

    91

    瀏覽量

    12087
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    8895

    瀏覽量

    137503
收藏 人收藏

    評論

    相關(guān)推薦

    什么是socket編程 socket與tcp/ip協(xié)議的關(guān)系

    基于TCP/IP協(xié)議族,這是一組用于網(wǎng)絡(luò)通信的協(xié)議,包括傳輸控制協(xié)議TCP)和互聯(lián)網(wǎng)
    的頭像 發(fā)表于 11-01 16:01 ?374次閱讀

    芯驛電子 ALINX 推出全新 IP 核產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI IP

    10GBe/40GBe UDP 協(xié)議 IP 核、10GbE TCP/IP 協(xié)議
    的頭像 發(fā)表于 10-30 17:39 ?320次閱讀
     芯驛電子 ALINX 推出全新 <b class='flag-5'>IP</b> 核產(chǎn)品線,覆蓋 <b class='flag-5'>TCP</b>/UDP/NVMe AXI <b class='flag-5'>IP</b> 核

    Modbus RTU協(xié)議與Modbus TCP/IP協(xié)議的區(qū)別

    Modbus RTU和Modbus TCP/IP的本質(zhì)都是Modbus協(xié)議,都是通過Modbus寄存器地址來交換數(shù)據(jù)的,那么它們之間有什么區(qū)別呢?今天我們從以下幾個方面來探討一下。
    的頭像 發(fā)表于 10-18 17:44 ?670次閱讀

    TCP協(xié)議是什么

    在網(wǎng)絡(luò)通信的廣闊領(lǐng)域中,TCP(Transmission Control Protocol,傳輸控制協(xié)議)扮演著舉足輕重的角色。作為TCP/IP協(xié)議
    的頭像 發(fā)表于 10-09 13:54 ?707次閱讀

    EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)(EtherNet/IP轉(zhuǎn)Modbus-TCP

    /IP轉(zhuǎn)Modbus TCP從站協(xié)議網(wǎng)關(guān),可以實(shí)現(xiàn)對這些設(shè)備的集中管理和控制。 二,典型應(yīng)用拓?fù)鋱D ,設(shè)備技術(shù)參數(shù) 捷米特JM-EIP-TCP
    的頭像 發(fā)表于 09-04 11:09 ?432次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b>)

    串口服務(wù)器和TCP/IP協(xié)議是什么關(guān)系

    串口服務(wù)器與TCP/IP協(xié)議之間存在著緊密而復(fù)雜的關(guān)系。這種關(guān)系主要體現(xiàn)在串口服務(wù)器如何利用TCP/I
    的頭像 發(fā)表于 08-25 17:35 ?1586次閱讀

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計算機(jī)網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議。TCP/IP
    的頭像 發(fā)表于 08-07 15:38 ?2119次閱讀
    一文了解<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢

    TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是互聯(lián)網(wǎng)和現(xiàn)代計算機(jī)網(wǎng)絡(luò)的基礎(chǔ)
    的頭像 發(fā)表于 07-25 16:49 ?512次閱讀

    TCP IP協(xié)議屬性設(shè)置中的IP配置

    在現(xiàn)代網(wǎng)絡(luò)中,TCP/IP協(xié)議是基礎(chǔ)架構(gòu)的重要組成部分。掌握TCP/IP協(xié)議屬性設(shè)置中的
    的頭像 發(fā)表于 07-23 10:10 ?536次閱讀

    TCP/IP協(xié)議的設(shè)計與實(shí)現(xiàn)_中文

    電子發(fā)燒友網(wǎng)站提供《TCP/IP協(xié)議的設(shè)計與實(shí)現(xiàn)_中文.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:28 ?4次下載

    LwIP協(xié)議源碼詳解—TCP/IP協(xié)議的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《LwIP協(xié)議源碼詳解—TCP/IP協(xié)議的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:22 ?3次下載

    從表象到本質(zhì):深入探究TCP/IP協(xié)議

    在信息技術(shù)飛速發(fā)展的今天,網(wǎng)絡(luò)已成為人類社會不可或缺的部分。實(shí)現(xiàn)網(wǎng)絡(luò)中計算機(jī)相互通信的關(guān)鍵之一便是TCP/IP協(xié)議。作為互聯(lián)網(wǎng)的基礎(chǔ),TCP/IP
    的頭像 發(fā)表于 06-15 09:12 ?538次閱讀
    從表象到本質(zhì):深入探究<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    Microchip TCP/IP 協(xié)議應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《Microchip TCP/IP 協(xié)議應(yīng)用筆記.pdf》資料免費(fèi)下載
    發(fā)表于 04-17 14:16 ?1次下載

    ethernetif_input和tcpip協(xié)議線程的作用

    tcpip協(xié)議線程是lwIP協(xié)議的核心線程,負(fù)責(zé)處理TCP/IP
    的頭像 發(fā)表于 03-20 10:01 ?1382次閱讀

    TCP/IP協(xié)議數(shù)據(jù)的處理流程

    TCP/IP協(xié)議的設(shè)計目標(biāo)是提供一種通用、靈活且可擴(kuò)展的協(xié)議體系,使得不同種類的設(shè)備和系統(tǒng)能夠互相通信,實(shí)現(xiàn)互聯(lián)網(wǎng)的互聯(lián)互通。
    發(fā)表于 02-03 16:30 ?1624次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>數(shù)據(jù)的處理流程