查看全部128種考試
軟件水平考試
 考試動態(tài) 報考指南 歷年真題 模擬試題 復習資料 心得技巧 專業(yè)英語 技術文章 軟考論壇 考試用書
 程序員 軟件設計師 網絡管理員 網絡工程師 系統(tǒng)分析師 數據庫系統(tǒng)工程師
1
2
3
4
5
6
7
8
9
10
xihuyu2000  
【字體: TCP/IP協(xié)議的底三層介紹
TCP/IP協(xié)議的底三層介紹
spks.exam8.com 來源:百靈在線 更新:2005-5-11 23:21:00 軟件水平考試 考試論壇

    2: TCP/IP.真實世界的模型

    上一講里面我們說過OSI 7層模型只是一個理論模型,而實際中只需要保證7層的功能能夠實現,實際分層無需按照7層來分.而且如果真的分7層.那么數據處理的速度便要慢許多.

    在實際應用中.使用最多的便是DoD模型.也成為TCP/IP協(xié)議簇

    DoD模型(Department Of Defanse Model 美國國防部模型)顧名思義,是美國國防部設計的一個網絡模型.最早用于ARPANET.這些話可能在許多教材的第一章就會講了.但是一般教材對于DoD模型與OSI模型對應關系都沒有講到.或者很多是模糊或者錯誤的.

    在這里我就要描述一下2者對應關系.OSI模型有7層我們已經知道了,而DoD模型則只有4層.下面是對應關系

    OSI                                  DoD
7.Application     ┐     
6.Presentation   |->       4. Application/Process
5.Session         ┘     
4.Transport       --->       3. Host to Host
3.Network        --->       2. Internet
2.Data Link      ┬->       1. Network Access
1.Physical        ┘

    由于我不會制表符.所以圖有些難看.其實就是OSI的1.2層對應DoD的第1層,OSI的5.6.7對應DoD的第4層

    其實這個還是比較容易記憶的

    由于物理層和數據鏈路層非常密切.所以分為一個.然后上面依次對應,最上面的一大塊成為應用層(處理層)

    現在我們有了一個可用的實際模型了.不過一般我們在描述某個設備或者協(xié)議的時候.還是會使用OSI的模型,比如我們在討論SWITCH的時候,就會說他是一個2層的設備.而路由器是一個3層的設備,還會有一些特殊的設備,比如3層交換機,4層交換機.這些都是使用OSI模型進行分類的.這點大家不要搞混淆了.

    我們一直聽說TCP或者UDP.還有什么SMTP.POP3.這些協(xié)議到底是在哪一層定義的那?接下來的一張圖會給大家一個非常清晰的概念了(不能算是圖拉 :D ).

    4. APPLICATION

    HTTP,FTP,telnet,SNMP,SMTP,POP3,DNS等等

    3.Host to Host

    TCP,UDP

    2.internet

    ICMP,ARP,RARP,IP

    1.Network Access

    Ethernet,FastEthernet,Token Ring等等

    恩...這下清楚了.讓我們從下至上來看看

    首先是最下層的.包括了以太網,快速以太網,還有現在的千M以太網等等的協(xié)議,這些協(xié)議規(guī)定了線纜的絞數.連接方式等等物理層的東西.還有底層使用MAC通訊的方式等等.

    接下來是IP.ARP這些.IP在OSI模型的時候也說過.通過IP地址.我們在轉發(fā)包的時候無需知道具體目標機的位置.而路由器自然會根據路由表來轉發(fā).最后一站一站的慢慢傳遞.達到最終目標.而ARP協(xié)議就是在IP和MAC之間轉換用的.

    我在上一章提過,由于有了路由器,IP,整個網絡才真正能夠覆蓋全球.所以這一層叫做internet大家也應該容易記憶了.

    WOW.TCP,UDP是我們聽說最多的了.他是屬于控制網絡連接的.在OSI稱為Transport.傳輸層.在DoD內是Host to Host 端對端.意思其實是一樣的.就是在在2臺計算機之間構建出一個虛擬的通訊通道來.

    最上面一層就無窮無盡了.所有的最終應用層的東西都在這里,你甚至可以定義你自己的協(xié)議類型.這些都是完全可以的.因為本身這一層就是提供給開發(fā)人員自行發(fā)揮的.只是上面列舉的都經過標準化了.

    TCP包頭結構

源端口 16位
目標端口  16位
序列號  32位
回應序號  32位
TCP頭長度  4位
reserved 6位
控制代碼 6位
窗口大小 16位
偏移量 16位
校驗和 16位
選項   32位(可選)

    這樣我們得出了TCP包頭的最小大小.就是20字節(jié).

UDP包頭結構
源端口 16位
目的端口 16位
長度  16位
校驗和  16位

    恩...UDP的包小很多.確實如此.因為UDP是非可靠連接.設計初衷就是盡可能快的將數據包發(fā)送出去.所以UDP協(xié)議顯得非常精簡.

    有一個問題,似乎這些頭里面怎么沒有IP地址啊.沒有IP地址這些包往哪里發(fā)送那?

    對.你觀察的很仔細.TCP和UDP的頭里面確實沒有任何IP信息.我們回頭想一下TCP和UDP是屬于DoD的哪一層的? 對了!是第3層. 而IP則位于模型的第二層.也就是他們兩者雖然有聯系.但是不屬于同一層.

    模型的一個重要規(guī)則就是.當發(fā)送端發(fā)送一個數據,上一層將數據傳往下一層的時候.上一層的包就成為了下一層包的數據部分.

    而到接受端接受到數據.下一層將本層的頭部信息去掉后交給上一層去處理.

    那么我們來看看實際例子:

    假使我們通過SMTP協(xié)議發(fā)送數據AAA到另外一段.那么數據先會被加上SMTP的頭.成為[SMTP]AAA.往下發(fā)送到TCP層.成為[TCP][SMTP]AAA.再往下送到internet層[IP][TCP][SMTP]AAA.然后成為[MAC][IP][TCP][SMTP]AAA

    這樣通過enternet或者FastEnternet發(fā)送到路由器.路由器得到后替換自己的MAC地址上去.傳到下一級的路由器.這樣經過長途跋涉.最終這個數據流到達目標機.

    目標機先從下面一層開始.去掉MAC,成為[IP][TCP][SMTP]AAA往上到IP層,恩,比對后是發(fā)送給我這個IP的.去掉,成為[TCP][SMTP]AAA.TCP接到了查看校驗和,沒錯.往上[SMTP]AAA.最后SMTP協(xié)議去解釋.得到了AAA.

    萬里長征終于結束.我們也將AAA發(fā)送到了目標機.大家也應該明白了為何TCP包頭和UDP包頭里面沒有IP地址那?因為IP位于他們下面一層.TCP和UDP的包頭信息是作為IP包的數據段來傳送的.

    IP層可不管那許多.他只管他那層的協(xié)議,也就是管把從上面層來的數據加上自己的頭,傳到下面一層.把從下面一層來的數據去掉頭.傳到上面一層.

    每層都是這么干的.完美的契合完成了數據包的最終旅程.

上一頁  [1] [2] 

轉帖于:軟件水平考試_考試吧
文章搜索  
看了本文的網友還看了:
軟件水平考試權威輔導教材: 訂書電話:010-62168566  更多>>>
網友評論
昵 稱: *  評 分: 1分 2分 3分 4分 5分
標題:   匿名發(fā)表    (共有條評論)查看全部評論>>
版權聲明 -------------------------------------------------------------------------------------
  如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
關于本站  網站聲明  廣告服務  聯系方式  付款方式  站內導航  客服中心  友情鏈接  考試論壇  網站地圖
Copyright © 2004-2008 考試吧軟件水平考試網 All Rights Reserved    
中國科學院研究生院權威支持(北京) 電 話:010-62168566 傳 真:010-62192699
百度大聯盟黃金認證  十佳網絡教育機構  經營許可證號:京ICP060677