Showing posts with label Test. Show all posts
Showing posts with label Test. Show all posts

2011/11/25

Permutation 演算法(不確定)

Perm( list, sub_start, string_length)
  if (sub_start == string_length)
     print out the list
  else
   int i
    i = sub_start until string_length <- present as k
      swap(list[k], list[i]) // shift
      Perm(list, i+1, string_length)
      swap(list[k], list[i]) // recover


參考資料:http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_27308602.html


Lexicographic Permutation


額外資料:http://www.dreamincode.net/code/snippet4206.htm
http://www.freewebs.com/permute/lexico.html

OSI七層 (未完成)


Multicast

要先了解unicast、broadcast、multicast三種傳輸方式的差異。
unitcast 一對一
Ethernet網路架構而言,封包(Packet)在同一個subnet中傳遞時,以收方地址來判別該由那台主機接收。
若在不同的subnet時,就要透過路由器(Router)根據收方地址,把這個packet送往收方主機所在的另一個subnet上。
一對多模式,分為broadcast和multicast 二種
同一subnet上所有主機都會收到broadcast packet
但是broadcast packet會被subnet router擋下來,不會傳送到另一個subnet
否則網路就會被broadcast packet癱瘓了
multicast是一對一個群組(group)的傳輸模式
同一subnet中只有參加multicast group的主機才會收到封包
multicast packet會透會mrouter(multicast router)將封包送到另一個subnet的multicast group。
IP  multicasting:

當一部主機要送multicast packet到某一個group的主機時,他們之間要先選定一個閒置的Class D IP,並避免和其他群組的multicast packet IP相同。
然後這個multicast packet送出時,網路上參與這個group的主機,除了接收屬於自己IP的packet之外,也會接收自這個Class  D IP的packet。
MBone的通訊協訂

UDP:MBone在Transport Layer中採用UDP(User Datagram Protocol)通訊協訂
RTP:除了UDP之外,MBone在Application Layer採用RTP(Real-Time Protocol)來協助達成real-time的要求。
IGMP:IGMP(Internet Group Management  Protocol)在Network Layer是屬於IP通信協訂的一部份,主要是同一subnet中的mrouter和主機溝通群組訊息的通訊協訂。IGMP就是在使用與管理Class D的multicast address。IGMP中使用JoinGroup與LeaveGroup二種訊息來記錄group membership的狀態
參考資料:http://www.ascc.sinica.edu.tw/nl/86/1321/03.txt

CSMA/CD & CSMA/CA 的不同處?

CSMA/CA 為Carrier Sense Multiple Access with Collision Avoidance的簡寫,譯為「載波感測多重存取碰撞避免協定」,為IEEE 802.11標準所定義。

CSMA/CA是無線網路媒體存取的方式,與乙太網路的CSMA/CD協定相似,差別在於乙太網路是利用碰撞偵測的方式,但由於碰撞偵測無線訊號有所困難,因此CSMA/CA改採取避免碰撞(Collision Avoidance)的方式。避免碰撞發生的方法是以偵測工作頻帶中的電磁波能量來發現頻道是否空閒,若發現空閒也不立刻送出資料訊框,而是自行產生一隨機亂數來當作延遲的時間,當在延遲期間偵測到頻道忙碌時,則此隨機時間會被凍結,直到再度確認頻道空閒時再啟動隨機時間,一旦延遲時間一到才將訊框送出,如此一來資料的碰撞機率便大幅降低。