国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

關(guān)于Tcp及Ip協(xié)議

這個(gè)tcp/ip的教程時(shí)主要是考慮到現(xiàn)在的網(wǎng)際網(wǎng)路幾乎全都是基于tcp/ip協(xié)議的,所以我們應(yīng)該明白的一點(diǎn)就是這個(gè)tcp/ip的架構(gòu)究竟是什么?它怎樣為我們服務(wù)。它成為被稱作“全球互聯(lián)網(wǎng)”或“因特網(wǎng)(

這個(gè)tcp/ip的教程時(shí)主要是考慮到現(xiàn)在的網(wǎng)際網(wǎng)路幾乎全都是基于tcp/ip協(xié)議的,所以我們應(yīng)該明白的一點(diǎn)就是這個(gè)tcp/ip的架構(gòu)究竟是什么?它怎樣為我們服務(wù)。它成為被稱作“全球互聯(lián)網(wǎng)”或“因特網(wǎng)(Internet)”的基礎(chǔ),能夠?qū)⒔^大部分的計(jì)算機(jī)連接起來,不管你用什么操作系統(tǒng),可見tcp/ip體系是本世紀(jì)互聯(lián)網(wǎng)發(fā)展的根本基石。對(duì)于網(wǎng)絡(luò)程序員來說;了解tcp/ip的機(jī)理,可以有構(gòu)造任何網(wǎng)絡(luò)應(yīng)用程序的基本要素,什么winsocket ,串口通訊等等甚至木馬,你都會(huì)迎刃而解。

首先說說網(wǎng)絡(luò)協(xié)議的層次,網(wǎng)絡(luò)協(xié)議通常分不同層次進(jìn)行開發(fā),每一層分別負(fù)責(zé)不同的通信功能。一個(gè)協(xié)議族,比如T C P / I P,是一組不同層次上的多個(gè)協(xié)議的組合。

(1) 鏈路層,有時(shí)也稱作數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動(dòng)程序和計(jì)算中對(duì)應(yīng)的網(wǎng)絡(luò)接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細(xì)節(jié)。

(2) 網(wǎng)絡(luò)層,有時(shí)也稱作互聯(lián)網(wǎng)層,處理分組在網(wǎng)絡(luò)中的活動(dòng),例如分組的選路。在T C P / I P協(xié)議族中,網(wǎng)絡(luò)層協(xié)議包括I P協(xié)議(網(wǎng)際協(xié)議),I C M P協(xié)議(I n t e r n e t互聯(lián)網(wǎng)控制報(bào)文協(xié)議),以及I G M P協(xié)議(I n t e r n e t組管理協(xié)議)。

(3)運(yùn)輸層, 主要為兩臺(tái)主機(jī)上的應(yīng)用程序提供端到端的通信。在T C P / I P協(xié)議族中,有兩個(gè)互不相同的傳輸協(xié)議: T C P(傳輸控制協(xié)議)和U D P(用戶數(shù)據(jù)報(bào)協(xié)議)。T C P為兩臺(tái)主機(jī)提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時(shí)時(shí)鐘等。由于運(yùn)輸層提供了高可靠性的端到端的通信,因此應(yīng)用層可以忽略所有這些細(xì)節(jié)。而另一方面, U D P則為應(yīng)用層提供一種非常簡(jiǎn)單的服務(wù)。它只是把稱作數(shù)據(jù)報(bào)的分組從一臺(tái)主機(jī)發(fā)送到另一臺(tái)主機(jī),但并不保證該數(shù)據(jù)報(bào)能到達(dá)另一端。任何必需的可靠性必須由應(yīng)用層來提供。 應(yīng)用層 Telnet 、FTP 和e-mail 等

運(yùn)輸層 TCP 和UDP

網(wǎng)絡(luò)層 IP 、ICMP 和IGMP

鏈路層 設(shè)備驅(qū)動(dòng)程序及接口卡

(4)應(yīng)用層, 負(fù)責(zé)處理特定的應(yīng)用程序細(xì)節(jié)。幾乎各種不同的T C P / I P實(shí)現(xiàn)都會(huì)提供下面這些通用的應(yīng)用程序:?Telnet 遠(yuǎn)程登錄,F(xiàn)TP 文件傳輸協(xié)議,SMTP 簡(jiǎn)單郵件傳送協(xié)議,SNMP 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,現(xiàn)在想要給大家說的是大多數(shù)的網(wǎng)絡(luò)應(yīng)用程序都被設(shè)計(jì)成客戶—服務(wù)器模式在同一層上,雙方都有對(duì)應(yīng)的一個(gè)或多個(gè)協(xié)議進(jìn)行通信。例如,某個(gè)協(xié)議允許T C P層進(jìn)行通信,而另一個(gè)協(xié)議則允許兩個(gè)I P層進(jìn)行通信。

這里實(shí)際上就是說應(yīng)用層本身本不注意數(shù)據(jù)的傳遞和交換,它一般只是一個(gè)用戶進(jìn)程,而上面我提到的運(yùn)輸層及其以下的三層的目的就是處理通信的過程,他們不管你應(yīng)用程序的事,分工明確。

還有一個(gè)概念問題,我們平時(shí)所聽到的諸如tcp ,ip ,ftp 等等,實(shí)際上協(xié)議本身是獨(dú)立的,tcp 是運(yùn)輸層協(xié)議,ip 是網(wǎng)絡(luò)層協(xié)議T C P / I P協(xié)議族是一組不同的協(xié)議組合在一起構(gòu)成的協(xié)議族。盡管通常稱該協(xié)議族為T C P / I P,但T C P和I P只是其中的兩種協(xié)議而已(該協(xié)議族的另一個(gè)名字是I n t e r n e t協(xié)議族(Internet Protocol Suite))網(wǎng)絡(luò)接口層和應(yīng)用層的目的是很顯然的—前者處理有關(guān)通信媒介的細(xì)節(jié)(以太網(wǎng)、令牌環(huán)網(wǎng)等),而后者處理某個(gè)特定的用戶應(yīng)用程序( F T P、Te l n e t等)。但是,從表面上看,網(wǎng)絡(luò)層和運(yùn)輸層之間的區(qū)別不那么明顯。

構(gòu)造互連網(wǎng)最簡(jiǎn)單的方法是把兩個(gè)或多個(gè)網(wǎng)絡(luò)通過路由器進(jìn)行連接。它是一種特殊的用于網(wǎng)絡(luò)互連的硬件盒。路由器的好處是為不同類型的物理網(wǎng)絡(luò)提供連接:以太網(wǎng)、令牌環(huán)網(wǎng)、

,

點(diǎn)對(duì)點(diǎn)的鏈接和F D D I(光纖分布式數(shù)據(jù)接口)等等。這些盒子也稱作I P路由器(IP Router),但我們這里使用路由器( R o u t e r )這個(gè)術(shù)語。

從歷史上說,這些盒子稱作網(wǎng)關(guān)( g a t e w a y),在很多T C P / I P文獻(xiàn)中都使用這個(gè)術(shù)語。

現(xiàn)在網(wǎng)關(guān)這個(gè)術(shù)語只用來表示應(yīng)用層網(wǎng)關(guān):一個(gè)連接兩種不同協(xié)議族的進(jìn)程(例如,TCP/IP和IBM 的SNA ),它為某個(gè)特定的應(yīng)用程序服務(wù)(常常是電子郵件或文件傳輸)。在T C P / I P協(xié)議族中,網(wǎng)絡(luò)層I P提供的是一種不可靠的服務(wù)。也就是說,它只是盡可能快地把分組從源結(jié)點(diǎn)送到目的結(jié)點(diǎn),但是并不提供任何可靠性保證。而另一方面, T C P 在不可靠的I P層上提供了一個(gè)可靠的運(yùn)輸層。為了提供這種可靠的服務(wù), T C P采用了超時(shí)重傳、發(fā)送和接收端到端的確認(rèn)分組等機(jī)制。由此可見,運(yùn)輸層和網(wǎng)絡(luò)層分別負(fù)責(zé)不同的功能。至于那些機(jī)制是如何工作的,我也是肯定不知道的,呵呵,有電信學(xué)方面愛好的朋友可以深入研究一下。

這里又有一個(gè)新概念:multihomed ,任何具有多個(gè)接口的系統(tǒng),英文都稱作是多接口的。你也許和我一樣會(huì)問:我們的主機(jī)也是多接口的,可以作router 嗎?我們一個(gè)主機(jī)也可以有多個(gè)接口,但一般不稱作路由器, 除非它的功能只是單純地把分組從一個(gè)接口傳送到另一個(gè)接口。同樣,路由器并不一定指那種在互聯(lián)網(wǎng)中用來轉(zhuǎn)發(fā)分組的特殊硬件盒。大多數(shù)的T C P / I P 實(shí)現(xiàn)也允許一個(gè)多接口主機(jī)來擔(dān)當(dāng)路由器的功能,但是主機(jī)為此必須進(jìn)行特殊的配置。在這種情況下,我們既可以稱該系統(tǒng)為主機(jī)(當(dāng)它運(yùn)行某一應(yīng)用程序時(shí),如F T P或Te l n e t),也可以稱之為路由器(當(dāng)它把分組從一個(gè)網(wǎng)絡(luò)轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)絡(luò)時(shí)),在不同的場(chǎng)合下使用不同的術(shù)語。

然后我說說網(wǎng)橋,連接網(wǎng)絡(luò)的另一個(gè)途徑是使用網(wǎng)橋。網(wǎng)橋是在鏈路層上對(duì)網(wǎng)絡(luò)進(jìn)行互連,而路由器則是在網(wǎng)絡(luò)層上對(duì)網(wǎng)絡(luò)進(jìn)行互連。網(wǎng)橋使得多個(gè)局域網(wǎng)( L A N)組合在一起,這樣對(duì)上層來說就好像是一個(gè)局域網(wǎng)。

TCP /IP傾向于使用路由器而不是網(wǎng)橋來連接網(wǎng)絡(luò),因此我們將著重介紹路由器, 其實(shí)主要是資料一般比較注重講這個(gè),我也不能省啊,了解的朋友不要打瞌睡。T C P和U D P是兩種最為著名的運(yùn)輸層協(xié)議,二者都使用I P作為網(wǎng)絡(luò)層協(xié)議。雖然T C P使用不可靠的I P服務(wù),但它卻提供一種可靠的運(yùn)輸層服務(wù)。I P是網(wǎng)絡(luò)層上的主要協(xié)議,同時(shí)被T C P和U D P 使用。T C P和U D P的每組數(shù)據(jù)都通過端系統(tǒng)和每個(gè)中間路由器中的I P層在互聯(lián)網(wǎng)中進(jìn)行傳輸。I C M P是I P協(xié)議的附屬協(xié)議。I P層用它來與其他主機(jī)或路由器交換錯(cuò)誤報(bào)文和其他重要信息。I C M P是I P協(xié)議的附屬協(xié)議。I P層用它來與其他主機(jī)或路由器交換錯(cuò)誤報(bào)文和其他重要信息。大家先對(duì)這些協(xié)議有一個(gè)印象,以后我們?cè)倮^續(xù)探討。

關(guān)于ip 地址,我想不應(yīng)該多說了吧,I P地址長(zhǎng)32 bit,我們平時(shí)說ip 有三類地址格式,實(shí)際上一共有五類:前三類我就不說了,最基本的,現(xiàn)在說說d 類和e 類。

d :1 1 1 0 然后是28位的多播組號(hào)

e :1 1 1 1 0 后面27位留待后用

這些3 2位的地址通常寫成四個(gè)十進(jìn)制的數(shù),其中每個(gè)整數(shù)對(duì)應(yīng)一個(gè)字節(jié)。這種表示方法稱作“點(diǎn)分十進(jìn)制表示法( Dotted decimal notation)”。需要再次指出的是,多接口主機(jī)具有多個(gè)I P地址,其中每個(gè)接口都對(duì)應(yīng)一個(gè)I P地址。

由于互聯(lián)網(wǎng)上的每個(gè)接口必須有一個(gè)唯一的I P地址,因此必須要有一個(gè)管理機(jī)構(gòu)為接入互聯(lián)網(wǎng)的網(wǎng)絡(luò)分配I P 地址。這個(gè)管理機(jī)構(gòu)就是互聯(lián)網(wǎng)絡(luò)信息中心( Internet Network InformationC e n t r e),稱作I n t e r N I C。I n t e r N I C只分配網(wǎng)絡(luò)號(hào)。主機(jī)號(hào)的分配由系統(tǒng)管理員來負(fù)責(zé)。有三類I P 地址:?jiǎn)尾サ刂罚康臑閱蝹€(gè)主機(jī))、廣播地址(目的端為給

,

定網(wǎng)絡(luò)上的所有主機(jī))以及多播地址(目的端為同一組內(nèi)的所有主機(jī)),不同于上面的分類方法了。

域名解析系統(tǒng)(dns ):盡管通過I P地址可以識(shí)別主機(jī)上的網(wǎng)絡(luò)接口,進(jìn)而訪問主機(jī),但是人們最喜歡使用的還是主機(jī)名。在T C P / I P領(lǐng)域中,域名系統(tǒng)( D N S)是一個(gè)分布的數(shù)據(jù)庫,由它來提供I P地址和機(jī)名之間的映射信息。

現(xiàn)在說說tcp/ip的封裝:當(dāng)應(yīng)用程序用T C P傳送數(shù)據(jù)時(shí),數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個(gè)通過每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。其中每一層對(duì)收到的數(shù)據(jù)都要增加一些首部信息(有時(shí)還要增加尾部信息),T C P傳給I P的數(shù)據(jù)單元稱作T C P報(bào)文段或簡(jiǎn)稱為T C P 段(T C Ps e g m e n t)。I P傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱作I P數(shù)據(jù)報(bào)(IP datagram)。通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀(Fr a m e )。

更準(zhǔn)確地說,I P和網(wǎng)絡(luò)接口層之間傳送的數(shù)據(jù)單元應(yīng)該是分組( p a c k e t)。我覺得也可以認(rèn)為是數(shù)據(jù)包。分組既可以是一個(gè)I P數(shù)據(jù)報(bào),也可以是I P數(shù)據(jù)報(bào)的一個(gè)片(f r a g m e n t),我認(rèn)為這是最合理而仔細(xì)的解釋了,而有些國(guó)內(nèi)的資料在這里是籠統(tǒng)的。

U D P數(shù)據(jù)與T C P數(shù)據(jù)基本一致。唯一的不同是U D P傳給I P的信息單元稱作U D P數(shù)據(jù)報(bào)(UDP datagram),而且U D P的首部長(zhǎng)為8字節(jié)。由于T C P、U D P、I C M P和I G M P都要向I P傳送數(shù)據(jù),因此I P必須在生成的I P首部中加入某種標(biāo)識(shí),以表明數(shù)據(jù)屬于哪一層。為此, I P在首部中存入一個(gè)長(zhǎng)度為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é)議。類似地,許多應(yīng)用程序都可以使用T C P或U D P來傳送數(shù)據(jù)。運(yùn)輸層協(xié)議在生成報(bào)文首部時(shí)要存入一個(gè)應(yīng)用程序的標(biāo)識(shí)符。T C P和U D P都用一個(gè)1 6 b i t的端口號(hào)來表示不同的應(yīng)用程序。T C P和U D P把源端口號(hào)和目的端口號(hào)分別存入報(bào)文首部中。網(wǎng)絡(luò)接口分別要發(fā)送和接收I P、A R P和R A R P數(shù)據(jù),因此也必須在以太網(wǎng)的幀首部中加入某種形式的標(biāo)識(shí),以指明生成數(shù)據(jù)的網(wǎng)絡(luò)層協(xié)議。為此,以太網(wǎng)的幀首部也有一個(gè)16 bit的幀類型域。

現(xiàn)在我們講一下什么叫做分用,分用其實(shí)就是一個(gè)數(shù)據(jù)傳遞的過程。這樣的一個(gè)數(shù)據(jù)傳遞是逆過程的,數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時(shí)去掉各層協(xié)議加上的報(bào)文首部。每層協(xié)議盒都要去檢查報(bào)文首部中的協(xié)議標(biāo)識(shí),以確定接收數(shù)據(jù)的上層協(xié)議。這個(gè)過程稱作分用( D e m u l t i p l e x i n g)。

這樣大家也好看得更明白一些。不知細(xì)心的朋友看到?jīng)]有,在這里的igmp 和icmp 定位,實(shí)際上他們都是被封裝在數(shù)據(jù)包中的,與ip 位于同一層,是ip 的從屬協(xié)議,這里不要混淆了。

我在開始就講過:大部分的網(wǎng)絡(luò)應(yīng)用程序都是被設(shè)計(jì)成客戶端和服務(wù)器端的這種模型。具體為什么我也不知道,有點(diǎn)抽象:為了適應(yīng)某些特定的服務(wù)??梢詫⑦@種服務(wù)分為兩種類型:重復(fù)型或并發(fā)型。重復(fù)型服務(wù)器通過以下步驟進(jìn)行交互:重復(fù)型服務(wù)器通過以下步驟進(jìn)行交互:

I1. 等待一個(gè)客戶請(qǐng)求的到來。

I2. 處理客戶請(qǐng)求。

I3. 發(fā)送響應(yīng)給發(fā)送請(qǐng)求的客戶。

并發(fā)型服務(wù)器采用以下步驟:

C1. 等待一個(gè)客戶請(qǐng)求的到來。

C2. 啟動(dòng)一個(gè)新的服務(wù)器來處理這個(gè)客戶的請(qǐng)求。在這期間可能生成一個(gè)新的進(jìn)程、任務(wù)或線程,并依賴底層操作系統(tǒng)的支持。這個(gè)步驟如何進(jìn)行取決于操作系統(tǒng)。生成的新服務(wù)

,

器對(duì)客戶的全部請(qǐng)求進(jìn)行處理。處理結(jié)束后,終止這個(gè)新服務(wù)器。

C3. 返回C 1步。并發(fā)型服務(wù)器采用以下步驟:

C1. 等待一個(gè)客戶請(qǐng)求的到來。

C2. 啟動(dòng)一個(gè)新的服務(wù)器來處理這個(gè)客戶的請(qǐng)求。在這期間可能生成一個(gè)新的進(jìn)程、任務(wù)或線程,并依賴底層操作系統(tǒng)的支持。這個(gè)步驟如何進(jìn)行取決于操作系統(tǒng)。生成的新服務(wù)器對(duì)客戶的全部請(qǐng)求進(jìn)行處理。處理結(jié)束后,終止這個(gè)新服務(wù)器。

C3. 返回C 1步。

一般來說, T C P服務(wù)器是并發(fā)的,而U D P服務(wù)器是重復(fù)的,但也存在一些例外。

標(biāo)簽: