出版時(shí)間:2012-9 出版社:朱升林 中國水利水電出版社 (2012-09出版) 作者:朱升林 頁數(shù):473
Tag標(biāo)簽:無
前言
前言: 終于有了繼續(xù)碼字的機(jī)會(huì)。一年前在網(wǎng)上發(fā)布了電子版《LwIP協(xié)議棧源碼詳解--TCP/IP協(xié)議的實(shí)現(xiàn)》一書,也因此結(jié)識(shí)了許多LwIP應(yīng)用及嵌入式網(wǎng)絡(luò)編程的愛好者,他們之中有的是學(xué)生,正在竭力規(guī)劃著自己的未來;有的是IT公司職員,正努力完成Boss交給的項(xiàng)目;更有創(chuàng)業(yè)者,希望在嵌入式網(wǎng)絡(luò)方向賺下人生的第一桶金。但不管怎么樣,很高興有這么多人在關(guān)心和使用著LwIP,關(guān)注著嵌入式網(wǎng)絡(luò)的發(fā)展未來。電子版書籍發(fā)布至今,受到了諸多讀者的肯定和歡迎,筆者也收到了很多讀者郵件,大部分是關(guān)于協(xié)議棧移植、應(yīng)用編程等方面的問題。筆者也與很多讀者在網(wǎng)上有過面對(duì)面的交流,一直堅(jiān)信,相互學(xué)習(xí)與探討才是進(jìn)步的關(guān)鍵,他們的困惑與學(xué)習(xí)渴望讓我覺得自己應(yīng)該做更多的事情。其實(shí)網(wǎng)絡(luò)電子版并不完善,一次在和一個(gè)讀者偶然的聊天中,有了將這本書完善并出版的想法,“有價(jià)格的東西才會(huì)更有價(jià)值”,你可能會(huì)覺得這句話有錯(cuò)誤,但不管你信不信,我是信了(雖然馬克思經(jīng)濟(jì)學(xué)理論不是這樣說的)。在讀者、朋友及家人的鼓勵(lì)和支持下,筆者最終將想法付諸于實(shí)踐,一是為完成以前偷懶沒有完成的任務(wù),二是將廣大讀者使用過程中遇到的問題總結(jié)出來,以供大家借鑒?! 懕緯哪康目梢詺w納為三點(diǎn):第一,給需要使用LwIP的人一個(gè)借鑒和解決問題的方法,這也是當(dāng)初寫電子版的初衷;第二,也是最基礎(chǔ)的,寫給那些需要學(xué)習(xí)TCP/IP的同學(xué),TCP/IP的重要性就不在這里多說了,遙想筆者當(dāng)年畢業(yè)找工作之季,輾轉(zhuǎn)來回于各大公司的招聘面試場(chǎng)所,TCP/IP真的是各個(gè)面試官最青睞的問題,筆者也恰好因?yàn)樵谶@方面有著獨(dú)到的理解,因此順利拿下了國內(nèi)外眾多知名企業(yè)的offer,所以本書也想告訴那些正在努力的同學(xué),學(xué)習(xí)TCP/IP是絕對(duì)值得的,這是一條康莊大道;第三,也是最重要的,嵌入式網(wǎng)絡(luò)當(dāng)然離不開實(shí)踐,本書力求在講網(wǎng)絡(luò)協(xié)議之前,給學(xué)習(xí)嵌入式的同學(xué)一個(gè)基礎(chǔ)的、易上手的嵌入式學(xué)習(xí)過程,在此之后,讀者能在實(shí)驗(yàn)平臺(tái)上實(shí)際運(yùn)行、調(diào)試網(wǎng)絡(luò)應(yīng)用程序,更可以修改協(xié)議棧內(nèi)核,你改的每一行代碼都能在實(shí)驗(yàn)板上看出實(shí)際效果。 網(wǎng)絡(luò)編程大神們可以繞道了,這里沒有IPsec、沒有SSL、沒有并發(fā)服務(wù)器、沒有每秒上億次的服務(wù)請(qǐng)求,我們玩的是低端玩藝兒;神秘黑客們也可以繞道了,這里沒有系統(tǒng)漏洞、沒有文件系統(tǒng)、沒有賬號(hào)、玩不轉(zhuǎn)木馬,您都不屑于和我們較真。本書的使用者定位在嵌入式初學(xué)者、網(wǎng)絡(luò)初學(xué)者以及對(duì)LwIP應(yīng)用有興趣或疑問的同學(xué),你們一定可以在本書中找到想要的東西?! ”緯尘啊 CP/IP技術(shù)是目前最流行的IT技術(shù)之一,也是當(dāng)代互聯(lián)網(wǎng)及相關(guān)技術(shù)應(yīng)用、發(fā)展的基石。近年來,TCP/IP技術(shù)在各大高校儼然已成為學(xué)習(xí)和研究的熱點(diǎn),而另一方面,TCP/IP知識(shí)也成了各IT企業(yè)招聘時(shí)關(guān)注的重點(diǎn)問題。對(duì)于廣大TCP/IP初學(xué)者來說,要真正掌握并精通TCP/IP協(xié)議其實(shí)是有難度的:首先,TCP/IP是個(gè)非常龐大的協(xié)議族,其源代碼一般只存在于各個(gè)大型操作系統(tǒng)內(nèi)核中,協(xié)議的整體結(jié)構(gòu)對(duì)于使用者來說不可見,學(xué)習(xí)者只能使用系統(tǒng)內(nèi)部提供的API完成網(wǎng)絡(luò)編程功能,但對(duì)協(xié)議內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)并不明了,這樣TCP/IP的學(xué)習(xí)者只能停留在上層應(yīng)用,如Socket編程的層次,而事實(shí)上,了解協(xié)議內(nèi)部運(yùn)作細(xì)節(jié)是編寫高效可靠應(yīng)用程序的基礎(chǔ);其次,目前市場(chǎng)上針對(duì)TCP/IP的書籍較少,而與TCP/IP協(xié)議內(nèi)部機(jī)制相關(guān)的實(shí)驗(yàn)書籍就更加缺乏了,讀者只能從書本上學(xué)到一些關(guān)于TCP/IP的基礎(chǔ)理論知識(shí),但很難將這些理論用于實(shí)際編程實(shí)踐中,因?yàn)橄到y(tǒng)內(nèi)核對(duì)于讀者來說并不可見。 目前,嵌入式產(chǎn)品連入互聯(lián)網(wǎng)已成了越來越多企業(yè)關(guān)注的熱點(diǎn),這使得在嵌入式產(chǎn)品上移植TCP/IP協(xié)議成為一種必然的趨勢(shì)。LwIP是應(yīng)用于嵌入式領(lǐng)域的一款開源TCP/IP協(xié)議,它的實(shí)現(xiàn)同BSD的實(shí)現(xiàn)有很大的相似性,可以作為TCP/IP協(xié)議的典型代表,它的功能完備,除了實(shí)現(xiàn)TCP/IP的基本通信功能外,其新版本還支持DNS、SNMP、DHCP、IGMP等高級(jí)應(yīng)用功能。當(dāng)前網(wǎng)絡(luò)上關(guān)于LwIP的討論很多,但市場(chǎng)上卻鮮見相關(guān)書籍。 本書特點(diǎn) 理論與實(shí)踐結(jié)合,是本書編寫的一個(gè)重要出發(fā)點(diǎn),不但讓讀者掌握TCP/IP理論知識(shí),而且讓讀者通過實(shí)驗(yàn)深入地理解并運(yùn)用這些知識(shí),達(dá)到學(xué)以致用的目的。首先,整個(gè)協(xié)議棧對(duì)讀者來說全部可見,這樣讀者能對(duì)TCP/IP協(xié)議有宏觀的把握,擯棄掉TCP/IP以往神秘的面紗;本書以網(wǎng)絡(luò)數(shù)據(jù)包在協(xié)議棧內(nèi)部的遞交順序?yàn)榫帉憣?dǎo)向,思路明顯,條理清楚,語言精簡(jiǎn)幽默,更利于讀者對(duì)TCP/IP協(xié)議基本知識(shí)的理解;最后,本書內(nèi)容大部分建立在筆者開發(fā)經(jīng)驗(yàn)之上,其中包括了很多LwIP在實(shí)際應(yīng)用中遇到的問題及其解決方法,這對(duì)大部分剛接觸LwIP的嵌入式開發(fā)人員來說,具有很強(qiáng)的指導(dǎo)意義?! 「爬▉碇v,本書具有如下特點(diǎn): 延續(xù)了電子版的寫作手法,輕松詼諧的語言、簡(jiǎn)單直白的講解能讓讀者擺脫閱讀時(shí)的枯燥感覺,技術(shù)學(xué)習(xí)也可以很輕松?! f(xié)議與實(shí)現(xiàn)的完美結(jié)合。著眼于TCP/IP基本理論,以LwIP源代碼為基礎(chǔ),全面講解TCP/IP協(xié)議的原理與具體實(shí)現(xiàn),由于協(xié)議棧全部源代碼對(duì)讀者可見,因此TCP/IP不再神秘?! ±碚撆c實(shí)踐并重。對(duì)各層協(xié)議盡量提供實(shí)驗(yàn)例程或測(cè)試方法,簡(jiǎn)單的實(shí)驗(yàn)搭建環(huán)境,讀者能直觀感受到各層協(xié)議在嵌入式設(shè)備組網(wǎng)過程中的實(shí)際應(yīng)用,每個(gè)案例的開發(fā)步驟都以通俗易懂的語言闡述,并穿插必要的圖片和表格,學(xué)習(xí)TCP/IP不再是紙上談兵?! ∧康拿鞔_,實(shí)用性強(qiáng)。以嵌入式設(shè)備組網(wǎng)為目的,結(jié)合了筆者的大量實(shí)際開發(fā)經(jīng)驗(yàn),從系統(tǒng)啟動(dòng)代碼編寫到操作系統(tǒng)移植,從LwIP協(xié)議棧移植到網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì),內(nèi)容由淺入深,知識(shí)點(diǎn)覆蓋全面,特別適合于嵌入式初學(xué)人員?! wIP協(xié)議棧全部用C寫成,所有源代碼對(duì)讀者可見,讀者可以宏觀把握整個(gè)協(xié)議的代碼組織結(jié)構(gòu)。在本書中,通過在實(shí)驗(yàn)板上移植、使用協(xié)議棧,讀者可以清楚地知道TCP/IP協(xié)議內(nèi)部各個(gè)機(jī)制的實(shí)現(xiàn)方法以及不同參數(shù)設(shè)置對(duì)協(xié)議棧內(nèi)核性能的影響,例如:如何自行配置TCP發(fā)送超時(shí)間隔與重發(fā)次數(shù)以滿足特定場(chǎng)合的需求,又如可否根據(jù)實(shí)際使用情況更改TCP狀態(tài)機(jī)以提高內(nèi)核效率,再如可否自行構(gòu)建靜態(tài)ARP緩存表以提高協(xié)議棧響應(yīng)效率,等等。通過實(shí)驗(yàn),讀者可以清楚地看到整個(gè)協(xié)議的運(yùn)行過程,加深對(duì)協(xié)議的理解?! 〗M織結(jié)構(gòu) 本書以開源TCP/IP協(xié)議棧--LwIP的源代碼為基礎(chǔ),詳細(xì)為讀者講解TCP/IP協(xié)議的內(nèi)部各層結(jié)構(gòu)與實(shí)現(xiàn)細(xì)節(jié),既包括ARP、ICMP、IGMP、IP、UDP、TCP等基本協(xié)議知識(shí),也包括DHCP、DNS等高級(jí)應(yīng)用知識(shí),以LwIP為起點(diǎn)學(xué)習(xí)TCP/IP,將為廣大讀者各方面的學(xué)習(xí)創(chuàng)造捷徑。同時(shí),LwIP代碼組織和實(shí)驗(yàn)平臺(tái)搭建簡(jiǎn)單,讀者可以方便地進(jìn)行協(xié)議棧內(nèi)部的相關(guān)實(shí)驗(yàn),通過對(duì)平臺(tái)搭建過程的學(xué)習(xí),讀者也可以了解到許多嵌入式領(lǐng)域入門基礎(chǔ)知識(shí),如匯編程序、C編程基礎(chǔ)、編譯鏈接原理、嵌入式處理器、內(nèi)存管理、操作系統(tǒng)、任務(wù)管理、任務(wù)通信機(jī)制等。 TCP/IP技術(shù)是互聯(lián)網(wǎng)技術(shù)發(fā)展的基礎(chǔ),在各軟硬件IT企業(yè)招聘面試上,TCP/IP的知識(shí)成了面試官青睞的問題,對(duì)于廣大學(xué)子來說,精通TCP/IP相關(guān)知識(shí),無疑將為自己打開一道成功擇業(yè)的大門。但目前很多學(xué)者想學(xué)習(xí)TCP卻無處下手,這成了許多初學(xué)者面臨的問題,通過本書,不論是從宏觀還是細(xì)節(jié)上,讀者都可以對(duì)TCP/IP協(xié)議有很好的把握。另一方面,嵌入式設(shè)備組網(wǎng)技術(shù)是目前流行的技術(shù),LwIP由于開源免費(fèi)、功能齊全、性能優(yōu)越等特點(diǎn)成了嵌入式網(wǎng)絡(luò)領(lǐng)域使用的熱點(diǎn),本書將從裸機(jī)出發(fā),向讀者講解網(wǎng)絡(luò)協(xié)議棧移植過程以及應(yīng)用編程細(xì)節(jié),同時(shí)也包括了一些開發(fā)過程中常見的各種問題及解決方法,因此,對(duì)LwIP應(yīng)用開發(fā)者來說,本書將是一本重要的指導(dǎo)手冊(cè)?! 【幷吲c致謝 本書由朱升林著,粟思科審校。最后,筆者想感謝一年多以來一直陪伴和幫助我的人,沒有你們的幫助和付出,這本書不會(huì)這么順利的完成,因?yàn)槟銈兊拇嬖?,使得這段時(shí)光更加珍貴。同時(shí)參與本書編寫工作的人員還有:王治國、鐘曉林、王娟、胡靜、楊龍、張成林、方明、王波、陳小軍、雷曉、李軍華、陳曉云、方鵬、龍帆、劉亞航、凌云鵬、陳龍、曹淑明、徐偉、楊陽、張宇、劉挺、單琳、吳川、李鵬、李巖、朱榕、陳思濤和孫浩,在此一并表示感謝?! 「兄x對(duì)本書電子版提出過改進(jìn)建議和支持的眾多網(wǎng)友朋友,感謝笑迎冬風(fēng),感謝sailing,感謝關(guān)海山,還有2K100、Aimar、M刀、WISCO……,還有許多不能在這里一一列出名字的網(wǎng)友,謝謝你們的支持和肯定,與大家的探討也讓我學(xué)到了很多東西。 感謝我的父母和親友們,是你們的寬容和細(xì)心幫我克服了生活中的許多困難和難題,你們的默默支持和付出是我完成此書的最大動(dòng)力?! ∨涮追?wù) 我們?yōu)樽x者和用戶盡心服務(wù),圍繞協(xié)議、產(chǎn)品和項(xiàng)目市場(chǎng),探討應(yīng)用與發(fā)展,發(fā)掘熱點(diǎn)與重點(diǎn);開展相關(guān)教學(xué)工作。TCP/IP協(xié)議俱樂部QQ:183090495,電子郵件bojiakeji@tom.com,歡迎TCP/IP協(xié)議愛好者和用戶聯(lián)系?! ∮捎谧髡咚剿?,網(wǎng)絡(luò)技術(shù)也日新月異,本書難免存在錯(cuò)誤和不妥之處,懇請(qǐng)廣大讀者批評(píng)指證。共同探討,始終是學(xué)習(xí)的一種高效方式,值得指出的是,本書最后一節(jié)的LwIP常見問題與解決方法就得益于眾多網(wǎng)友的反饋,這里再次對(duì)他們表示感謝。
內(nèi)容概要
《嵌入式網(wǎng)絡(luò)那些事:LwIP協(xié)議深度剖析與實(shí)戰(zhàn)演練》面向網(wǎng)絡(luò)TCP/IP協(xié)議初學(xué)者以及大量嵌入式網(wǎng)絡(luò)開發(fā)人員,從當(dāng)下流行的嵌入式網(wǎng)絡(luò)協(xié)議棧LwIP的源代碼入手,詳細(xì)講解TCP/IP協(xié)議的各層機(jī)制及其實(shí)現(xiàn)原理。同時(shí),通過搭建簡(jiǎn)單的實(shí)驗(yàn)環(huán)境,還詳細(xì)闡述LwIP在嵌入式設(shè)備組網(wǎng)過程中的移植過程、應(yīng)用編程案例、編程框架、注意事項(xiàng)等?! ”緯梢宰鳛門CP/IP學(xué)習(xí)者的快速入門及精通的指導(dǎo)書籍,配以簡(jiǎn)易的實(shí)驗(yàn)平臺(tái)及專門的實(shí)驗(yàn)例程,讀者可以輕松學(xué)習(xí)TCP/IP協(xié)議內(nèi)的各種機(jī)制,通過實(shí)驗(yàn)驗(yàn)證,達(dá)到理論與實(shí)踐結(jié)合的目的;對(duì)于嵌入式初學(xué)者來說,本書具有相關(guān)的實(shí)驗(yàn)平臺(tái),通過對(duì)實(shí)驗(yàn)平臺(tái)的學(xué)習(xí)與使用,初學(xué)者能快速實(shí)現(xiàn)嵌入式入門;最后,本書可以作為廣大嵌入式網(wǎng)絡(luò)開發(fā)人員的參考手冊(cè)。
作者簡(jiǎn)介
朱升林,非著名碼農(nóng),法號(hào)及網(wǎng)名“老衲五木”,風(fēng)靡網(wǎng)絡(luò)的電子書《LwIP協(xié)議棧源碼詳解——TCP/IP協(xié)議的實(shí)現(xiàn)》作者。對(duì)TCP/IP有豐富的實(shí)踐經(jīng)驗(yàn)和深入獨(dú)到的理解,長(zhǎng)期從事物聯(lián)網(wǎng)熱點(diǎn)技術(shù)如ZigBee,Wifi,HFRFID,UHF RFID的研究與應(yīng)用。目前在國內(nèi)某知名通信公司從事軟件研發(fā)工作。
書籍目錄
本書之What&Why 第1章故事前傳 1.1背景知識(shí) 1.1.1嵌入式網(wǎng)絡(luò)概述 1.1.2寫作背景 1.1.3幾個(gè)疑問 1.2TCP/lP掃盲班 1.2.1OSI模型 1.2.2TCP/IP協(xié)議 1.2.3OSI模型VSTCP/IP模型 l.2.4嵌入式TcP/IP協(xié)議棧 l.3旅行集結(jié)號(hào) 1.3.1實(shí)驗(yàn)環(huán)境說明 1.3.2本書內(nèi)容概述 1.3.3一起出發(fā) 第2章有備而無患 2.1傳說中的ARM微處理器 2.1.1背景知識(shí) 2.1.2存儲(chǔ)器組織結(jié)構(gòu) 2.1.3指令系統(tǒng) 2.1.4數(shù)據(jù)類型與存儲(chǔ)格式 2.1.5處理器狀態(tài)與處理器模式 2.1.6寄存器組織 2.1.7異常處理 2.2S3C344BOX初體驗(yàn) 2.2.1簡(jiǎn)介 2.2.2存儲(chǔ)管理器 2.2.3中斷控制器 2.2.4其他模塊 2.3ARM匯編真經(jīng) 2.3.1簡(jiǎn)介 2.3.2ARM指令集編碼格式 2.3.3ARM尋址方式 2.3.4ARM指令集簡(jiǎn)介 2.3.5ARM匯編語言 第3章讓板子跑起來 3.1ARM開發(fā)工具 3.1.1ADS簡(jiǎn)介 3.1.2ARM匯編器 3.1.3ARM編譯器 3.1.4ARM連接器 3.2程序的調(diào)試 3.2.1幾種調(diào)試方式 3.2.2AXD調(diào)試器 3.2.3ARMulator的使用 3.3編寫啟動(dòng)代碼 3.3.1開發(fā)板結(jié)構(gòu) 3.3.2啟動(dòng)代碼講解 3.3.3幾個(gè)測(cè)試程序 第4章快馬加鞭 4.1嵌入式實(shí)時(shí)操作系統(tǒng) 4.1.1概述 4.1.2uc/OS—Ⅱ的文件結(jié)構(gòu) 4.1.3uc/OS—Ⅱ中的任務(wù) 4.1.4就緒任務(wù)的管理 4.1.5任務(wù)堆棧 4.2移植uc/OS—Ⅱ?qū)崟r(shí)操作系統(tǒng) 4.2.1概述 4.2.2編寫OS CPU.H 4.2.3 編寫OS CPU C.C 4.2.4編寫OS CPU A.S 4.3測(cè)試程序 4.3.1 系統(tǒng)時(shí)鐘 4.3.2第一個(gè)測(cè)試程序 4.3.3第二個(gè)測(cè)試程序 第5章無操作系統(tǒng)模擬層LwIP的移植 5.1 LwIP綜述 5.1.1 簡(jiǎn)介 5.1.2用SI閱讀源代碼 5.2移植工作 5.2.1移植頭文件 5.2.2 RTL8019AS網(wǎng)卡 5.2.3編寫網(wǎng)卡驅(qū)動(dòng)程序 5.3測(cè)試程序 5.3.1協(xié)議棧初始化 5.3.2數(shù)據(jù)包的查詢接收 5.3.3數(shù)據(jù)包的中斷接收 5.3.4一個(gè)簡(jiǎn)單的TCP服務(wù)器 5.3.5移植小結(jié) 第6章動(dòng)態(tài)內(nèi)存管理 6.1背景知識(shí) 6.1.1內(nèi)存管理概述 6.1.2常見內(nèi)存分配策略 6.2動(dòng)態(tài)內(nèi)存池 6.2.1數(shù)據(jù)結(jié)構(gòu)描述 6.2.2函數(shù)實(shí)現(xiàn) 6.3動(dòng)態(tài)內(nèi)存堆 6.3.1數(shù)據(jù)結(jié)構(gòu)描述 6.3.2 函數(shù)實(shí)現(xiàn) 6.4其他內(nèi)存分配策略 第7章數(shù)據(jù)包管理 7.1 預(yù)備知識(shí) 7.1.1 LwIP的分層特點(diǎn) 7.1.2協(xié)議進(jìn)程模型 7.2數(shù)據(jù)包管理 7.2.1數(shù)據(jù)包結(jié)構(gòu)pbuf 7.2.2 pbuf的類型 7.2.3數(shù)據(jù)包申請(qǐng)函數(shù) 7.2.4數(shù)據(jù)包釋放函數(shù) 7.2.5其他數(shù)據(jù)包操作函數(shù) 第8章網(wǎng)絡(luò)接口管理 8.1 引言 8.2網(wǎng)絡(luò)接口結(jié)構(gòu) 8.2.1 數(shù)據(jù)結(jié)構(gòu) 8.2.2函數(shù)實(shí)現(xiàn) 8.3環(huán)回接口 8.3.1相關(guān)函數(shù) 8.3.2實(shí)驗(yàn)程序 第9章ARP協(xié)議 9.1 ARE協(xié)議簡(jiǎn)介 9.1.1物理地址與網(wǎng)絡(luò)地址 9.1.2 ARP協(xié)議的本質(zhì) 9.2數(shù)據(jù)結(jié)構(gòu) 9.2.1 ARP表 9.2.2 ARP報(bào)文 9.3 ALRP層數(shù)據(jù)包輸入 9.3.1 以太網(wǎng)數(shù)據(jù)包遞交 9.3.2 APE數(shù)據(jù)包處理 9.3.3 ARP攻擊 9.3.4 ARP緩存表的更新 9.4 ARP層數(shù)據(jù)包輸出 9.4.1 ARP層數(shù)據(jù)處理總流程 …… 第10章網(wǎng)際協(xié)議 第11章網(wǎng)際控制報(bào)文協(xié)議 第12章用戶數(shù)據(jù)報(bào)協(xié)議 第13章傳輸控制協(xié)議 第14章移植操作系統(tǒng)模擬層 第15章用戶編程接口 第16章最后的戰(zhàn)役 參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 對(duì)于一個(gè)路由器或主機(jī),當(dāng)它接收到一個(gè)數(shù)據(jù)包時(shí),若要判斷發(fā)送數(shù)據(jù)包的源主機(jī)與自己是否處于同一個(gè)網(wǎng)絡(luò)內(nèi),可以將源IP地址與子網(wǎng)掩碼進(jìn)行與運(yùn)算,即得到源主機(jī)所處的網(wǎng)絡(luò)地址。同樣,將它自己的IP地址與子網(wǎng)掩碼進(jìn)行與運(yùn)算,得到自己所處的網(wǎng)絡(luò)地址,如果這兩個(gè)網(wǎng)絡(luò)地址相同,則可以判斷出發(fā)送方與它自己處于同一個(gè)網(wǎng)絡(luò)。注意,子網(wǎng)掩碼不能單獨(dú)存在,它必須結(jié)合IP地址一起使用,子網(wǎng)掩碼只有一個(gè)作用,就是將某個(gè)IP地址劃分為網(wǎng)絡(luò)號(hào)(包括子網(wǎng)號(hào))和主機(jī)號(hào)兩部分。 10.1.5網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT) 隨著Internet的迅速發(fā)展,IP地址短缺現(xiàn)象已成為一個(gè)十分突出的問題。在ISP那里,即使是擁有幾百臺(tái)計(jì)算機(jī)的大型企業(yè),當(dāng)他們申請(qǐng)IP地址時(shí),得到的也不過只有幾個(gè)或十幾個(gè)IP地址。 顯然,這樣少的IP地址根本無法滿足企業(yè)內(nèi)部大量用戶的需求,為了解決這個(gè)問題,出現(xiàn)了多種方案。其中,最流行也是最有效的就是目前使用的局域網(wǎng)技術(shù),事實(shí)上,局域網(wǎng)本質(zhì)上屬于專用網(wǎng)的一種類型,專用網(wǎng)被用在機(jī)構(gòu)內(nèi)部使用,它允許機(jī)構(gòu)內(nèi)部訪問共同的資源,但卻對(duì)外部網(wǎng)絡(luò)屏蔽了內(nèi)部網(wǎng)絡(luò)的結(jié)構(gòu)和主機(jī)信息,大大提高了內(nèi)部主機(jī)的安全性。通常在一個(gè)企業(yè)能夠申請(qǐng)到的合法網(wǎng)絡(luò)IP地址很少,但其內(nèi)部網(wǎng)絡(luò)用戶很多的情況下,使用專用網(wǎng)可以實(shí)現(xiàn)多個(gè)用戶同時(shí)公用一個(gè)合法IP地址與外部網(wǎng)絡(luò)進(jìn)行通信。在專用網(wǎng)內(nèi)部,用戶可以使用如表10.2所示的專用IP地址進(jìn)行相互間的通信。 我們用以太網(wǎng)局域網(wǎng)為例,看看這個(gè)專用網(wǎng)是如何實(shí)現(xiàn)多個(gè)用戶公用一個(gè)IP地址與外部網(wǎng)絡(luò)進(jìn)行通信的,這里涉及一個(gè)很重要的技術(shù),叫做網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)。通常,企業(yè)內(nèi)部使用的局域網(wǎng)路由器都是具有NAT功能的,具有NAT功能的路由器至少要有一個(gè)內(nèi)部端口和一個(gè)外部端口,內(nèi)部端口是路由器為了與局域網(wǎng)內(nèi)的用戶通信而使用的,它使用一個(gè)內(nèi)部專用IP地址,例如常見的路由器內(nèi)部IP地址可以為192.168.1.1;外部端口是路由器用來與外部網(wǎng)絡(luò)通信用的,它通常具有一個(gè)有效的IP地址,假設(shè)為一個(gè)有效的C類地址222.197.179.21。 NAT的功能可簡(jiǎn)單描述為:當(dāng)內(nèi)部網(wǎng)絡(luò)用戶連接互聯(lián)網(wǎng)時(shí),NAT將用戶的內(nèi)部IP地址轉(zhuǎn)換成一個(gè)外部公共IP地址,反之,數(shù)據(jù)從外部返回時(shí),NAT將目的地址替換成用戶的內(nèi)部IP地址。 NAT實(shí)現(xiàn)的方式有很多種,但是其中使用最廣泛也是最有效的方式稱為端口多路復(fù)用,它基于TCP或UDP協(xié)議端口號(hào)以及IP地址來實(shí)現(xiàn)NAT功能。
編輯推薦
《嵌入式網(wǎng)絡(luò)那些事:LwIP協(xié)議深度剖析與實(shí)戰(zhàn)演練》可以作為TCP/IP學(xué)習(xí)者的快速入門及精通的指導(dǎo)書籍,配以簡(jiǎn)易的實(shí)驗(yàn)平臺(tái)及專門的實(shí)驗(yàn)例程,讀者可以輕松學(xué)習(xí)TCP/IP協(xié)議內(nèi)的各種機(jī)制,通過實(shí)驗(yàn)驗(yàn)證,達(dá)到理論與實(shí)踐結(jié)合的目的;對(duì)于嵌入式初學(xué)者來說,《嵌入式網(wǎng)絡(luò)那些事:LwIP協(xié)議深度剖析與實(shí)戰(zhàn)演練》具有相關(guān)的實(shí)驗(yàn)平臺(tái),通過對(duì)實(shí)驗(yàn)平臺(tái)的學(xué)習(xí)與使用,初學(xué)者能快速實(shí)現(xiàn)嵌入式入門;最后,《嵌入式網(wǎng)絡(luò)那些事:LwIP協(xié)議深度剖析與實(shí)戰(zhàn)演練》可以作為廣大嵌入式網(wǎng)絡(luò)開發(fā)人員的參考手冊(cè)。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載