專利名稱:用于發(fā)送和接收分組的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
在此所討論的實(shí)施例的特定方面涉;sjL送/接收電路,其包括用于發(fā) 送具有數(shù)據(jù)和頭部信息的分組的發(fā)送電路和用于接收分組的接收電路。
背景技術(shù):
在分組發(fā)ill/接收電路中,分組包括劃分?jǐn)?shù)據(jù)和附加到劃分?jǐn)?shù)據(jù)的頭 部信息。頭部信息包括直到分組到達(dá)目的地時所需的信息,例如分組的目 的地信息、序列號和頭部差錯^^r碼。添加差錯^^驗(yàn)碼,以允許檢測分組 中是否出現(xiàn)差錯。當(dāng)接收到分組時,接收電路判斷從數(shù)據(jù)生成的差錯校驗(yàn) 碼與添加到數(shù)據(jù)的差錯校驗(yàn)碼是否一致。接收電i^r測分組中是否出現(xiàn)差 錯。
在此,當(dāng)在分組中發(fā)現(xiàn)差錯的情況下,接收電路請求發(fā)送電路重傳分 組。在將要重傳分組的情況下,需要關(guān)于接收電路已經(jīng)正常接收到直到哪 個分組以及向發(fā)送電路請求重傳哪個分組的信息。發(fā)iH/接收電路使用序 列號作為有關(guān)的信息。向各個分組添加序列號,以確i人有關(guān)分組的順序以 及是否存在丟失的分組。執(zhí)行控制,使得從&送電路發(fā)送的分組的序列號 與由接收電珞接收到的分組的序列號相匹配。發(fā)送電路具有用于對序列號 進(jìn)行計數(shù)的發(fā)送計數(shù)器,同樣,接收電路具有用于對序列號進(jìn)行計數(shù)的接 收計數(shù)器。當(dāng)正常接收到從發(fā)送電路發(fā)送的分組時,接收電路使接收計數(shù) 器遞增。接收電路將指示分組的正常接收的信號發(fā)送到發(fā)送電路。發(fā)送電 路接收該信號。然后,發(fā)送電路^Jl送計數(shù)器遞增。在從發(fā)送電路發(fā)送分 組時,發(fā)送計數(shù)器的值與接收計數(shù)器的值一致。
為了實(shí)現(xiàn)有關(guān)的分組的發(fā)iH/接收的確認(rèn)以及分組重傳的控制,需要 差錯校驗(yàn)碼和序列號。然而,盡管事實(shí)是發(fā)送電路和接收電路每個分別管 理待發(fā)送的分組的序列號和待接收的分組的序列號,但是序列號已經(jīng)作為 冗余信息被添加到頭部信息。
已經(jīng)提出了日本未決專利申請]\0.2002-026963。
發(fā)明內(nèi)容
因此,本發(fā)明的一個目的在于提供一種能夠有效i4jl送和接收分組的 發(fā)送接收電路。
根據(jù)實(shí)施例的一方面, 一種系統(tǒng)具有發(fā)送機(jī)和接收機(jī),發(fā)送機(jī)用于發(fā)
送分組的序列,每個分組包括頭部和數(shù)據(jù),發(fā)iM^L具有第一計數(shù)器,用 于存儲待發(fā)送的分組的第一序列號;第一生成單元,用于基于每個分組中
的頭部和數(shù)據(jù)以及與每個分組相對應(yīng)的第 一序列號來生成用于校驗(yàn)每個
分組中的差錯的差錯校驗(yàn)碼;和發(fā)送單元,用于連同每個差錯校驗(yàn)碼一起 發(fā)送每個分組,接收機(jī)用于接收分組,接收機(jī)具有第二計數(shù)器,用于存 儲M送機(jī)接收到的分組的第二序列號;笫二生成單元,用于基于M送 機(jī)接收到的每個分組中的頭部和數(shù)據(jù)以及與每個分組相對應(yīng)的第二序列 號來生成用于校驗(yàn)每個分組中的差錯的差錯校驗(yàn)碼;和差錯校驗(yàn)單元,用 于通過對由第二生成單元生成的差錯校驗(yàn)碼與從發(fā)送機(jī)接收到的差錯校 驗(yàn)碼進(jìn)行比較來校驗(yàn)分組的序列中的差錯。
圖l是網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)示圖2是節(jié)點(diǎn)的結(jié)構(gòu)示圖3是示出第一實(shí)施例中的分組格式的示圖4是第一實(shí)施例中的發(fā)送電路的結(jié)構(gòu)示圖5是示出笫一實(shí)施例中的發(fā)送處理的流程圖6是示出生成頭部差錯校驗(yàn)碼的方法的示圖7是第一實(shí)施例中的接收電路的結(jié)構(gòu)示圖8A和圖8B是示出第一實(shí)施例中的接收處理的流程圖9是示出使用頭部差錯校驗(yàn)碼的校驗(yàn)方法的示圖IO是示出第二實(shí)施例中的分組格式的示圖11是第二實(shí)施例中的發(fā)送電路的結(jié)構(gòu)示圖12是示出第二實(shí)施例中的發(fā)送處理的流程圖;圖13是第二實(shí)施例中的接收電路的結(jié)構(gòu)示圖14A和圖14B是示出第二實(shí)施例中的接收處理的流程圖;以及
圖15是示出發(fā)iii/接收數(shù)據(jù)與分組結(jié)構(gòu)之間的對應(yīng)關(guān)系的示圖。
具體實(shí)施例方式
以下將參照附圖描述本技術(shù)的優(yōu)選實(shí)施例。 第一實(shí)施例
圖l示出根據(jù)第一實(shí)施例的網(wǎng)絡(luò)系統(tǒng)O的結(jié)構(gòu)示圖。經(jīng)由網(wǎng)絡(luò)30以 及各個節(jié)點(diǎn)10的發(fā)送機(jī)/接收機(jī)20在節(jié)點(diǎn)之間發(fā)送或者接收數(shù)據(jù)。根據(jù) 本實(shí)施例的網(wǎng)絡(luò)系統(tǒng)0確保正確的分組順序得到保證。根據(jù)本實(shí)施例的網(wǎng) 絡(luò)30是用于在數(shù)據(jù)M層級執(zhí)行發(fā)送的確認(rèn)并且控制重傳的類型。
發(fā)送機(jī)/接收機(jī)20包括分組發(fā)送電路200、網(wǎng)口電路400和分組 接收電路300。分組發(fā)送電路200經(jīng)由網(wǎng)絡(luò)30將分組發(fā)送到另一節(jié)點(diǎn)10 的發(fā)送機(jī)/接收機(jī)20。分組接收電路300經(jīng)由網(wǎng)絡(luò)30從另一節(jié)點(diǎn)10的發(fā) 送機(jī)/接收機(jī)20接收分組。網(wǎng)絡(luò)接口電路400將分組發(fā)送到節(jié)點(diǎn)10,并且 從節(jié)點(diǎn)IO接收分組。
在本實(shí)施例中,為了增加傳送分組的速度,采用直通傳送(cut-through transfer )。在直通傳送中,分組被劃分為微片(flit)。以如此劃分的微片 為單位來傳送分組。發(fā)送機(jī)/接^L 20依次接收微片。當(dāng)完全獲取分組的 頭部時,發(fā)送^/接收機(jī)20參照有關(guān)的頭部來獲取關(guān)于分組將要被傳送到 的目的地的信息。然后,發(fā)送機(jī)/接收機(jī)20開始將分組傳送到分組的目的 地。
圖2示出節(jié)點(diǎn)10的結(jié)構(gòu)的示例。節(jié)點(diǎn)10具有系統(tǒng)控制單元12、中 央處理單元(CPU) 14、存儲器16和輸/V/輸出(I/O)接口 18。 CPU 14 執(zhí)行數(shù)據(jù)處理。存儲器16在其中存儲數(shù)據(jù)。系統(tǒng)控制單元12連接到發(fā)送 機(jī)/接收機(jī)20,以利用發(fā)送機(jī)/接收機(jī)20執(zhí)行分組發(fā)送或接收。I/O接口 18用于與其它設(shè)備的連接。
圖3示出該本實(shí)施例中待發(fā)送或待接收的分組500的分組格式。在分 組通信系統(tǒng)中,首先,待發(fā)送或待接收的數(shù)據(jù)被劃分為小的數(shù)據(jù)片,稱為 分組。接下來,從源的節(jié)點(diǎn)到目的地的節(jié)點(diǎn)傳送分組。
分組500具有頭部差錯校驗(yàn)碼502、頭部504、數(shù)據(jù)506和分組差錯校驗(yàn)碼508。頭部差錯校驗(yàn)碼502是其中插入了通過本實(shí)施例的方法所生 成的序列號的差錯校驗(yàn)碼。頭部差錯校驗(yàn)碼502用于校驗(yàn)頭部中的差錯。 頭部504具有例如分組的源地址、分組的接收方地址(address of the sink)、分組類型和分組長度的信息。數(shù)據(jù)506包括給定的信息。分組差 錯校驗(yàn)碼508用于校驗(yàn)數(shù)據(jù)506中的差錯。分組500的各個字段的長度例 如是如下。頭部差錯校驗(yàn)碼502具有2字節(jié)的長度,頭部504具有5字節(jié) 的長度,數(shù)據(jù)506具有以8字節(jié)為單位而變化的可變長度,并且分組差錯 校驗(yàn)碼508具有4字節(jié)的長度。
此外,在本實(shí)施例中,將指示分組的頭部的STP碼添加到分組500 的開頭的8字節(jié)字段。將指示分組末尾的END (末尾)碼添加到分組的 末尾的8字節(jié)字段。將指示正常分組的END信息或指示包括差錯的分組 的EDB信息寫入END碼。接收電路302參照END碼來檢測分組的末尾, 并且判斷分組是否為正常分組。
圖4示出根據(jù)本實(shí)施例的分組發(fā)送電路200的結(jié)構(gòu)。分組發(fā)送電路 200包括發(fā)送電路202、頭部差錯校驗(yàn)碼生成電路204、分組差錯校驗(yàn)碼 生成電路203和發(fā)送序列號控制電路207。
如參照圖l所描述的,頭部和數(shù)據(jù)經(jīng)由網(wǎng)絡(luò)接口電路400被輸入到分 組發(fā)送電路200。發(fā)送序列號控制電路207具有用于存儲接下;JM^發(fā)送的 分組的序列號的第一發(fā)送計數(shù)器205和用于存儲接收側(cè)可以正常接收的 分組的序列號的第二發(fā)送計數(shù)器206,以便管理待發(fā)送的分組的序列號。 當(dāng)分組發(fā)送電路200發(fā)送分組時,第一發(fā)送計數(shù)器205遞增。第二發(fā)送計 數(shù)器206遞增到分組接收電路300可以正常接收的分組的序列號。
頭部差錯校驗(yàn)碼生成電路204根據(jù)從網(wǎng)^#口電路400輸入到分組發(fā) 送電路200的頭部以及由第一發(fā)送計數(shù)器205指示的序列號來生成頭部差 錯校驗(yàn)碼.分組差錯校驗(yàn)碼生成電路203根據(jù)從網(wǎng)^^口電路400輸入到 分組發(fā)送電路200的數(shù)據(jù)生成分組差錯校驗(yàn)碼??梢栽陬^部差錯校驗(yàn)碼生 成電路204和分組差錯校驗(yàn)碼生成電路203中使用給定的算法,例如CRC (循環(huán)冗余校驗(yàn))算法,作為用于生成每個差錯校驗(yàn)碼的算法。發(fā)送電路 202根據(jù)分組格式經(jīng)由網(wǎng)絡(luò)30將由頭部差錯校驗(yàn)碼生成電路204生成的 頭部差錯校驗(yàn)碼、頭部、數(shù)據(jù)和由分組差錯校驗(yàn)碼生成電路203生成的分 組差錯校j^碼發(fā)送到目的地的節(jié)點(diǎn).
將參照圖5描述分組發(fā)送處理。在步驟SIOI,發(fā)送電路202接收頭 部和數(shù)據(jù)。然后,處理ii^到步驟S102。在步驟S102,頭部差錯校驗(yàn)碼生成電路204根據(jù)由第一發(fā)送計數(shù)器 205指示的序列號以及由發(fā)送電路202接收到的頭部來生成頭部差錯校驗(yàn) 碼。然后,處理進(jìn)入到步驟S103。
在步驟S103,分組差錯校驗(yàn)碼生成電路203根據(jù)由發(fā)送電路202接 收到的數(shù)據(jù)生成分組差錯校驗(yàn)碼。然后,處理it^到步驟S104。
在步驟S104,發(fā)送電路202根據(jù)分組格式將頭部差錯校驗(yàn)碼、頭部、 數(shù)據(jù)和分組差錯校驗(yàn)碼發(fā)送到網(wǎng)絡(luò)30。這樣,完成處理。
圖6是示出本實(shí)施例中生成頭部差錯校驗(yàn)碼的方法的概念性示圖。如 圖6所示,通過使用序列號和分組頭部信息進(jìn)行計算而生成本實(shí)施例中的 頭部差錯校Ji^碼'
圖7示出本實(shí)施例中的分組接收電路300的結(jié)構(gòu)。分組接收電路300 包括接收電路302、緩沖器304、頭部差錯校驗(yàn)碼生成電路204、分組差 錯校驗(yàn)碼生成電路203、接收序列號控制電路308、頭部差錯校驗(yàn)碼比較 電路310、分組差錯校驗(yàn)碼比較電路306和重傳控制電路312。
300。接收電路302接收分組,并且4接收到的分組輸出到緩沖器304。 接收電路302還將接收到的分組的頭部輸出到頭部差錯校驗(yàn)碼生成電路 204,將接收到的分組的頭部差錯校驗(yàn)碼輸出到頭部差錯校驗(yàn)碼比較電路 310,將接收到的分組的數(shù)據(jù)輸出到分組差錯校驗(yàn)碼生成電路203,并且
緩沖器304在其中存儲從接收電路302輸入的分組。接收序列號控制 電路308具有接收計數(shù)器305,以管理接收到的分組的序列號。在接收計 數(shù)器的初始狀態(tài)下,接收計數(shù)器305指示與由第一發(fā)送計數(shù)器205指示的 值相同的值。
頭部差錯校驗(yàn)碼生成電路204根據(jù)從接收電路302輸入的頭部以及由 接收計數(shù)器305指示的序列號來生成頭部差錯校驗(yàn)碼.
分組差錯校驗(yàn)碼生成電路203根據(jù)從接收電路302輸入的數(shù)據(jù)生成分 組差錯校驗(yàn)碼。可以在頭部差錯校驗(yàn)碼生成電路204和分組差錯校驗(yàn)碼生 成電路203中使用給定算法,例如CRC算法,作為用于生成每個差錯校 驗(yàn)碼的算法。
頭部差錯校驗(yàn)碼生成電路204將生成的頭部差錯校驗(yàn)碼輸出到頭部 差錯校驗(yàn)碼比較電路310。頭部差錯校驗(yàn)碼比較電路310對從接收電路302輸入的頭部差錯校驗(yàn)碼和從頭部差錯校驗(yàn)碼生成電路204輸入的頭部差 錯校驗(yàn)碼進(jìn)行比較。作為比較的結(jié)果,在從接收電路302輸入的頭部差錯 校驗(yàn)碼與從頭部差錯校驗(yàn)碼生成電路204輸入的頭部差錯校驗(yàn)碼相匹配 的情況下,頭部差錯校驗(yàn)碼比較電路310將指示這些碼的匹配的信號輸出 到緩沖器304和接收序列號控制電路308。此夕卜,在此情況下,也就是說, 當(dāng)這些頭部差錯校驗(yàn)碼彼此匹配時,頭部差錯校驗(yàn)碼比較電路310將指示 已經(jīng)接收到正常分組的ACK分組發(fā)送到發(fā)送該分組的源的節(jié)點(diǎn)10的發(fā) 送機(jī)/接收機(jī)20的發(fā)送序列號控制電路207。
當(dāng)指示這些碼的匹配的信號從頭部差錯校驗(yàn)碼比較電路310被輸入 到接收序列號控制電路308時,接收計數(shù)器305遞增。此外,當(dāng)發(fā)送序列 號控制電路207接收到ACK分組時,第二發(fā)送計數(shù)器206遞增到ACK 分組中的序列號。在正常發(fā)iH/接收分組的情況下,當(dāng)發(fā)送分組時,第一 發(fā)送計數(shù)器205遞增,而當(dāng)接收分組時,接收計數(shù)器305遞增。因此,第 一發(fā)送計數(shù)器206指示與由接收計數(shù)器305指示的值相同的值。
另一方面,作為這些碼的比較結(jié)果,在從接收電路302輸入的頭部差 錯校驗(yàn)碼與從頭部差錯校驗(yàn)碼生成電路204輸入的頭部差錯校驗(yàn)碼不匹 配的情況下,頭部差錯校驗(yàn)碼比較電路310將指示這些碼的不匹配的信號 輸出到重傳控制電路312。重傳控制電路312接收該信號,并且將指示不 能接收正常分組的NAK分組發(fā)送到源的節(jié)點(diǎn)10的發(fā)送機(jī)/接收機(jī)20的發(fā) 送序列號控制電路207。當(dāng)發(fā)送序列號控制電路207接收到NAK分組時, 第二發(fā)送計數(shù)器206遞增到NAK分組中正常接收到的分組的序列號。發(fā) 送電路202執(zhí)行這樣的處理重傳在由第二發(fā)送計數(shù)器206指示的"序列 號+l"的分組之后到來的、由第一發(fā)送計數(shù)器205指示的序列號的分組。
例如,在以下情況下請求分組的重傳在有關(guān)的分組的頭部中檢測到 誤比特的情況下、分組的頭部的序列號與分組接收電路300所期望的序列 號不匹配的情況下、序列號中^JC現(xiàn)誤比特但先前的分組丟失的情況下、
下。此外,不僅在在分組主體的數(shù)據(jù)中發(fā)現(xiàn)誤比特的情況下請求分組重傳, 而且還在在頭部中發(fā)現(xiàn)誤比特以及序列號是不連續(xù)的情況下請求分組重傳。
分組差錯校驗(yàn)碼生成電路203將生成的分組差錯校驗(yàn)碼輸出到分組 差錯校驗(yàn)碼比較電路306。然后,分組差錯校驗(yàn)碼比較電路306對從接收 電路302輸入的分組差錯校驗(yàn)碼與從分組差錯校驗(yàn)碼生成電路203輸入的分組差錯校驗(yàn)碼進(jìn)行比較。作為比較結(jié)果,在從接收電路302輸入的分組 差錯校驗(yàn)碼與從分組差錯校驗(yàn)碼生成電路203輸入的分組差錯校驗(yàn)碼相 匹配的情況下,電路306將指示這些碼的匹配的信號輸出到緩沖器304。 另一方面,作為比較結(jié)果,在從接收電路302輸入的分組差錯校驗(yàn)碼與從 分組差錯校a^碼生成電路203輸入的分組差錯校驗(yàn)碼不匹配的情況下,將 指示這些碼不匹配的信號輸出到緩沖器304。當(dāng)該信號被輸入到緩沖器 304時,刪除緩沖器304中存儲的分組。
在由分組差錯校驗(yàn)碼生成電路203生成的分組差錯校驗(yàn)碼與由接收 電路302接收到的分組的分組差錯校驗(yàn)碼的比特反轉(zhuǎn)后的碼不匹配的情 況下,分組差錯校驗(yàn)碼比較電路306將指示這些碼的不匹配的信號輸出到 連接至待向其發(fā)送分組的目的地的節(jié)點(diǎn)10的發(fā)送機(jī)/接收機(jī)20的分組發(fā) 送電路200。
連接至分組的目的地的節(jié)點(diǎn)10的發(fā)送機(jī)/接收機(jī)20的發(fā)送電路202 接收該信號,并且將指示分組中包括差錯的EDB寫入分組的END碼。 此外,當(dāng)接收到該信號時,發(fā)送電路202要求分組差錯校驗(yàn)碼生成電路 203生成通過對正常分組的分組差錯校驗(yàn)碼進(jìn)行比特反轉(zhuǎn)所獲得的分組 差錯校驗(yàn)碼.然后,發(fā)送電路202將其中EDB被寫入END碼并且對其 添加了通過對正常碼的差錯校驗(yàn)碼進(jìn)行比特反轉(zhuǎn)所獲得的分組差錯校驗(yàn) 碼的分組發(fā)送到網(wǎng)絡(luò)。因此,接收電路302可以檢測分組的末尾,并且參 照END碼來判斷接收到的分組是否正常。接收電路302還可以通過判斷 是否對接收到的分組的分組差錯校驗(yàn)碼進(jìn)行了比特反轉(zhuǎn)來判斷是否要使 得分組無效。
在直通傳送中,即使在傳送期間在分組中發(fā)現(xiàn)差錯,也不能取消分組 的傳送。因此,有必要向分組的目的地的節(jié)點(diǎn)10通知當(dāng)前正傳送的分組 中包括差錯。為了提供出現(xiàn)差錯的通知,將EDB寫入包括差錯的分組的 END碼,并且對差錯校驗(yàn)碼進(jìn)行比特反轉(zhuǎn)。
將參照圖8A和圖8B描述分組接收處理。在步驟S201,頭部差錯校 驗(yàn)碼生成電路204和分組差錯校驗(yàn)碼生成電路203分別生成頭部差錯校驗(yàn) 碼和分組差錯校驗(yàn)碼。然后,處理ii^到步驟S202.
在步驟S202,接收電路302判斷是否已經(jīng)將END碼添加到有關(guān)的分 組的末尾。當(dāng)已經(jīng)將END碼添加到分組的末尾時,處理ii^到步驟S203。 而當(dāng)沒有將END碼添加到分組的末尾時,處理1到步驟S207。在步驟S203,頭部差錯校驗(yàn)碼比較電路310和分組差錯校驗(yàn)碼比較 電路306中的每個判斷在步驟S201生成的差錯校驗(yàn)碼與接收到的分組的 差錯校驗(yàn)碼是否匹配。當(dāng)所生成的差錯校驗(yàn)碼與接收到的分組的差錯校驗(yàn) 碼相匹配時,處理進(jìn)入到步驟S204。而當(dāng)所生成的差錯校驗(yàn)碼與接收到 的分組的差錯校驗(yàn)碼不匹配時,處理ii^到步驟S209。在步驟S209,刪 除緩沖器304中存儲的分組.
在步驟S204,頭部差錯校驗(yàn)碼比較電路310將指示這些差錯校J^碼 的匹配的信號輸出到序列號控制電路308。然后,接收計數(shù)器305遞增, 并且處理ii7v到步驟S205。
在步驟S205,頭部差錯校驗(yàn)碼比較電路310將指示已經(jīng)接收到正常 分組的ACK分組發(fā)送到分組發(fā)送電路200的序列號控制電路207。當(dāng)序 列號控制電路207已接收到ACK分組時,第二發(fā)送計數(shù)器206遞增。然 后,處理ii^到步驟S206。
在步驟S206,緩沖器304輸出頭部和數(shù)據(jù)。這樣,完成處理。
將描述當(dāng)流程從步驟S202進(jìn)入到步驟S207時執(zhí)行的處理。在步驟 S207,分組差錯校驗(yàn)碼比較電路306判斷由分組差錯校驗(yàn)碼生成電路203 生成的分組差錯校驗(yàn)碼與由接收電路302接收到的分組的分組差錯校驗(yàn) 碼的比特反轉(zhuǎn)后的碼是否匹配.當(dāng)所生成的分組差錯校驗(yàn)碼與接收到的分 組差錯校驗(yàn)碼的比特反轉(zhuǎn)后的碼相匹配時,由接收電路302接收到的分組 是無效的分組。因此,處理t到步驟S208。另一方面,當(dāng)所生成的分 組差錯^^a^碼與接收到的分組差錯校驗(yàn)碼的比特反轉(zhuǎn)后的碼不匹配時,處 理ii^到步驟S209。
在步驟S208,刪除緩沖器304中存儲的無效分組。然后,處理ii/v 到步驟S210。
在步驟S210,頭部差錯校驗(yàn)碼比較電路310命令重傳控制電路312 重傳分組。重傳控制電路312從頭部差錯校驗(yàn)碼比較電路310接收命令, 并且將指示不能接收正常分組的NAK分組發(fā)送到分組發(fā)送電路200,以 請求分組發(fā)送電路200重傳分組。這樣,完成處理。
圖9是示出本實(shí)施例中的頭部差錯和序列號;^驗(yàn)方法的概念性示圖。 從接收電路中保存的序列號和接收到的分組的頭部生成本實(shí)施例中所使 用的頭部差錯校l^碼。然后,對所生成的頭部差錯校l^碼與接收到的頭部 差錯校驗(yàn)碼進(jìn)行比較。當(dāng)序列號彼此不匹配以及在分組的頭部中發(fā)現(xiàn)差錯時,這兩個差錯校驗(yàn)碼彼此不匹配。
在直通傳送中,除非完整地獲取頭部不能開始傳送分組。因此,有時
候出現(xiàn)這樣的情況取決于有關(guān)的頭部的數(shù)據(jù)量,接收到的微片中可能沒 有完整地包括頭部.如果接收到的微片中沒有完整地包括頭部,則應(yīng)該等 待直到接收到下一微片來完整地獲取頭部,并且因此,分組傳送的開始將 Mi^t應(yīng)于直到接收到下一微片時所需的等待時間段的量。另一方面, 根據(jù)本實(shí)施例,在頭部中不包括序列號。因此,可以減少頭部的數(shù)據(jù)量, 并且因此可以增加接收到的微片中可以包括頭部的概率。
笫二實(shí)施例
圖10示出本實(shí)施例中待發(fā)送或待接收的分組500的分組格式。分組 500包括頭部504、數(shù)據(jù)506和分組差錯校驗(yàn)碼508。頭部504具有例如 從其發(fā)送分組的源的地址、向其發(fā)送分組的接收器的地址、分組類型和分 組長度的信息。
圖11示出根據(jù)本實(shí)施例的分組發(fā)送電路200的結(jié)構(gòu)。分組發(fā)送電路 200包括發(fā)送電路202、分組差錯校驗(yàn)碼生成電路314和發(fā)送序列號控制 電路207。發(fā)送序列號控制電路207具有第一發(fā)送計數(shù)器205,用于管 理接下來待發(fā)送的分組的序列號;以及第二發(fā)送計數(shù)器206,用于管理接 收方可以正常接收的分組的序列號。
接下來,將參照圖12描述分組發(fā)送處理。在步驟S301,發(fā)送電路202 接收從節(jié)點(diǎn)10發(fā)送的頭部和數(shù)據(jù)。處理i4^到步猓S302。
在步驟S302,分組差錯校驗(yàn)碼生成電路314根據(jù)由第一發(fā)送計數(shù)器 205指示的序列號和由發(fā)送電路202接收到的頭部和數(shù)據(jù)來生成頭部差錯 校驗(yàn)碼??梢允褂媒o定算法,例如CRC算法,作為用于由分組差錯校驗(yàn) 碼生成電路314生成分組差錯校驗(yàn)碼的算法。處理進(jìn)入到步驟S303。
在步驟S303,發(fā)送電路202根據(jù)分組格式將分組差錯校驗(yàn)碼、頭部 和數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)30,通過該步驟完成處理。
圖13示出才Mt本實(shí)施例的分組接收電路300的結(jié)構(gòu)。分組接收電路 300包括接收電路302、緩沖器304、分組差錯校驗(yàn)碼生成電路314、序列 號控制電路308、分組差錯校驗(yàn)碼比較電路316和重傳控制電路312。序 列號控制電路308具有接收計數(shù)器305。
接下來,將參照圖14A和圖14B描述分組接收處理。在步驟S401, 分組差錯校驗(yàn)碼生成電路314生成分組差錯校驗(yàn)碼。處理進(jìn)入到步驟S402。
在步驟S402,接收電路302判斷是否已經(jīng)將END碼添加到分組的末 尾。當(dāng)已經(jīng)將END碼添加到分組的末尾時,處理ii^到步驟S403。而當(dāng) 沒有將END碼添加到分組的末尾時,處理ii/V到步驟S407。
在步驟S403,分組差錯校驗(yàn)碼比較電路316判斷在步驟S401生成的 分組差錯校驗(yàn)碼與接收到的分組的分組差錯校驗(yàn)碼是否匹配。當(dāng)所生成的 分組差錯校驗(yàn)碼與接收到的分組的分組差錯校驗(yàn)碼相匹配時,處理ii^到 步驟S404。而當(dāng)所生成的分組差錯校驗(yàn)碼與接收到的分組的分組差錯校 ^r碼不匹配時,處理進(jìn)入到步驟S409。在步驟S409,刪除緩沖器304中 存儲的分組。
在步驟S404,分組差錯校驗(yàn)碼比較電路316將指示這些分組差錯校 驗(yàn)碼彼此匹配的信號輸出到序列號控制電路308。這樣,接收計數(shù)器305 遞增,并且處理i47v到步驟S405。
在步驟S405,分組差錯校驗(yàn)碼比較電路316將指示已經(jīng)接收到正常 分組的ACK分組發(fā)送到分組發(fā)送電路200的序列號控制電路207。當(dāng)序 列號控制電路207接收到ACK分組時,第二發(fā)送計數(shù)器206遞增,并且 處理進(jìn)入到步驟S406。
在步驟S406,緩沖器304輸出頭部和數(shù)據(jù),通過該步驟完成處理。
接下來,將描述當(dāng)流程從步驟S402進(jìn)入到步驟S407時執(zhí)行的處理。 在步驟S407,分組差錯校驗(yàn)碼比較電路316判斷由分組差錯校驗(yàn)碼生成 電路314生成的分組差錯校驗(yàn)碼與由接收電路302接收到的分組的分組差 錯校驗(yàn)碼的比特反轉(zhuǎn)后的碼是否匹配。當(dāng)所生成的分組差錯校驗(yàn)碼與接收 到的分組的分組差錯校驗(yàn)碼的比特反轉(zhuǎn)后的碼相匹配時,由接收電路302 接收到的分組是無效的分組,并且因此處理進(jìn)入到步驟S408。而當(dāng)所生 成的分組差錯校驗(yàn)碼與接收到的分組的分組差錯校驗(yàn)碼的比特反轉(zhuǎn)后的 碼不匹配時,處理ii^到步驟S409。
在步驟S408,刪除緩沖器304中存儲的無效分組。然后,處理i^ 到步驟S410。
在步驟S410,分組差錯校驗(yàn)碼比較電路316命令重傳控制電路312 重傳分組。重傳控制電路312從分組差錯校驗(yàn)碼比較電路316接收命令。 重傳控制電路312將指示不能接收到正常分組的NAK分組發(fā)送到分組發(fā) 送電路200,以請求分組發(fā)送電路200重傳分組,通過該步驟完成處理。圖15示出待發(fā)送或待接收的數(shù)據(jù)與分組結(jié)構(gòu)之間的對應(yīng)關(guān)系。如圖 15所示,分組是其中將被稱為頭部的信息添加到每一劃分?jǐn)?shù)據(jù)的數(shù)據(jù)。 在圖15所示的分組中,在頭部中包括序列號。在本實(shí)施例中的發(fā)送/接收 電路中,執(zhí)行控制,使得從發(fā)送電路發(fā)送的分組的序列號與由接收電# 收到的分組的序列號相匹配。因此,如果通過使用分別由發(fā)送電路和接收 電路管理的序列號來生成差錯校驗(yàn)碼,則在分組中將不需要包括序列號。 結(jié)果,可以實(shí)現(xiàn)發(fā)送/接收的通信帶寬的有效利用。
如上所述,為了更好地理解本發(fā)明實(shí)施例,已經(jīng)對其進(jìn)行了具體地描 述,但以上描述并不限制本發(fā)明的其它方面。因此,在不脫離本發(fā)明主旨 和范圍的情況下,可以通過各種方式對其進(jìn)行改動和修改。
在此陳述的所有示例和條件語言是為了教導(dǎo)的目的,以幫助讀者理解 本發(fā)明和發(fā)明人對促進(jìn)現(xiàn)有技術(shù)所貢獻(xiàn)的想法,并且應(yīng)該理解為不限制于
這些具體陳述的示例和條件,說明書中的這些示例的組織也不涉;s^示本 發(fā)明的優(yōu)勢和劣勢。雖然已經(jīng)詳細(xì)描述了本發(fā)明實(shí)施例,但應(yīng)該理解,在 不脫離本發(fā)明的精神和范圍的情況下,可以對其進(jìn)行各種改變、替代和改動。
權(quán)利要求
1.一種系統(tǒng),包括發(fā)送機(jī)和接收機(jī),所述發(fā)送機(jī)用于發(fā)送分組的序列,每個所述分組包括頭部和數(shù)據(jù),所述發(fā)送機(jī)包括第一計數(shù)器,用于存儲待發(fā)送的分組的第一序列號;第一生成單元,用于基于每個所述分組中的所述頭部和所述數(shù)據(jù)以及與每個所述分組相對應(yīng)的所述第一序列號來生成用于校驗(yàn)每個所述分組中的差錯的差錯校驗(yàn)碼;發(fā)送單元,用于連同每個所述差錯校驗(yàn)碼一起發(fā)送每個所述分組;所述接收機(jī)用于接收所述分組,所述接收機(jī)包括第二計數(shù)器,用于存儲從所述發(fā)送機(jī)接收到的分組的第二序列號;第二生成單元,用于基于從所述發(fā)送機(jī)接收到的每個分組中的所述頭部和所述數(shù)據(jù)以及與每個所述分組相對應(yīng)的所述第二序列號來生成用于校驗(yàn)每個所述分組中的差錯的差錯校驗(yàn)碼;差錯校驗(yàn)單元,用于通過對由所述第二生成單元生成的差錯校驗(yàn)碼與從所述發(fā)送機(jī)接收到的差錯校驗(yàn)碼進(jìn)行比較來校驗(yàn)所述分組的序列中的差錯。
2.權(quán)利要求1的系統(tǒng),其中,當(dāng)由所述第二生成單元生成的差錯校 驗(yàn)碼與從所^送機(jī)接收到的差錯校驗(yàn)碼相匹配時,所述差錯校驗(yàn)單元將 信號輸出到所述第 一計數(shù)器和所述第二計數(shù)器以遞增所述第 一序列號和 所述第二序列號。
3.權(quán)利要求1的系統(tǒng),其中,當(dāng)由所述第二生成單元生成的差錯校 驗(yàn)碼與從所^JL送機(jī)接收到的差錯校驗(yàn)單元不匹配時,所述差錯校驗(yàn)單元 請求所^iL送機(jī)重傳所述分組。
4.權(quán)利要求3的系統(tǒng),其中,所^L送單元重傳所述分組。
5.—種發(fā)送機(jī),用于發(fā)送分組的序列,每個所述分組包括頭部和數(shù) 據(jù),所^JC送機(jī)包括第一計數(shù)器,用于存儲待發(fā)送的分組的序列號;第一生成單元,用于基于每個所述分組中的所述頭部和所述數(shù)據(jù)以 及與每個所述分組相對應(yīng)的所述序列號來生成用于校驗(yàn)每個所述分組中 的差錯的差錯校^^碼;發(fā)送單元,用于連同每個所述差錯校驗(yàn)碼一^L送每個所述分組。
6.—種控制具有發(fā)送機(jī)和接收機(jī)的系統(tǒng)的方法,所^L送機(jī)用于發(fā) 送分組的序列,所述接收機(jī)用于接收所述分組,每個所述分組包括頭部和 數(shù)據(jù),所述方法包括由第 一計數(shù)器存儲待發(fā)送的分組的第 一序列號;由第 一生成單元基于每個所述分組中的所述頭部以及與每個所述 分組相對應(yīng)的所述第 一序列號來生成用于校驗(yàn)每個所述分組中的差錯的 差錯校驗(yàn)碼;由發(fā)送單元連同每個所述差錯校驗(yàn)碼一^JL送每個所述分組; 由第二計數(shù)器存儲從所^JL送M收到的分組的第二序列號;由第二生成單元基于從所述發(fā)送機(jī)接收到的每個所述分組中的所 述頭部以及與每個所述分組相對應(yīng)的所述第二序列號來生成用于校驗(yàn)每 個所述分組中的差錯的差錯校i^碼;由差錯校驗(yàn)單元通過對由所述第二生成單元生成的差錯校驗(yàn)碼與 從所迷發(fā)送機(jī)接收到的差錯校驗(yàn)碼進(jìn)行比較來校驗(yàn)所迷分組的序列中的 差錯。
7.權(quán)利要求6的方法,其中,當(dāng)由所述第二生成單元生成的差錯校 驗(yàn)碼與從所^L送機(jī)接收到的差錯校驗(yàn)碼相匹配時,所述差錯校驗(yàn)單元將 信號輸出到所述第 一計數(shù)器和所述第二計數(shù)器以遞增所述第 一序列號和 所述第二序列號。
8.權(quán)利要求6的方法,其中,當(dāng)由所述第二生成單元生成的差錯校 驗(yàn)碼與從所iOL送機(jī)接收到的差錯校驗(yàn)碼不匹配時,所述差錯校驗(yàn)單元請 求所U送機(jī)重傳所述分組。
9.權(quán)利要求8的方法,其中,所^JL送單元重傳所述分組。
全文摘要
公開了用于發(fā)送和接收分組的系統(tǒng)。系統(tǒng)具有發(fā)送機(jī)和接收機(jī),發(fā)送機(jī)用于發(fā)送分組的序列,發(fā)送機(jī)具有第一計數(shù)器,用于存儲第一序列號;第一生成單元,用于基于每個分組中的頭部和數(shù)據(jù)以及第一序列號生成用于校驗(yàn)每個分組中的差錯的差錯校驗(yàn)碼;和發(fā)送單元,用于連同每個差錯校驗(yàn)碼一起發(fā)送每個分組,接收機(jī)具有第二計數(shù)器,用于存儲第二序列號;第二生成單元,用于基于從發(fā)送機(jī)接收到的每個分組中的頭部和數(shù)據(jù)以及第二序列號生成用于校驗(yàn)每個分組中的差錯的差錯校驗(yàn)碼;和差錯校驗(yàn)單元,用于校驗(yàn)分組序列中的差錯。
文檔編號H04L12/56GK101621471SQ200910146399
公開日2010年1月6日 申請日期2009年6月26日 優(yōu)先權(quán)日2008年6月30日
發(fā)明者井上智宏, 安島雄一郎, 平本新哉 申請人:富士通株式會社