



全文預覽已結束
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
這個tcp/ip的教程時主要是考慮到現(xiàn)在的網際網路幾乎全都是基于tcp/ip協(xié)議的,所以我們應該明白的一點就是這個tcp/ip的架構究竟是什么?它怎樣為我們服務。它成為被稱作“全球互聯(lián)網”或“因特網(Internet)”的基礎,能夠將絕大部分的計算機連接起來,不管你用什么操作系統(tǒng),可見tcp/ip體系是本世紀互聯(lián)網發(fā)展的根本基石。對于網絡程序員來說;了解tcp/ip的機理,可以有構造任何網絡應用程序的基本要素,什么winsocket,串口通訊等等甚至木馬,你都會迎刃而解。 一 首先說說網絡協(xié)議的層次,網絡協(xié)議通常分不同層次進行開發(fā),每一層分別負責不同的通信功能。一個協(xié)議族,比如T C P / I P,是一組不同層次上的多個協(xié)議的組合。 (1) 鏈路層,有時也稱作數(shù)據(jù)鏈路層或網絡接口層,通常包括操作系統(tǒng)中的設備驅動程序和計算中對應的網絡接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細節(jié)。 (2) 網絡層,有時也稱作互聯(lián)網層,處理分組在網絡中的活動,例如分組的選路。在T C P / I P協(xié)議族中,網絡層協(xié)議包括I P協(xié)議(網際協(xié)議),I C M P協(xié)議(I n t e r n e t互聯(lián)網控制報文協(xié)議),以及I G M P協(xié)議(I n t e r n e t組管理協(xié)議)。 (3)運輸層,主要為兩臺主機上的應用程序提供端到端的通信。在T C P / I P協(xié)議族中,有兩個互不相同的傳輸協(xié)議: T C P(傳輸控制協(xié)議)和U D P(用戶數(shù)據(jù)報協(xié)議)。T C P為兩臺主機提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網絡層,確認接收到的分組,設置發(fā)送最后確認分組的超時時鐘等。由于運輸層提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些細節(jié)。而另一方面, U D P則為應用層提供一種非常簡單的服務。它只是把稱作數(shù)據(jù)報的分組從一臺主機發(fā)送到另一臺主機,但并不保證該數(shù)據(jù)報能到達另一端。任何必需的可靠性必須由應用層來提供。 應用層 Telnet、FTP和e-mail等 運輸層 TCP和UDP 網絡層 IP、ICMP和IGMP 鏈路層 設備驅動程序及接口卡 (4)應用層,負責處理特定的應用程序細節(jié)。幾乎各種不同的T C P / I P實現(xiàn)都會提供下面這些通用的應用程序:?Telnet 遠程登錄,F(xiàn)TP 文件傳輸協(xié)議,SMTP 簡單郵件傳送協(xié)議,SNMP 簡單網絡管理協(xié)議,現(xiàn)在想要給大家說的是大多數(shù)的網絡應用程序都被設計成客戶服務器模式在同一層上,雙方都有對應的一個或多個協(xié)議進行通信。例如,某個協(xié)議允許T C P層進行通信,而另一個協(xié)議則允許兩個I P層進行通信。 這里實際上就是說應用層本身本不注意數(shù)據(jù)的傳遞和交換,它一般只是一個用戶進程,而上面我提到的運輸層及其以下的三層的目的就是處理通信的過程,他們不管你應用程序的事,分工明確。二 還有一個概念問題,我們平時所聽到的諸如tcp,ip,ftp等等,實際上協(xié)議本身是獨立的,tcp是運輸層協(xié)議,ip是網絡層協(xié)議T C P / I P協(xié)議族是一組不同的協(xié)議組合在一起構成的協(xié)議族。盡管通常稱該協(xié)議族為T C P / I P,但T C P和I P只是其中的兩種協(xié)議而已(該協(xié)議族的另一個名字是I n t e r n e t協(xié)議族(Internet Protocol Suite))網絡接口層和應用層的目的是很顯然的前者處理有關通信媒介的細節(jié)(以太網、令牌環(huán)網等),而后者處理某個特定的用戶應用程序( F T P、Te l n e t等)。但是,從表面上看,網絡層和運輸層之間的區(qū)別不那么明顯。 構造互連網最簡單的方法是把兩個或多個網絡通過路由器進行連接。它是一種特殊的用于網絡互連的硬件盒。路由器的好處是為不同類型的物理網絡提供連接:以太網、令牌環(huán)網、點對點的鏈接和F D D I(光纖分布式數(shù)據(jù)接口)等等。這些盒子也稱作I P路由器(IP Router),但我們這里使用路由器( R o u t e r )這個術語。 從歷史上說,這些盒子稱作網關( g a t e w a y),在很多T C P / I P文獻中都使用這個術語。 現(xiàn)在網關這個術語只用來表示應用層網關:一個連接兩種不同協(xié)議族的進程(例如,TCP/IP和IBM的SNA),它為某個特定的應用程序服務(常常是電子郵件或文件傳輸)。在T C P / I P協(xié)議族中,網絡層I P提供的是一種不可靠的服務。也就是說,它只是盡可能快地把分組從源結點送到目的結點,但是并不提供任何可靠性保證。而另一方面, T C P在不可靠的I P層上提供了一個可靠的運輸層。為了提供這種可靠的服務, T C P采用了超時重傳、發(fā)送和接收端到端的確認分組等機制。由此可見,運輸層和網絡層分別負責不同的功能。至于那些機制是如何工作的,我也是肯定不知道的,呵呵,有電信學方面愛好的朋友可以深入研究一下。 三 這里又有一個新概念:multihomed,任何具有多個接口的系統(tǒng),英文都稱作是多接口的。你也許和我一樣會問:我們的主機也是多接口的,可以作router嗎?我們一個主機也可以有多個接口,但一般不稱作路由器, 除非它的功能只是單純地把分組從一個接口傳送到另一個接口。同樣,路由器并不一定指那種在互聯(lián)網中用來轉發(fā)分組的特殊硬件盒。大多數(shù)的T C P / I P實現(xiàn)也允許一個多接口主機來擔當路由器的功能,但是主機為此必須進行特殊的配置。在這種情況下,我們既可以稱該系統(tǒng)為主機(當它運行某一應用程序時,如F T P或Te l n e t),也可以稱之為路由器(當它把分組從一個網絡轉發(fā)到另一個網絡時),在不同的場合下使用不同的術語。 然后我說說網橋,連接網絡的另一個途徑是使用網橋。網橋是在鏈路層上對網絡進行互連,而路由器則是在網絡層上對網絡進行互連。網橋使得多個局域網( L A N)組合在一起,這樣對上層來說就好像是一個局域網。四 TCP /IP傾向于使用路由器而不是網橋來連接網絡,因此我們將著重介紹路由器,其實主要是資料一般比較注重講這個,我也不能省啊,了解的朋友不要打瞌睡。T C P和U D P是兩種最為著名的運輸層協(xié)議,二者都使用I P作為網絡層協(xié)議。雖然T C P使用不可靠的I P服務,但它卻提供一種可靠的運輸層服務。I P是網絡層上的主要協(xié)議,同時被T C P和U D P使用。T C P和U D P的每組數(shù)據(jù)都通過端系統(tǒng)和每個中間路由器中的I P層在互聯(lián)網中進行傳輸。I C M P是I P協(xié)議的附屬協(xié)議。I P層用它來與其他主機或路由器交換錯誤報文和其他重要信息。I C M P是I P協(xié)議的附屬協(xié)議。I P層用它來與其他主機或路由器交換錯誤報文和其他重要信息。大家先對這些協(xié)議有一個印象,以后我們再繼續(xù)探討。 關于ip地址,我想不應該多說了吧,I P地址長32 bit,我們平時說ip有三類地址格式,實際上一共有五類:前三類我就不說了,最基本的,現(xiàn)在說說d類和e類。 d:1 1 1 0 然后是28位的多播組號 e:1 1 1 1 0 后面27位留待后用 這些3 2位的地址通常寫成四個十進制的數(shù),其中每個整數(shù)對應一個字節(jié)。這種表示方法稱作“點分十進制表示法( Dotted decimal notation)”。需要再次指出的是,多接口主機具有多個I P地址,其中每個接口都對應一個I P地址。 由于互聯(lián)網上的每個接口必須有一個唯一的I P地址,因此必須要有一個管理機構為接入互聯(lián)網的網絡分配I P地址。這個管理機構就是互聯(lián)網絡信息中心( Internet Network InformationC e n t r e),稱作I n t e r N I C。I n t e r N I C只分配網絡號。主機號的分配由系統(tǒng)管理員來負責。有三類I P地址:單播地址(目的為單個主機)、廣播地址(目的端為給定網絡上的所有主機)以及多播地址(目的端為同一組內的所有主機),不同于上面的分類方法了。 五 域名解析系統(tǒng)(dns):盡管通過I P地址可以識別主機上的網絡接口,進而訪問主機,但是人們最喜歡使用的還是主機名。在T C P / I P領域中,域名系統(tǒng)( D N S)是一個分布的數(shù)據(jù)庫,由它來提供I P地址和機名之間的映射信息。六 現(xiàn)在說說tcp/ip的封裝:當應用程序用T C P傳送數(shù)據(jù)時,數(shù)據(jù)被送入協(xié)議棧中,然后逐個通過每一層直到被當作一串比特流送入網絡。其中每一層對收到的數(shù)據(jù)都要增加一些首部信息(有時還要增加尾部信息),T C P傳給I P的數(shù)據(jù)單元稱作T C P報文段或簡稱為T C P段(T C Ps e g m e n t)。I P傳給網絡接口層的數(shù)據(jù)單元稱作I P數(shù)據(jù)報(IP datagram)。通過以太網傳輸?shù)谋忍亓鞣Q作幀(Fr a m e )。 更準確地說,I P和網絡接口層之間傳送的數(shù)據(jù)單元應該是分組( p a c k e t)。我覺得也可以認為是數(shù)據(jù)包。分組既可以是一個I P數(shù)據(jù)報,也可以是I P數(shù)據(jù)報的一個片(f r a g m e n t),我認為這是最合理而仔細的解釋了,而有些國內的資料在這里是籠統(tǒng)的。 U D P數(shù)據(jù)與T C P數(shù)據(jù)基本一致。唯一的不同是U D P傳給I P的信息單元稱作U D P數(shù)據(jù)報(UDP datagram),而且U D P的首部長為8字節(jié)。由于T C P、U D P、I C M P和I G M P都要向I P傳送數(shù)據(jù),因此I P必須在生成的I P首部中加入某種標識,以表明數(shù)據(jù)屬于哪一層。為此, I P在首部中存入一個長度為8 b i t的數(shù)值,稱作協(xié)議域。1表示為I C M P協(xié)議, 2表示為I G M P協(xié)議, 6表示為T C P協(xié)議, 1 7表示為U D P協(xié)議。類似地,許多應用程序都可以使用T C P或U D P來傳送數(shù)據(jù)。運輸層協(xié)議在生成報文首部時要存入一個應用程序的標識符。T C P和U D P都用一個1 6 b i t的端口號來表示不同的應用程序。T C P和U D P把源端口號和目的端口號分別存入報文首部中。網絡接口分別要發(fā)送和接收I P、A R P和R A R P數(shù)據(jù),因此也必須在以太網的幀首部中加入某種形式的標識,以指明生成數(shù)據(jù)的網絡層協(xié)議。為此,以太網的幀首部也有一個16 bit的幀類型域。 七 現(xiàn)在我們講一下什么叫做分用,分用其實就是一個數(shù)據(jù)傳遞的過程。這樣的一個數(shù)據(jù)傳遞是逆過程的,數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時去掉各層協(xié)議加上的報文首部。每層協(xié)議盒都要去檢查報文首部中的協(xié)議標識,以確定接收數(shù)據(jù)的上層協(xié)議。這個過程稱作分用( D e m u l t i p l e x i n g)。 這樣大家也好看得更明白一些。不知細心的朋友看到沒有,在這里的igmp和icmp定位,實際上他們都是被封裝在數(shù)據(jù)包中的,與ip位于同一層,是ip的從屬協(xié)議,這里不要混淆了。 我在開始就講過:大部分的網絡應用程序都是被設計成客戶端和服務器端的這種模型。具體為什么我也不知道,有點抽象:為了適應某些特定的服務。可以將這種服務分為兩種類型:重復型或并發(fā)型。重復型服務器通過以下步驟進行交互:重復型服務器通過以下步驟進行交互: I1. 等待一個客戶請求的到來。 I2. 處理客戶請求。 I3. 發(fā)送響應給發(fā)送請求的客戶。 并發(fā)型服務器采用以下步驟: C1. 等待一個客戶請求的到來。 C2. 啟動一個新的服務器來處理這個客戶的請求。在這期間可能生成一個新的進程、任務或線程,并依賴底層操作系統(tǒng)的支持。這個步驟如何進行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司組織團日活動方案
- 公司熒光夜跑活動方案
- 公司疫情理發(fā)活動方案
- 公司溫情環(huán)節(jié)活動方案
- 公司激勵經銷商活動方案
- 公司新年娛樂活動方案
- 公司活動創(chuàng)新活動方案
- 公司線上中秋節(jié)活動方案
- 公司月主體研討活動方案
- 公司紀念畫冊策劃方案
- 醫(yī)學高級職稱評審答辯報告PPT模板
- 《緩解新入園幼兒焦慮策略的研究》課題結題材料(開題報告、中期報告、結題報告、調查問卷、課題論文)
- 健康生活方式基本的知識講座
- 消防管理檢查評分表
- 制造執(zhí)行系統(tǒng)SMT MES解決方案
- 高二區(qū)域地理 撒哈拉以南的非洲課件
- 數(shù)字化精密加工車間項目可行性研究報告建議書
- 2022年《內蒙古自治區(qū)建設工程費用定額》取費說明
- Q∕GDW 10799.6-2018 國家電網有限公司電力安全工作規(guī)程 第6部分:光伏電站部分
- 寧波市建設工程資料統(tǒng)一用表(2022版)1 通用分冊
- 危險化學品安全技術說明書MSDS—汽油
評論
0/150
提交評論