RM新时代网站-首页

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

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

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

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

學FPGA,慢慢來 ? 2017-12-18 10:22 ? 次閱讀

一.為什么會有TCP/IP協(xié)議

首先呢,TCP/IP不是一個協(xié)議,而是一個協(xié)議族的統(tǒng)稱。他們的存在是為了在將電腦聯(lián)合起來的時候,利用他們可以和其他的計算機終端做自由的交流。

二.TCP/IP協(xié)議分層

1.TCP/IP族按照層次由上到下,層層包裝。每一層都有自己的功能,每一層都有下一層的支持。而用戶接觸的,只是最上邊一層,沒有感覺到下面一層層,但是理解的時候要從最下層由下向上來理解。最上邊是應(yīng)用層,這里有http,ftp等熟悉的協(xié)議。而第二層就是傳輸層,TCP和UDP協(xié)議就是在這個層次。第三層是網(wǎng)絡(luò)層,IP協(xié)議就在這里,他負責對數(shù)據(jù)加上IP地址和其他數(shù)據(jù)以確定傳輸?shù)哪繕恕5谒膶咏凶鰯?shù)據(jù)鏈路層,這個層次為待傳輸?shù)臄?shù)據(jù)加上一個以太網(wǎng)協(xié)議頭,并進行CRC編碼,為最后的數(shù)據(jù)傳輸做準備。再往下就是硬件層次,負責網(wǎng)絡(luò)的傳輸,這個層次的定義包括網(wǎng)線的格式,網(wǎng)卡的定義等等。

2.發(fā)送協(xié)議的主機從上到下將數(shù)據(jù)按照協(xié)議封裝,而接收數(shù)據(jù)的主機則按照協(xié)議從得到的數(shù)據(jù)包解開,最后拿到需要的數(shù)據(jù)。這種結(jié)構(gòu)非常像棧,所以我們也把TCP/IP協(xié)議族稱為TCP/IP棧。

3.每一層都是為了完成一種功能,為了實現(xiàn)這些功能,需要大家每個人都要遵循共同的規(guī)則,而這個規(guī)則就叫做“協(xié)議”?;ヂ?lián)網(wǎng)的每一層都定義了許多協(xié)議。而這些協(xié)議的總稱,就叫做“互聯(lián)網(wǎng)協(xié)議”,他們是互聯(lián)網(wǎng)的核心。

三.基本常識

1.互聯(lián)網(wǎng)地址(IP地址):網(wǎng)絡(luò)上的每一個節(jié)點都必須有一個獨立的Internet地址,也叫IP地址。通常使用的IP地址是一個32bit的數(shù)字,這32bit的數(shù)字分成四組,也就是常見的255.255.255.255的樣式。需注意,IP地址是網(wǎng)絡(luò)號+主機號的組合,這十分重要。

2.域名系統(tǒng):域名系統(tǒng)就是一個分布的數(shù)據(jù)庫,它提供將主機名(就是網(wǎng)址)轉(zhuǎn)換成IP地址的服務(wù)。

3.RFC:TCP/IP協(xié)議的標準文檔。他一共有4000多個協(xié)議的定義。

4.端口號:這個號碼是用在TCP,UDP上的一個邏輯號碼,并不是一個硬件端口。平時所說的把某某的端口封掉,也只是在IP層次把帶有這個號碼的IP包濾掉了而已。

5.應(yīng)用編程接口(API):現(xiàn)常用的編程接口有socket和TLI。主要是提供應(yīng)用程序和開發(fā)人員以訪問一組例程功能,而無需考慮其底層的源代碼是為何,或理解其內(nèi)部工作機制的細節(jié)。

四.實體層

就是把電腦連接起來的物理手段。它主要規(guī)定了網(wǎng)絡(luò)的一些電氣特性,作用是負責傳送0和1的電信號。

五.數(shù)據(jù)鏈路層

單純的0和1沒有任何意義,必須規(guī)定解讀方式:多少個電信號算一組?每個信號為有何意義?

這就是“連接層”的功能,他在“實體層”的上方,確定了0和1的分組方式。

數(shù)據(jù)鏈路層有三個目的:

1.為IP模塊發(fā)送和接收IP數(shù)據(jù)報。

2.為ARP模塊發(fā)送ARP請求和接收ARP應(yīng)答。

3.為RARP發(fā)送RARP請求和接收RARP應(yīng)答。

注:ARP:地址解析協(xié)議,是用IP地址換MAC地址(媒體訪問地址,或稱為物理地址,硬件地址。MAC地址是網(wǎng)卡決定的,是固定的,共48位,實際上就是適配器地址,IP地址就如同一個職位,而MAC地址則好像是去應(yīng)聘這個職位的人才,職位既可以讓甲坐,也可以讓乙坐,同樣的道理一個結(jié)點的IP地址對于網(wǎng)卡是不做要求,基本上什么樣的廠家都可以用,也就是說IP地址與MAC地址并不存在著綁定關(guān)系。)的一種協(xié)議,而RARP則叫做逆地址解析協(xié)議。

以太網(wǎng)的定義是指數(shù)字設(shè)備公司( Digital Equipment Corp.)、英特爾公司(Intel Corp.)和Xerox公司在1982年聯(lián)合公布的一個標準。以太網(wǎng)規(guī)定,一組電信號構(gòu)成一個數(shù)據(jù)包,叫做“幀”,每一幀分成兩個部分:標頭(head)和數(shù)據(jù)(data)。

標頭包含了數(shù)據(jù)包的一些說明項,比如發(fā)送者,接受者,數(shù)據(jù)類型等;“數(shù)據(jù)”包括了數(shù)據(jù)包的具體內(nèi)容。標頭的長度固定為18字節(jié)。數(shù)據(jù)的長度最長為1500字節(jié),最短為46字節(jié)。因此,整個“幀”最長為1518字節(jié),最短為64字節(jié)。如果數(shù)據(jù)很長,就必須分割成多個幀進行發(fā)送。

以太網(wǎng)規(guī)定,連入網(wǎng)絡(luò)的所有設(shè)備,都必須具有“網(wǎng)卡”接口。數(shù)據(jù)包必須是從一塊網(wǎng)卡,傳送到另一塊網(wǎng)卡。網(wǎng)卡的地址,就是數(shù)據(jù)包的發(fā)送地址和接收地址,這就是MAC地址。

定義地址只是第一步,在這之后要解決一塊網(wǎng)卡如何知道另一塊網(wǎng)卡的MAC地址?回答是一種ARP協(xié)議。而在以太網(wǎng)數(shù)據(jù)包必須知道接收方的MAC地址,然后才能發(fā)送。

之后就算有了MAC地址,系統(tǒng)如何才能把數(shù)據(jù)包準確的發(fā)送到接收方?,而以太網(wǎng)采用用了一種很原始的方式,即向本網(wǎng)絡(luò)內(nèi)的所有計算機發(fā)送,讓每臺計算機自己判斷,是否為接收方。他們讀取這個包的“標頭”,找到接收方的MAC地址,然后與自身的MAC地址進行比較,如果兩者相同,就接受這個包,作進一步處理,否則就丟棄這個包,這種發(fā)送方式就叫做廣播。

有了數(shù)據(jù)包的定義,網(wǎng)卡的MAC地址,廣播的發(fā)送方式,“連接層”就可以在多臺計算機之間傳輸數(shù)據(jù)。

六.網(wǎng)絡(luò)層

1.由來:以太網(wǎng)協(xié)議,依靠MAC地址發(fā)送數(shù)據(jù)。但是,以太網(wǎng)采用廣播來發(fā)送數(shù)據(jù)包,效率低,而且局限在發(fā)送者所在的子網(wǎng)絡(luò)。因此,要找到一種方法,能夠區(qū)分那些MAC地質(zhì)屬于同一個子網(wǎng)絡(luò),那些不是。如果是同一個子網(wǎng)絡(luò),就采用廣播,否則采用路由(...)方式發(fā)送,而這是MAC地址無法實現(xiàn)的,他至于廠商有關(guān),與所處網(wǎng)絡(luò)無關(guān),這就導致了“網(wǎng)絡(luò)層”的誕生,他的作用就是引用一套新的地址,使得我們能夠區(qū)分不同的計算機是否屬于同一個子網(wǎng)絡(luò)。而這套地址就叫做“網(wǎng)絡(luò)地址”,簡稱“網(wǎng)址”。于是,“網(wǎng)絡(luò)層”出現(xiàn)之后,每臺計算機有了兩種地址,一種是MAC地址,另一種是網(wǎng)絡(luò)地址。兩種地址之間沒有任何聯(lián)系,MAC地址是綁定在網(wǎng)卡上的,網(wǎng)絡(luò)地址則是管理員分配的,他們是隨機組合在一起的。

網(wǎng)絡(luò)地址幫助我們確定計算機所在的子網(wǎng)絡(luò),MAC地址則將數(shù)據(jù)報送到該子網(wǎng)絡(luò)中的目標網(wǎng)卡,因此,先處理網(wǎng)絡(luò)地址,在處理MAC地址。

2.IP協(xié)議

規(guī)定網(wǎng)絡(luò)地址的協(xié)議,叫做IP協(xié)議。他所規(guī)定的地址,就被稱為IP地址。我們采用的一般是IPv4.這個版本規(guī)定,網(wǎng)絡(luò)地址由32個二進制位組成。習慣上分為四段,如255.255.255.255,這個地址分成兩部分,前一部分代表網(wǎng)絡(luò),后一部分代表主機。但是單從IP地址,我們無法分辨網(wǎng)絡(luò)部分。因此,我們需要一個參數(shù)來判斷兩臺計算機是否屬于同一個子網(wǎng)絡(luò),這個參數(shù)就是“子網(wǎng)掩碼”,它在形式上等同于IP地址,也是一個32位的二進制數(shù),他的網(wǎng)絡(luò)部分全部為1,主機部分為0.知道子網(wǎng)掩碼我們就可以判斷兩個IP地址是否屬于同一個自網(wǎng)絡(luò)下,方法就是將兩個IP地址與子網(wǎng)掩碼分別進行AND運算。,比較結(jié)果是否相同,如果是的話,就表明在同一個子網(wǎng)絡(luò)中。

所以,IP協(xié)議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定那些地址在同一個子網(wǎng)絡(luò)。

3.IP數(shù)據(jù)包

根據(jù)IP協(xié)議發(fā)送的數(shù)據(jù),就叫做IP數(shù)據(jù)包。其中包含IP地址信息。但是由于以太網(wǎng)數(shù)據(jù)包只包含MAC地址,并沒有IP地址欄,但我們也并不需要為他添加一個欄位,我們將IP數(shù)據(jù)包直接放進以太網(wǎng)數(shù)據(jù)包的“數(shù)據(jù)”中,而不用修改以太網(wǎng)的規(guī)格,這就是互聯(lián)網(wǎng)分層的好處:上層的變動完全不涉及下層的結(jié)構(gòu)。IP數(shù)據(jù)也分為“標頭”和“數(shù)據(jù)”兩部分,"標頭"主要是版本,長度,IP地址,“數(shù)據(jù)”部分則是IP數(shù)據(jù)包的具體內(nèi)容。他放在以太網(wǎng)數(shù)據(jù)包后,就是這樣

IP數(shù)據(jù)包的“標頭”部分的長度為20到60字節(jié),整個數(shù)據(jù)包的總長度最大為65535字節(jié),因此,一個IP數(shù)據(jù)包的“數(shù)據(jù)”部分最長為65515字節(jié)。

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

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602977
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304796
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

    10GBe/40GBe UDP 協(xié)議 IP 核、10GbE TCP/IP 協(xié)議
    的頭像 發(fā)表于 10-30 17:39 ?293次閱讀
     芯驛電子 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 ?556次閱讀

    TCP協(xié)議是什么

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

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

    在工業(yè)自動化領(lǐng)域中,EtherNet/IP轉(zhuǎn)Modbus-TCP這兩種網(wǎng)絡(luò)協(xié)議的互通互聯(lián)非常重要。有款優(yōu)秀的設(shè)備——遠創(chuàng)智控YC-EIP-TCP
    的頭像 發(fā)表于 09-06 16:54 ?244次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)換網(wǎng)關(guān)

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

    ,設(shè)備主要功能 捷米特JM-EIP-TCP型網(wǎng)關(guān)實現(xiàn)EtherNet/IP網(wǎng)絡(luò)與Modbus TCP網(wǎng)絡(luò)之間的數(shù)據(jù)通訊,可支持Modbus TCP
    的頭像 發(fā)表于 09-04 11:09 ?389次閱讀
    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é)議之間存在著緊密而復雜的關(guān)系。這種關(guān)系主要體現(xiàn)在串口服務(wù)器如何利用TCP/I
    的頭像 發(fā)表于 08-25 17:35 ?1541次閱讀

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

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

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

    的分配、子網(wǎng)掩碼的設(shè)置、網(wǎng)關(guān)和DNS的配置等方面,旨在為網(wǎng)絡(luò)工程師和IT專業(yè)人士提供科學、學術(shù)且專業(yè)的指導。 1. TCP/IP協(xié)議概述 TCP/I
    的頭像 發(fā)表于 07-23 10:10 ?489次閱讀

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

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

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

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

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

    在信息技術(shù)飛速發(fā)展的今天,網(wǎng)絡(luò)已成為人類社會不可或缺的部分。實現(xiàn)網(wǎng)絡(luò)中計算機相互通信的關(guān)鍵之便是TCP/IP協(xié)議。作為互聯(lián)網(wǎng)的基礎(chǔ),TCP
    的頭像 發(fā)表于 06-15 09:12 ?513次閱讀
    從表象到本質(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ā)表于 04-17 14:16 ?1次下載

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

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