專利名稱::可控制數(shù)據(jù)包傳送的交換器及相關(guān)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種交換器,特別是涉及一種可依據(jù)接收的數(shù)據(jù)包的傳輸特性,選擇使用連接到不同傳輸速度的傳輸途徑的輸出端口來傳輸數(shù)據(jù)包的交換器。
背景技術(shù):
:隨著網(wǎng)絡(luò)的應(yīng)用的蓬勃發(fā)展,個(gè)人與企業(yè)對于網(wǎng)絡(luò)的依賴也越來越深。尤其是以太網(wǎng)絡(luò)(Ethernet)的使用更是成為網(wǎng)絡(luò)世界重要一環(huán)。國際標(biāo)準(zhǔn)組織(InternationalStandardOrganization,ISO)提供一套共通的開放系統(tǒng)連結(jié)模式(OpenSystemInterconnectmode,OSI),其規(guī)范網(wǎng)絡(luò)傳輸時(shí)一種共享的溝通模式,其中包含7層的溝通模式。規(guī)范這7層的目的是使得二系統(tǒng)的間的通信(傳送、接收、中斷等)能更加容易管理。有關(guān)OSI的功能與運(yùn)用已為本領(lǐng)域的技術(shù)人員所熟知,在此不再贅述。在傳輸數(shù)據(jù)前,會(huì)把數(shù)據(jù)分成一連串的包(packet),并在這些包前附加用來控制包傳遞的標(biāo)頭信息。請參閱圖1,圖1為數(shù)據(jù)連接層的包10的示意圖。數(shù)據(jù)鏈路層(datalinklayer)屬于OSI規(guī)范的第二層,也是交換器一般所使用處理的層級,而數(shù)據(jù)連接層包10包含一前序位(preamble)、目的地址(Destination)、原始地址(Source)、型態(tài)(Type)、數(shù)據(jù)(Data)、FCS等字段。其中前序位字段提供了數(shù)據(jù)包的起始、同步訊息以及譯碼等操作。目的地址字段儲(chǔ)存了數(shù)據(jù)包接收端的地址,原始地址字段則儲(chǔ)存該數(shù)據(jù)包傳送端的地址,而目的地址字段以及原始地址字段儲(chǔ)存的就是MAC地址,型態(tài)字段則儲(chǔ)存了數(shù)據(jù)包所使用的通訊協(xié)議(例如使用IP通訊協(xié)議),數(shù)據(jù)域位則儲(chǔ)存了包的數(shù)據(jù)內(nèi)容,最后的包監(jiān)測數(shù)據(jù)(Framechecksequence,F(xiàn)CS)字段則用來放置檢查位,作為CRC錯(cuò)誤檢查之用。請參閱圖2,圖2為局域網(wǎng)絡(luò)20結(jié)構(gòu)的示意圖。局域網(wǎng)絡(luò)20包含一個(gè)以上的集線器24或交換器26,而至少一個(gè)以上的主機(jī)(client)28則連接于集線器24或交換器26。由于在局域網(wǎng)絡(luò)20有數(shù)十臺甚至上百臺主機(jī)28同時(shí)連上局域網(wǎng)絡(luò)20,為了確保網(wǎng)絡(luò)20的速度,集線器24以及交換器26都是用來增加訊號強(qiáng)度以及網(wǎng)絡(luò)管理的功能。但是集線器24運(yùn)作于OSI中的第一層實(shí)體層(PhysicalLayer),所以集線器24并不能分析出數(shù)據(jù)鏈路層包標(biāo)頭內(nèi)的MAC地址字段。換言之,一旦集線器24收到一個(gè)數(shù)據(jù)包時(shí),會(huì)把接收到的數(shù)據(jù)包傳送到其余所有的連接端口。所以所有連接到同一臺集線器的主機(jī)28都必須銷耗頻寬來處理此數(shù)據(jù)包,不能消除網(wǎng)絡(luò)中包與包之間的碰撞。如果網(wǎng)絡(luò)上的主機(jī)越來越多,網(wǎng)絡(luò)的整體效能也會(huì)因頻寬瓜分而下降。交換器的產(chǎn)生正好解決上面的問題。由于交換器是運(yùn)作于OSI中的第二層數(shù)據(jù)鏈路層(DataLinkLayer),當(dāng)數(shù)據(jù)被拆成一連串的包(Packet)時(shí),交換器依據(jù)包中目的地的MAC地址(就是圖1的目標(biāo)地址字段),以點(diǎn)對點(diǎn)模式將包傳送到目的地。由于交換器同時(shí)間可以有多個(gè)連接端口平行地傳送(parallelism),如此可以減少包碰撞的機(jī)會(huì)和充分使用網(wǎng)絡(luò)上的頻寬,大大提高網(wǎng)絡(luò)整體效能。除了集線器以及交換器之外,還有另一種網(wǎng)絡(luò)設(shè)備一路由器(router)。路由器主要的工作在于傳輸網(wǎng)絡(luò)上的包(packet),而且路由器必需先將包的標(biāo)頭取下,根據(jù)標(biāo)頭內(nèi)的各項(xiàng)信息分辨處理方式,以便完成包的傳輸工作。同時(shí),路由器還具有選擇適當(dāng)傳輸路徑的功能。路由器建立最佳路徑的方式,是通過建立一個(gè)路徑表(routingtable),路徑表會(huì)建立相關(guān)的地址,以供路由器作路徑選擇的參考。其中有建立相關(guān)地址以求得最佳路徑的方法有兩種常用的標(biāo)準(zhǔn),分別為RIP(RoutingInformationProtocol)與OSPF(OpenShortestPathFirst)。RIP的原理是要求包對鄰近的路由器發(fā)送出去,接受到的路由器便將路徑紀(jì)錄表(RoutingTable)傳回來,發(fā)出要求的路由器統(tǒng)計(jì)抵達(dá)每個(gè)目的位置所要經(jīng)過的節(jié)點(diǎn)數(shù),將最短的寫在自己的路徑紀(jì)錄表上。OSPF跟RIP最大的不同處在于它不是兩個(gè)鄰近路由器的間彼此交換,而是對整體網(wǎng)絡(luò)廣播,而路由器收集這些訊息建構(gòu)路徑表。另一個(gè)不同處在于路由器以距離參數(shù)(Distancemetric)取代單純的經(jīng)過節(jié)點(diǎn)數(shù),以連結(jié)狀況更新距離參數(shù),然后用動(dòng)態(tài)規(guī)劃(DynamicProgramming)的算法算出最短路徑,將下一個(gè)節(jié)點(diǎn)與計(jì)算出的總合的距離參數(shù)填入路徑表。不論采用哪種方式,各路由器會(huì)自行探測訊息來溝通而建立彼此的路徑表,所以可以顯示目前各信道間的網(wǎng)絡(luò)狀況,如阻塞或中斷,并據(jù)此產(chǎn)生最佳路徑以確保數(shù)據(jù)包傳遞的流暢。雖然路由器具有找尋最佳路徑的功能,但是路由器是作用在OSI第三層網(wǎng)絡(luò)層(networklayer)上。一般常用的IP協(xié)議即屬于網(wǎng)絡(luò)層的協(xié)議,在網(wǎng)絡(luò)層之上IP地址才有意義,網(wǎng)絡(luò)層之下都是憑MAC地址來辨認(rèn)。所以路由器在處理包時(shí),并不像交換器可直接通過MAC地址來識別所要傳送的地址,還必須通過ARP(AddressResolutionProtocol)協(xié)議將IP地址轉(zhuǎn)成MAC地址的協(xié)議,使得網(wǎng)絡(luò)層以下各層知道將數(shù)據(jù)往哪送,或利用RARP(ReverseAddressResolutionProtocol)的操作便是將ARP反過來,以MAC地址得知IP地址。所以路由器需要的成本以及復(fù)雜度都比較高,也就在商業(yè)考慮下不易普遍取代交換器與集線器。在網(wǎng)絡(luò)中數(shù)據(jù)的傳輸,多是先將數(shù)據(jù)分解為多個(gè)包,再將這些包自來源端傳輸?shù)侥康亩?,而后在目的端組合接收到的包,即可完成。然而,由于傳輸?shù)臄?shù)據(jù)種類不同,對于在線電影或在線廣播等語音影像數(shù)據(jù),由于使用者觀看收聽時(shí)會(huì)要求影音流暢,并且通過影像/影音處理時(shí)可以明顯減少部份由于包傳輸失誤所引起的錯(cuò)誤,因此對網(wǎng)絡(luò)傳輸?shù)囊笾攸c(diǎn)在于傳送速度的快速流暢。但對于電子郵件傳輸或程序文件傳輸而言,由于總是要整個(gè)完整的電子郵件/文件程序都傳輸完成才會(huì)開啟使用,但若有部份包不能正常傳輸接收時(shí)便可能導(dǎo)致電子郵件/程序文件的內(nèi)容錯(cuò)誤,因此對網(wǎng)絡(luò)傳輸?shù)囊笾攸c(diǎn)便在于傳輸內(nèi)容的的正確性。圖3顯示了已知技術(shù)中包含多數(shù)交換器的以太局域網(wǎng)500的基本結(jié)構(gòu)圖。每個(gè)交換器300a-300d分別包含一固定關(guān)系邏輯340a-340d,而且均包含多個(gè)連接端口(或?yàn)檩斎攵丝诨驗(yàn)檩敵龆丝?3000,連接端口3000是與主機(jī)200、202或是其它交換器電連接。當(dāng)以太局域網(wǎng)500建立好后,各個(gè)交換器之間的網(wǎng)絡(luò)傳輸速率(或說理論上可以達(dá)到的最高傳輸速率)都是固定的,視其是用最高傳輸速率100MPS的網(wǎng)絡(luò)電纜(如100BASETX或100BASET4)或用最高傳輸速率10Mbps的傳輸速率的網(wǎng)絡(luò)電纜(如10BASET)或是使用其它材料作的網(wǎng)絡(luò)線。同時(shí),各個(gè)交換器依照其設(shè)定,或是使用在接收完整包并確認(rèn)其正確性后才再傳輸此包的儲(chǔ)存全部包再傳送(storeandforward)模式,或是使用在確定傳輸方向后便一面接收部份包一面?zhèn)鬏斠呀?jīng)接收的部份包的儲(chǔ)存部份包標(biāo)頭便再傳送(cutthrough)模式,來使用其內(nèi)部的隊(duì)列緩存器等來處理數(shù)據(jù)包。換句話說,當(dāng)以太局域網(wǎng)建立好后,自交換器300a到交換器300c或自交換器300b至交換器300d等等自一交換器至另一交換器的傳輸途徑,其傳輸速率便是固定的,頂多是因?yàn)榫W(wǎng)絡(luò)上有大量包要傳輸而降低其傳輸速。并且,由于已知交換器是處理MAC地址而不是處理IP地址,自一交換器至另一交換器的傳輸途徑基本上也就是固定的。因此,若一個(gè)傳輸特性是需要高傳輸速率的包,其在不同交換器之間的傳輸途徑被設(shè)定是經(jīng)由傳輸速率較慢的網(wǎng)絡(luò)線或使用儲(chǔ)存全部包再傳送模式的交換器時(shí),傳輸速率將不能最佳化符合其需要。相對地,若一個(gè)傳輸特性是需要高傳輸正確性的包,其在不同交換器之間的傳輸途徑被設(shè)定是經(jīng)由使用儲(chǔ)存部份包標(biāo)頭便再傳送的交換器時(shí),傳輸正確性也將不能最佳化符合其需要。而即便是高傳輸速率的網(wǎng)絡(luò)線已經(jīng)逐漸普及,但由于傳輸途徑中交換器使用的模式,使得傳輸途徑或是傳輸速率不夠快或是不夠正確的問題,將仍然存在。進(jìn)一步地,雖然已知的路由器具有搜尋最佳路徑的功能,而且其可以是針對網(wǎng)絡(luò)上各個(gè)傳輸路徑的傳輸快慢來決定最佳路徑。但是已知路由器多是用來連接一局域網(wǎng)絡(luò)與另一局域網(wǎng)絡(luò),不能處理一局域網(wǎng)絡(luò)內(nèi)多數(shù)端點(diǎn)(如多數(shù)主機(jī))之間的傳輸;而且已知路由器往往必須分解包到第三層,所需要的計(jì)算量明顯較多且對硬件等的需求也較多,就商業(yè)成本考慮而言也不大適合如交換器一般普遍地應(yīng)用在諸如單一局域網(wǎng)絡(luò)內(nèi)等的情形。綜上所述,如何設(shè)計(jì)一個(gè)能搜尋最佳傳輸路徑以控制包傳送的交換器是很重要的一種課題。
發(fā)明內(nèi)容本發(fā)明提供一種交換器及其運(yùn)作方法,能依據(jù)接收的數(shù)據(jù)包的傳輸特性,選擇將接收到的數(shù)據(jù)包通過那個(gè)輸出端口(及其連接的網(wǎng)絡(luò)傳輸途徑)進(jìn)行傳輸,以更有效率的在網(wǎng)絡(luò)上傳輸數(shù)據(jù)包。本發(fā)明的一實(shí)施例提供一種可用來控制網(wǎng)絡(luò)內(nèi)數(shù)據(jù)包的傳送的交換器,其至少包含至少一輸入端口,用來接收數(shù)據(jù)包;多個(gè)輸出端口,用來輸出該數(shù)據(jù)包;以及一判斷邏輯,用來依據(jù)該輸入端口所接收數(shù)據(jù)包的傳輸特性,選擇輸出該數(shù)據(jù)包的輸出端口。本發(fā)明的另一實(shí)施例提供一種使用具有多個(gè)輸出端口的交換器來處理網(wǎng)絡(luò)數(shù)據(jù)包的方法,該方法至少包含接收一數(shù)據(jù)包;依據(jù)該數(shù)據(jù)包的傳輸特性由該多個(gè)輸出端口中選擇一輸出端口來輸出該數(shù)據(jù)包;以及經(jīng)由選定的輸出端口輸出該數(shù)據(jù)包。本發(fā)明的實(shí)現(xiàn),可以在網(wǎng)絡(luò)建立時(shí),便讓某交換器獲得并儲(chǔ)存將某交換器的所有輸出端口所分別連接到的其它交換器等端點(diǎn)的模式,或是網(wǎng)絡(luò)管理人員將相連接的其它交換器等端點(diǎn)的模式,定期地或不定期地更新至此交換器。而后,在此交換器運(yùn)作時(shí),便可以根據(jù)接收到的數(shù)據(jù)包的傳輸特性是需要高傳輸速率或高傳輸正確性,選擇要用以傳輸此數(shù)據(jù)包的輸出端口。一般而言,越是要求高傳輸速率的數(shù)據(jù)包,便越要使用連接到的傳輸途徑盡可能都是使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的交換器等的傳輸途徑;而越是要求高傳輸正確性的數(shù)據(jù)包,便越要使用連接到的傳輸途徑盡可能都是使用儲(chǔ)存全部包再傳送模式的交換器等的傳輸途徑。本發(fā)明還可以通過分析數(shù)據(jù)包內(nèi)特定字節(jié)的內(nèi)容來改變輸出該數(shù)據(jù)包的輸出端口,而不用和路由器一樣改變需要變動(dòng)數(shù)據(jù)包的標(biāo)頭(header),進(jìn)而同時(shí)簡化運(yùn)作與降低成本。圖1為數(shù)據(jù)鏈路層的包格式的示意圖。圖2為局域網(wǎng)絡(luò)結(jié)構(gòu)的示意圖。圖3為已知技術(shù)的交換器在以太局域網(wǎng)結(jié)構(gòu)下與主機(jī)以及其它交換器的功能方塊圖。圖4為本發(fā)明一實(shí)施例的交換器在以太局域網(wǎng)結(jié)構(gòu)下與主機(jī)以及其它交換器的功能方塊圖。圖5為IP包的格式的示意圖。圖6為TCP包的格式的示意圖。圖7為UDP包的格式的示意圖。圖8為本發(fā)明的流程圖。附圖符號說明10數(shù)據(jù)鏈路層包20、50局域網(wǎng)絡(luò)24集線器26交換器28主機(jī)30a-d交換器300a-d交換器34a-d判斷邏輯340a-d固定關(guān)系邏輯40a-d主機(jī)42、44傳輸電纜200、202主機(jī)301-304連接端口3000連接端口具體實(shí)施方式請參閱圖4,圖4顯示包含多個(gè)本發(fā)明一實(shí)施例的交換器的以太局域網(wǎng)50的基本結(jié)構(gòu)圖。每個(gè)交換器30a-30d分別包含一判斷邏輯34a-34d,而且均包含多個(gè)連接端口(或?yàn)檩斎攵丝诨驗(yàn)檩敵龆丝?301-304;同時(shí)交換器30c使用儲(chǔ)存部份包標(biāo)頭便再傳送模式,而交換器30b則使用儲(chǔ)存全部包再傳送模式。除此之外,介于任二個(gè)交換器之間的網(wǎng)絡(luò)線,可以都是相同最高傳輸速率的網(wǎng)絡(luò)線,也可以是最高傳輸速率各不相同的網(wǎng)絡(luò)線,本實(shí)施例并不須限制網(wǎng)絡(luò)線的細(xì)節(jié)。顯然地,當(dāng)以太局域網(wǎng)50建立好后,自交換器30a至交換器30d的數(shù)據(jù)包傳輸路線,若是經(jīng)由交換器30c則將在交換器30c獲得較快的處理速率,也較就適合于傳輸特性是需要高傳輸速率的多媒體文件等的數(shù)據(jù)包;而若是經(jīng)由交換器30b則將在交換器30b獲得較能確保正確性的傳輸結(jié)果,也就較適合于傳輸特性是需要高傳輸正確性的程序文件等的數(shù)據(jù)包。因此,本實(shí)施例的一大特征,便是在于交換器30a的判斷邏輯34a,加入根據(jù)接收到數(shù)據(jù)包的傳輸特性來決定要用連接到交換器30c的輸出端口或連接到交換器30b的輸出端口來傳輸此數(shù)據(jù)包。當(dāng)然,本特征可以擴(kuò)展到多個(gè)交換器中每一個(gè)交換器都具有如此功能的判斷邏輯。在此,判斷邏輯34a的構(gòu)成,可以是由用以記錄各個(gè)輸出端口所連接到的其它交換器(或主機(jī)等)的處理數(shù)據(jù)包模式的存儲(chǔ)器,用以解析閱讀數(shù)據(jù)包的硬件/固件,用以跟據(jù)解析閱讀所得數(shù)據(jù)與儲(chǔ)存于存儲(chǔ)器中數(shù)據(jù)來決定要用那個(gè)輸出端口輸出的電路等所組成。其中,存儲(chǔ)器是已知技術(shù),將在網(wǎng)絡(luò)建立時(shí)或連接交換器與周圍端點(diǎn)時(shí)所得到數(shù)據(jù)寫入存儲(chǔ)器也是已知技術(shù),解析閱讀數(shù)據(jù)包的硬件/固件可以藉由修改已知交換器原本就要用來解析閱讀數(shù)據(jù)包的MAC地址的硬件/固件來實(shí)現(xiàn),而根據(jù)兩個(gè)數(shù)據(jù)來源進(jìn)行“若A則B與若C則D”等運(yùn)算來將某對象A(即數(shù)據(jù)包)指到多個(gè)對象B(即多個(gè)輸出端口)中的某一個(gè)也是已知技術(shù)。也就是說,本發(fā)明的一大重點(diǎn)是在于使用判斷邏輯來根據(jù)數(shù)據(jù)包的傳輸特性來選擇使用某個(gè)輸出端口來傳輸數(shù)據(jù)包,而不是根據(jù)數(shù)據(jù)包是由那個(gè)輸入端口被接收到來決定要由那個(gè)輸出端口的想法,也無關(guān)于如何作出判斷邏輯的硬件或固件。本發(fā)明判斷數(shù)據(jù)包的傳輸特性,是要判斷數(shù)據(jù)包是高傳輸速率需求或高傳輸精確度需求。其具體作法,至少可以是通過判斷包的內(nèi)容是屬于傾向高傳輸速率需求的多媒體文件或是屬于傾向高傳輸精確度需求的程序文件;也可以通過判斷包的格式是屬于傳輸速率較快的包格式或是屬于較能確保傳輸正確性的包格式;或也可以是通過解讀包內(nèi)某些特定位的內(nèi)容,來判斷包的屬性。說明本發(fā)明的運(yùn)作原理之前,在此先簡單介紹一下IP包、TCP包以及UDP包的格式。請先參閱圖5,圖5是IP包的格式。從圖5可以發(fā)現(xiàn),IP包的版本(Version)字段是用來規(guī)范此包所用的協(xié)議的版本,以利各開發(fā)商使用。標(biāo)頭長度(InternetHeaderLength,IHL)字段是規(guī)范此IP包的IP標(biāo)頭的長度,其儲(chǔ)存的值為5~15,以圖5為例,IHL字段儲(chǔ)存的值為5。而總長度(TotalLength)字段則儲(chǔ)存整個(gè)IP包的長度,包括IP標(biāo)頭長度以及數(shù)據(jù)長度。協(xié)議識別(Protocol)字段則儲(chǔ)存該IP包使用哪一種網(wǎng)絡(luò)層協(xié)議,舉例來說,協(xié)議識別字段儲(chǔ)存的值為6時(shí),表示TCP協(xié)議,協(xié)議識別字段儲(chǔ)存的值為17時(shí),表示UDP協(xié)議。標(biāo)頭檢驗(yàn)和(Checksum)字段則用來確保IP標(biāo)頭的完整性。來源地址(Sourceaddress)字段則用來儲(chǔ)存送出包主機(jī)的地址。目的地址(Destinationaddress)則用來儲(chǔ)存接收主機(jī)的地址。這里指的來源地址與目的地址就是所謂的IP地址。而數(shù)據(jù)域位則用來儲(chǔ)存數(shù)據(jù)。由于IP包的傳送是在不同時(shí)間抵達(dá),換言之,包到達(dá)的順序不保證是原來發(fā)送的順序,而且傳輸過程可能會(huì)發(fā)生錯(cuò)誤。所以為了確保包正確抵達(dá),一般來說,會(huì)使用TCP協(xié)議來加強(qiáng)傳輸?shù)目煽啃?,所以在IP包的數(shù)據(jù)域位還儲(chǔ)存有TCP包。請參閱圖6,圖6是TCP包的格式。對TCP包來說,來源端口(Sourceport)字段是用來定義來源主機(jī)的行程與服務(wù)地址,與來源主機(jī)的IP地址結(jié)合后,會(huì)形成單一的發(fā)送點(diǎn)。目的端口(Destinationport)字段用來定義目的主機(jī)的行程與服務(wù)地址,與目的主機(jī)的IP地址結(jié)合后,會(huì)形成單一的發(fā)送點(diǎn)。舉例來說,若端口號碼為25,則會(huì)將該數(shù)據(jù)包交由SMTP服務(wù)使用、若端口號碼為21則給FTP服務(wù)使用、若端口號碼為23則給TELNET服務(wù)使用。序列號(sequencenumber)字段則儲(chǔ)存了來源主機(jī)所送出的第一個(gè)字節(jié)數(shù)據(jù)的順序編號。而確認(rèn)號(Acknowledgementnumber)字段則儲(chǔ)存了來源主機(jī)通知目的主機(jī)應(yīng)該送出哪個(gè)序列號的數(shù)據(jù)。一般來說,使用TCP協(xié)議傳送數(shù)據(jù)是為了確保數(shù)據(jù)傳送的可靠性,也就是保證使用TCP協(xié)議傳輸?shù)陌欢〞?huì)順序一致地抵達(dá)目的。關(guān)于TCP包的傳送機(jī)制,已為本領(lǐng)域的技術(shù)人員所熟知,在此不再贅述,詳細(xì)的內(nèi)容說明可參閱RFC-793、RFC-1122、RFC-813、RFC-879、RFC-896說明。請參閱圖7,圖7是UDP包的格式。對UDP包來說,來源端口(Sourceport)字段用來定義來源主機(jī)的行程與服務(wù)地址。目的端口(Destinationport)字段用來定義目的主機(jī)的行程與服務(wù)地址。由于使用UDP協(xié)議不保證送出的數(shù)據(jù)包一定會(huì)抵達(dá)目的,或以正確的順序抵達(dá)。然而在一般局域網(wǎng)之中,以UDP協(xié)議傳輸?shù)臄?shù)據(jù)包幾乎能達(dá)到100%的抵送率,而且抵達(dá)速度也可能比接收端的處理速度還快,這是因?yàn)閁DP通訊協(xié)議所使用的包短且設(shè)定參數(shù)簡易,不像TCP需要提供額外的字段來控制傳輸可靠性,所以在網(wǎng)絡(luò)上的負(fù)載較TCP協(xié)議輕了許多,故常用于多媒體數(shù)據(jù)的傳輸。UDP包的傳送機(jī)制,已為本領(lǐng)域的技術(shù)人員所熟知,在此不再贅述,詳細(xì)的內(nèi)容說明可參閱RFC-768的說明。請注意,對圖1的數(shù)據(jù)鏈路層包10來說,圖5的屬于網(wǎng)絡(luò)層的IP包即儲(chǔ)存在數(shù)據(jù)鏈路層包10的數(shù)據(jù)域位之中。對IP包來說,圖6的TCP包或圖7的UDP包即儲(chǔ)存于IP包之中。由圖1、圖3、圖4、圖5、圖6以及圖7觀之,每個(gè)數(shù)據(jù)包在特定的地址字段(亦即特定的字節(jié))都已經(jīng)有固定的定義。所以當(dāng)交換器30a的輸入端口301在接收到來自主機(jī)40a數(shù)據(jù)包后,判斷邏輯34a可以在移除數(shù)據(jù)連接層的標(biāo)頭后,在不用移除IP標(biāo)頭的情況下,讀取屬于網(wǎng)絡(luò)層的IP標(biāo)頭的特定字段上的數(shù)據(jù)。請注意,交換器30a原先就只能應(yīng)用于數(shù)據(jù)鏈路層,所以判斷邏輯34a并不需要分析屬于網(wǎng)絡(luò)層以上的IP標(biāo)頭以及TCP/UDP標(biāo)頭內(nèi)的內(nèi)容,只需要在取下屬于數(shù)據(jù)鏈路層的標(biāo)頭后,讀取由版本字段算起第1位至第4位內(nèi)的數(shù)值判斷接收的IP包所使用的版本,第5位至第8位內(nèi)的數(shù)值判斷IP包所使用的標(biāo)頭長度,第73位到第80位內(nèi)的數(shù)值來判斷此包使用何種協(xié)議來傳送,以此類推,之后的來源地址、目的地址,也可以同樣的方式來判斷。當(dāng)然,IP標(biāo)頭之后就是TCP/UDP包的標(biāo)頭,從圖5來看,標(biāo)頭長度字段所儲(chǔ)存的值是5,所以從版本字段算起第161位至第176位屬于TCP/UDP包的來源端口(sourceport)字段,第177位至192位屬于TCP/UDP包的目的端口(sourceport)字段。所以判斷邏輯也可以快速地了解此包所使用的端口號碼為何,以決定此包屬于何種服務(wù)所使用,舉例來說,若端口號碼為25,則會(huì)將該數(shù)據(jù)包交由SMTP服務(wù)使用、若端口號碼為21則給FTP服務(wù)使用。最后,判斷邏輯34a就可以依據(jù)使用的傳輸協(xié)議等數(shù)據(jù)來決定要用哪一個(gè)連接端口來輸出數(shù)據(jù)包。舉例來說,假設(shè)主機(jī)40a利用UDP協(xié)議傳送一多媒體數(shù)據(jù)文件至主機(jī)40b,而主機(jī)40d利用TCP協(xié)議傳送一電子郵件至主機(jī)40c。當(dāng)交換器30a在接收到由連接端口301傳來主機(jī)40a送來的數(shù)據(jù)包后,判斷邏輯34a可由MAC地址字段得出該包需傳送至主機(jī)40b,但是傳送至主機(jī)40b的路徑有兩條,一條是經(jīng)由輸出端口303傳送至交換器30c,之后再經(jīng)由交換器30d抵達(dá)主機(jī)40b,另一條是經(jīng)由輸出端口304傳送至交換器30b,再經(jīng)由交換器30d抵達(dá)主機(jī)40b。所以判斷邏輯34a利用版本字段算起第73至第80位的數(shù)值為17,判斷該數(shù)據(jù)包使用UDP協(xié)議后,可使用連接至的交換器30c是使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的輸出端口303來傳送該數(shù)據(jù)包c(diǎn),同樣地,判斷邏輯34c在判斷該數(shù)據(jù)包的目的MAC地址以及使用UDP協(xié)議后,會(huì)將該包傳送至交換器30d,最后,交換器30d在依據(jù)包內(nèi)的MAC地址字段將該包傳送至主機(jī)40b。相對地,交換器30a在接收到由連接端口302傳來主機(jī)40d送來的數(shù)據(jù)包后,判斷邏輯34a可由MAC地址字段得出該包需傳送至主機(jī)40c,還可以由版本字段算起第73至第80位的數(shù)值為6,判斷該數(shù)據(jù)包使用TCP協(xié)議,之后使用連接至的交換器30b是使用儲(chǔ)存全部包再傳送模式的輸出端口304傳送該數(shù)據(jù)包至交換器30b,同樣地,判斷邏輯34b在判斷該數(shù)據(jù)包的目的MAC地址以及使用TCP協(xié)議后,會(huì)將該包傳送至交換器30d,最后,交換器30d在依據(jù)包內(nèi)的MAC地址字段將該包傳送至主機(jī)40c。當(dāng)然,判斷邏輯34決定數(shù)據(jù)包的優(yōu)先性的原則不只是判斷IP包的協(xié)議識別字段的值,還可以利用TCP/UDP包內(nèi)的來源端口以及目的端口的端口號碼來決定該數(shù)據(jù)包的優(yōu)先性??偠灾?,交換器30a可依據(jù)不同數(shù)據(jù)包所使用的傳輸特性等來決定用來輸出數(shù)據(jù)包的輸出端口。在圖4中,交換器30b-30d也可以由集線器、訊號加強(qiáng)器(repeater)或橋接器(bridge)等其它網(wǎng)絡(luò)設(shè)備取代。只要當(dāng)判斷邏輯34a在判斷該數(shù)據(jù)包的所使用的傳輸協(xié)議以決定該數(shù)據(jù)包傳送的優(yōu)先性后(假設(shè)定義UDP的優(yōu)先性大于TCP),判斷邏輯34a即會(huì)針對交換器30a的連接端口303、304的傳輸狀況做出分析,選擇讓UDP包從連接到使用使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的交換器的連接端口送出,以維持主機(jī)40b的正常接收。進(jìn)一步地,本發(fā)明的實(shí)施例還可以有下列的種種變化(a)當(dāng)數(shù)據(jù)包的傳輸特性是傾向于需要高傳輸速率(例如多媒體數(shù)據(jù)文件),判斷邏輯選取一輸出端口,其對應(yīng)的網(wǎng)絡(luò)傳輸途徑上的交換器系多數(shù)使用「儲(chǔ)存部份包標(biāo)頭便再傳送」模式來輸出數(shù)據(jù)包,并利用該選取的輸出端口來傳輸數(shù)據(jù)包;(b)當(dāng)數(shù)據(jù)包的傳輸特性是傾向于高傳輸速率,判斷邏輯選取連接到的網(wǎng)絡(luò)傳輸途徑上最鄰近的交換器系使用「儲(chǔ)存部份包標(biāo)頭便再傳送」模式的一輸出端口來傳輸數(shù)據(jù)包。(c)若不只一個(gè)輸出端口所連接到的網(wǎng)絡(luò)傳輸途徑上的其它交換器使用「儲(chǔ)存部份包標(biāo)頭便再傳送」模式,判斷邏輯在先后接收到傳輸特性皆為高傳輸速率的多個(gè)數(shù)據(jù)包時(shí),輪流使用這些有連接到使用「儲(chǔ)存部份包標(biāo)頭便再傳送」模式的其它交換器的這些輸出端口來輸出數(shù)據(jù)包。(d)當(dāng)數(shù)據(jù)包的傳輸特性是傾向于高傳輸正確性時(shí),判斷邏輯選取一輸出端口,其對應(yīng)的網(wǎng)絡(luò)傳輸途徑上的交換器是多數(shù)使用「儲(chǔ)存全部包再傳送」模式來輸出數(shù)據(jù)包,并利用該選取的輸出端口來傳輸數(shù)據(jù)包;(e)當(dāng)數(shù)據(jù)包的傳輸特性是傾向于高傳輸正確性,判斷邏輯選取連接到的網(wǎng)絡(luò)途徑上最鄰近的交換器是使用「儲(chǔ)存全部包再傳送」模式的一輸出端口來傳輸數(shù)據(jù)包。(f)若不只一個(gè)該輸出端口所連接到的網(wǎng)絡(luò)傳輸途徑上的其它交換器使用「儲(chǔ)存全部包再傳送」模式,判斷邏輯在先后接收到傳輸特性皆為高傳輸速率的多個(gè)數(shù)據(jù)包時(shí),輪流使用這些有連接到使用「儲(chǔ)存全部包再傳送」模式的其它交換器的這些輸出端口來進(jìn)行傳輸。請參閱圖8,圖8為本發(fā)明的方法流程圖。其步驟說明如下。步驟100檢測交換器的多個(gè)輸出端口所個(gè)別連接到的交換器的模式;步驟102由交換器的輸入端口接收一數(shù)據(jù)包;步驟104依據(jù)該數(shù)據(jù)包的傳輸特性由該多個(gè)輸出端口中選擇一輸出該數(shù)據(jù)包的輸出端口;以及步驟106經(jīng)由選定輸出該數(shù)據(jù)包的輸出端口輸出該數(shù)據(jù)包。相較于已知技術(shù),本發(fā)明的交換器可以利用目前網(wǎng)絡(luò)層包具有的特定位置的字節(jié)的規(guī)范下,對于用于分析數(shù)據(jù)鏈路層的交換器來說,除了拆解并分析數(shù)據(jù)鏈路層的標(biāo)頭外,再不需另外拆解網(wǎng)絡(luò)層包的標(biāo)頭的情況下,只要再去讀取網(wǎng)絡(luò)層包的標(biāo)頭的固定位置字段的數(shù)據(jù),就可以識別出該網(wǎng)絡(luò)層包所使用的協(xié)議以及使用的端口號碼等等,以決定該網(wǎng)絡(luò)層包的數(shù)據(jù)重視的是時(shí)效性或是正確性。除此之外,由于交換器具有連接到不同模式的不同其它交換器的多數(shù)連接端口,若判斷網(wǎng)絡(luò)層包對時(shí)效性的要求較高,則可以利用連接到使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的交換器的輸出端口來輸出網(wǎng)絡(luò)層包;而若判斷網(wǎng)絡(luò)層包對正確性的要求較高,則可以利用連接到使用儲(chǔ)存全部包再傳送模式的交換器的輸出端口輸出數(shù)據(jù)包,這么一來,就可以達(dá)到最佳的網(wǎng)絡(luò)傳輸管理。以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明的權(quán)利要求所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。權(quán)利要求1.一種交換器,用來控制網(wǎng)絡(luò)內(nèi)數(shù)據(jù)包的傳送,其包含至少一輸入端口,用來接收一數(shù)據(jù)包;多個(gè)輸出端口,用來輸出接收到的該數(shù)據(jù)包,其中任一該輸出端口皆連接到一網(wǎng)絡(luò)傳輸途徑;以及一判斷邏輯,用來依據(jù)所接收的數(shù)據(jù)包的傳輸特性,選擇一該輸出端口來輸出該數(shù)據(jù)包。2.如權(quán)利要求1所述的交換器,其中該數(shù)據(jù)包是符合IP協(xié)議的包。3.如權(quán)利要求1所述的交換器,其中當(dāng)該數(shù)據(jù)包的傳輸特性是傾向于高傳輸速率時(shí),該判斷邏輯至少使用下列規(guī)則之一選取連接到的網(wǎng)絡(luò)傳輸途徑上的至少一交換器是多數(shù)使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的一該輸出端口來傳輸該數(shù)據(jù)包;選取連接到的網(wǎng)絡(luò)途徑上最鄰近的交換器是使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的一該輸出端口來傳輸該數(shù)據(jù)包;以及當(dāng)不只一個(gè)該輸出端口所連接到的網(wǎng)絡(luò)傳輸途徑上的其它交換器使用儲(chǔ)存部份包標(biāo)頭便再傳送模式時(shí),輪流使用這些有連接到使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的其它交換器的這些輸出端口來進(jìn)行傳輸。4.如權(quán)利要求1所述的交換器,其中當(dāng)該數(shù)據(jù)包的傳輸特性是傾向于高傳輸正確性時(shí),該判斷邏輯至少使用下列規(guī)則之一選取連接到的網(wǎng)絡(luò)傳輸途徑上的至少一交換器是多數(shù)使用儲(chǔ)存全部包再傳送模式的一該輸出端口來傳輸該數(shù)據(jù)包;選取連接到的網(wǎng)絡(luò)途徑上最鄰近的交換器是使用儲(chǔ)存全部包再傳送模式的一該輸出端口來傳輸該數(shù)據(jù)包;以及若不只一個(gè)該輸出端口所連接到的網(wǎng)絡(luò)傳輸途徑上的其它交換器是使用儲(chǔ)存全部包再傳送模式時(shí),輪流使用這些有連接到使用儲(chǔ)存全部包再傳送模式的其它交換器的這些輸出端口來進(jìn)行傳輸。5.如權(quán)利要求1所述的交換器,其中該判斷邏輯依據(jù)該數(shù)據(jù)包的協(xié)議識別字段的數(shù)據(jù)來決定該數(shù)據(jù)包所使用的傳輸協(xié)議,并進(jìn)而決定該數(shù)據(jù)包的傳輸特性。6.如權(quán)利要求5所述的交換器,其中該判斷邏輯至少使用下列規(guī)則當(dāng)該數(shù)據(jù)包所使用的傳輸協(xié)議是UDP,則該數(shù)據(jù)包的傳輸特性為傾向高傳輸速率;以及當(dāng)該數(shù)據(jù)包所使用的傳輸協(xié)議是TCP,則該數(shù)據(jù)包的傳輸特性為傾向高傳輸正確性。7.一種交換器處理網(wǎng)絡(luò)的數(shù)據(jù)包的方法,該交換器包含多個(gè)輸出端口,該方法包含接收一數(shù)據(jù)包;依據(jù)該數(shù)據(jù)包的傳輸特性,選擇一該輸出端口來輸出該數(shù)據(jù)包;以及經(jīng)由選定的該輸出端口輸出該數(shù)據(jù)包。8.如權(quán)利要求7所述的方法,其中該數(shù)據(jù)包是符合IP協(xié)議的包。9.如權(quán)利要求7所述的方法,其中當(dāng)該數(shù)據(jù)包的傳輸特性是傾向于高傳輸速率時(shí),該方法還包含至少使用下列規(guī)則之一選取連接到的網(wǎng)絡(luò)傳輸途徑上的至少一交換器是多數(shù)使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的一該輸出端口來傳輸該數(shù)據(jù)包;選取連接到的網(wǎng)絡(luò)途徑上最鄰近的交換器是使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的一該輸出端口來傳輸該數(shù)據(jù)包;以及若不只一個(gè)該輸出端口所連接到的網(wǎng)絡(luò)傳輸途徑上的其它交換器是使用儲(chǔ)存部份包標(biāo)頭便再傳送模式時(shí),輪流使用這些有連接到使用儲(chǔ)存部份包標(biāo)頭便再傳送模式的其它交換器的這些輸出端口來進(jìn)行傳輸。10.如權(quán)利要求7所述的方法,其中當(dāng)該數(shù)據(jù)包的傳輸特性是傾向于高傳輸正確性時(shí),該方法還包含至少使用下列規(guī)則之一選取連接到的網(wǎng)絡(luò)傳輸途徑上的至少一交換器是多數(shù)使用儲(chǔ)存全部包再傳送模式的一該輸出端口來傳輸該數(shù)據(jù)包;選取連接到的網(wǎng)絡(luò)途徑上最鄰近的交換器是使用儲(chǔ)存全部包再傳送模式的一該輸出端口來傳輸該數(shù)據(jù)包;以及若不只一個(gè)該輸出端口所連接到的網(wǎng)絡(luò)傳輸途徑上的其它交換器是使用儲(chǔ)存全部包再傳送模式時(shí),輪流使用這些有連接到使用儲(chǔ)存全部包再傳送模式的其它交換器的這些輸出端口來進(jìn)行傳輸。11.如權(quán)利要求7所述的方法,其包含依據(jù)該數(shù)據(jù)包的協(xié)議識別字段的數(shù)據(jù)來決定該數(shù)據(jù)包所使用的傳輸協(xié)議,并進(jìn)而決定該數(shù)據(jù)包的傳輸特性。12.如權(quán)利要求11所述的方法,其包含至少使用下列規(guī)則當(dāng)該數(shù)據(jù)包所使用的傳輸協(xié)議是UDP,則該數(shù)據(jù)包的傳輸特性為傾向高傳輸速率;以及當(dāng)該數(shù)據(jù)包所使用的傳輸協(xié)議是TCP,則該數(shù)據(jù)包的傳輸特性為傾向高傳輸正確性。全文摘要一種可用來控制網(wǎng)絡(luò)內(nèi)數(shù)據(jù)包傳送的交換器,至少包含至少一輸入端口,用來接收數(shù)據(jù)包;多個(gè)輸出端口,用來輸出該輸入端口接收的數(shù)據(jù)包;以及一判斷邏輯,用來依據(jù)該輸入端口所接收的數(shù)據(jù)包的傳輸特性以選擇輸出該數(shù)據(jù)包的輸出端口。該交換器可以依據(jù)數(shù)據(jù)包的傳輸特性,來決定在分別連接到不同傳輸速率的不同傳輸途徑的多個(gè)輸出端口中,要使用那個(gè)輸出端口來傳輸此數(shù)據(jù)包。文檔編號H04L12/56GK1625160SQ20041010024公開日2005年6月8日申請日期2004年12月13日優(yōu)先權(quán)日2003年12月12日發(fā)明者顧浩俊,陳維彬,林郁如,鄭兆成申請人:威盛電子股份有限公司