2014年7月8日 星期二

IGMP簡介及整理

IGMP簡介及整理

此篇文章是參考網路上的10多篇中英文文章整理而成,如有誤請不吝指教,謝謝。另如有侵權請告知刪除,謝謝。
起源:
一開始的網路傳輸由單點(Unicast)到廣播(Broadcast)。這樣的封包傳送方式對於多媒體傳輸的應用非常佔據頻寬,所以後來發展出群播(Multicast)的傳輸,減少了頻寬的浪費。請參考如下應用圖。


一、Internet群組管理協議(Internet Group Management Protocol)簡介:
IGMP(Internet Group Management Protocol,互聯網群組管理協議)是TCP/IP的協議族中負責的IP群播成員管理的協議, IP主機和與其直接相鄰的群播路由器之間建立,以便維護群播組成員關係。
參與的IP群播的主機可以在任意位置,任意時間,成員總數不受限制地加入或退出群播組。而群播路由器不需要也不可能保存所有主機的成員關係,它只是通過 IGMP的協議了解每個接口連接的網段上是否存在某個群播組的接收者,僅只是群組成員。而主機方只需要保存自己加入了哪些群播組。所以才會有查詢路由器的出現。
IGMP在主機與路由器之間是不對稱的:主機需要響應群播路由器的IGMP的查詢封包,即以IGMP成員報告封包響應;路由器週期性(每隔60秒)發送成 員資格查詢封包(Query packet),然後根據收到的響應封包(report packet)確定某個特定群組在自己所在子網路上是否有主機加入,並且當收到主機的退出組(leave)的報告時,發出特定組的查詢封包(IGMP的版 本2),以確定某個特定組是否已無成員存在。
到目前為止,有三個版本的IGMP:目前應用最多的是版本2。
IGMP V1(RFC1112定義)
IGMP V2(RFC2236定義)
IGMP V3(RFC 3376定義)

二、Internet Group Management Protocol目的:
Internet工作群組管理協議。IGMP主要用來解決網絡上廣播時佔用頻寬的問題。當網絡上的信息要傳輸給所有工作站時,就發出廣播 (broadcast)信息(即IP地址主機標識位全為1),交換機會將廣播信息不經過濾地發給所有工作站;但當這些信息只需傳輸給某一部分工作站時,通 常採用群播(multicast,也稱多點廣播)的方式,此時就要要求交換機支持IGMP。支持IGMP的交換機會識別群播信息並將其轉發至相應的群組, 從而使不需要這些信息的工作站的網絡頻寬不被浪費。IGMP對於提高多媒體傳輸時的網絡性能尤為重要。

三、IGMP V1/2/3簡介:
1. IGMP Version 1原理:
IGMP Version 1 封包類型:
Membership Query: 成員關係查詢(0x11) ,224.0.0.1, 每60秒查詢一次
Membership Report:成員關係報告(0x12)
IGMP Version 1使用Query-Response模型來允許群播路由器和多層次交換器來確定在本網段內哪個群播群組是啟動的。在這個模型中,路由器或交換器充當 IGMP 查詢路由器,每隔60秒週期性地發送IGMP Version 1 Membership Query給224.0.0.1。啟用群播的所有主機監聽該位址並接收Query Packet。主機以IGMP Version 1 Membership Report回覆,表示它要接收特定Group的Multicast Traffic;該網段中的路由器或交換器就可以了解群播群組中有哪些接收者。
也就是說共享網段表示一個網段上有多個群播路由器的情況。在這種情況下,由於此網段上
運行IGMP的的路由器都能從主機那裡收到成員資格報告消息,因此,只需要一個路由器發送成員資格查詢消息,這就需要一個路由器選舉機制來確定一個路由器作為查詢器。在IGMP的版本1中,查詢器的選擇由群播路由協議決定。
主機可以通過發送一個或多個主動的Membership Report封包表明加入(Join)一個群播群組。
如: 某個主機主動發送一個Report封包表明要接收群播群組(224.1.1.1)的流量。
主機通過停止處理群播群組訊務以及不回應IGMP Query的方式來離開群播群組。
IGMP Version1依靠L3的IP Multicast Routing Protocol(PIM、DVMRP等)來解決同一網段中哪個路由器或多層次交換器成為查詢路由器。查詢路由器發送IGMP Version 1的Query來確定哪個群播群組是啟動的。通常Designated Router會被選擇為查詢路由器。
主機群可以加入群播群組,但是IGMP Version 1沒有Leave訊息,路由器或多層次交換器需透過一個逾時機制的運作,讓那些沒有人接收的訊務不再送到不需要的主機成員。

2. IGMP Version 2增進的功能:主要增加了離開機制,特定群組查詢功能,最大響應時間欄位。
IGMP Version 2 封包類型:
Membership Query: 成員關係查詢(0x11)
V1 Membership Report:V1成員關係報告(0x12)
V2 Membership Report:V2成員關係報告(0x16)
Leave Group:離開群組報告(0x17)
離開群組訊息(Leave Group Message)
在IGMP 版本1 中,主機悄然離開群播組,不會給任何群播路由器發出任何通知。
造成群播路由器只能依靠群播組響應超時來確定群播成員的離開。而在版本2 中,
當一個主機決定離開時,如果它是對最近一條成員資格查詢消息作出響應的主機,
那麼它就會發送一條離開群組的消息,提升了離開的效率,加快對網路變化的響應。
特定群組查詢功能介紹(Group Query Message)
在IGMP V1 中,群播路由器的一次查詢,是針對該網段下的所有群播組。這種查詢稱為普遍群組查詢。在IGMP V2 中,在普遍群組查詢之外增加了特定群組的查詢,這種查詢封包的目的IP 地址為該群播組的IP地址,封包中的群組地址部分也為該群播組的IP 地址。這樣就避免了屬於其它群播組成員的主機發送響應封包。
最大響應時間欄位 (Maximum Reponse Time field)
以動態地調整主機對群組查詢封包的響應時間(IGMP V1不可手動調整,默認為10秒),也就是說Query Message中可允許Query router 指定最大的查詢回應時間,控制查詢響應的突發性和微調組成員離開組時的離開延時的過程。例如網路存在大量的Multicast Group,可能需要很長的時間來傳送reply。但是此機制可以發一個未經許可的report告知成員參加該群組,這個機制在沒有其他成員存在的情況時 減低了終端系統加入的延遲。
IGMP V2對查詢器的選擇由群播路由協議決定做了改進,規定同一網段上有多個群播路由器時,具有最小的IP地址的群播路由器被選舉出來充當查詢器。

IGMP V1/V2的缺點:
a.缺乏有效控制群播源的手段。
b.由於不知道群播源的位置,群播路徑的建立較困難。
c.發現一個唯一的群播位址十分困難,可能出現多個的群播組使用同一個群播位址的情況。

3. IGMP Version 3增進的功能:主要增加了過濾來源的機制,允許系統選擇想要接收的特定群播源或者排除不想接收的特定群播源。
使用IGMP V3之後,主機可指定要由特定的來源端接收群播的流量,可以是一部編碼器或是支援群播的視訊伺服器,也可以由指定特定來源以外的所有來源端接收群播流量。
Client可使用 IGMP Version 3 Report訊息,指定要由指定的Source接收群播的Stream,或是由指定Source以外的所有來源接收群播流量。防止啟用群播的路由將群播傳 輸傳遞到沒有Client的子網路。群播路由器用來每隔一段時間輪詢一次網路中的群組成員。路由器可使用 IGMP Version 3 Query,查詢Client是否要由指定的來源清單,接收群播流量。
IGMP Version 3主要改進的功能是可以允許主機指定它們想要在某個Multicast Group中只接收特定的Multicast Source。這個增強功能使得路由資源可以更加有效地被使用。IGMP Version 3新增了可以根據群播來源來過濾群播的功能。
IGMP Version 3不僅可向下相容於之前版本的IGMP通訊協定。為了維持與較舊版本IGMP系統的向下相容性,IGMP Version 3群播路由器必須也同時採用Version 1和Version 2的通訊協定。

名詞解釋:
1.IGMP Router Timeout:
一個IGMPV2的主機可以在子網路中放置在一個尚未升級成IGMP V2的查詢路由器。
要求如下: IGMPv1的路由器將發送的一般查詢封包與最大響應時間設置為0。預設值為100(10秒)。
當IGMP V1 路由器預計響應V1 Report封包,但是卻會忽略V2 Report 封包,所以必須在每個端口保持狀態變量,而由IGMP V1路由器依據設定timeout發出響應查詢,才能決定每個端口跑的類型。最大可設置到400秒。
2.IGMP Snooping:比方說port 3送了一個Join multicast 224.0.0.1的封包到switch,switch就偷偷地學起來等到從port 5收到multicast 224.0.0.1的封包時就知道只要傳給port 3就好了不用傳給別的port,透過IGMP snooping就不需要手動設定了而且也不會送到其他不屬於這個multicast group的port,進而實現群播封包的L2快速轉發。
3.IGMP Host Timeout:
保存主機組成員關係的計時器時間,也就是說設定一個時間來計算多久沒有收到report封包,就將該port從某個multicast group移除。

2014年5月29日 星期四

台灣 LTE WiMax 頻段表

NCC公布的資料:http://goo.gl/DyzdnL
(一) 700 MHz 頻段: Band 28
1、A1:上行703~713MHz;下行758 ~768MHz (上下行各10MHz)
2、A2:上行713~723MHz;下行768 ~778MHz (上下行各10MHz)
3、A3:上行723~733MHz;下行778 ~788MHz (上下行各10MHz)
4、A4:上行733~748MHz;下行788 ~803MHz (上下行各15MHz) (794-803MHz已有現存低功率射頻電機設備(低功率無線麥克風))
(二) 900 MHz 頻段: Band 8
1、B1:上行885~895MHz;下行930 ~940MHz (上下行各10MHz) (2019年1月1日始有頻率使用權)
2、B2:上行895~905MHz;下行940 ~950MHz (上下行各10MHz) (2017年7月1日始有頻率使用權)
3、B3:上行905~915MHz;下行950 ~960MHz (上下行各10MHz) (2017年7月1日始有頻率使用權)
(三) 1800 MHz 頻段: Band 3
1、C1:上行1710~1725MHz;下行1805 ~1820MHz (上下行各15MHz) (2017年7月1日始有頻率使用權)
2、C2:上行1725~1735MHz;下行1820 ~1830MHz (上下行各10MHz) (2017年7月1日始有頻率使用權)
3、C3:上行1735~1745MHz;下行1830 ~1840MHz (上下行各10MHz) (2017年7月1日始有頻率使用權)
4、C4:上行1745~1755MHz;下行1840 ~1850MHz (上下行各10MHz) (2017年7月1日始有頻率使用權)
5、C5:上行1755~1770MHz;下行1850 ~1865MHz (上下行各15MHz) (最快今年年底可使用)
WiMax 頻段
執照A1:大眾電信 北區,2565~2595 MHz 對映到 LTE FDD Band 7 , TDD Band 41
執照A2:遠傳電信 南區,2565~2595 MHz
執照B1:全球一動 北區,2595~2625 MHz 對映到 LTE TDD Band 38, TDD Band 41
執照B2:大同電信 南區,2595~2625 MHz
執照C1:威邁思電信 北區,2660~2690 MHz 對映到 LTE FDD Band 7 , TDD Band 41
執照C2:威達有線電視 南區,2660~2690 MHz
目前似乎還有各家都還有 3G TDD 的頻段未使用可以釋出. 1915~1920Mhz, 1900-1915Mhz(TDD Band 33, 37, 39? ), 2010-2025Mhz(TDD Band 23,34),
Band 3, Band 7 , Band 17, Band 1 都是很熱門的頻段.
Ref.

您現在買的 4G LTE手機將來是否可以支援自己的電信業者嗎?



雖然台灣4G LTE即將於今年下半年開台, 坊間也推出不少宣稱支援4G/LTE功能的智慧型手機,不過國家通訊傳播委員會(NCC)日前發出新聞稿表示,現階段行動寬頻業務(4G/LTE)尚未開台,坊間已有手機業者宣稱其產品支援4G/LTE功能,請民眾購買時查明所支援之頻段是否涵蓋國內行動寬頻業務頻段,以避免消費爭議。
由於各手機業者或手機網站對於支援LTE規格大都猶抱琵琶半遮面,版主花點時間整理台灣目前標榜支援LTE功能的智慧型手機可以支援的行動寬頻業務頻段如下:
 l23  
  Note: 僅供參考, 以業者公告為準.

現在買坊間LTE手機可以支援使用台灣的4G上網嗎? 這必須符合三個條件:手機要能支援台灣的4G頻段; 使用的電信業者必須該頻段的4G服務; 需更新韌體,讓手機知道當地電信商有4G服務. 如果隨便在 國外或台灣買一支號稱4G手機,即使國內4G開台,可能只能當3G手機或鬧鐘使用, 勢必引起消費爭議.
以下針對這三個條件加以詳細說明:
1.手機要能支援台灣的4G頻段:
目前全球的4G主流是LTE(長期演進技術, Long Term Evolution). Evolution代表這個技術正在演進中, 目前世界各國電信業者使用的頻段Band都不一樣. (各國業者採用頻段請看這裡)
lte band 
台灣開放的4G頻段對照為Band 3 (1800mHz)、Band 8 ( 900mHz)、 Band 28 ( 700mHz).  
A.700MHz頻段(Band 28):上行703-748MHz/下行758-803MHz
B.900MHz頻段(Band 8):上行885-915MHz/下行930-960MHz
C.1800MHz頻段(Band 3):上行1710-1770MHz/下行1805-1865MHz

其中, Band 3 (1800mHz)與Band 8 ( 900mHz)屬於國際主流規格, 可以支援的手機較多.  Band 28 ( 700mHz)則是屬於台灣領先全球開放的頻段. 簡單來說,  Band 3及Band 9, 或是未來將在釋出的2600Mhz(Wimax)頻段屬於國際級的高速公路, 未來可以進度飆速的跑車很多.但是台灣領先開放的700Mhz則可視為"鬼島七號國道", 目前只知道HTC,三星,郭董及中興對上鬼島國道七號有興趣, 會儘速推出可以支援的手機. 不過某知名手機業者高層表示:我們確定不上鬼島國道七號,不然車跑不快,會被以為車不好(其實是路有問題). 唉, 未來可 以登上台灣鬼島國道七號的4G手機將是機型少且貴森森.
2.使用的電信業者必須該頻段的4G服務:
因900/1800MHZ多數頻段仍是400多萬的2G用戶在使用, 目前可以開台的頻段只有中華的C5, A1~A4 的四家業者及還剩5Mhz頻寬的台灣之星(B1). 根據目前訊息, 除中華電信最慢可以在七月份以1800mHZ開台外, 遠傳與台灣大哥大都確定初期都將以700MHz開台, 1800mHz頻段是否可以提前換頻或是等106年7月1日才啟用仍在未定之數. 台灣之星(威寶)可望於今年Q3以900mHz開台; 亞太與國碁因計畫以VOLTE開台, 最快明年才有機會營運.
l1 

換言之, 目前購買標榜具備LTE手機, 除了中華電信用戶或部分威寶(台灣之星)今年可望可以直接升級使用4G外, 其餘業者用戶若今年就要使用原業者的4G服務, 都必須換機等Q2 HTC與Samsung推出可以支援鬼島七號頻率的手機, 才有辦法使用.

3.需更新韌體,讓手機知道當地電信商有4G服務:
雖然目前台灣目前已有不少手機可以支援1800Mhz/900mhz LTE服務, 但不代表中華電信或台灣之星4G開台後, 這些手機只要插入4G SIM就馬上可以使用4G服務. 要讓LTE手機可以使用4G服務,必須更新韌體,讓手機知道台灣已經有了4G服務. 不然, 手機仍只會選擇3G或2G 的訊號, 變成啞巴機. 因中華電信是台灣最大電信業者, 只要手機不是由國外直接帶回的,  軟體升級應該沒問題. 台灣之星部分, 版主就不敢打包票 了.

以下目前坊間以上是手機4G頻段可以支援電信業者的對照表.
l24  

聯發科日前宣布將於下半年推出真八核的LTE系統單晶片解決方案 - MT6595。 MT6595 將 Cortex-A17 與 A7s 這兩個四核整合為八核,其中四核 A7s 最高時脈達 1.7GHz,而四核 A17 最高時脈更 可達到 2.2 至 2.5GHz.  不過小編推測這顆處理器支援的4G LTE規格應該只有Band 1,3,7,(8), 38,39,40. 只有確定可以支援中華電信4G, 但台灣之星(Band 8)則不一定.
MT6595 

台灣4G要普及,手機一定要物美價廉選擇多. 是故, 版主呼籲大有為的政府,應該將號稱3年將投入300億加速4G普級的計畫優先邀請台灣優秀廠商共同開發可以適用台灣特殊的700mhz頻段的SoC處理器與手機, 把錢花在刀口上, 才是真正加速台灣4G普及的良方!