手機(jī)閱讀

郵件傳輸協(xié)議范文簡(jiǎn)短(精選9篇)

格式:DOC 上傳日期:2023-11-19 14:34:08 頁碼:7
郵件傳輸協(xié)議范文簡(jiǎn)短(精選9篇)
2023-11-19 14:34:08    小編:ZTFB

電影是一種生動(dòng)形象的藝術(shù)表現(xiàn)方式,它可以給觀眾帶來豐富的情感體驗(yàn)。寫總結(jié)時(shí)要注重細(xì)節(jié),避免遺漏重要的信息和觀點(diǎn)。這是一些讓人感嘆的世界自然奇觀,讓我們一起來欣賞吧。

郵件傳輸協(xié)議范文簡(jiǎn)短篇一

經(jīng)雙方同意方可更改,甲方就委托乙方發(fā)布廣告事宜簽訂本合同。

一、有關(guān)廣告業(yè)務(wù)達(dá)成下列項(xiàng)目。

二、甲方應(yīng)提供的證明文件:

三、本合同簽訂后不得更改,但遇特殊情況,經(jīng)雙方同意方可更改,并按規(guī)定賠償損失費(fèi):

本合同一式____份,甲方____份,乙方____份,報(bào)有關(guān)部門____份。

四、附則:

五、本合同嚴(yán)格執(zhí)行廣告法及民法典有關(guān)條款。

郵件傳輸協(xié)議范文簡(jiǎn)短篇二

承諾,又稱之為接盤或接受,是指受要約人做出的,對(duì)要約的內(nèi)容表示同意并愿意與要約人締結(jié)合同的意思表示。我國(guó)的《合同法》第21條規(guī)定:“承諾是受要約人同意要約的意思表示”。意思表示是否構(gòu)成承諾需具備以下幾個(gè)要件:

1、承諾必須由受要約人向要約人做出。

2、承諾必須是對(duì)要約明確表示同意的意思表示。

3、承諾的內(nèi)容不能對(duì)要約的內(nèi)容做出實(shí)質(zhì)性的變更。

4、承諾應(yīng)在要約有效期間內(nèi)做出。要約沒有規(guī)定承諾期限的,若要約以對(duì)話方式做出的,承諾應(yīng)當(dāng)即時(shí)做出,要約以非對(duì)話方式做出的,承諾應(yīng)當(dāng)在合理期間內(nèi)承諾,雙方當(dāng)事人另有約定的從其約定。

承諾的撤回,是指受要約人在發(fā)出承諾通知以后,在承諾正式生效之前撤回承諾。根據(jù)《合同法》第27條的規(guī)定:“承諾可以撤回。撤回承諾的通知應(yīng)當(dāng)在承諾通知達(dá)到要約人之前或者是承諾通知同時(shí)達(dá)到要約人。”因此,承諾的撤回通知必須在承諾生效之前達(dá)到要約人,或者是與承諾通知同時(shí)到達(dá)要約人,撤回才能生效。如果承諾通知已經(jīng)生效,合同已經(jīng)成立,受要約人當(dāng)然不能在撤回承諾。

郵件傳輸協(xié)議范文簡(jiǎn)短篇三

隨著計(jì)算機(jī)網(wǎng)絡(luò)的迅速發(fā)展,人們社會(huì)生活中的各個(gè)方面都離不開計(jì)算機(jī)技術(shù)。

然而計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)給人類帶來的不止是更加便利的生活條件,同時(shí)也給人們的信息安全帶來了一個(gè)巨大的挑戰(zhàn)。

很多黑客運(yùn)用計(jì)算機(jī)技術(shù)從其他的計(jì)算機(jī)上竊取用戶的私密資料或者一些保密信息來謀取私利,為計(jì)算機(jī)用戶帶來了巨大的利益損失以及精神傷害,這是所有計(jì)算機(jī)用戶不愿意見到的局面。

所以就目前計(jì)算機(jī)的發(fā)展現(xiàn)狀而言,要求國(guó)家以及企業(yè)要加強(qiáng)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)安全的重視,切實(shí)采取一些措施來對(duì)計(jì)算機(jī)的安全性問題以及計(jì)算機(jī)用戶的利益進(jìn)行保障。

本文就對(duì)計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)用過程中出現(xiàn)的一些隱患進(jìn)行介紹,并針對(duì)這些問題提出了對(duì)應(yīng)的解決方案。

希望能夠給相關(guān)部門一些可用的建議,使計(jì)算機(jī)用戶的安全得到保障。

隨著社會(huì)生活節(jié)奏的加快,計(jì)算機(jī)網(wǎng)絡(luò)得到了廣泛的應(yīng)用,在人們生活中的地位也越來越重要。

社會(huì)生活中的很多信息都需要通過計(jì)算機(jī)來處理。

這在給人們生活帶來方便的同時(shí),也使不法分子有了可乘之機(jī),人們信息暴露的可能性大大增加。

攻擊者可以竊聽網(wǎng)上的信息,竊取網(wǎng)絡(luò)數(shù)據(jù)庫的信息,還可以隨意篡改用戶計(jì)算機(jī)的內(nèi)容,泄露計(jì)算機(jī)用戶的各種數(shù)據(jù),使計(jì)算機(jī)用戶被各種不必要的騷擾。

而一些關(guān)鍵信息的泄露,無論是對(duì)個(gè)人還是對(duì)企業(yè)或者是對(duì)國(guó)家?guī)淼膿p失都是難以估量的。

所以,這種狀況就要求我們加大對(duì)計(jì)算機(jī)網(wǎng)絡(luò)安全的保護(hù),通過一些制度、法律的建設(shè),來確保計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)行環(huán)境的安全,為計(jì)算機(jī)用戶的安全帶來保障。

1計(jì)算機(jī)網(wǎng)絡(luò)安全概述。

由于計(jì)算機(jī)使用者自身的知識(shí)儲(chǔ)備與認(rèn)知不同,每個(gè)人對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)安全的認(rèn)知也有所差異,因此,在這計(jì)算機(jī)網(wǎng)絡(luò)安全的人之上面尚未達(dá)成共識(shí),但有一點(diǎn)可以確定,即計(jì)算機(jī)網(wǎng)絡(luò)安全不應(yīng)當(dāng)只局限于硬件方面,系統(tǒng)軟件方面的安全問題也應(yīng)當(dāng)歸屬到其中,現(xiàn)如今計(jì)算機(jī)網(wǎng)絡(luò)安全問題主要來源于人為網(wǎng)絡(luò)入侵以及攻擊。

網(wǎng)絡(luò)安全是指保護(hù)網(wǎng)絡(luò)系統(tǒng)中的軟件以及硬件免受傷害,進(jìn)而保障網(wǎng)絡(luò)系統(tǒng)的正常運(yùn)轉(zhuǎn)。

2計(jì)算機(jī)網(wǎng)絡(luò)安全中可能存在的問題。

隨著計(jì)算機(jī)與互聯(lián)網(wǎng)的快速發(fā)展,計(jì)算機(jī)在人類生活中的運(yùn)用可謂是人類社會(huì)前進(jìn)的一大步。

它通過互聯(lián)網(wǎng)的連接,大大地拉近了每一個(gè)人之間的距離,使人可以無視空間、時(shí)間的距離,完成相關(guān)的工作以及加強(qiáng)情感之間的交流。

這樣對(duì)于提高工作效率以及家庭方面的和諧有著巨大的幫助。

但是與此同時(shí),互聯(lián)網(wǎng)的廣泛使用,使人們的信息更容易被人通過技術(shù)手段在神不知鬼不覺中竊取,加以利用,對(duì)人們的信息財(cái)產(chǎn)安全造成了巨大的威脅。

在計(jì)算機(jī)網(wǎng)絡(luò)安全中,一般有著幾種較為典型的問題,具體可以歸結(jié)為下面幾點(diǎn):首先,計(jì)算機(jī)有著它自己的一個(gè)運(yùn)行系統(tǒng),這是整個(gè)計(jì)算機(jī)能進(jìn)行工作的核心。

也正是由于它的重要地位,所以很多黑客也將“工作”的重點(diǎn)放在這里,重點(diǎn)攻克。

當(dāng)黑客找到計(jì)算機(jī)核心系統(tǒng)中存在的問題之后,就會(huì)從這方面著手,將病毒植入到用戶的系統(tǒng)當(dāng)中去。

這樣當(dāng)用戶使用電腦時(shí),他們就可以從遠(yuǎn)程對(duì)用戶的電腦進(jìn)行操控,使用戶的電腦癱瘓,為自己謀取私利或者是從中拷貝他們需要的資料,對(duì)用戶或者是用戶的公司以及家庭的安全保障產(chǎn)生的巨大的威脅,嚴(yán)重影響了用戶的正常生活,使計(jì)算機(jī)用戶的網(wǎng)絡(luò)安全無法得到保障。

除了電腦的系統(tǒng)中可能存在問題,一些用戶自行下載的電腦軟件可能也會(huì)有著這方面的隱患,黑客同樣是將病毒植入到軟件中去,當(dāng)用戶下載并打開軟件時(shí),黑客會(huì)使用同樣的手段侵入系統(tǒng)來對(duì)用戶的主機(jī)進(jìn)行攻擊。

還有一些自動(dòng)彈出的網(wǎng)頁,網(wǎng)頁上往往會(huì)顯示一些很誘人的東西,使人們流連忘返,從而點(diǎn)進(jìn)頁面,給予不法分子的可乘之機(jī),將病毒通過網(wǎng)頁植入用戶的電腦之中,以此為自己謀取私利,對(duì)用戶的安全產(chǎn)生危害。

除了以上兩點(diǎn)之外,很多黑客還會(huì)采用修改域名、修改ip地址的方式來對(duì)用戶進(jìn)行麻痹,使用戶在不經(jīng)意間將病毒植入到自己的電腦中去。

當(dāng)他們將這些東西都隱藏起來之后,很多用戶無法辨別問題所在,還會(huì)繼續(xù)訪問,這時(shí)他們會(huì)將隱藏的病毒發(fā)動(dòng)起來,使用戶的電腦出現(xiàn)問題,給用戶帶來巨大的經(jīng)濟(jì)損失。

對(duì)用戶電腦造成威脅較大的還有就是一些專門攻擊計(jì)算機(jī)系統(tǒng)的病毒了。

這些病毒由不法分子編寫而成,通過各種各樣的軟件或者是互聯(lián)網(wǎng)中的網(wǎng)頁以及各種漏洞,進(jìn)入到用戶的電腦中去,并隱藏在關(guān)鍵的部落。

當(dāng)制造者開始啟動(dòng)病毒所隱藏的程序之時(shí),被病毒侵入的用戶的電腦就有可能出現(xiàn)一些特定的圖案,或者是數(shù)據(jù)全部丟失,嚴(yán)重的還會(huì)死機(jī)。

比如當(dāng)初在國(guó)內(nèi)引發(fā)一陣恐慌的“熊貓燒香”病毒,就是計(jì)算機(jī)病毒對(duì)用戶的個(gè)人電腦造成巨大威脅的一個(gè)典型案例,給計(jì)算機(jī)用戶的安全帶來了極大的威脅。

還有很多用戶的電腦上沒有相應(yīng)的保護(hù)自己電腦的軟件,這對(duì)于用戶來說是一個(gè)巨大的挑戰(zhàn)。

沒有保護(hù)計(jì)算機(jī)的軟件就意味著計(jì)算機(jī)可以隨時(shí)被不法分子的病毒入侵,毀滅計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu),出現(xiàn)藍(lán)屏等一系列癥狀,很多用戶都經(jīng)常忽視這個(gè)問題,熟不知,這樣一個(gè)軟件可以幫助計(jì)算機(jī)的用戶避免絕大多數(shù)來自病毒的威脅。

最后,除了“敵方”對(duì)計(jì)算機(jī)網(wǎng)絡(luò)安全造成威脅之外,我們的“自己人”對(duì)網(wǎng)絡(luò)安全問題也有著一定的責(zé)任。

很多用戶在上網(wǎng)的時(shí)候會(huì)不經(jīng)意的瀏覽一些網(wǎng)頁,黑客們常常將一些對(duì)系統(tǒng)具有攻擊性的病毒藏入網(wǎng)頁當(dāng)中,當(dāng)用戶打開網(wǎng)頁的時(shí)候,病毒便會(huì)自動(dòng)植入用戶的系統(tǒng)當(dāng)中,使用戶的安全無法得到保障,給用戶帶來了極大的損失。

還有一些用戶對(duì)網(wǎng)絡(luò)安全的保護(hù)不夠嚴(yán)密,一些密碼設(shè)置沒有做到位,比如123456這種簡(jiǎn)單的密碼,這就相當(dāng)于給了犯罪分子可乘之機(jī),將自己網(wǎng)絡(luò)的門戶向犯罪分子大開,使自己的信息,金錢以及物品被盜用,這就對(duì)個(gè)人的計(jì)算機(jī)網(wǎng)絡(luò)安全造成了很大的隱患。

3影響網(wǎng)絡(luò)安全的因素。

通過筆者分析,影響網(wǎng)絡(luò)安全的因素主要有以下幾種:(1)用戶自身因素。

通過對(duì)眾多計(jì)算機(jī)用戶進(jìn)行問卷調(diào)查,可以發(fā)現(xiàn)許多用戶的網(wǎng)絡(luò)安全意識(shí)并不強(qiáng),這也導(dǎo)致計(jì)算機(jī)受到惡意破壞的幾率增加,有時(shí)甚至?xí)⑸婕白陨淼男畔⑿孤冻鋈ィ@也導(dǎo)致人為因素已經(jīng)發(fā)展成為最大的隱患。

與此同時(shí),管理員在控制管理計(jì)算機(jī)時(shí),擁有一定的權(quán)限,而這種權(quán)限很容易被他人所利用,進(jìn)而導(dǎo)致機(jī)密文件的泄露。

(2)網(wǎng)絡(luò)系統(tǒng)出現(xiàn)漏洞。

系統(tǒng)出現(xiàn)漏洞是一項(xiàng)不容忽視的因素,而這些漏洞的出現(xiàn)一方面是來自于計(jì)算機(jī)系統(tǒng),而另一方面是來自軟件。

不法人員在侵入計(jì)算機(jī)時(shí),通常會(huì)選擇cpu與內(nèi)存作為攻擊對(duì)象,通過向服務(wù)器發(fā)送巨量的數(shù)據(jù)包,進(jìn)而占據(jù)計(jì)算機(jī)的內(nèi)存,導(dǎo)致請(qǐng)求無法予以及時(shí)的處理,簡(jiǎn)單來說,就是無法進(jìn)入網(wǎng)站,不能進(jìn)行正常的計(jì)算機(jī)操作。

(3)黑客攻擊手段的多樣性。

系統(tǒng)出現(xiàn)安全問題無可避免,幾乎每天都會(huì)產(chǎn)生新的安全問題,但由于安全系統(tǒng)的更新速度過慢,在遇到新的安全問題時(shí),在解決問題上需要花費(fèi)大量的時(shí)間與精力,一個(gè)安全問題尚未解決,已經(jīng)出現(xiàn)了另一個(gè)安全問題。

而黑客攻擊手段具有多樣性,只需要在原有的入侵方式上進(jìn)行細(xì)微的改動(dòng),安全防護(hù)軟件就需要進(jìn)行長(zhǎng)時(shí)間的分析。

4提高計(jì)算機(jī)網(wǎng)絡(luò)安全的措施。

要想徹底解決計(jì)算機(jī)網(wǎng)絡(luò)安全問題,確保計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)都被用在正當(dāng)?shù)姆矫?,保護(hù)用戶的個(gè)人信息不被泄露出去,就要采取相關(guān)的策略來解決計(jì)算機(jī)網(wǎng)絡(luò)頻頻出現(xiàn)問題的狀況。

主要可以從以下五點(diǎn)來考慮:(1)要對(duì)計(jì)算機(jī)的系統(tǒng)時(shí)刻不斷地進(jìn)行更新升級(jí)。

計(jì)算機(jī)系統(tǒng)作為計(jì)算機(jī)中最核心的部分,必須時(shí)刻保持在一個(gè)能力最強(qiáng)的狀態(tài),對(duì)病毒進(jìn)行監(jiān)視,當(dāng)新的病毒品種出現(xiàn)的時(shí)候,計(jì)算機(jī)系統(tǒng)必須能夠做出相應(yīng)的升級(jí)來應(yīng)對(duì)新出的病毒,為用戶的安全提供保護(hù)。

病毒是無時(shí)無刻的不在更新與升級(jí)的,每時(shí)每刻都會(huì)變得具有更加強(qiáng)大的破壞與入侵功能,其入侵的手段也會(huì)不斷的變得多樣化。

如果系統(tǒng)從建立之后就不進(jìn)行更新升級(jí),計(jì)算機(jī)的防線就會(huì)不斷的“老化”,那么日新月異的病毒就可以很輕易的攻破系統(tǒng)的防線,使計(jì)算機(jī)內(nèi)的個(gè)人信息造成泄露,對(duì)用戶造成難以想象的損失。

(2)要建立一個(gè)具有豐富病毒資料的病毒庫,并且配備相關(guān)的防火墻。

計(jì)算機(jī)系統(tǒng)內(nèi)應(yīng)該對(duì)目前被人所熟知的所有的病毒情況進(jìn)行錄入,并針對(duì)這些病毒建立一個(gè)強(qiáng)大的防火墻,隨時(shí)對(duì)新出的病毒進(jìn)行相應(yīng)的更新并建立相應(yīng)的病毒庫與防火墻,對(duì)用戶的網(wǎng)絡(luò)安全進(jìn)行最大的保護(hù)。

這樣當(dāng)用戶被黑客所制造的病毒企圖攻入主機(jī)的時(shí)候,計(jì)算機(jī)就能快速的將其識(shí)別出來,并把它隔離消滅掉,從而保障計(jì)算機(jī)用戶的安全。

(3)要重視對(duì)計(jì)算機(jī)內(nèi)信息的保護(hù)問題。

計(jì)算機(jī)里的信息往往都是比較重要的,計(jì)算機(jī)的使用者應(yīng)該采取一定的防護(hù)措施來對(duì)其進(jìn)行保護(hù),比如,對(duì)關(guān)鍵的數(shù)據(jù)進(jìn)行加密,密碼的設(shè)置也應(yīng)該盡量的復(fù)雜一點(diǎn),最好大寫字母、小寫字母、數(shù)字、符號(hào)全部都占一部分,這樣黑客就會(huì)因?yàn)槊艽a足夠復(fù)雜很難對(duì)密碼進(jìn)行破譯,從而保障了用戶計(jì)算機(jī)的安全。

同樣也可以設(shè)置多重密碼,第一層密碼,第二層密碼等等,每一層密碼都復(fù)雜一點(diǎn),這樣即使數(shù)據(jù)資料被竊取,也可以加大對(duì)方破譯密碼的難度,給予計(jì)算機(jī)用戶足夠的反應(yīng)時(shí)間,做出相應(yīng)的應(yīng)對(duì)措施,有效的防止對(duì)方輕易的得到關(guān)鍵的信息,為用戶提供相應(yīng)的安全保障。

(4)要加強(qiáng)用戶的安全意識(shí)。

黑客將病毒入侵到計(jì)算機(jī)用戶的電腦中,往往都是利用了用戶的安全意識(shí)不足。

比如:沒有及時(shí)更新病毒庫與防火墻,點(diǎn)進(jìn)了一個(gè)充滿各種病毒的網(wǎng)頁,從而被病毒入侵,對(duì)用戶的信息安全造成了巨大的危害。

平時(shí)在使用計(jì)算機(jī)的過程中,要注意保護(hù)自己的計(jì)算機(jī),盡量少進(jìn)行一些違法操作。

對(duì)計(jì)算機(jī)用戶安全意識(shí)的教育,我認(rèn)為其產(chǎn)生的作用在計(jì)算機(jī)用戶安全保障中是占很大一部分比例的,只有用戶自己的安全意識(shí)提升了,用戶的.安全才能得到真正的全方位的保障。

(5)加強(qiáng)網(wǎng)絡(luò)安全的管理,為計(jì)算機(jī)網(wǎng)絡(luò)安全運(yùn)行制定合理有效的規(guī)章制度。

只有國(guó)家指定了相應(yīng)的法律,有了法律對(duì)黑客的制裁,才會(huì)使網(wǎng)絡(luò)黑客在竊取他人信息的時(shí)候有所忌憚,從而有所收斂;而加強(qiáng)對(duì)網(wǎng)絡(luò)安全的管理,可以使打擊病毒的力度加大,從源頭消滅各式各樣的病毒,給黑客的入侵造成極大的困難,降低了用戶被病毒入侵的概率,減少了病毒的出現(xiàn),大大降低了用戶使用計(jì)算機(jī)的隱患。

5總結(jié)。

解決計(jì)算機(jī)網(wǎng)絡(luò)安全問題,不是僅僅通過以上的幾點(diǎn)就能做到的,這需要每一個(gè)人包括你我在內(nèi),加強(qiáng)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)安全問題的重視,并掌握相關(guān)計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)的知識(shí)并能夠運(yùn)用到實(shí)踐當(dāng)中去。

在現(xiàn)實(shí)生活中面對(duì)計(jì)算機(jī)網(wǎng)絡(luò)安全問題時(shí),不至于驚慌失措,能夠快速找到最適合最簡(jiǎn)便的方法去處理計(jì)算機(jī)遇到的網(wǎng)絡(luò)安全問題,做好安全隱患的處理,才能充分發(fā)揮計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)在現(xiàn)在社會(huì)建設(shè)中的重要作用。

保護(hù)計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)行的安全,才能為包括你我在內(nèi)的廣大計(jì)算機(jī)用戶提供更加良好的使用體驗(yàn)。

參考文獻(xiàn)。

[1]彭新光.計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)與應(yīng)用[m].科學(xué)出版社,2005.

[2]邵波,王其和.計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)及應(yīng)用[m].電子工業(yè)出版社,2005.

[3]雷渭侶.計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)與應(yīng)用[m].清華大學(xué)出版社,2010.

郵件傳輸協(xié)議范文簡(jiǎn)短篇四

甲方:_________。

乙方:_________。

第一條?合同定義與合同項(xiàng)目。

1.1?甲方租用屬于乙方網(wǎng)絡(luò)環(huán)境的服務(wù)器,乙方為甲方提供“服務(wù)器端流媒體視頻文件存放空間”,并將之接入到國(guó)際互聯(lián)網(wǎng)(_____er_____),為甲方提供_____er_____視頻廣告點(diǎn)播服務(wù)。乙方負(fù)責(zé)該服務(wù)器的硬件配置與軟件安裝,及日常維護(hù)和服務(wù)器故障的排除,甲方按照本合同的約定購(gòu)買相應(yīng)空間使用權(quán)。

1.3?標(biāo)準(zhǔn)服務(wù):品質(zhì)機(jī)房環(huán)境及設(shè)備;乙方選定之主機(jī)及設(shè)備;恒溫恒濕控制系統(tǒng);通過高速光纖直接接入china_____骨干網(wǎng);間斷、無休日網(wǎng)絡(luò)系統(tǒng)管理維護(hù)與技術(shù)支持;服務(wù)器應(yīng)用監(jiān)測(cè)。

第二條?雙方的權(quán)利和義務(wù)。

2.1?甲方的權(quán)利和義務(wù)。

2.1.1?甲方有權(quán)對(duì)所租用的服務(wù)器流媒體視頻文件存放空間進(jìn)行內(nèi)容的修改,增加,刪除。

2.1.2?甲方的信息經(jīng)營(yíng)必須遵守《中華人民共和國(guó)計(jì)算機(jī)信息網(wǎng)絡(luò)國(guó)際聯(lián)網(wǎng)暫行規(guī)定》和國(guó)家的有關(guān)法律,法令,法規(guī),不得做任何違法經(jīng)營(yíng)活動(dòng)(包括但不限于黑客行為,侵權(quán)行為,發(fā)布色情或_____的內(nèi)容,舉辦博彩/賭博游戲,進(jìn)行違反國(guó)家規(guī)定的政治或宗教宣傳,發(fā)布涉及_____和安全的信息,發(fā)布危害社會(huì)秩序和治安,社會(huì)公共道德和侵害他人合法權(quán)益的信息等?)。否則,乙方在通知甲方后,有權(quán)要求甲方就不適當(dāng)內(nèi)容進(jìn)行刪除或修改。

2.1.3?甲方對(duì)其經(jīng)營(yíng)的信息而引起的政治責(zé)任,法律責(zé)任和經(jīng)濟(jì)糾紛負(fù)全部責(zé)任。

2.1.4?甲方利用所租用的空間進(jìn)行以_________為主的信息服務(wù)。同時(shí)可以配置和使用ftp等?_____er_____功能和數(shù)據(jù)庫。可以自行發(fā)布任何所需要的合法_____。

2.1.5?如果甲方利用本合同服務(wù)進(jìn)行的經(jīng)營(yíng),活動(dòng)需要獲得國(guó)家有關(guān)部門認(rèn)可或批準(zhǔn)的,甲方應(yīng)獲得該有關(guān)認(rèn)可或批準(zhǔn)。但乙方?jīng)]有義務(wù)審查甲方是否具有該認(rèn)可或批準(zhǔn),出現(xiàn)問題也由甲方自行解決或者承擔(dān)相關(guān)責(zé)任,與乙方無關(guān)。

2.2?乙方的權(quán)利和義務(wù)。

2.2.1?簽訂合同與繳納費(fèi)用后,乙方應(yīng)為甲方提供流媒體視頻文件存放空間,并確保服務(wù)器穩(wěn)定運(yùn)行。

2.2.3?甲方租用本業(yè)務(wù),如不屬于乙方之原因,造成電路或系統(tǒng)故障不能通信時(shí),甲方應(yīng)采取合作的態(tài)度等待互聯(lián)網(wǎng)基礎(chǔ)業(yè)務(wù)供應(yīng)商(如電信部門)來處理。

2.2.4?乙方為甲方提供機(jī)房物理環(huán)境以100兆共享帶寬不限流量與_____er_____連接,并保證服務(wù)器與外部連接的安全性,穩(wěn)定性,及時(shí)性,使甲方可以通過ftp等對(duì)所租用空間進(jìn)行管理。

2.2.5?乙方對(duì)服務(wù)器進(jìn)行日常維護(hù)和監(jiān)控,以保證甲方信息服務(wù)器的正常運(yùn)行。除非雙方另有書面約定,乙方承認(rèn)甲方自己存放在服務(wù)器上的任何資料,軟件,數(shù)據(jù)等的知識(shí)產(chǎn)權(quán)均與乙方無關(guān),乙方無權(quán)復(fù)制,傳播,轉(zhuǎn)讓,許可或提供他人使用這些資源,否則應(yīng)承擔(dān)相應(yīng)的責(zé)任。

2.2.6?因乙方原因,造成服務(wù)器的正常工作中斷,乙方以小時(shí)為單位,以月費(fèi)為基數(shù),按平均每小時(shí)費(fèi)用的二倍向甲方賠償。但以當(dāng)月的月費(fèi)為賠償?shù)淖罡呦蕖?/p>

2.2.7?甲方自行安裝軟件或進(jìn)行系統(tǒng)配置如導(dǎo)致系統(tǒng)無法使用,需要乙方進(jìn)行恢復(fù)的,乙方有權(quán)要求甲方支付相應(yīng)的服務(wù)費(fèi)用。

第三條?合同金額及付款方式(本條內(nèi)容依甲方所租用主機(jī)的類型而不同)。

3.1?本合同所涉及的費(fèi)用包括一次性費(fèi)用。其涉及的金額一律以人民幣元為單位。

3.2?本合同涉及的一次性費(fèi)用共計(jì)人民幣_(tái)________元整(rmb:_________元)。

第四條?合同期限。

4.1?合同有效期為12個(gè)月。自甲方付款,并由乙方開通相關(guān)服務(wù)之日起生效。由乙方出具書面通知為準(zhǔn)。

4.2?在合同到期時(shí),雙方如需要繼續(xù)合作并對(duì)本合同無異議,則本合同自動(dòng)順延。如雙方認(rèn)為某些條款需要修改,屆時(shí)雙方另簽合同。如果在合同期間或期滿之后甲方需要乙方的其他服務(wù),雙方另簽合同。

第五條?合同中止及違約責(zé)任。

5.1?甲方違約責(zé)任。

5.1.1?如果甲乙雙方無異議并且甲方在本合同結(jié)束期七日前按時(shí)付款續(xù)約,則本合同自動(dòng)延續(xù)一年,如果甲方?jīng)]有按時(shí)支付續(xù)約款項(xiàng),則在甲方前一次付款款項(xiàng)的有效期結(jié)束后,本合同即告終止。乙方屆時(shí)將關(guān)閉甲方的使用帳號(hào)。如果甲方違約,乙方有權(quán)關(guān)閉甲方的使用帳號(hào),由此造成的損失由甲方負(fù)責(zé)。

5.1.2?乙方在進(jìn)行維護(hù)時(shí)有時(shí)需要短時(shí)間中斷服務(wù),或因_____er_____上的通路的偶然阻塞造成甲方虛擬主機(jī)訪問速度下降,甲方認(rèn)同這是屬于正常情況,不屬于乙方違約。

5.2?乙方的違約責(zé)任。

5.2.1?乙方不得無故破壞或干擾為甲方提供的服務(wù)。乙方保證甲方所租用的服務(wù)正常運(yùn)行,供電穩(wěn)定可靠,與_____er_____連接的正常,如確實(shí)必須暫時(shí)停機(jī)或與_____er_____斷開連接,乙方應(yīng)及時(shí)通知甲方。如乙方無故停機(jī)或未及時(shí)通知甲方,將以所列罰款款項(xiàng)的雙倍對(duì)甲方進(jìn)行賠償。

5.2.2?如果乙方違約,甲方有權(quán)要求乙方在限定時(shí)間內(nèi)為甲方的退出或轉(zhuǎn)移服務(wù),其違約造成的損失由乙方負(fù)責(zé)。

5.2.3?本合同在下述情形下終止,雙方互不負(fù)責(zé),但終止方應(yīng)書面通知另一方:一方當(dāng)事人主體資格消失,如破產(chǎn)。但進(jìn)行重組、名稱變更或者與第三方合并等不在此列。一方嚴(yán)重違反本合同,另一方根據(jù)本合同的約定解除本合同。因不可抗力而解除本合同或者雙方當(dāng)事人協(xié)商一致解除本合同的。依法律、法規(guī)規(guī)定的情形而終止。

5.2.4?本合同到期后,如果甲方?jīng)]有按時(shí)支付續(xù)約款項(xiàng),則雙方認(rèn)同本合同執(zhí)行終止,乙方屆時(shí)將關(guān)閉服務(wù)。

5.2.5?由于一方不履行協(xié)議約定的義務(wù),或嚴(yán)重違反本合同約定的義務(wù),造成本合同無法履行或履行不必要時(shí),視作違約方片面終止本合同,守約方除有權(quán)向違約方索賠外,并有權(quán)終止本合同。

第六條?責(zé)任限制。

6.1?乙方在進(jìn)行服務(wù)器配置,維護(hù)時(shí)需要短時(shí)間中斷服務(wù),或者由于_____er_____上通路的阻塞造成甲方服務(wù)器訪問速度下降,甲方均認(rèn)同是正常情況,不屬于乙方違約。鑒于計(jì)算機(jī)及互聯(lián)網(wǎng)的特殊性,因y2k問題、黑客、_____、電信部門技術(shù)調(diào)整等引起的事件,甲方亦認(rèn)同不屬于乙方違約。

6.2?在履行本合同時(shí),乙方對(duì)因第三方的過錯(cuò)或者延誤而給甲方或者其他第三方造成的損失不負(fù)責(zé)任。乙方對(duì)通過甲方間接接受乙方服務(wù)的第三方的損失不負(fù)責(zé)任。

第七條?爭(zhēng)議解決。

在合同執(zhí)行期間如果雙方發(fā)生爭(zhēng)議,雙方應(yīng)友好協(xié)商解決。如果協(xié)商不成,雙方同意提交______________委員會(huì)進(jìn)行_____。

第八條?不可抗力。

8.1?任何一方遇有不能預(yù)見,不能避免或不能克服的客觀事件(包括但不限于自然災(zāi)害如洪水、火災(zāi)、爆炸、雷電、地震和風(fēng)暴等以及社會(huì)事件如戰(zhàn)爭(zhēng)、_____、政府管制、國(guó)家政策的突然變動(dòng)和_____等。)而全部或部分不能履行本合同或遲延履行本合同,應(yīng)自不可抗力事件發(fā)生之日起五日內(nèi),將事件情況以書面形式通知另一方,并于事件發(fā)生之日起二十日內(nèi),向另一方提交導(dǎo)致其全部或部分不能履行或遲延履行的證明。

8.2?遭受不可抗力的一方應(yīng)采取一切必要措施減少損失,并在事件消除后協(xié)商恢復(fù)本合同的履行,除非此等履行已不可能或者不必要。

第九條?保密義務(wù)。

任何一方對(duì)在本合同履行過程中以任何方式獲知的另一方商業(yè)秘密或其他技術(shù)及經(jīng)營(yíng)信息均負(fù)有保密義務(wù),并有義務(wù)盡快通知對(duì)方,并協(xié)助對(duì)方采取適當(dāng)?shù)难a(bǔ)救措施,不得向任何其他第三方透露或泄露,但中國(guó)現(xiàn)行法律,法規(guī)另有規(guī)定或經(jīng)另一方書面同意的除外。

第十條?其他。

本合同一式_________份,甲乙雙方各執(zhí)_________份。

本合同簽訂后,雙方如需修改,經(jīng)雙方協(xié)商后,可以增加補(bǔ)充條款。

甲方(蓋章):_________乙方(蓋章):_________。

法定代表人(簽字):_________法定代表人(簽字):_________。

_________年____月____日_________年____月____日。

簽訂地點(diǎn):_________簽訂地點(diǎn):_________。

郵件傳輸協(xié)議范文簡(jiǎn)短篇五

經(jīng)雙方友好協(xié)商,本著互惠互利的原則就貴公司委托代發(fā)網(wǎng)上直投廣告事宜,達(dá)成如下協(xié)議:

1.甲方委托代發(fā)網(wǎng)上直投廣告。

2.數(shù)量:(____萬封)價(jià)格:____元(人民幣)/拾萬封。

費(fèi)用總計(jì):____元整(注:先付款,后發(fā)送)。

3.甲方需預(yù)先設(shè)定聯(lián)系業(yè)務(wù)信箱:

(注意:請(qǐng)不要使用常用工作信箱,以免堵塞!)。

4.發(fā)送對(duì)象:

a:(1)國(guó)內(nèi)(_________省/市)。

(2)港澳臺(tái)地區(qū)。

(3)國(guó)外。

b:行業(yè)。

c:(1)企業(yè)。

(2)個(gè)人。

d:備注_______________________。

5.付款:甲方通過(1.銀行匯款;2.郵局匯款;3.信用卡劃款;4.其他方式)將費(fèi)用支付給乙方。

6.乙方應(yīng)采取一切必要措施保護(hù)甲方的文件不致丟失或泄露。廣告信息的真實(shí)性由甲方負(fù)責(zé),由于使用代理服務(wù)器而引起的其他糾紛,由乙方承擔(dān)責(zé)任。

7.本協(xié)議一式兩份;簽字蓋章后生效。雙方各持一份。本協(xié)議有效期一年。期滿雙方根據(jù)合作意愿續(xù)簽或終止。傳真件與協(xié)議書正本一樣有效。

郵件傳輸協(xié)議范文簡(jiǎn)短篇六

說明:

1).本文以tcp的發(fā)展歷程解析容易引起混淆,誤會(huì)的方方面面。

5).本文給出一個(gè)提綱,如果想了解細(xì)節(jié),請(qǐng)直接查閱rfc。

6).翻來覆去,終于找到了這篇備忘,本文基于這篇備忘文檔修改。

1.網(wǎng)絡(luò)協(xié)議設(shè)計(jì)。

iso提出了osi分層網(wǎng)絡(luò)模型,這種分層模型是理論上的,tcp/ip最終實(shí)現(xiàn)了一個(gè)分層的協(xié)議模型,每一個(gè)層次對(duì)應(yīng)一組網(wǎng)絡(luò)協(xié)議完成一組特定的功能,該組網(wǎng)絡(luò)協(xié)議被其下的層次復(fù)用和解復(fù)用。這就是分層模型的本質(zhì),最終所有的邏輯被編碼到線纜或者電磁波。

分層模型是很好理解的,然而對(duì)于每一層的協(xié)議設(shè)計(jì)卻不是那么容易。tcp/ip的漂亮之處在于:協(xié)議越往上層越復(fù)雜。我們把網(wǎng)絡(luò)定義為互相連接在一起的設(shè)備,網(wǎng)絡(luò)的本質(zhì)作用還是“端到端”的通信,然而希望互相通信的設(shè)備并不一定要“直接”連接在一起,因此必然需要一些中間的設(shè)備負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù),因此就把連接這些中間設(shè)備的線纜上跑的協(xié)議定義為鏈路層協(xié)議,實(shí)際上所謂鏈路其實(shí)就是始發(fā)與一個(gè)設(shè)備,通過一根線,終止于另一個(gè)設(shè)備。我們把一條鏈路稱為“一跳”。因此一個(gè)端到端的網(wǎng)絡(luò)包含了“很多跳”。

終止于ip協(xié)議,我們已經(jīng)可以完成一個(gè)端到端的通信,為何還需要tcp協(xié)議?這是一個(gè)問題,理解了這個(gè)問題,我們就能理解tcp協(xié)議為何成了現(xiàn)在這個(gè)樣子,為何如此“復(fù)雜”,為何又如此簡(jiǎn)單。

首先我們認(rèn)識(shí)一下為何ip協(xié)議是沙漏的細(xì)腰部分。它的下層是繁多的鏈路層協(xié)議,這些鏈路提供了相互截然不同且相差很遠(yuǎn)的語義,為了互聯(lián)這些異構(gòu)的網(wǎng)絡(luò),我們需要一個(gè)網(wǎng)絡(luò)層協(xié)議起碼要提供一些適配的功能,另外它必然不能提供太多的“保證性服務(wù)”,因?yàn)樯蠈拥谋WC性依賴下層的約束性更強(qiáng)的保證性,你永遠(yuǎn)無法在一個(gè)100m吞吐量的鏈路之上實(shí)現(xiàn)的ip協(xié)議保證1000m的吞吐量...

ip協(xié)議設(shè)計(jì)為分組轉(zhuǎn)發(fā)協(xié)議,每一跳都要經(jīng)過一個(gè)中間節(jié)點(diǎn),路由的設(shè)計(jì)是tcp/ip網(wǎng)絡(luò)的另一大創(chuàng)舉,這樣,ip協(xié)議就無需方向性,路由信息和協(xié)議本身不再?gòu)?qiáng)關(guān)聯(lián),它們僅僅通過ip地址來關(guān)聯(lián),因此,ip協(xié)議更加簡(jiǎn)單。路由器作為中間節(jié)點(diǎn)也不能太復(fù)雜,這涉及到成本問題,因此路由器只負(fù)責(zé)選路以及轉(zhuǎn)發(fā)數(shù)據(jù)包。

因此傳輸控制協(xié)議必然需要在端點(diǎn)實(shí)現(xiàn)。在我們?cè)斦則cp協(xié)議之前,首先要看一下它不能做什么,由于ip協(xié)議不提供保證,tcp也不能提供依賴于ip下層鏈路的這種保證,比如帶寬,比如時(shí)延,這些都是鏈路層決定的,既然ip協(xié)議無法修補(bǔ),tcp也不能,然而它卻能修正始于ip層的一些“不可保證性質(zhì)”,這些性質(zhì)包括ip層的不可靠,ip層的不按順序,ip層的無方向/無連接。

將該小節(jié)總結(jié)一下,tcp/ip模型從下往上,功能增加,需要實(shí)現(xiàn)的設(shè)備減少,然而設(shè)備的復(fù)雜性卻在增加,這樣保證了成本的最小化,至于性能或者因素,靠軟件來調(diào)節(jié)吧,tcp協(xié)議就是這樣的軟件,實(shí)際上最開始的時(shí)候,tcp并不考慮性能,效率,公平性,正是考慮了這些,tcp協(xié)議才復(fù)雜了起來。

協(xié)議。

這是一個(gè)純軟件協(xié)議,為何將其設(shè)計(jì)上兩個(gè)端點(diǎn),參見上一小節(jié),本節(jié)詳述tcp協(xié)議,中間也穿插一些簡(jiǎn)短的論述。

協(xié)議。

確切的說,tcp協(xié)議有兩重身份,作為網(wǎng)絡(luò)協(xié)議,它彌補(bǔ)了ip協(xié)議盡力而為服務(wù)的不足,實(shí)現(xiàn)了有連接,可靠傳輸,報(bào)文按序到達(dá)。作為一個(gè)主機(jī)軟件,它和udp以及左右的傳輸層協(xié)議隔離了主機(jī)服務(wù)和網(wǎng)絡(luò),它們可以被看做是一個(gè)多路復(fù)用/解復(fù)用器,將諸多的主機(jī)進(jìn)程數(shù)據(jù)復(fù)用/解復(fù)用到ip層??梢钥闯?,不管從哪個(gè)角度,tcp都作為一個(gè)接口存在,作為網(wǎng)絡(luò)協(xié)議,它和對(duì)端的tcp接口,實(shí)現(xiàn)tcp的控制邏輯,作為多路復(fù)用/解復(fù)用器,它和下層ip協(xié)議接口,實(shí)現(xiàn)協(xié)議棧的功能,而這正是分層網(wǎng)絡(luò)協(xié)議模型的基本定義(兩類接口,一類和下層接口,另一類和對(duì)等層接口)。

我們習(xí)慣于將tcp作為協(xié)議棧的最頂端,而不把應(yīng)用層協(xié)議當(dāng)成協(xié)議棧的一部分,這部分是因?yàn)閼?yīng)用層被tcp/udp解復(fù)用了之后,呈現(xiàn)出了一種太復(fù)雜的局面,應(yīng)用層協(xié)議用一種不同截然不同的方式被解釋,應(yīng)用層協(xié)議習(xí)慣于用類似asn.1標(biāo)準(zhǔn)來封裝,這正體現(xiàn)了tcp協(xié)議作為多路復(fù)用/解復(fù)用器的重要性,由于直接和應(yīng)用接口,它可以很容易直接被應(yīng)用控制,實(shí)現(xiàn)不同的傳輸控制策略,這也是tcp被設(shè)計(jì)到離應(yīng)用不太遠(yuǎn)的地方的原因之一。

總之,tcp要點(diǎn)有四,一曰有連接,二曰可靠傳輸,三曰數(shù)據(jù)按照到達(dá),四曰端到端流量控制。注意,tcp被設(shè)計(jì)時(shí)只保證這四點(diǎn),此時(shí)它雖然也有些問題,然而很簡(jiǎn)單,然而更大的問題很快呈現(xiàn)出來,使之不得不考慮和ip網(wǎng)絡(luò)相關(guān)的東西,比如公平性,效率,因此增加了擁塞控制,這樣tcp就成了現(xiàn)在這個(gè)樣子。

3.2.有連接,可靠傳輸,數(shù)據(jù)按序到達(dá)的tcp。

ip協(xié)議是沒有方向的,數(shù)據(jù)報(bào)傳輸能到達(dá)對(duì)端全靠路由,因此它是一跳一跳地到達(dá)對(duì)端的,只要有一跳沒有到達(dá)對(duì)端的路由,那么數(shù)據(jù)傳輸將失敗,其實(shí)路由也是互聯(lián)網(wǎng)的核心之一,實(shí)際上ip層提供的核心基本功能有兩點(diǎn),第一點(diǎn)是地址管理,第二點(diǎn)就是路由選路。tcp利用了ip路由這個(gè)簡(jiǎn)單的功能,因此tcp不必考慮選路,這又一個(gè)它被設(shè)計(jì)成端到端協(xié)議的原因。

既然ip已經(jīng)能盡力讓單獨(dú)的數(shù)據(jù)報(bào)到達(dá)對(duì)端,那么tcp就可以在這種盡力而為的網(wǎng)絡(luò)上實(shí)現(xiàn)其它的更加嚴(yán)格的控制功能。tcp給無連接的ip網(wǎng)絡(luò)通信增加了連接性,確認(rèn)了已經(jīng)發(fā)送出去的數(shù)據(jù)的狀態(tài),并且保證了數(shù)據(jù)的順序。

3.2.1.有連接。

這是tcp的基本,因?yàn)楹罄m(xù)的傳輸?shù)目煽啃砸约皵?shù)據(jù)順序性都依賴于一條連接,這是最簡(jiǎn)單的實(shí)現(xiàn)方式,因此tcp被設(shè)計(jì)成一種基于流的協(xié)議,既然tcp需要事先建立連接,之后傳輸多少數(shù)據(jù)就無所謂了,只要是同一連接的數(shù)據(jù)能識(shí)別出來即可。

疑難雜癥1:3次握手和4次揮手。

tcp使用3次握手建立一條連接,該握手初始化了傳輸可靠性以及數(shù)據(jù)順序性必要的信息,這些信息包括兩個(gè)方向的初始序列號(hào),確認(rèn)號(hào)由初始序列號(hào)生成,使用3次握手是因?yàn)?次握手已經(jīng)準(zhǔn)備好了傳輸可靠性以及數(shù)據(jù)順序性所必要的信息,該握手的第3次實(shí)際上并不是需要單獨(dú)傳輸?shù)?,完全可以和?shù)據(jù)一起傳輸。

tcp使用4次揮手拆除一條連接,為何需要4次呢?因?yàn)閠cp是一個(gè)全雙工協(xié)議,必須單獨(dú)拆除每一條信道。注意,4次揮手和3次握手的意義是不同的,很多人都會(huì)問為何建立連接是3次握手,而拆除連接是4次揮手。3次握手的目的很簡(jiǎn)單,就是分配資源,初始化序列號(hào),這時(shí)還不涉及數(shù)據(jù)傳輸,3次就足夠做到這個(gè)了,而4次揮手的目的是終止數(shù)據(jù)傳輸,并回收資源,此時(shí)兩個(gè)端點(diǎn)兩個(gè)方向的序列號(hào)已經(jīng)沒有了任何關(guān)系,必須等待兩方向都沒有數(shù)據(jù)傳輸時(shí)才能拆除虛鏈路,不像初始化時(shí)那么簡(jiǎn)單,發(fā)現(xiàn)syn標(biāo)志就初始化一個(gè)序列號(hào)并確認(rèn)syn的序列號(hào)。因此必須單獨(dú)分別在一個(gè)方向上終止該方向的數(shù)據(jù)傳輸。

疑難雜癥2:time_wait狀態(tài)。

為何要有這個(gè)狀態(tài),原因很簡(jiǎn)單,那就是每次建立連接的時(shí)候序列號(hào)都是隨機(jī)產(chǎn)生的,并且這個(gè)序列號(hào)是32位的,會(huì)回繞?,F(xiàn)在我來解釋這和time_wait有什么關(guān)系。

任何的tcp分段都要在盡力而為的ip網(wǎng)絡(luò)上傳輸,中間的路由器可能會(huì)隨意的緩存任何的ip數(shù)據(jù)報(bào),它并不管這個(gè)ip數(shù)據(jù)報(bào)上被承載的是什么數(shù)據(jù),然而根據(jù)經(jīng)驗(yàn)和互聯(lián)網(wǎng)的大小,一個(gè)ip數(shù)據(jù)報(bào)最多存活msl(這是根據(jù)地球表面積,電磁波在各種介質(zhì)中的傳輸速率以及ip協(xié)議的ttl等綜合推算出來的,如果在火星上,這個(gè)msl會(huì)大得多...)。

現(xiàn)在我們考慮終止連接時(shí)的被動(dòng)方發(fā)送了一個(gè)fin,然后主動(dòng)方回復(fù)了一個(gè)ack,然而這個(gè)ack可能會(huì)丟失,這會(huì)造成被動(dòng)方重發(fā)fin,這個(gè)fin可能會(huì)在互聯(lián)網(wǎng)上存活msl。

如果沒有time_wait的話,假設(shè)連接1已經(jīng)斷開,然而其被動(dòng)方最后重發(fā)的那個(gè)fin(或者fin之前發(fā)送的任何tcp分段)還在網(wǎng)絡(luò)上,然而連接2重用了連接1的所有的5元素(源ip,目的ip,tcp,源端口,目的端口),剛剛將建立好連接,連接1遲到的fin到達(dá)了,這個(gè)fin將以比較低但是確實(shí)可能的概率終止掉連接2.

為何說是概率比較低呢?這涉及到一個(gè)匹配問題,遲到的fin分段的序列號(hào)必須落在連接2的一方的期望序列號(hào)范圍之內(nèi)。雖然這種巧合很少發(fā)生,但確實(shí)會(huì)發(fā)生,畢竟初始序列號(hào)是隨機(jī)產(chǎn)生了。因此終止連接的主動(dòng)方必須在接受了被動(dòng)方且回復(fù)了ack之后等待2*msl時(shí)間才能進(jìn)入close狀態(tài),之所以乘以2是因?yàn)檫@是保守的算法,最壞情況下,針對(duì)被動(dòng)方的ack在以最長(zhǎng)路線(經(jīng)歷一個(gè)msl)經(jīng)過互聯(lián)網(wǎng)馬上到達(dá)被動(dòng)方時(shí)丟失。

為了應(yīng)對(duì)這個(gè)問題,rfc793對(duì)初始序列號(hào)的生成有個(gè)建議,那就是設(shè)定一個(gè)基準(zhǔn),在這個(gè)基準(zhǔn)之上搞隨機(jī),這個(gè)基準(zhǔn)就是時(shí)間,我們知道時(shí)間是單調(diào)遞增的。然而這仍然有問題,那就是回繞問題,如果發(fā)生回繞,那么新的序列號(hào)將會(huì)落到一個(gè)很低的值。因此最好的辦法就是避開“重疊”,其含義就是基準(zhǔn)之上的隨機(jī)要設(shè)定一個(gè)范圍。

要知道,很多人很不喜歡看到服務(wù)器上出現(xiàn)大量的time_wait狀態(tài)的連接,因此他們將time_wait的值設(shè)置的很低,這雖然在大多數(shù)情況下可行,然而確實(shí)也是一種冒險(xiǎn)行為。最好的方式就是,不要重用一個(gè)連接。

疑難雜癥3:重用一個(gè)連接和重用一個(gè)套接字。

這是根本不同的,單獨(dú)重用一個(gè)套接字一般不會(huì)有任何問題,因?yàn)閠cp是基于連接的。比如在服務(wù)器端出現(xiàn)了一個(gè)time_wait連接,那么該連接標(biāo)識(shí)了一個(gè)五元素,只要客戶端不使用相同的源端口,連接服務(wù)器是沒有問題的,因?yàn)檫t到的fin永遠(yuǎn)不會(huì)到達(dá)這個(gè)連接。記住,一個(gè)五元素標(biāo)識(shí)了一個(gè)連接,而不是一個(gè)套接字(當(dāng)然,對(duì)于bsd套接字而言,服務(wù)端的accept套接字確實(shí)標(biāo)識(shí)了一個(gè)連接)。

3.2.2.傳輸可靠性。

基本上傳輸可靠性是靠確認(rèn)號(hào)實(shí)現(xiàn)的,也就是說,每發(fā)送一個(gè)分段,接下來接收端必然要發(fā)送一個(gè)確認(rèn),發(fā)送端收到確認(rèn)后才可以發(fā)送下一個(gè)字節(jié)。這個(gè)原則最簡(jiǎn)單不過了,教科書上的“停止-等待”協(xié)議就是這個(gè)原則的字節(jié)版本,只是tcp使用了滑動(dòng)窗口機(jī)制使得每次不一定發(fā)送一個(gè)字節(jié),但是這是后話,本節(jié)僅僅談一下確認(rèn)的超時(shí)機(jī)制。

怎么知道數(shù)據(jù)到達(dá)對(duì)端呢?那就是對(duì)端發(fā)送一個(gè)確認(rèn),但是如果一直收不到對(duì)端的確認(rèn),發(fā)送端等多久呢?如果一直等下去,那么將無法發(fā)現(xiàn)數(shù)據(jù)的丟失,協(xié)議將不可用,如果等待時(shí)間過短,可能確認(rèn)還在路上,因此等待時(shí)間是個(gè)問題,另外如何去管理這個(gè)超時(shí)時(shí)間也是一個(gè)問題。

疑難雜癥4:超時(shí)時(shí)間的計(jì)算。

絕對(duì)不能隨意去揣測(cè)超時(shí)的時(shí)間,而應(yīng)該給出一個(gè)精確的算法去計(jì)算。毫無疑問,一個(gè)tcp分段的回復(fù)到達(dá)的時(shí)間就是一個(gè)數(shù)據(jù)報(bào)往返的時(shí)間,因此標(biāo)準(zhǔn)定義了一個(gè)新的名詞rtt,代表一個(gè)tcp分段的往返時(shí)間。然而我們知道,ip網(wǎng)絡(luò)是盡力而為的,并且路由是動(dòng)態(tài)的,且路由器會(huì)毫無先兆的緩存或者丟棄任何的數(shù)據(jù)報(bào),因此這個(gè)rtt是需要?jiǎng)討B(tài)測(cè)量的,也就是說起碼每隔一段時(shí)間就要測(cè)量一次,如果每次都一樣,萬事大吉,然而世界并非如你所愿,因此我們需要找到的恰恰的一個(gè)“平均值”,而不是一個(gè)準(zhǔn)確值。

這個(gè)平均值如果僅僅直接通過計(jì)算多次測(cè)量值取算術(shù)平均,那是不恰當(dāng)?shù)?,因?yàn)閷?duì)于數(shù)據(jù)傳輸延時(shí),我們必須考慮的路徑延遲的瞬間抖動(dòng),否則如果兩次測(cè)量值分別為2和98,那么超時(shí)值將是50,這個(gè)值對(duì)于2而言,太大了,結(jié)果造成了數(shù)據(jù)的延遲過大(本該重傳的等待了好久才重傳),然而對(duì)于98而言,太小了,結(jié)果造成了過度重傳(路途遙遠(yuǎn),本該很慢,結(jié)果大量重傳已經(jīng)正確確認(rèn)但是遲到的tcp分段)。

因此,除了考慮每?jī)纱螠y(cè)量值的偏差之外,其變化率也應(yīng)該考慮在內(nèi),如果變化率過大,則通過以變化率為自變量的函數(shù)為主計(jì)算rtt(如果陡然增大,則取值為比較大的正數(shù),如果陡然減小,則取值為比較小的負(fù)數(shù),然后和平均值加權(quán)求和),反之如果變化率很小,則取測(cè)量平均值。這是不言而喻的,這個(gè)算法至今仍然工作的很好。

疑難雜癥5:超時(shí)計(jì)時(shí)器的管理-每連接單一計(jì)時(shí)器。

很顯然,對(duì)每一個(gè)tcp分段都生成一個(gè)計(jì)時(shí)器是最直接的方式,每個(gè)計(jì)時(shí)器在rtt時(shí)間后到期,如果沒有收到確認(rèn),則重傳。然而這只是理論上的合理,對(duì)于大多數(shù)操作系統(tǒng)而言,這將帶來巨大的內(nèi)存開銷和調(diào)度開銷,因此采取每一個(gè)tcp連接單一計(jì)時(shí)器的設(shè)計(jì)則成了一個(gè)默認(rèn)的選擇。可是單一的計(jì)時(shí)器怎么管理如此多的發(fā)出去的tcp分段呢?又該如何來設(shè)計(jì)單一的計(jì)時(shí)器呢。

設(shè)計(jì)單一計(jì)時(shí)器有兩個(gè)原則:1.每一個(gè)報(bào)文在長(zhǎng)期收不到確認(rèn)都必須可以超時(shí);2.這個(gè)長(zhǎng)期收不到中長(zhǎng)期不能和測(cè)量的rtt相隔太遠(yuǎn)。因此rfc2988定義一套很簡(jiǎn)單的原則:

a.發(fā)送tcp分段時(shí),如果還沒有重傳定時(shí)器開啟,那么開啟它。

b.發(fā)送tcp分段時(shí),如果已經(jīng)有重傳定時(shí)器開啟,不再開啟它。

c.收到一個(gè)非冗余ack時(shí),如果有數(shù)據(jù)在傳輸中,重新開啟重傳定時(shí)器。

d.收到一個(gè)非冗余ack時(shí),如果沒有數(shù)據(jù)在傳輸中,則關(guān)閉重傳定時(shí)器。

我們看看這4條規(guī)則是如何做到以上兩點(diǎn)的,根據(jù)a和c(在c中,注意到ack是非冗余的),任何tcp分段只要不被確認(rèn),超時(shí)定時(shí)器總會(huì)超時(shí)的。然而為何需要c呢?只有規(guī)則a存在的話,也可以做到原則1。實(shí)際上確實(shí)是這樣的,但是為了不會(huì)出現(xiàn)過早重傳,才添加了規(guī)則c,如果沒有規(guī)則c,那么萬一在重傳定時(shí)器到期前,發(fā)送了一些數(shù)據(jù),這樣在定時(shí)器到期后,除了很早發(fā)送的數(shù)據(jù)能收到ack外,其它稍晚些發(fā)送的數(shù)據(jù)的ack都將不會(huì)到來,因此這些數(shù)據(jù)都將被重傳。有了規(guī)則c之后,只要有分段ack到來,則重置重傳定時(shí)器,這很合理,因此大多數(shù)正常情況下,從數(shù)據(jù)的發(fā)出到ack的到來這段時(shí)間以及計(jì)算得到的rtt以及重傳定時(shí)器超時(shí)的時(shí)間這三者相差并不大,一個(gè)ack到來后重置定時(shí)器可以保護(hù)后發(fā)的數(shù)據(jù)不被過早重傳。

這里面還有一些細(xì)節(jié)需要說明。一個(gè)ack到來了,說明后續(xù)的ack很可能會(huì)依次到來,也就是說丟失的可能性并不大,另外,即使真的有后發(fā)的tcp分段丟失現(xiàn)象發(fā)生,也會(huì)在最多2倍定時(shí)器超時(shí)時(shí)間的范圍內(nèi)被重傳(假設(shè)該報(bào)文是第一個(gè)報(bào)文發(fā)出啟動(dòng)定時(shí)器之后馬上發(fā)出的,丟失了,第一個(gè)報(bào)文的ack到來后又重啟了定時(shí)器,又經(jīng)過了一個(gè)超時(shí)時(shí)間才會(huì)被重傳)。雖然這里還沒有涉及擁塞控制,但是可見網(wǎng)絡(luò)擁塞會(huì)引起丟包,丟包會(huì)引起重傳,過度重傳反過來加重網(wǎng)絡(luò)擁塞,設(shè)置規(guī)則c的結(jié)果可以緩解過多的重傳,畢竟將啟動(dòng)定時(shí)器之后發(fā)送的數(shù)據(jù)的重傳超時(shí)時(shí)間拉長(zhǎng)了最多一倍左右。最多一倍左右的超時(shí)偏差做到了原則2,即“這個(gè)長(zhǎng)期收不到中長(zhǎng)期不能和測(cè)量的rtt相隔太遠(yuǎn)”。

還有一點(diǎn),如果是一個(gè)發(fā)送序列的最后一個(gè)分段丟失了,后面就不會(huì)收到冗余ack,這樣就只能等到超時(shí)了,并且超時(shí)時(shí)間幾乎是肯定會(huì)比定時(shí)器超時(shí)時(shí)間更長(zhǎng)。如果這個(gè)分段是在發(fā)送序列的靠后的時(shí)間發(fā)送的且和前面的發(fā)送時(shí)間相隔時(shí)間較遠(yuǎn),則其超時(shí)時(shí)間不會(huì)很大,反之就會(huì)比較大。

疑難雜癥6:何時(shí)測(cè)量rtt。

目前很多tcp實(shí)現(xiàn)了時(shí)間戳,這樣就方便多了,發(fā)送端再也不需要保存發(fā)送分段的時(shí)間了,只需要將其放入?yún)f(xié)議頭的時(shí)間戳字段,然后接收端將其回顯在ack即可,然后發(fā)送端收到ack后,取出時(shí)間戳,和當(dāng)前時(shí)間做算術(shù)差,即可完成一次rtt的測(cè)量。

3.2.3.數(shù)據(jù)順序性。

基本上傳輸可靠性是靠序列號(hào)實(shí)現(xiàn)的。

疑難雜癥7:確認(rèn)號(hào)和超時(shí)重傳。

確認(rèn)號(hào)是一個(gè)很詭異的東西,因?yàn)閠cp的發(fā)送端對(duì)于發(fā)送出去的一個(gè)數(shù)據(jù)序列,它只要收到一個(gè)確認(rèn)號(hào)就認(rèn)為確認(rèn)號(hào)前面的數(shù)據(jù)都被收到了,即使前面的某個(gè)確認(rèn)號(hào)丟失了,也就是說,發(fā)送端只認(rèn)最后一個(gè)確認(rèn)號(hào)。這是合理的,因?yàn)榇_認(rèn)號(hào)是接收端發(fā)出的,接收端只確認(rèn)按序到達(dá)的最后一個(gè)tcp分段。

另外,發(fā)送端重發(fā)了一個(gè)tcp報(bào)文并且接收到該tcp分段的確認(rèn)號(hào),并不能說明這個(gè)重發(fā)的報(bào)文被接收了,也可能是數(shù)據(jù)早就被接收了,只是由于其ack丟失或者其ack延遲到達(dá)導(dǎo)致了超時(shí)。值得說明的是,接收端會(huì)丟棄任何重復(fù)的數(shù)據(jù),即使丟棄了重復(fù)的數(shù)據(jù),其ack還是會(huì)照發(fā)不誤的。

標(biāo)準(zhǔn)的早期tcp實(shí)現(xiàn)為,只要一個(gè)tcp分段丟失,即使后面的tcp分段都被完整收到,發(fā)送端還是會(huì)重傳從丟失分段開始的所有報(bào)文,這就會(huì)導(dǎo)致一個(gè)問題,那就是重傳風(fēng)暴,一個(gè)分段丟失,引起大量的重傳。這種風(fēng)暴實(shí)則不必要的,因?yàn)榇蠖鄶?shù)的tcp實(shí)現(xiàn)中,接收端已經(jīng)緩存了亂序的分段,這些被重傳的丟失分段之后的分段到達(dá)接收端之后,很大的可能性是被丟棄。關(guān)于這一點(diǎn)在擁塞控制被引入之后還會(huì)提及(問題先述為快:本來報(bào)文丟失導(dǎo)致超時(shí)就說明網(wǎng)絡(luò)很可能已然擁塞,重傳風(fēng)暴只能加重其擁塞程度)。

疑難雜癥8:亂序數(shù)據(jù)緩存以及選擇確認(rèn)。

tcp是保證數(shù)據(jù)順序的,但是并不意味著它總是會(huì)丟棄亂序的tcp分段,具體會(huì)不會(huì)丟棄是和具體實(shí)現(xiàn)相關(guān)的,rfc建議如果內(nèi)存允許,還是要緩存這些亂序到來的分段,然后實(shí)現(xiàn)一種機(jī)制等到可以拼接成一個(gè)按序序列的時(shí)候?qū)⒕彺娴姆侄纹唇樱@就類似于ip協(xié)議中的分片一樣,但是由于ip數(shù)據(jù)報(bào)是不確認(rèn)的,因此ip協(xié)議的實(shí)現(xiàn)必須緩存收到的任何分片而不能將其丟棄,因?yàn)閬G棄了一個(gè)ip分片,它就再也不會(huì)到來了。

現(xiàn)在,tcp實(shí)現(xiàn)了一種稱為選擇確認(rèn)的方式,接收端會(huì)顯式告訴發(fā)送端需要重傳哪些分段而不需要重傳哪些分段。這無疑避免了重傳風(fēng)暴。

疑難雜癥9:tcp序列號(hào)的回繞的問題。

tcp的序列號(hào)回繞會(huì)引起很多的問題,比如序列號(hào)為s的分段發(fā)出之后,m秒后,序列號(hào)比s小的序列號(hào)為j的分段發(fā)出,只不過此時(shí)的j比上一個(gè)s多了一圈,這就是回繞問題,那么如果這后一個(gè)分段到達(dá)接收端,這就會(huì)引發(fā)徹底亂序-本來j該在s后面,結(jié)果反而到達(dá)前面了,這種亂序是tcp協(xié)議檢查不出來的。我們仔細(xì)想一下,這種情況確實(shí)會(huì)發(fā)生,數(shù)據(jù)分段并不是一個(gè)字節(jié)一個(gè)字節(jié)發(fā)送出去的,如果存在一個(gè)速率為1gbps的網(wǎng)絡(luò),tcp發(fā)送端1秒會(huì)發(fā)送125mb的數(shù)據(jù),32位的序列號(hào)空間能傳輸2的32次方個(gè)字節(jié),也就是說32秒左右就會(huì)發(fā)生回繞,我們知道這個(gè)值遠(yuǎn)小于msl值,因此會(huì)發(fā)生的。

有個(gè)細(xì)節(jié)可能會(huì)引起誤會(huì),那就是tcp的窗口大小空間是序列號(hào)空間的一半,這樣恰好在滿載情況下,數(shù)據(jù)能填滿發(fā)送窗口和接收窗口,序列號(hào)空間正好夠用。然而事實(shí)上,tcp的初始序列號(hào)并不是從0開始的,而是隨機(jī)產(chǎn)生的(當(dāng)然要輔助一些更精妙的算法),因此如果初始序列號(hào)比較接近2的32次方,那么很快就會(huì)回繞。

當(dāng)然,如今可以用時(shí)間戳選項(xiàng)來輔助作為序列號(hào)的一個(gè)識(shí)別的部分,接收端遇到回繞的情況,需要比較時(shí)間戳,我們知道,時(shí)間戳是單調(diào)遞增的,雖然也會(huì)回繞,然而回繞時(shí)間卻要長(zhǎng)很多。這只是一種策略,在此不詳談。還有一個(gè)很現(xiàn)實(shí)的問題,理論上序列號(hào)會(huì)回繞,但是實(shí)際上,有多少tcp的端點(diǎn)主機(jī)直接架設(shè)在1g的網(wǎng)絡(luò)線纜兩端并且接收方和發(fā)送方的窗口還能恰好被同時(shí)填滿。另外,就算發(fā)生了回繞,也不是一件特別的事情,回繞在計(jì)算機(jī)里面太常見了,只需要能識(shí)別出來即可解決,對(duì)于tcp的序列號(hào)而言,在高速網(wǎng)絡(luò)(點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)或者以太網(wǎng))的兩端,數(shù)據(jù)發(fā)生亂序的可能性很小,因此當(dāng)收到一個(gè)序列號(hào)突然變?yōu)?或者終止序列號(hào)小于起始序列號(hào)的情況后,很容易辨別出來,只需要和前一個(gè)確認(rèn)的分段比較即可,如果在一個(gè)經(jīng)過路由器的網(wǎng)絡(luò)兩端,會(huì)引發(fā)ip數(shù)據(jù)報(bào)的順序重排,對(duì)于tcp而言,雖然還會(huì)發(fā)生回繞,也會(huì)慢得多,且考慮到擁塞窗口(目前還沒有引入)一般不會(huì)太大,窗口也很難被填滿到65536。

3.2.4.端到端的流量控制。

疑難雜癥10:流量控制的真實(shí)意義。

很多人以為流量控制會(huì)很有效的協(xié)調(diào)兩端的流量匹配,確實(shí)是這樣,但是如果你考慮到網(wǎng)絡(luò)的利用率問題,tcp的流量控制機(jī)制就不那么完美了,造成這種局面的原因在于,滑動(dòng)窗口只是限制了最大發(fā)送的數(shù)據(jù),卻沒有限制最小發(fā)送的數(shù)據(jù),結(jié)果導(dǎo)致一些很小的數(shù)據(jù)被封裝成tcp分段,報(bào)文協(xié)議頭所占的比例過于大,造成網(wǎng)絡(luò)利用率下降,這就引出了接下來的內(nèi)容,那就是端到端意義的tcp協(xié)議效率。

~~~~~~~~~~~~~~~~~~~~。

承上啟下。

終于到了闡述問題的時(shí)候了,以上的tcp協(xié)議實(shí)現(xiàn)的非常簡(jiǎn)單,這也是tcp的標(biāo)準(zhǔn)實(shí)現(xiàn),然而很快我們就會(huì)發(fā)現(xiàn)各種各樣的問題。這些問題導(dǎo)致了標(biāo)準(zhǔn)化協(xié)會(huì)對(duì)tcp協(xié)議進(jìn)行了大量的修補(bǔ),這些修補(bǔ)雜糅在一起讓人們有些云里霧里,不知所措。本文檔就旨在分離這些雜亂的情況,實(shí)際上,根據(jù)rfc,這些雜亂的情況都是可以找到其單獨(dú)的發(fā)展軌跡的。

~~~~~~~~~~~~~~~~~~~~。

4.端到端意義上的tcp協(xié)議效率。

4.1.三個(gè)問題以及解決。

問題1描述:接收端處理慢,導(dǎo)致接收窗口被填滿。

這明顯是速率不匹配引發(fā)的問題,然而即使速率不匹配,只要滑動(dòng)窗口能協(xié)調(diào)好它們的速率就好,要快都快,要慢都慢,事實(shí)上滑動(dòng)窗口在這一點(diǎn)上做的很好。但是如果我們不得不從效率上來考慮問題的話,事實(shí)就不那么樂觀了。考慮此時(shí)接收窗口已然被填滿,慢速的應(yīng)用程序慢騰騰的讀取了一個(gè)字節(jié),空出一個(gè)位置,然后通告給tcp的發(fā)送端,發(fā)送端得知空出一個(gè)位置,馬上發(fā)出一個(gè)字節(jié),又將接收端填滿,然后接收應(yīng)用程序又一次慢騰騰...這就是糊涂窗口綜合癥,一個(gè)大多數(shù)人都很熟悉的詞。這個(gè)問題極大的浪費(fèi)了網(wǎng)絡(luò)帶寬,降低了網(wǎng)絡(luò)利用率。好比從大同拉100噸煤到北京需要一輛車,拉1kg煤到北京也需要一輛車(超級(jí)夸張的一個(gè)例子,請(qǐng)不要相信),但是一輛車開到北京的開銷是一定的...

問題1解決:窗口通告。

對(duì)于問題1,很顯然問題出在接收端,我們沒有辦法限制發(fā)送端不發(fā)送小分段,但是卻可以限制接收端通告小窗口,這是合理的,這并不影響應(yīng)用程序,此時(shí)經(jīng)典的延遲/吞吐量反比律將不再適用,因?yàn)榻邮沾翱谑菨M的,其空出一半空間表示還有一半空間有數(shù)據(jù)沒有被應(yīng)用讀取,和其空出一個(gè)字節(jié)的空間的效果是一樣的,因此可以限制接收端當(dāng)窗口為0時(shí),直接通告給發(fā)送端以阻止其繼續(xù)發(fā)送數(shù)據(jù),只有當(dāng)其接收窗口再次達(dá)到mss的一半大小的時(shí)候才通告一個(gè)不為0的窗口,此前對(duì)于所有的發(fā)送端的窗口probe分段(用于探測(cè)接收端窗口大小的probe分段,由tcp標(biāo)準(zhǔn)規(guī)定),全部通告窗口為0,這樣發(fā)送端在收到窗口不為0的通告,那么肯定是一個(gè)比較大的窗口,因此發(fā)送端可以一次性發(fā)出一個(gè)很大的tcp分段,包含大量數(shù)據(jù),也即拉了好幾十噸的煤到北京,而不是只拉了幾公斤。

即,限制窗口通告時(shí)機(jī),解決糊涂窗口綜合癥。

問題2描述:發(fā)送端持續(xù)發(fā)送小包,導(dǎo)致窗口閑置。

這明顯是發(fā)送端引起的問題,此時(shí)接收端的窗口開得很大,然而發(fā)送端卻不積累數(shù)據(jù),還是一味的發(fā)送小塊數(shù)據(jù)分段。只要發(fā)送了任和的分段,接收端都要無條件接收并且確認(rèn),這完全符合tcp規(guī)范,因此必然要限制發(fā)送端不發(fā)送這樣的小分段。

問題2解決:nagle算法。

nagel算法很簡(jiǎn)單,標(biāo)準(zhǔn)的nagle算法為:

if數(shù)據(jù)的大小和窗口的大小都超過了mss。

then發(fā)送數(shù)據(jù)分段。

else。

if還有發(fā)出的tcp分段的確認(rèn)沒有到來。

then積累數(shù)據(jù)到發(fā)送隊(duì)列的末尾的tcp分段。

else。

發(fā)送數(shù)據(jù)分段。

endif。

endif。

可是后來,這個(gè)算法變了,變得更加靈活了,其中的:

if還有發(fā)出的tcp分段的確認(rèn)沒有到來。

變成了。

if還有發(fā)出的不足mss大小的tcp分段的確認(rèn)沒有到來。

這個(gè)算法體現(xiàn)了一種自適應(yīng)的策略,越是確認(rèn)的快,越是發(fā)送的快,雖然nagle算法看起來在積累數(shù)據(jù)增加吞吐量的同時(shí)也加大的時(shí)延,可事實(shí)上,如果對(duì)于類似交互式的應(yīng)用,時(shí)延并不會(huì)增加,因?yàn)檫@類應(yīng)用回復(fù)數(shù)據(jù)也是很快的,比如telnet之類的服務(wù)必然需要回顯字符,因此能和對(duì)端進(jìn)行自適應(yīng)協(xié)調(diào)。

注意,nagle算法是默認(rèn)開啟的,但是卻可以關(guān)閉。如果在開啟的情況下,那么它就嚴(yán)格按照上述的算法來執(zhí)行。

問題3.確認(rèn)號(hào)(ack)本身就是不含數(shù)據(jù)的分段,因此大量的確認(rèn)號(hào)消耗了大量的帶寬。

這是tcp為了確??煽啃詡鬏?shù)囊?guī)范,然而大多數(shù)情況下,ack還是可以和數(shù)據(jù)一起捎帶傳輸?shù)?。如果沒有捎帶傳輸,那么就只能單獨(dú)回來一個(gè)ack,如果這樣的分段太多,網(wǎng)絡(luò)的利用率就會(huì)下降。從大同用火車?yán)奖本?00噸煤,為了確認(rèn)煤已收到,北京需要派一輛同樣的火車空載開到大同去復(fù)命,因?yàn)闆]有別的交通工具,只有火車。如果這位復(fù)命者剛開著一列火車走,又從大同來了一車煤,這拉煤的哥們兒又要開一列空車去復(fù)命了。

問題3的解決:

rfc建議了一種延遲的ack,也就是說,ack在收到數(shù)據(jù)后并不馬上回復(fù),而是延遲一段可以接受的時(shí)間,延遲一段時(shí)間的目的是看能不能和接收方要發(fā)給發(fā)送方的數(shù)據(jù)一起回去,因?yàn)閠cp協(xié)議頭中總是包含確認(rèn)號(hào)的,如果能的話,就將ack一起捎帶回去,這樣網(wǎng)絡(luò)利用率就提高了。往大同復(fù)命的確認(rèn)者不必開一輛空載火車回大同了,此時(shí)北京正好有一批貨物要送往大同,這位復(fù)命者搭著這批貨的火車返回大同。

如果等了一段可以接受的時(shí)間,還是沒有數(shù)據(jù)要發(fā)往發(fā)送端,此時(shí)就需要單獨(dú)發(fā)送一個(gè)ack了,然而即使如此,這個(gè)延遲的ack雖然沒有等到可以被捎帶的數(shù)據(jù)分段,也可能等到了后續(xù)到來的tcp分段,這樣它們就可以取最大者一起返回了,要知道,tcp的確認(rèn)號(hào)是收到的按序報(bào)文的最后一個(gè)字節(jié)的后一個(gè)字節(jié)。最后,rfc建議,延遲的ack最多等待兩個(gè)分段的積累確認(rèn)。

4.2.分析三個(gè)問題之間的關(guān)聯(lián)。

三個(gè)問題導(dǎo)致的結(jié)果是相同的,但是要知道它們的原因本質(zhì)上是不同的,問題1幾乎總是出現(xiàn)在接收端窗口滿的情況下,而問題2幾乎總是發(fā)生在窗口閑置的情況下,問題3看起來是最無聊的,然而由于tcp的要求,必須要有確認(rèn)號(hào),而且一個(gè)確認(rèn)號(hào)就需要一個(gè)tcp分段,這個(gè)分段不含數(shù)據(jù),無疑是很小的。

三個(gè)問題都導(dǎo)致了網(wǎng)絡(luò)利用率的降低。雖然兩個(gè)問題導(dǎo)致了同樣的結(jié)果,但是必須認(rèn)識(shí)到它們是不同的問題,很自然的將這些問題的解決方案匯總在一起,形成一個(gè)全局的解決方案,這就是如今的操作系統(tǒng)中的解決方案。

4.3.問題的雜糅情況。

疑難雜癥11:糊涂窗口解決方案和nagle算法。

糊涂窗口綜合癥患者希望發(fā)送端積累tcp分段,而nagle算法確實(shí)保證了一定的tcp分段在發(fā)送端的積累,另外在延遲ack的延遲的那一會(huì)時(shí)間,發(fā)送端會(huì)利用這段時(shí)間積累數(shù)據(jù)。然而這卻是三個(gè)不同的問題。nagle算法可以緩解糊涂窗口綜合癥,卻不是治本的良藥。

疑難雜癥12:nagle算法和延遲ack。

延遲ack會(huì)延長(zhǎng)ack到達(dá)發(fā)送端的時(shí)間,由于標(biāo)準(zhǔn)nagle算法只允許一個(gè)未被確認(rèn)的tcp分段,那無疑在接收端,這個(gè)延遲的ack是毫無希望等待后續(xù)數(shù)據(jù)到來最終進(jìn)行積累確認(rèn)的,如果沒有數(shù)據(jù)可以捎帶這個(gè)ack,那么這個(gè)ack只有在延遲確認(rèn)定時(shí)器超時(shí)的時(shí)候才會(huì)發(fā)出,這樣在等待這個(gè)ack的過程中,發(fā)送端又積累了一些數(shù)據(jù),因此延遲ack實(shí)際上是在增加延遲的代價(jià)下加強(qiáng)了nagle算法。在延遲ack加nagle算法的情況下,接收端只有不斷有數(shù)據(jù)要發(fā)回,才能同時(shí)既保證了發(fā)送端的分段積累,又保證了延遲不增加,同時(shí)還沒有或者很少有空載的ack。

要知道,延遲ack和nagle是兩個(gè)問題的解決方案。

疑難雜癥13:到底何時(shí)可以發(fā)送數(shù)據(jù)。

到底何時(shí)才能發(fā)送數(shù)據(jù)呢?如果單從nagle算法上看,很簡(jiǎn)單,然而事實(shí)證明,情況還要更復(fù)雜些。如果發(fā)送端已經(jīng)排列了3個(gè)tcp分段,分段1,分段2,分段3依次被排入,三個(gè)分段都是小分段(不符合nagle算法中立即發(fā)送的標(biāo)準(zhǔn)),此時(shí)已經(jīng)有一個(gè)分段被發(fā)出了,且其確認(rèn)還沒有到來,請(qǐng)問此時(shí)能發(fā)送分段1和2嗎?如果按照nagle算法,是不能發(fā)送的,但實(shí)際上它們是可以發(fā)送的,因?yàn)檫@兩個(gè)分段已經(jīng)沒有任何機(jī)會(huì)再積累新的數(shù)據(jù)了,新的數(shù)據(jù)肯定都積累在分段3上了。問題在于,分段還沒有積累到一定大小時(shí),怎么還可以產(chǎn)生新的分段?這是可能的,但這是另一個(gè)問題,在此不談。

linux的tcp實(shí)現(xiàn)在這個(gè)問題上表現(xiàn)的更加靈活,它是這么判斷能否發(fā)送的(在開啟了nagle的情況下):

數(shù)據(jù)分段沒有超越窗口邊界。

then。

if分段在中間(上述例子中的分段1和2)||。

分段是緊急模式||。

通過上述的nagle算法(改進(jìn)后的nagle算法)。

then發(fā)送分段。

endif。

endif。

曾經(jīng)我也改過nagle算法,確切的說不是修改nagle算法,而是修改了“到底何時(shí)能發(fā)送數(shù)據(jù)”的策略,以往都是發(fā)送端判斷能否發(fā)送數(shù)據(jù)的,可是如果此時(shí)有延遲ack在等待被捎帶,而待發(fā)送的數(shù)據(jù)又由于積累不夠或者其它原因不能發(fā)送,因此兩邊都在等,這其實(shí)在某些情況下不是很好。我所做的改進(jìn)中對(duì)待何時(shí)能發(fā)送數(shù)據(jù)又增加了一種情況,這就是“ack拉”的情況,一旦有延遲ack等待發(fā)送,判斷一下有沒有數(shù)據(jù)也在等待發(fā)送,如果有的話,看看數(shù)據(jù)是否大到了一定程度,在此,我選擇的是mss的一半:

數(shù)據(jù)分段沒有超越窗口邊界。

then。

if分段在中間(上述例子中的分段1和2)||。

分段是緊急模式||。

通過上述的nagle算法(改進(jìn)后的nagle算法)。

then發(fā)送分段。

endif。

elseif有延遲ack等待傳輸&&。

發(fā)送隊(duì)列中有待發(fā)送的tcp分段&&。

發(fā)送隊(duì)列的頭分段大小大于mss的一半。

then發(fā)送隊(duì)列頭分段且捎帶延遲ack。

endif。

另外,發(fā)送隊(duì)列頭分段的大小是可以在統(tǒng)計(jì)意義上動(dòng)態(tài)計(jì)算的,也不一定非要是mss大小的一半。我們發(fā)現(xiàn),這種算法對(duì)于交互式網(wǎng)路應(yīng)用是自適應(yīng)的,你打字越快,特定時(shí)間內(nèi)積累的分段就越長(zhǎng),對(duì)端回復(fù)的越快(可以捎帶ack),本端發(fā)送的也就越快(以echo舉例會(huì)更好理解)。

疑難雜癥14:《tcp/ip詳解(卷一)》中nagle算法的例子解讀。

這個(gè)問題在網(wǎng)上搜了很多的答案,有的說rfc的建議,有的說別的??墒菍?shí)際上這就是一個(gè)典型的“競(jìng)態(tài)問題”:

首先服務(wù)器發(fā)了兩個(gè)分段:

數(shù)據(jù)段12:ack14。

數(shù)據(jù)段13:ack14,54:56。

然后客戶端發(fā)了兩個(gè)分段:

數(shù)據(jù)段14:ack54,14:17。

數(shù)據(jù)段15:ack56,17:18。

可以看到數(shù)據(jù)段14本來應(yīng)該確認(rèn)56的,但是確認(rèn)的卻是54。也就是說,數(shù)據(jù)段已經(jīng)移出隊(duì)列將要發(fā)送但還未發(fā)送的時(shí)候,數(shù)據(jù)段13才到來,軟中斷處理程序搶占了數(shù)據(jù)段14的發(fā)送進(jìn)程,要知道此時(shí)只是把數(shù)據(jù)段14移出了隊(duì)列,還沒有更新任何的狀態(tài)信息,比如“發(fā)出但未被確認(rèn)的分段數(shù)量”,此時(shí)軟中斷處理程序順利接收了分段13,然后更新窗口信息,并且檢查看有沒有數(shù)據(jù)要發(fā)送,由于分段14已經(jīng)移出隊(duì)列,下一個(gè)接受發(fā)送檢查的就是分段15了,由于狀態(tài)信息還沒有更新,因此分段15順利通過發(fā)送檢測(cè),發(fā)送完成。

可以看linux的源代碼了解相關(guān)信息,tcp_write_xmit這個(gè)函數(shù)在兩個(gè)地方會(huì)被調(diào)用,一個(gè)是tcp的發(fā)送進(jìn)程中,另一個(gè)就是軟中斷的接收處理中,兩者在調(diào)用中的競(jìng)態(tài)就會(huì)引起《詳解》中的那種情況。注意,這種不加鎖的發(fā)送方式是合理的,也是最高效的,因此tcp的處理語義會(huì)做出判斷,丟棄一切不該接收或者重復(fù)接收的分段的。

~~~~~~~~~~~~~~~~~~~~。

承上啟下。

又到了該承上啟下,到此為止,我們敘述的tcp還都是簡(jiǎn)單的tcp,就算是簡(jiǎn)單的tcp,也存在上述的諸多問題,就更別提繼續(xù)增加tcp的復(fù)雜性了。到此為止,我們的tcp都是端到端意義上的,然而實(shí)際上tcp要跑在ip網(wǎng)絡(luò)之上的,而ip網(wǎng)絡(luò)的問題是很多的,是一個(gè)很擁堵網(wǎng)絡(luò)。不幸的是,tcp的有些關(guān)于確認(rèn)和可靠性的機(jī)制還會(huì)加重ip網(wǎng)絡(luò)的擁堵。

~~~~~~~~~~~~~~~~~~~~。

網(wǎng)絡(luò)之上的tcp。

5.1.端到端的tcp協(xié)議和ip協(xié)議之間的矛盾。

端到端的tcp只能看到兩個(gè)節(jié)點(diǎn),那就是自己和對(duì)方,它們是看不到任何中間的路徑的??墒莍p網(wǎng)絡(luò)卻是一跳一跳的,它們的矛盾之處在于tcp的端到端流量控制必然會(huì)導(dǎo)致網(wǎng)絡(luò)擁堵。因?yàn)槊織ltcp連接的一端只知道它對(duì)端還有多少空間用于接收數(shù)據(jù),它們并不管到達(dá)對(duì)端的路徑上是否還有這么大的容量,事實(shí)上所有連接的這些空間加在一起將瞬間超過ip網(wǎng)絡(luò)的容量,因此tcp也不可能按照滑動(dòng)窗口流量控制機(jī)制很理想的運(yùn)行。

勢(shì)必需要一種擁塞控制機(jī)制,反應(yīng)路徑的擁塞情況。

疑難雜癥15:擁塞控制的本質(zhì)。

由于tcp是端到端協(xié)議,因此兩端之間的控制范疇屬于流量控制,ip網(wǎng)絡(luò)的擁塞會(huì)導(dǎo)致tcp分段的丟失,由于tcp看不到中間的路由器,因此這種丟失只會(huì)發(fā)生中間路由器,當(dāng)然兩個(gè)端點(diǎn)的網(wǎng)卡或者ip層丟掉數(shù)據(jù)分段也是tcp看不到的。因此擁塞控制必然作用于ip鏈路。事實(shí)上我們可以得知,只有在以下情況下?lián)砣刂撇艜?huì)起作用:

b.只有一個(gè)tcp連接,然而它經(jīng)過了一個(gè)路由器時(shí)。

其它情況下是不會(huì)擁塞的。因?yàn)橐粋€(gè)tcp總是希望獨(dú)享整條網(wǎng)絡(luò)通路,而這對(duì)于多個(gè)連接而言是不可能的,必須保證tcp的公平性,這樣這種擁塞控制機(jī)制才合理。本質(zhì)上,擁塞的原因就是大家都想獨(dú)享全部帶寬資源,結(jié)果導(dǎo)致?lián)砣?,這也是合理的,畢竟tcp看不到網(wǎng)絡(luò)的狀態(tài),同時(shí)這也決定了tcp的擁塞控制必須采用試探性的方式,最終到達(dá)一個(gè)足以引起其“反應(yīng)”的“刺激點(diǎn)”。

擁塞控制需要完成以下兩個(gè)任務(wù):1.公平性;2.擁塞之后退出擁塞狀態(tài)。

疑難雜癥16:影響擁塞的因素。

我們必須認(rèn)識(shí)到擁塞控制是一個(gè)整體的機(jī)制,它不偏向于任何tcp連接,因此這個(gè)機(jī)制內(nèi)在的就包含了公平性。那么影響擁塞的因素都有什么呢?具有諷刺意味的是,起初tcp并沒有擁塞控制機(jī)制,正是tcp的超時(shí)重傳風(fēng)暴(一個(gè)分段丟失造成后續(xù)的已經(jīng)發(fā)送的分段均被重傳,而這些重傳大多數(shù)是不必要的)加重了網(wǎng)絡(luò)的擁塞。因此重傳必然不能過頻,必須把重傳定時(shí)器的超時(shí)時(shí)間設(shè)置的稍微長(zhǎng)一些,而這一點(diǎn)在單一重傳定時(shí)器的設(shè)計(jì)中得到了加強(qiáng)。除此tcp自身的因素之外,其它所有的擁塞都可以靠擁塞控制機(jī)制來自動(dòng)完成。

另外,不要把路由器想成一種線速轉(zhuǎn)發(fā)設(shè)備,再好的路由器只要接入網(wǎng)絡(luò),總是會(huì)拉低網(wǎng)絡(luò)的總帶寬,因此即使只有一個(gè)tcp連接,由于tcp的發(fā)送方總是以發(fā)送鏈路的帶寬發(fā)送分段,這些分段在經(jīng)過路由器的時(shí)候排隊(duì)和處理總是會(huì)有時(shí)延,因此最終肯定會(huì)丟包的。

最后,丟包的延后性也會(huì)加重?fù)砣?。假設(shè)一個(gè)tcp連接經(jīng)過了n個(gè)路由器,前n-1個(gè)路由器都能順利轉(zhuǎn)發(fā)tcp分段,但是最后一個(gè)路由器丟失了一個(gè)分段,這就導(dǎo)致了這些丟失的分段浪費(fèi)了前面路由器的大量帶寬。

5.2.擁塞控制的策略。

在介紹擁塞控制之前,首先介紹一下?lián)砣翱冢鼘?shí)際上表示的也是“可以發(fā)送多少數(shù)據(jù)”,然而這個(gè)和接收端通告的接收窗口意義是不一樣的,后者是流量控制用的窗口,而前者是擁塞控制用的窗口,體現(xiàn)了網(wǎng)絡(luò)擁塞程度。

擁塞控制整體上分為兩類,一類是試探性的擁塞探測(cè),另一類則是擁塞避免(注意,不是常規(guī)意義上的擁塞避免)。

5.2.1.試探性的擁塞探測(cè)分為兩類,之一是慢啟動(dòng),之二是擁塞窗口加性擴(kuò)大(也就是熟知的擁塞避免,然而這種方式是避免不了擁塞的)。

5.2.2.擁塞避免方式擁塞控制旨在還沒有發(fā)生擁塞的時(shí)候就先提醒發(fā)送端,網(wǎng)絡(luò)擁塞了,這樣發(fā)送端就要么可以進(jìn)入快速重傳/快速恢復(fù)或者顯式的減小擁塞窗口,這樣就避免網(wǎng)絡(luò)擁塞的一沓糊涂之后出現(xiàn)超時(shí),從而進(jìn)入慢啟動(dòng)階段。

5.2.3.快速重傳和快速恢復(fù)。所謂快速重傳/快速恢復(fù)是針對(duì)慢啟動(dòng)的,我們知道慢啟動(dòng)要從1個(gè)mss開始增加擁塞窗口,而快速重傳/快速恢復(fù)則是一旦收到3個(gè)冗余ack,不必進(jìn)入慢啟動(dòng),而是將擁塞窗口縮小為當(dāng)前閥值的一半加上3,然后如果繼續(xù)收到冗余ack,則將擁塞窗口加1個(gè)mss,直到收到一個(gè)新的數(shù)據(jù)ack,將窗口設(shè)置成正常的閥值,開始加性增加的階段。

當(dāng)進(jìn)入快速重傳時(shí),為何要將擁塞窗口縮小為當(dāng)前閥值的一半加上3呢?加上3是基于數(shù)據(jù)包守恒來說的,既然已經(jīng)收到了3個(gè)冗余ack,說明有三個(gè)數(shù)據(jù)分段已經(jīng)到達(dá)了接收端,既然三個(gè)分段已經(jīng)離開了網(wǎng)絡(luò),那么就是說可以在發(fā)送3個(gè)分段了,只要再收到一個(gè)冗余ack,這也說明1個(gè)分段已經(jīng)離開了網(wǎng)絡(luò),因此就將擁塞窗口加1個(gè)mss。直到收到新的ack,說明直到收到第三個(gè)冗余ack時(shí)期發(fā)送的tcp分段都已經(jīng)到達(dá)對(duì)端了,此時(shí)進(jìn)入正常階段開始加性增加擁塞窗口。

疑難雜癥17:超時(shí)重傳和收到3個(gè)冗余ack后重傳。

這兩種重傳的意義是不同的,超時(shí)重傳一般是因?yàn)榫W(wǎng)絡(luò)出現(xiàn)了嚴(yán)重?fù)砣?沒有一個(gè)分段到達(dá),如果有的話,肯定會(huì)有ack的,若是正常ack,則重置重傳定時(shí)器,若是冗余ack,則可能是個(gè)別報(bào)文丟失或者被重排序,若連續(xù)3個(gè)冗余ack,則很有可能是個(gè)別分段丟失),此時(shí)需要更加嚴(yán)厲的縮小擁塞窗口,因此此時(shí)進(jìn)入慢啟動(dòng)階段。而收到3個(gè)冗余ack后說明確實(shí)有中間的分段丟失,然而后面的分段確實(shí)到達(dá)了接收端,這因?yàn)檫@樣才會(huì)發(fā)送冗余ack,這一般是路由器故障或者輕度擁塞或者其它不太嚴(yán)重的原因引起的,因此此時(shí)擁塞窗口縮小的幅度就不能太大,此時(shí)進(jìn)入快速重傳/快速恢復(fù)階段。

疑難雜癥18:為何收到3個(gè)冗余ack后才重傳。

這是一種權(quán)衡的結(jié)構(gòu),收到兩個(gè)或者一個(gè)冗余ack也可以重傳,但是這樣的話可能或造成不必要的重傳,因?yàn)閮蓚€(gè)數(shù)據(jù)分段發(fā)生亂序的可能性不大,超過三個(gè)分段發(fā)生亂序的可能性才大,換句話說,如果僅僅收到一個(gè)亂序的分段,那很可能被中間路由器重排了,那么另一個(gè)分段很可能馬上就到,然而如果連續(xù)收到了3個(gè)分段都沒能彌補(bǔ)那個(gè)缺漏,那很可能是它丟失了,需要重傳。因此3個(gè)冗余ack是一種權(quán)衡,在減少不必要重傳和確實(shí)能檢測(cè)出單個(gè)分段丟失之間所作的權(quán)衡。

注意,冗余ack是不能捎帶的。

疑難雜癥19:乘性減和加性增的深層含義。

為什么是乘性減而加性增呢?擁塞窗口的增加受惠的只是自己,而擁塞窗口減少受益的大家,可是自己卻受到了傷害。哪一點(diǎn)更重要呢?我們知道tcp的擁塞控制中內(nèi)置了公平性,恰恰就是這種乘性減實(shí)現(xiàn)了公平性。擁塞窗口的1個(gè)mss的改變影響一個(gè)tcp發(fā)送者,為了使得自己擁塞窗口的減少影響更多的tcp發(fā)送者-讓更多的發(fā)送者受益,那么采取了乘性減的策略。

當(dāng)然,bic算法提高了加性增的效率,不再一個(gè)一個(gè)mss的加,而是一次加比較多的mss,采取二分查找的方式逐步找到不丟包的點(diǎn),然后加性增。

疑難雜癥20:tcp連接的傳輸穩(wěn)定狀態(tài)是什么。

首先,先說一下發(fā)送端的發(fā)送窗口怎么確定,它取的是擁塞窗口和接收端通告窗口的最小值。然后,我們提出三種發(fā)送窗口的穩(wěn)定狀態(tài):

互聯(lián)網(wǎng)絡(luò)上接收端擁有大窗口的經(jīng)典鋸齒狀。

互聯(lián)網(wǎng)絡(luò)上接收端擁有小窗口的直線狀態(tài)。

c.直連網(wǎng)絡(luò)端點(diǎn)間的滿載狀態(tài)下的直線狀態(tài)。

其中a是大多數(shù)的狀態(tài),因?yàn)橐话愣?,tcp連接都是建立在互聯(lián)網(wǎng)上的,而且是大量的,比如web瀏覽,電子郵件,網(wǎng)絡(luò)游戲,ftp下載等等。tcp發(fā)送端用慢啟動(dòng)或者擁塞避免方式不斷增加其擁塞窗口,直到丟包的發(fā)生,然后進(jìn)入慢啟動(dòng)或者擁塞避免階段(要看是由于超時(shí)丟包還是由于冗余ack丟包),此時(shí)發(fā)送窗口將下降到1或者下降一半,這種情況下,一般接收端的接收窗口是比較大的,畢竟ip網(wǎng)絡(luò)并不是什么很快速的網(wǎng)絡(luò),一般的機(jī)器處理速度都很快。

但是如果接收端特別破,處理速度很慢,就會(huì)導(dǎo)致其通告一個(gè)很小的窗口,這樣的話,即使擁塞窗口再大,發(fā)送端也還是以通告的接收窗口為發(fā)送窗口,這樣就不會(huì)發(fā)生擁塞。最后,如果唯一的tcp連接運(yùn)行在一個(gè)直連的兩臺(tái)主機(jī)上,那么它將獨(dú)享網(wǎng)絡(luò)帶寬,這樣該tcp的數(shù)據(jù)流在最好的情況下將填滿網(wǎng)絡(luò)管道(我們把網(wǎng)絡(luò)管道定義為帶寬和延時(shí)的乘積),其實(shí)在這種情況下是不存在擁塞的,就像你一個(gè)人獨(dú)自徘徊在飄雨黃昏的街頭一樣...

5.2.4.主動(dòng)的擁塞避免。

前面我們描述的擁塞控制方式都是試探性的檢測(cè),然后擁塞窗口被動(dòng)的進(jìn)行乘性減,這樣在接收端窗口很大的情況下(一般都是這樣,網(wǎng)絡(luò)擁堵,分段就不會(huì)輕易到達(dá)接收端,導(dǎo)致接收端的窗口大量空置)就可能出現(xiàn)鋸齒形狀的“時(shí)間-窗口”圖,類似在一個(gè)擁堵的北京x環(huán)上開車,發(fā)送機(jī)發(fā)動(dòng),車開動(dòng),停止,等待,發(fā)動(dòng)機(jī)發(fā)動(dòng),車開動(dòng)...聽聲音也能聽出來。

雖然tcp看不到下面的ip網(wǎng)絡(luò),然而它還是可以通過檢測(cè)rtt的變化以及擁塞窗口的變化推算出ip網(wǎng)絡(luò)的擁堵情況的。就比方說北京東四環(huán)一家快遞公司要持續(xù)送快遞到西四環(huán),當(dāng)發(fā)件人發(fā)現(xiàn)貨到時(shí)間越來越慢的時(shí)候,他會(huì)意識(shí)到“下班高峰期快到了”...

可以通過持續(xù)觀測(cè)rtt的方式來主動(dòng)調(diào)整擁塞窗口的大小而不是一味的加性增。然而還有更猛的算法,那就是計(jì)算兩個(gè)差值的乘積:

(當(dāng)前擁塞窗口-上一次擁塞窗口)x(當(dāng)前的rtt-上一次的rtt)。

如果結(jié)果是正數(shù),則擁塞窗口減少1/8,若結(jié)果是負(fù)數(shù)或者0,則窗口增加一個(gè)mss。注意,這回不再是乘性減了,可以看出,減的幅度比乘性減幅度小,這是因?yàn)檫@種擁塞控制是主動(dòng)的,而不是之前的那種被動(dòng)的試探方式。在試探方式中,乘性減以一種懲罰的方式實(shí)現(xiàn)了公平性,而在這里的主動(dòng)方式中,當(dāng)意識(shí)到要擁塞的時(shí)候,tcp發(fā)送者主動(dòng)的減少了擁塞窗口,為了對(duì)這種自首行為進(jìn)行鼓勵(lì),采用了小幅減少擁塞窗口的方式。需要注意的是,在擁塞窗口減小的過程中,乘積的前一個(gè)差值是負(fù)數(shù),如果后一個(gè)差值也是負(fù)數(shù),那么結(jié)果就是繼續(xù)縮減窗口,直到擁塞緩解或者窗口減少到了一定程度,使得后一個(gè)差值成了正數(shù)或者0,這種情況下,其實(shí)后一個(gè)差值只能變?yōu)?。

疑難雜癥21:路由器和tcp的互動(dòng)。

雖然有了5.2.4節(jié)介紹的主動(dòng)的擁塞檢測(cè),那么路由器能不能做點(diǎn)什么幫助檢測(cè)擁塞呢?這種對(duì)路由器的擴(kuò)展是必要的,要知道,每天有無數(shù)的tcp要通過路由器,雖然路由器不管tcp協(xié)議的任何事(當(dāng)然排除連接跟蹤之類的,這里所說的是標(biāo)準(zhǔn)的ip路由器),但是它卻能以一種很簡(jiǎn)單的方式告訴tcp的兩端ip網(wǎng)絡(luò)發(fā)生了擁堵,這種方式就是當(dāng)路由器檢測(cè)到自己發(fā)生輕微擁堵的時(shí)候隨機(jī)的丟包,隨機(jī)丟包而不是連續(xù)丟包對(duì)于tcp而言是有重大意義的,隨機(jī)丟包會(huì)使tcp發(fā)現(xiàn)丟棄了個(gè)別的分段而后續(xù)的分段仍然會(huì)到達(dá)接收端,這樣tcp發(fā)送端就會(huì)接收到3個(gè)冗余ack,然后進(jìn)入快速重傳/快速恢復(fù)而不是慢啟動(dòng)。

這就是路由器能幫tcp做的事。

6.其它。

疑難雜癥22:如何學(xué)習(xí)tcp。

很多人發(fā)帖問tcp相關(guān)的內(nèi)容,接下來稀里嘩啦的就是讓看《tcp/ip詳解》和《unix網(wǎng)絡(luò)編程》里面的特定章節(jié),我覺得這種回答很不負(fù)責(zé)任。因?yàn)槲也⒉徽J(rèn)為這兩本書有多大的幫助,寫得確實(shí)很不錯(cuò),然而可以看出richardstevens是一個(gè)實(shí)用主義者,他喜歡用實(shí)例來解釋一切,《詳解》通篇都是用tcpdump的輸出來講述的,這種方式只是適合于已經(jīng)對(duì)tcp很理解的人,然而大多數(shù)的人是看不明白的。

如果想從設(shè)計(jì)的角度來說,這兩本書都很爛。我覺得應(yīng)該先看點(diǎn)入門的,比如wiki之類的,然后看rfc文檔,793,896,1122等),這樣你就明白tcp為何這么設(shè)計(jì)了,而這些你永遠(yuǎn)都不能在richardstevens的書中得到。最后,如果你想,那么就看一點(diǎn)richardstevens的書,最重要的還是寫點(diǎn)代碼或者敲點(diǎn)命令,然后抓包自己去分析。

疑難雜癥23:linux,windows和網(wǎng)絡(luò)編程。

6.1.總結(jié)。

tcp協(xié)議是一個(gè)端到端的協(xié)議,雖然話說它是一個(gè)帶流量控制,擁塞控制的協(xié)議,然而正是因?yàn)檫@些所謂的控制才導(dǎo)致了tcp變得復(fù)雜。同時(shí)這些特性是互相雜糅的,流量控制帶來了很多問題,解決這些問題的方案最終又帶來了新的問題,這些問題在解決的時(shí)候都只考慮了端到端的意義,但實(shí)際上tcp需要盡力而為的ip提供的網(wǎng)絡(luò),因此擁塞成了最終的結(jié)癥,擁塞控制算法的改進(jìn)也成了一個(gè)單獨(dú)的領(lǐng)域。

在學(xué)習(xí)tcp的過程中,切忌一鍋粥一盤棋的方式,一定要分清楚每一個(gè)算法到底是解決什么問題的,每一個(gè)問題和其他問題到底有什么關(guān)聯(lián),這些問題的解決方案之間有什么關(guān)聯(lián),另外tcp的發(fā)展歷史也最好了解一下,這些都搞明白了,tcp協(xié)議就徹底被你掌控了。接下來你就可以學(xué)習(xí)socketapi了,然后高效的tcp程序出自你手!

文檔為doc格式。

郵件傳輸協(xié)議范文簡(jiǎn)短篇七

之前一直都在用網(wǎng)易163的郵箱,功能和人性化上都做得很好,可是后來由于用這個(gè)郵箱地址注冊(cè)了很多網(wǎng)站,現(xiàn)在變成里面的信件全成了那些網(wǎng)站發(fā)的廣告信息,所以只好棄之不用,轉(zhuǎn)向使用gmail,但畢竟是以前一直在用的信箱,所以偶爾還是會(huì)登錄上去看一下是否會(huì)有“真正有用”的郵件。

但最近有一件事卻困擾了我相當(dāng)久,那就是如左圖所示的收件箱里一直顯示有一封未讀郵件,可是翻遍了最近一兩個(gè)月的郵件,一直沒有找到這封未讀郵件是在哪,相當(dāng)?shù)睦Щ?。今天閑著沒事,就把郵箱里所有的郵件一頁一頁翻看過去,還好我平時(shí)有隨時(shí)刪廣告郵件的習(xí)慣,最后終于在第12頁里讓我找到了這封未讀郵件,一看郵件的發(fā)送日期竟然是2007年8月份的,內(nèi)容竟然是一廣告調(diào)查郵件!

除去郵件內(nèi)容不談,這封郵件的發(fā)送日期顯然是因?yàn)猷]件服務(wù)器出錯(cuò)而造成的,因?yàn)檫@封未讀郵件是在幾個(gè)月前顯示出來的,時(shí)間還沒有久遠(yuǎn)到一年之前那么久。

在此就提出一個(gè)問題:當(dāng)點(diǎn)擊收件箱里的未讀郵件提示時(shí)是否應(yīng)該直接轉(zhuǎn)到未讀郵件去呢?

事情是有輕重緩急時(shí)間先后之分的,郵件發(fā)送選項(xiàng)里也有緊急與普通之分,并且這個(gè)功能已經(jīng)被國(guó)內(nèi)的大多數(shù)郵箱提供商接受。所以當(dāng)點(diǎn)擊這個(gè)有幾封未讀郵件鏈接時(shí)而大可以先顯示緊急郵件所在的列表頁,顯示順序按重要程度從緊急到普通,時(shí)間從近期到以往。因?yàn)榉e壓在郵箱里很早之前的未讀郵件可能是不重要的,或者重要但是已經(jīng)過期了的,比如我文中提到的去年的郵件,相信即使是重要的事情也已經(jīng)過期了的。

當(dāng)然,這其中對(duì)于郵件內(nèi)容的重要與否以及時(shí)間的關(guān)系,以上只是一個(gè)初步的理解判斷,具體的還有待進(jìn)一步的了解。

ps:網(wǎng)易郵箱里已刪除郵件跟廣告郵件邊上的“清空”按鈕,相當(dāng)?shù)墓之悾瑩Q上一個(gè)帶x的垃圾箱都比這個(gè)箭頭要形象。

本文來自:/interaction/653。

郵件傳輸協(xié)議范文簡(jiǎn)短篇八

電話:_________。

乙方:_________。

電話:_________。

一、定義。

短消息(單位:萬條):由文字組成的信息,通過中國(guó)移動(dòng)gsm網(wǎng)絡(luò)傳送。每條短消息長(zhǎng)度為_________字符(英文/數(shù)字:_________字;漢字:_________字)。

二、甲方義務(wù)。

(1)負(fù)責(zé)提供發(fā)送短信息所需要的一切短信息能夠平臺(tái)、系統(tǒng),一切硬軟件資源,網(wǎng)絡(luò)環(huán)境及所需要人員。

(2)甲方將保證實(shí)際發(fā)送的數(shù)量與的相符合。

由于甲方原因?qū)е滦畔l(fā)送至錯(cuò)誤對(duì)象,則甲方承擔(dān)其發(fā)送錯(cuò)誤的短信資費(fèi),并重新發(fā)送補(bǔ)足發(fā)送數(shù)量。

如發(fā)生移動(dòng)網(wǎng)絡(luò)故障導(dǎo)致發(fā)送遲延,甲方應(yīng)提供電信運(yùn)營(yíng)商出具的有效證明。

甲方在數(shù)據(jù)傳輸,控制方面對(duì)乙方有影響的變動(dòng)時(shí)需提前通知乙方。

如甲方由于自身原因無法繼續(xù)提供短消息發(fā)送平臺(tái)給乙方使用,應(yīng)及時(shí)通知乙方并將乙方預(yù)付的短消息發(fā)送費(fèi)用中尚未使用的金額全部退還乙方,并承擔(dān)相應(yīng)的違約責(zé)任。

甲方必須保證其所從事的短消息發(fā)送業(yè)務(wù)合法性,并承擔(dān)與此相關(guān)的一切風(fēng)險(xiǎn)及責(zé)任。

甲方有義務(wù)給乙方開一個(gè)監(jiān)控短信發(fā)送的端口,可以實(shí)時(shí)的看到發(fā)送的到達(dá)情況。

三、乙方義務(wù)。

(1)乙方支付的發(fā)送費(fèi)用在發(fā)送前結(jié)算,_________元/條。

(2)甲方提供的僅限于短信息系統(tǒng)硬件及技術(shù)支持和提供短信息通信傳輸服務(wù),發(fā)送的短信息內(nèi)容和發(fā)送的號(hào)碼需要由乙方自行提交,按照有關(guān)的規(guī)定,乙方發(fā)送前請(qǐng)先獲得手機(jī)終端用戶許可,乙方所有下發(fā)短消息的端口號(hào)都必須為(地理區(qū)號(hào)+特定卡號(hào)),乙方不得利用該端口向用戶或會(huì)員散布和傳播反動(dòng),色情等違反國(guó)家法律的信息。如乙方違反本條款規(guī)定義務(wù),甲方有權(quán)單方解除協(xié)議,對(duì)于以上幾個(gè)方面造成的后果,甲方不負(fù)擔(dān)任何責(zé)任。

四、業(yè)務(wù)流程。

乙方在發(fā)送短信息前通過互聯(lián)網(wǎng)的方式向甲方短信平臺(tái)提交發(fā)送內(nèi)容和號(hào)碼。甲方成功發(fā)送完畢后,應(yīng)立即向乙方客戶端口提供發(fā)送統(tǒng)計(jì)報(bào)告,包括發(fā)送的數(shù)量,成功的接收統(tǒng)計(jì)。

五、付款方式。

發(fā)送前乙方付給甲方發(fā)送費(fèi)用人民幣_(tái)________元整。

六、共同義務(wù)。

(1)為保證協(xié)議順利實(shí)施,甲乙雙方指定專人負(fù)責(zé)協(xié)調(diào)解決在業(yè)務(wù)運(yùn)作過程中可能發(fā)生的問題。

(2)甲、乙雙方對(duì)業(yè)務(wù)開展中出現(xiàn)的各種問題,應(yīng)及時(shí)相互通報(bào)、協(xié)商處理解決。

(3)甲、乙雙方開展業(yè)務(wù)均應(yīng)依法辦理。

(4)對(duì)于業(yè)務(wù)開發(fā)和運(yùn)行過程中對(duì)方提供的所有資料(包括技術(shù)、用戶信息等),雙方均有保密義務(wù)。未經(jīng)對(duì)方書面同意,任何一方不得向第三方泄露或用作合作項(xiàng)目開發(fā)以外之用途,否則須向?qū)Ψ匠袚?dān)相應(yīng)的法律責(zé)任。

(5)本協(xié)議未盡事宜由甲乙雙方友好協(xié)商解決或簽定補(bǔ)充協(xié)議予以明確。本協(xié)議履行過程中,如因甲方上級(jí)單位政策原因或市場(chǎng)環(huán)境變化等因素需要對(duì)本協(xié)議內(nèi)容進(jìn)行調(diào)整,甲乙雙方應(yīng)友好協(xié)商解決。

七、違約責(zé)任。

(1)如甲方逾期發(fā)送短信息,每逾期一日,按合同總金額的百分之_________支付違約金。

(2)甲方成功發(fā)送數(shù)量不足合同約定的,應(yīng)按乙方要求重新發(fā)送補(bǔ)足發(fā)送數(shù)量。

八、其它。

本合同一式二份,雙方各執(zhí)一份,具有同等法律效力。

如雙方因本合同產(chǎn)生爭(zhēng)議,因友好協(xié)商解決,協(xié)商不成,任何一方皆有權(quán)向乙方所在地法院起訴。

甲方(蓋章):_________乙方(蓋章):_________。

代表人(簽字):_________代表人(簽字):_________。

_________年____月____日_________年____月____日。

簽訂地點(diǎn):_________簽訂地點(diǎn):_________。

郵件傳輸協(xié)議范文簡(jiǎn)短篇九

甲方:

法定代表人:

住所:

聯(lián)系電話:

統(tǒng)一社會(huì)信用代碼:

乙方:

法定代表人:

住所:

聯(lián)系電話:

統(tǒng)一社會(huì)信用代碼:

一、定義。

短消息(單位:萬條):由文字組成的信息,通過中國(guó)移動(dòng)gsm網(wǎng)絡(luò)傳送。每條短消息最大長(zhǎng)度為字符(英文/數(shù)字:字;漢字:字)。

二、甲方義務(wù)。

(1)負(fù)責(zé)提供發(fā)送短信息所需要的一切短信息發(fā)送平臺(tái)、系統(tǒng),一切硬軟件資源,網(wǎng)絡(luò)環(huán)境及所需要人員。

(2)甲方將保證實(shí)際發(fā)送的數(shù)量與承諾的相符合。

(3)由于甲方原因?qū)е滦畔l(fā)送至錯(cuò)誤對(duì)象,則甲方承擔(dān)其發(fā)送錯(cuò)誤的短信資費(fèi),并重新發(fā)送補(bǔ)足發(fā)送數(shù)量。

(4)如發(fā)生移動(dòng)網(wǎng)絡(luò)故障導(dǎo)致發(fā)送遲延,甲方應(yīng)提供電信運(yùn)營(yíng)商出具的有效證明。

(5)甲方在數(shù)據(jù)傳輸、控制方面對(duì)乙方有影響的變動(dòng)時(shí)需提前通知乙方。

(6)如甲方由于自身原因無法繼續(xù)提供短消息發(fā)送平臺(tái)給乙方使用,應(yīng)及時(shí)通知乙方并將乙方預(yù)付的短消息發(fā)送費(fèi)用中尚未使用的金額全部退還乙方,并承擔(dān)相應(yīng)的違約責(zé)任。

(7)甲方必須保證其所從事的短消息發(fā)送業(yè)務(wù)的合法性,并承擔(dān)與此相關(guān)的一切風(fēng)險(xiǎn)及責(zé)任。

(8)甲方有義務(wù)給乙方開一個(gè)監(jiān)控短信發(fā)送的端口,可以實(shí)時(shí)看到發(fā)送的到達(dá)情況。

三、乙方義務(wù)。

(1)乙方支付的發(fā)送費(fèi)用在發(fā)送前結(jié)算,元/條,大寫:。

(2)甲方提供的僅限于短信息系統(tǒng)硬件及技術(shù)支持和提供短信息通信傳輸服務(wù),發(fā)送的短信息內(nèi)容和發(fā)送的號(hào)碼需要由乙方自行提交。按照有關(guān)的規(guī)定,乙方發(fā)送前請(qǐng)先獲得手機(jī)終端用戶許可,乙方所有下發(fā)短消息的端口號(hào)都必須為(地理區(qū)號(hào)+特定卡號(hào)),乙方不得利用該端口向用戶或會(huì)員散布和傳播反動(dòng)、色情等違反國(guó)家法律的信息。如乙方違反本條款規(guī)定義務(wù),甲方有權(quán)單方解除協(xié)議,對(duì)于以上幾個(gè)方面造成的后果,甲方不負(fù)擔(dān)任何責(zé)任。

四、業(yè)務(wù)流程。

乙方在發(fā)送短信息前通過互聯(lián)網(wǎng)的方式向甲方短信平臺(tái)提交發(fā)送內(nèi)容和號(hào)碼。甲方成功發(fā)送完畢后,應(yīng)立即向乙方客戶端口提供發(fā)送統(tǒng)計(jì)報(bào)告,包括發(fā)送的數(shù)量,成功的接收統(tǒng)計(jì)。

五、付款方式。

發(fā)送前乙方付給甲方發(fā)送費(fèi)用人民幣元整,大寫:?。

六、共同義務(wù)。

(1)為保證協(xié)議順利實(shí)施,甲乙雙方指定專人負(fù)責(zé)協(xié)調(diào)解決在業(yè)務(wù)運(yùn)作過程中可能發(fā)生的問題。

(2)甲、乙雙方對(duì)業(yè)務(wù)開展中出現(xiàn)的各種問題,應(yīng)及時(shí)相互通報(bào)、協(xié)商處理解決。

(3)甲、乙雙方開展業(yè)務(wù)均應(yīng)依法辦理。

(4)對(duì)于業(yè)務(wù)開發(fā)和運(yùn)行過程中對(duì)方提供的所有資料(包括技術(shù)、用戶信息等),雙方均有保密義務(wù)。未經(jīng)對(duì)方書面同意,任何一方不得向第三方泄露或用作合作項(xiàng)目開發(fā)以外之用途,否則須向?qū)Ψ匠袚?dān)相應(yīng)的法律責(zé)任。

(5)本協(xié)議未盡事宜由甲乙雙方友好協(xié)商解決或簽訂補(bǔ)充協(xié)議予以明確。本協(xié)議履行過程中,如因甲方上級(jí)單位政策原因或市場(chǎng)環(huán)境變化等因素需要對(duì)本協(xié)議內(nèi)容進(jìn)行調(diào)整,甲乙雙方應(yīng)友好協(xié)商解決。

七、違約責(zé)任。

(1)如甲方逾期發(fā)送短信息,每逾期一日,按合同總金額的%支付違約金。

(2)甲方成功發(fā)送數(shù)量不足合同約定的,應(yīng)按乙方要求重新發(fā)送補(bǔ)足發(fā)送數(shù)量。

八、其他。

本合同一式二份,雙方各執(zhí)一份,具有同等法律效力。

如雙方因本合同產(chǎn)生爭(zhēng)議,應(yīng)友好協(xié)商解決,協(xié)商不成,任何一方皆有權(quán)向乙方所在地法院起訴。

甲方(蓋章):乙方(蓋章):

甲方代表簽名:

簽訂地點(diǎn):乙方代表簽名:

簽訂地點(diǎn):

年月日年月日。

您可能關(guān)注的文檔