欧美日操-欧美日韩91-欧美日韩99-欧美日韩ay在线观看-xxxx色-xxxx视频在线

數(shù)據(jù)傳輸過(guò)程詳解

2018-04-20 15:31:14 sohu 傳感器技術(shù)mp  點(diǎn)擊量: 評(píng)論 (0)
一、FTP客戶(hù)端發(fā)送數(shù)據(jù)到FTP服務(wù)器端,詳述其工作過(guò)程。兩臺(tái)機(jī)器的連接情況如下圖所示:詳細(xì)解答如下1 1、假設(shè)初始設(shè)置如下所示:客戶(hù)端FTP

一、FTP客戶(hù)端發(fā)送數(shù)據(jù)到FTP服務(wù)器端,詳述其工作過(guò)程。兩臺(tái)機(jī)器的連接情況如下圖所示:

詳細(xì)解答如下

1.1、假設(shè)初始設(shè)置如下所示:

客戶(hù)端FTP端口號(hào)為:32768

服務(wù)器端FTP端口號(hào)為:21

1.2、不同網(wǎng)絡(luò)段上的兩臺(tái)計(jì)算機(jī)通過(guò)TCP/IP協(xié)議通訊的過(guò)程如下所示:

協(xié)議是水平的,服務(wù)是垂直的。

物理層,指的是電信號(hào)的傳遞方式,透明的傳輸比特流。

鏈路層,在兩個(gè)相鄰結(jié)點(diǎn)間的線(xiàn)路上無(wú)差錯(cuò)地傳送以幀為單位的數(shù)據(jù)。

網(wǎng)絡(luò)層,負(fù)責(zé)為分組交換網(wǎng)上的不同主機(jī)提供通信,數(shù)據(jù)傳送的單位是分組或包。

傳輸層,負(fù)責(zé)主機(jī)中兩個(gè)進(jìn)程之間的通信,數(shù)據(jù)傳輸?shù)膯挝皇菆?bào)文段。

網(wǎng)絡(luò)層負(fù)責(zé)點(diǎn)到點(diǎn)(point-to-point)的傳輸(這里的“點(diǎn)”指主機(jī)或路由器),而傳輸層負(fù)責(zé)端到端(end-to-end)的傳輸(這里的“端”指源主機(jī)和目的主機(jī))。

1.3、數(shù)據(jù)包的封裝過(guò)程

不同的協(xié)議層對(duì)數(shù)據(jù)包有不同的稱(chēng)謂,在傳輸層叫做段(segment),在網(wǎng)絡(luò)層叫做數(shù)據(jù)報(bào)(datagram),在鏈路層叫做幀(frame)。數(shù)據(jù)封裝成幀后發(fā)到傳輸介質(zhì)上,到達(dá)目的主機(jī)后每層協(xié)議再剝掉相應(yīng)的首部,最后將應(yīng)用層數(shù)據(jù)交給應(yīng)用程序處理。兩臺(tái)計(jì)算機(jī)在不同的網(wǎng)段中,那么數(shù)據(jù)從一臺(tái)計(jì)算機(jī)到另一臺(tái)計(jì)算機(jī)傳輸過(guò)程中要經(jīng)過(guò)一個(gè)或多個(gè)路由器。

1.4、工作過(guò)程

(1)在PC1客戶(hù)端,將原始數(shù)據(jù)封裝成幀,然后通過(guò)物理鏈路發(fā)送給Switch1的端口1。形成的幀為:

注:發(fā)送方怎樣知道目的站是否和自己在同一個(gè)網(wǎng)絡(luò)段?每個(gè)IP地址都有網(wǎng)絡(luò)前綴,發(fā)送方只要將目的IP地址中的網(wǎng)絡(luò)前綴提取出來(lái),與自己的網(wǎng)絡(luò)前綴比較,若匹配,則意味著數(shù)據(jù)報(bào)可以直接發(fā)送。也就是說(shuō)比較二者的網(wǎng)絡(luò)號(hào)是否相同。本題中,PC1和PC2在兩個(gè)網(wǎng)絡(luò)段。

(2)Switch1收到數(shù)據(jù)并對(duì)數(shù)據(jù)幀進(jìn)行校驗(yàn)后,查看目的MAC地址,得知數(shù)據(jù)是要發(fā)送給PC2,所以Switch1就對(duì)數(shù)據(jù)幀進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā),查看自己的MAC地址列表后,從端口2將數(shù)據(jù)轉(zhuǎn)發(fā)給路由器的S0端口。

(3)Router收到數(shù)據(jù)后,先對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),然后對(duì)IP數(shù)據(jù)報(bào)進(jìn)行分析,重新對(duì)數(shù)據(jù)進(jìn)行封裝,查看路由表后,從S1端口將數(shù)據(jù)發(fā)送出去,此時(shí)得到新的數(shù)據(jù)幀如下:

注:目的IP和源IP地址不會(huì)被改的,改變的是MAC,路由器會(huì)把遠(yuǎn)端的源MAC地址改成下一跳的MAC地址,然后就發(fā)送出去

(4)Switch2接收到Router給它發(fā)送的數(shù)據(jù)后,進(jìn)行校驗(yàn)后直接存儲(chǔ)轉(zhuǎn)發(fā),查看自己的MAC地址列表后,將數(shù)據(jù)幀從端口1發(fā)送給PC2服務(wù)器端。

(5)PC2服務(wù)器端收到數(shù)據(jù)后,先進(jìn)行校驗(yàn),然后進(jìn)行拆分,得到TCP報(bào)文段,由此可以知道目的端口號(hào)是21,然后把數(shù)據(jù)交付給相應(yīng)的FTP應(yīng)用進(jìn)程進(jìn)行處理。

二、在數(shù)據(jù)的傳輸中會(huì)出現(xiàn)以下一些問(wèn)題,該如何解決?

1、針對(duì)數(shù)據(jù)鏈路層,傳輸?shù)臄?shù)據(jù)會(huì)出現(xiàn)差錯(cuò)或者丟失的問(wèn)題,也有兩端傳輸速度不同的問(wèn)題,如何解決這些問(wèn)題?

答:首先我們假設(shè)主機(jī)A向主機(jī)B發(fā)送數(shù)據(jù)

(1)差錯(cuò)控制

差錯(cuò)控制方法分兩類(lèi),一類(lèi)是自動(dòng)請(qǐng)求重發(fā)ARQ,另一類(lèi)是前向糾錯(cuò)FEC,也叫前向糾錯(cuò)碼(Forward Error Correction簡(jiǎn)稱(chēng)FEC)。

在ARQ方式中,當(dāng)接收端發(fā)現(xiàn)差錯(cuò)時(shí),就設(shè)法通知發(fā)送端重發(fā),直到收到正確的碼字為止,ARQ方式只使用檢錯(cuò)碼。

在FEC方式中,接收端不但能發(fā)現(xiàn)差錯(cuò),而且能確定二進(jìn)制碼元發(fā)生錯(cuò)誤的位置,從而加以糾正,F(xiàn)EC方式必須使用糾錯(cuò)碼。常用的糾錯(cuò)碼有奇偶校驗(yàn)碼、循環(huán)冗余碼和海明碼等

例如:在數(shù)據(jù)幀中加上CRC,這樣主機(jī)B就可以檢驗(yàn)所接收的數(shù)據(jù)是否有差錯(cuò),如果有差錯(cuò),那么主機(jī)B可以向主機(jī)A發(fā)送一個(gè)否認(rèn)幀NAK,以表示主機(jī)A應(yīng)當(dāng)重傳出現(xiàn)差錯(cuò)的那個(gè)數(shù)據(jù)幀。

(2)丟失的解決辦法

超時(shí)重傳。如果主機(jī)A在發(fā)送完數(shù)據(jù)給主機(jī)B之后,若到了超時(shí)計(jì)時(shí)器所設(shè)置的重傳時(shí)間而還沒(méi)有收到主機(jī)B的任何確認(rèn)幀ACK,則主機(jī)A就重傳前面所發(fā)送的這一數(shù)據(jù)幀。

(3)流量控制

①假設(shè)主機(jī)A向主機(jī)B傳輸?shù)臄?shù)據(jù)是無(wú)差錯(cuò)的,那么,最簡(jiǎn)單的流量控制方法就是:發(fā)送方每發(fā)送一幀數(shù)據(jù)就暫時(shí)停下來(lái),接收方收到數(shù)據(jù)幀之后就交付給主機(jī),然后發(fā)一信息給發(fā)送方,表示接收的任務(wù)已經(jīng)完成,這時(shí),發(fā)送方再接著發(fā)送下一個(gè)數(shù)據(jù)幀。在這種情況下,接收方的接收緩存的大小只要能夠裝得下一個(gè)數(shù)據(jù)幀即可。

②滑動(dòng)窗口:分別在發(fā)送端和接收端設(shè)置發(fā)送窗口和接收窗口

發(fā)送窗口用來(lái)對(duì)發(fā)送端進(jìn)行流量控制,為發(fā)送窗口的大小WT就是代表在還沒(méi)有收到對(duì)方確認(rèn)信息的情況下發(fā)送端最多可以發(fā)送多少個(gè)數(shù)據(jù)幀。每收到對(duì)一個(gè)幀的確認(rèn),發(fā)送窗口就向前滑動(dòng)一個(gè)位置。由此也可以知道,第一種流量控制發(fā)法中,WT=1。

在接收端設(shè)置接收窗口時(shí)為了控制可以接收哪些數(shù)據(jù)而不可以接收哪些數(shù)據(jù),在接收端只有當(dāng)收到的數(shù)據(jù)幀的發(fā)送序號(hào)落入接收窗口內(nèi)才允許將該數(shù)據(jù)幀收下。每收到一個(gè)序號(hào)正確的幀,接收窗口就向前滑動(dòng)一個(gè)位置。

2、IP數(shù)據(jù)報(bào)有它的長(zhǎng)度,而數(shù)據(jù)傳輸過(guò)程中,一些中間設(shè)備也有一個(gè)相關(guān)的設(shè)置MTU(最大傳輸單元),如果現(xiàn)在假設(shè)IP數(shù)據(jù)報(bào)的長(zhǎng)度是5000字節(jié),而MTU設(shè)置是1500字節(jié),那么該怎么辦?

答:解決的辦法是對(duì)IP數(shù)據(jù)報(bào)進(jìn)行分片與重組。詳細(xì)過(guò)程如下:

2.1、 IP v4數(shù)據(jù)報(bào)格式

一個(gè)IP v4數(shù)據(jù)報(bào)由報(bào)頭和數(shù)據(jù)兩部分組成,其中數(shù)據(jù)包括高層需要傳輸?shù)臄?shù)據(jù),而報(bào)頭是為了正確傳輸高層數(shù)據(jù)而增加的控制信息。報(bào)頭的前一部分是固定長(zhǎng)度,共20字節(jié),是所有IP數(shù)據(jù)報(bào)必須具有的。在報(bào)頭的固定部分的后面是一些可選字段,其長(zhǎng)度是可變的。下圖給出了IPv4數(shù)據(jù)報(bào)的格式義。

IP數(shù)據(jù)報(bào)的格式

2.2、不同數(shù)據(jù)鏈路層協(xié)議的MTU值

一個(gè)路由器可能連接不同MTU的網(wǎng)絡(luò),如下圖

2.3、IP數(shù)據(jù)報(bào)分片

數(shù)據(jù)報(bào)分片時(shí),每個(gè)分片前都要加上相應(yīng)的IP報(bào)頭,形成新的IP數(shù)據(jù)報(bào),除包含一些分片控制域(如標(biāo)志、偏移量)外,分片的報(bào)頭和原IP數(shù)據(jù)報(bào)的報(bào)頭基本一樣。

標(biāo)識(shí)符、標(biāo)志、偏移量3個(gè)字段在IP報(bào)頭中的作用是:

標(biāo)識(shí):占16bit,標(biāo)識(shí)數(shù)據(jù)報(bào)。當(dāng)數(shù)據(jù)報(bào)長(zhǎng)度超出網(wǎng)絡(luò)最大傳輸單元(MTU)時(shí),必須要進(jìn)行分割,并且需要為分割段(fragment)提供標(biāo)識(shí)。所有屬于同一數(shù)據(jù)報(bào)的分割段被賦予相同的標(biāo)識(shí)值。

標(biāo)志:占3bit,指出該數(shù)據(jù)報(bào)是否可分段。目前只有前兩個(gè)比特有意義。

標(biāo)志字段中的最低位記為MF(More Fragment)。MF=1即表示后面“還有分片”的數(shù)據(jù)報(bào)。MF=0表這已是若干數(shù)據(jù)報(bào)片中的最后一個(gè)。

標(biāo)志字段中間的一位記為DF(Don’t Fragment)。只有當(dāng)DF=0時(shí)才允許分片。

片偏移:占13bit,若有分段時(shí),用以指出該分段在數(shù)據(jù)報(bào)中的相對(duì)位置,也就是說(shuō),相對(duì)于用戶(hù)數(shù)據(jù)字段的起點(diǎn),該片從何處開(kāi)始。片偏移以8字節(jié)為偏移單位,即每個(gè)分片的長(zhǎng)度一定是8字節(jié)(64Bit)的整數(shù)倍。

2.4、IP數(shù)據(jù)報(bào)重組

在最終的目的主機(jī)上將接收到的所有分片進(jìn)行重新組裝的過(guò)程就是IP數(shù)據(jù)報(bào)重組。這時(shí)要根據(jù)數(shù)據(jù)報(bào)的標(biāo)識(shí)、標(biāo)志、偏移量等字段將分段的各個(gè)IP數(shù)據(jù)報(bào)重新組裝成完整的原始數(shù)據(jù)報(bào)。

2.5本題的詳解過(guò)程

數(shù)據(jù)報(bào)的數(shù)據(jù)部分為5000字節(jié)長(zhǎng)(使用固定首部),需要分片長(zhǎng)度不超過(guò)1500字節(jié)的數(shù)據(jù)報(bào)片。因固定首部長(zhǎng)度為20字節(jié),因此每個(gè)數(shù)據(jù)報(bào)片的長(zhǎng)度不能超過(guò)1480字節(jié)。于是分為4個(gè)數(shù)據(jù)報(bào)片,其數(shù)據(jù)報(bào)片的數(shù)據(jù)部分長(zhǎng)度分別為1480字節(jié)、1480字節(jié)、1480字節(jié)和560字節(jié)。原始數(shù)據(jù)報(bào)首部被復(fù)制為各數(shù)據(jù)報(bào)片的首部,但必須修改有關(guān)字段的值。分片結(jié)果如下圖所示:

3、兩個(gè)主機(jī)的應(yīng)用進(jìn)程,也會(huì)出現(xiàn)差錯(cuò)和丟失,兩端的緩存也不同,如何控制流量?應(yīng)用進(jìn)程如何與端口號(hào)進(jìn)行匹配?

答:因?yàn)檫\(yùn)輸層提供的功能是應(yīng)用進(jìn)程之間的邏輯通信,所以面向連接的傳輸控制協(xié)議TCP就保證了全雙工的可靠交付的服務(wù)。具體的有關(guān)差錯(cuò)控制和流量控制如下面的詳細(xì)解釋?zhuān)?/p>

3.1、運(yùn)輸層為相互通信的應(yīng)用進(jìn)程提供了邏輯通信,如下圖所示:

3.2、TCP發(fā)送報(bào)文段的示意圖如下:

3.3、TCP 的數(shù)據(jù)編號(hào)與確認(rèn)

TCP 協(xié)議是面向字節(jié)的。TCP 將所要傳送的報(bào)文看成是字節(jié)組成的數(shù)據(jù)流,并使每一個(gè)字節(jié)對(duì)應(yīng)于一個(gè)序號(hào)。

在連接建立時(shí),雙方要商定初始序號(hào)。TCP 每次發(fā)送的報(bào)文段的首部中的序號(hào)字段數(shù)值表示該報(bào)文段中的數(shù)據(jù)部分的第一個(gè)字節(jié)的序號(hào)。

TCP 的確認(rèn)是對(duì)接收到的數(shù)據(jù)的最高序號(hào)表示確認(rèn)。接收端返回的確認(rèn)號(hào)是已收到的數(shù)據(jù)的最高序號(hào)加 1。因此確認(rèn)號(hào)表示接收端期望下次收到的數(shù)據(jù)中的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)。

3.4、TCP 的流量控制與擁塞控制

(1)滑動(dòng)窗口(進(jìn)行流量控制)

TCP 采用大小可變的滑動(dòng)窗口進(jìn)行流量控制。窗口大小的單位是字節(jié)。

在 TCP 報(bào)文段首部的窗口字段寫(xiě)入的數(shù)值就是當(dāng)前給對(duì)方設(shè)置的發(fā)送窗口數(shù)值的上限。

發(fā)送窗口在連接建立時(shí)由雙方商定。但在通信的過(guò)程中,接收端可根據(jù)自己的資源情況,隨時(shí)動(dòng)態(tài)地調(diào)整對(duì)方的發(fā)送窗口上限值(可增大或減小)。

上圖(a)表示發(fā)送端要發(fā)送 900 字節(jié)長(zhǎng)的數(shù)據(jù),劃分為 9 個(gè) 100 字節(jié)長(zhǎng)的報(bào)文段,而發(fā)送窗口確定為 500 字節(jié)。發(fā)送端只要收到了對(duì)方的確認(rèn),發(fā)送窗口就可前移。發(fā)送 TCP 要維護(hù)一個(gè)指針。每發(fā)送一個(gè)報(bào)文段,指針就向前移動(dòng)一個(gè)報(bào)文段的距離。

上圖(b)表示發(fā)送端已發(fā)送了 400 字節(jié)的數(shù)據(jù),但只收到對(duì)前 200 字節(jié)數(shù)

據(jù)的確認(rèn),同時(shí)窗口大小不變。現(xiàn)在發(fā)送端還可發(fā)送 300 字節(jié)。

上圖(c)表示發(fā)送端收到了對(duì)方對(duì)前 400 字節(jié)數(shù)據(jù)的確認(rèn),但對(duì)方通知發(fā)送端必須把窗口減小到 400 字節(jié)。現(xiàn)在發(fā)送端最多還可發(fā)送 400 字節(jié)的數(shù)據(jù)。

利用可變窗口大小進(jìn)行流量控制雙方確定的窗口值是 400,如下圖所示:

(2)擁塞控制

為了更好地進(jìn)行擁塞控制,因特網(wǎng)標(biāo)準(zhǔn)推薦使用一下三種技術(shù),慢啟動(dòng)(slow_start)、加速遞減(multiplicative decrease)和擁塞避免(congestion avoidance)。

“擁塞避免”并非指完全能夠避免了擁塞。利用以上的措施要完全避免網(wǎng)絡(luò)擁塞還是不可能的。“擁塞避免”是說(shuō)在擁塞避免階段把擁塞窗口控制為按線(xiàn)性規(guī)律增長(zhǎng),使網(wǎng)絡(luò)比較不容易出現(xiàn)擁塞。

3.5、端口號(hào)的識(shí)別

(1)端口的概念:

端口就是運(yùn)輸層服務(wù)訪(fǎng)問(wèn)點(diǎn) TSAP。

端口的作用就是讓?xiě)?yīng)用層的各種應(yīng)用進(jìn)程都能將其數(shù)據(jù)通過(guò)端口向下交付給運(yùn)輸層,以及讓運(yùn)輸層知道應(yīng)當(dāng)將其報(bào)文段中的數(shù)據(jù)向上通過(guò)端口交付給應(yīng)用層相應(yīng)的進(jìn)程。

從這個(gè)意義上講,端口是用來(lái)標(biāo)志應(yīng)用層的進(jìn)程。

(2)端口在進(jìn)程之間的通信中所起的作用

(3)端口號(hào)

端口用一個(gè) 16 bit 端口號(hào)進(jìn)行標(biāo)志。

端口號(hào)只具有本地意義,即端口號(hào)只是為了標(biāo)志本計(jì)算機(jī)應(yīng)用層中的各進(jìn)程。在因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒(méi)有聯(lián)系的。

端口號(hào)分為兩類(lèi):

一類(lèi)是熟知端口,其數(shù)值一般為 0~1023。當(dāng)一種新的應(yīng)用程序出現(xiàn)時(shí),必須為它指派一個(gè)熟知端口。

另一類(lèi)則是一般端口,用來(lái)隨時(shí)分配給請(qǐng)求通信的客戶(hù)進(jìn)程。

端口的作用可用下圖來(lái)表示:

(4)插口

TCP 使用“連接”(而不僅僅是“端口”)作為最基本的抽象,同時(shí)將 TCP 連接的端點(diǎn)稱(chēng)為插口(socket),或套接字、套接口。插口包括IP地址(32bit)和端口號(hào)(16bit),共48bit。插口和端口、IP 地址的關(guān)系是:

 
大云網(wǎng)官方微信售電那點(diǎn)事兒

責(zé)任編輯:售電衡衡

免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
?
主站蜘蛛池模板: 久久综合综合 | 国产中文字幕亚洲 | 视频一区国产精品 | 男女午夜免费视频 | 国产福利麻豆精品一区 | 国产在线视欧美亚综合 | 99在线免费视频 | 手机在线观看黄色网址 | 日本成年人免费看 | 国产精品香蕉在线一区二区 | 亚洲视频在线观看免费 | 性8成人有声小说在线播放 性88分钟在线播放 性88分钟 | 视频在线日韩 | 成人亚洲性情网站www在线观看 | 操欧美女| 小黄鸭视频网站 | 91av中文字幕 | 国产激情对白一区二区三区四 | 91视频-88av| 天天综合日日噜噜噜 | 国产精品一区二区三区免费 | 国产高清在线看免费视频观 | 日韩大片免费在线观看 | 亚洲欧美一区二区三区在线播放 | 亚洲国产成人精品女人久久久 | 日日干日日操日日射 | 91在线观 | 国产精品香蕉在线观看不卡 | 69视频永久免费观看下载 | 亚洲国产成人99精品激情在线 | 最新91网址| 色综合综合色综合色综合 | 日本激情视频网站 | 日韩精品免费一级视频 | 一本综合久久国产二区 | 国产专区精品 | 一区二区三区免费在线观看 | 在线亚州 | 美国一级毛片片aa成人 | 久久国产毛片 | 欧美伊人网|