標籤

Linux (2) 中原宿舍 (2) 網路 (2) CISCO (1) android (1) ubuntu (1) vim (1) windows (1) x10 (1) 冷知識 (1) 網路協議 (1) 網路工程 (1)

2010年11月13日 星期六

CISCO 網路協議總結

1、思科網路路由協定網路/路由(Network/Routing
CGMP
:思科組管理協議(CGMPCisco Group Management Protocol
EIGRP
:增強的內部閘道路由選擇協議(EIGRPEnhanced Interior Gateway Routing Protocol
IGRP
:內部閘道路由協議(IGRPInterior Gateway Routing Protocol
HSRP
:熱備份路由器協議(HSRPHot Standby Routing Protocol
RGMP
Cisco Router Port Group Management Protocol
CGMP
:思科組管理協議 CGMPCisco Group Management Protocol 思科組管理協議 CGMP: 要用來限定只向與 IP 組播客戶機相連的埠轉發 IP 組播資料包。這些客戶機自動加入和離開接收 IP 組播流量的組,交換機根據請求動態改變其轉發行為。CGMP 主要提供以下服務: 允許 IP 組播資料包被交換到具有 IP 組播客戶機的那些埠。 將網路帶寬保存在用戶欄位,不致於轉播不必要的IP組播流量。 不需要改變終端主機系統。 在為交換網路中的每個組播組創建獨立 VLAN 時不會產生額外開銷。 一旦 CGMP 被啟動使用,它能自動識別與 CGMP-Capable 路由器連接的埠。CGMP 通過缺省方式被啟動,它支援最大為64IP 組播組註冊。支持 CGMP 的組播路由器週期性地相發送 CGMP 加入資訊(Join Messages),用來通告自己執行網路交換行為。接收交換機保存資訊,並設置一個類似于路由器保持時間(Holdtime)的計時器(Timer)。 交換機每接收一個 CGMP 加入資訊,計時器也隨其不斷更新。當路由器保持時間終止時,交換機負責將所有知道的組播組移出 CGMP
CGMP
結合 IGMP 資訊共同實現動態分配 Cisco Catalyst 交換機埠過程,從而 IP 組播流量只被轉發給與 IP 組播客戶機相連的那些埠。由於 CGMP-Capable IP 組播路由器看到所有 IGMP 資料包,因此它可以通知交換機特定主機什麼時候加入或離開 IP 組播組。當 CGMP-Capable 路由器接收一個 IGMP 控制資料包時,它會創建一個包含請求類型(加入或離開)、組播組位址和主機有效 MAC 位址等的 CGMP 資料包。然後路由器將 CGMP 資料包發送到所有 Catalyst 交換機都知道的位址上。當交換機接收 CGMP 資料包時,交換機負責轉換資料包同時更改組播組的轉發行為。至此,該組播流量只被發送到與適當 IP 組播客戶機相連的那些埠。該過程是自動實現的,無需用戶參與。
EIGRP
Enhanced Interior Gateway Routing Protocol, 增強的內部閘道路由
選擇協議增強的內部閘道路由選擇協議 EIGRP 是增強版的 IGRP 協議。IGRP 是思科提供的一種用於 TCP/IP OSI 英特網服務的內部閘道路由選擇協定。它被視為是一種內部閘道協議,而作為域內路由選擇的一種外部閘道協議,它還沒有得到普遍應用。
Enhanced IGRP
與其他路由選擇協議之間主要區別包括:收斂寬速(Fast Convergence)、支援變長子網掩模(Subnet Mask)、局部更新和多網路層協定。執行 Enhanced IGRP 的路由器存儲了所有其相鄰路由表,以便於它能快速利用各種選擇路徑(Alternate Routes)。如果沒有合適路徑,Enhanced IGRP 查詢其鄰居以獲取所需路徑。直到找到合適路徑,Enhanced IGRP 查詢才會終止,否則一直持續下去。
EIGRP
協議對所有的 EIGRP 路由進行任意遮罩長度的路由聚合,從而減少路由資訊傳輸,節省帶寬。另外 EIGRP 協定可以通過配置,在任意介面的位元邊界路由器上支援路由聚合。
Enhanced IGRP
不作週期性更新。取而代之,當路徑度量標準改變時,Enhanced IGRP 只發送局部更新(Partial Updates)資訊。局部更新資訊的傳輸自動受到限制,從而使得只有那些需要資訊的路由器才會更新。基於以上這兩種性能,因此 Enhanced IGRP 損耗的帶寬比 IGRP 少得多。
IGRP
Interior Gateway Routing Protocol , 內部閘道路由協議
內部閘道路由協議(IGRP)是一種在自治系統(ASautonomous system)中提供路由選擇功能的路由協定。在上世紀80年代中期,最常用的內部路由協是路由資訊協定(RIP)。儘管 RIP 對於實現小型或中型同機種互聯網路的路由選擇是非常有用的,但是隨著網路的不斷發展,其受到的限制也越加明顯。思科路由器的實用性和 IGRP 的強大功能性,使得眾多小型互聯網路組織採用 IGRP 取代了 RIP。早在上世紀90年代,思科就推出了增強的 IGRP,進一步提高了 IGRP 的操作效率。
IGRP
是一種距離向量(Distance Vector)內部閘道協議(IGP)。距離向量路由選擇協定採用數學上的距離標準計算路徑大小,該標準就是距離向量。距離向量路由選擇協定通常與鏈路狀 態路由選擇協定(Link-State Routing Protocols)相對,這主要在於:距離向量路由選擇協議是對互聯網中的所有節點發送本地連接資訊。 為具有更大的靈活性,IGRP 支援多路徑路由選擇服務。在迴圈(Round Robin)方式下,兩條同等帶寬線路能運行單通信流,如果其中一根線路傳輸失敗,系統會自動切換到另一根線路上。多路徑可以是具有不同標準但仍然奏效的 多路徑線路。例如,一條線路比另一條線路優先3倍(即標準低3級),那麼意味著這條路徑可以使用3次。只有符合某特定最佳路徑範圍或在差量範圍之內的路徑 才可以用作多路徑。差量(Variance)是網路管理員可以設定的另一個值。
HSRP
Hot Standby Router Protocol, 熱備份路由器協議
熱備份路由器協定(HSRP)的設計目標是支援特定情況下 IP 流量失敗轉移不會引起混亂、並允許主機使用單路由器,以及即使在實際第一跳路由器使用失敗的情形下仍能維護路由器間的連通性。換句話說,當源主機不能動態 知道第一跳路由器的 IP 位址時,HSRP 協議能夠保護第一跳路由器不出故障。該協議中含有多種路由器,對應一個虛擬路由器。HSRP 協議只支援一個路由器代表虛擬路由器實現資料包轉發過程。終端主機將它們各自的資料包轉發到該虛擬路由器上。 負責轉發資料包的路由器稱之為主動路由器(Active Router)。一旦主動路由器出現故障,HSRP 將啟動備份路由器(Standby Routers)取代主動路由器。HSRP 協議提供了一種決定使用主動路由器還是備份路由器的機制,並指定一個虛擬的 IP 位址作為網路系統的缺省閘道位址。如果主動路由器出現故障,備份路由器(Standby Routers)承接主動路由器的所有任務,並且不會導致主機連通中斷現象。
HSRP
運行在 UDP 上,採用埠號1985。路由器轉發協定資料包的源位址使用的是實際 IP 位址,而並非虛擬位址,正是基於這一點,HSRP 路由器間能相互識別。  
RGMP
Cisco Router Port Group Management Protocol , 思科路由器埠組管理協議
思科路由器埠組管理協議(RGMP)彌補了 Internet 組管理協議(IGMPInternet Group Management Protocol)在 Snooping 技術機制上所存在的不足。RGMP 協議作用于組播路由器和交換機之間。通過 RGMP,可以將交換機中轉發的組播資料包固定在所需要的路由器中。RGMP 的設計目標是應用于具有多種路由器相連的骨幹交換網(Backbone Switched Networks)。
IGMP Snooping
技術的局限性主要體現在:該技術只能將組播流量固定在接收機間經過其他交換機直接或間接相連的交換埠,在 IGMP Snooping 技術下,組播流量不能固定在至少與一台組播路由器相連的埠處,從而引起這些埠的組播流量擴散。IGMP Snooping 是機制固有的局限性。基於此,路由器無法報告流量狀態,所以交換機只能知道主機請求的組播流量類型,而不知道路由器埠接收的流量類型。
RGMP
協定支援將組播流量固定在路由器埠。為高效實現流量固定,要求網路交換機和路由器都必須支持 RGMP 。通過 RGMP,骨幹交換機可以知道每個埠需要的組類型,然後組播路由器將該資訊傳送給交換機。但是路由器只發送 RGMP 資訊,而忽視了所接收的 RGMP 資訊。當組不再需要接收通信流量時,路由器會發送一個 RGMP 離開資訊(Leave Message)。RGMP 協定中網路交換機需要消耗網路埠達到 RGMP 資訊並對其進行處理操作。此外,RGMP 中的交換機不允許將接收到的 RGMP 資訊轉發/擴散到其他網路埠。
RGMP
的設計目標是與支援分配樹 Join/Prune 的組播路由選擇協定相結合使用。其典型協議為 PIM-SMRGMP 協議只規定了 IP v4 組播路由選擇操作,而不包括 IP v6

2
、思科資料連結協議資料連結(Data Link
CDP
:思科發現協議(CDPCisco Discovery Protocol
DTP
:思科動態中繼協定(DTPDynamic Trunk Protocol
ISL & DISL
:思科交換鏈路內協定和動態 ISL 協定(ISLInter-Switch Link Protocol
VTP
:思科VLAN中繼協議(VTPVLAN Trunking Protocol
CDP
Cisco Discovery Protocol , 思科發現協議 CDP
CDP
基本上是用來獲取相鄰設備的協定位址以及發現這些設備的平臺。CDP 也可為路由器的使用提供相關介面資訊。CDP 是一種獨立媒體協議,運行在所有思科本身製造的設備上,包括路由器、網橋、接入伺服器和交換機。
SNMP
中結合使用 CDP 管理資訊基礎 MIB,能使網路管理應用獲知設備類型和相鄰設備的 SNMP 代理位址,並向這些設備發送 SNMP 查詢請求。Cisco 發現協定支援 CISCO-CDP-MIB
CDP
運行在所有的媒體上,從而支援子網訪問協定 SNAP,包括局域網、幀中繼和非同步傳輸模式 ATM 物理媒體。CDP 只運行於資料連結層,因此,支援不同網路層協定的兩個系統彼此相互瞭解。
CDP
配置的每台設備發送週期性資訊,如我們所知的廣告到組播地址。每台設備至少廣告一個位址,在該位址下,它可以接收 SNMP 資訊。廣告包括生存期,或保持時間等資訊,這些資訊指出了在取消之前接收設備應該保持 CDP 資訊的時間長短。此外每台設備還要注意其他設備發出的週期性 CDP 資訊,從中瞭解相鄰設備資訊並決定那些設備的媒體介面什麼時候增長或降低。
CDP
版本2,是目前該協議使用最普遍的版本,它具有更高的智慧設備跟蹤等性能。支援該性能的報告機制,提供快速差錯跟蹤功能,有利於縮短停機時間 (Downtime)。報告差錯資訊可以發送到控制臺或日誌伺服器(Logging Server),這些差錯資訊包括連接埠上不匹配(Unmatching)的本地??VLAN IDsIEEE 802.1Q)以及連接設備間不匹配的埠雙向狀態。
DTP
Cisco Dynamic Trunking Protocol, 思科動態中繼協定
思科動態中繼協定 DTP,是 VLAN 組中思科所有協議,主要用於協商兩台設備間鏈路上的中繼過程以及中繼封裝 802.1Q 類型。 中繼協定有很多不同類型。如果埠被設置為 Trunk 埠,那麼該埠便具有自動中繼功能,在某些情況下,甚至具有協商埠中繼類型的功能。這種與其他設備之間進行的協商中繼方法的過程被稱之為動態中繼技術。 首先關注的是,中繼電纜(Trunk Cable)終端最好對它們正在中繼或它們將中繼幀視為正常幀問題達成一致。在資訊幀頭另外添加標籤資訊容易導致終端站的混亂,這是因為終端站的驅動棧無 法識別該標籤資訊,從而導致終端系統上鎖或失敗。為解決這個問題,思科創建了交換協定以實現通信目的。推出的第一版本是 VTP,即 VLAN 中繼協議,它與 ISL 共同作用。最新推出的版本,即動態中繼協定 DTP 802.1Q 共同作用。 其次是創建 LANs。交換機要想實現獨立配置 VLANs 交換,需要做很多工作並且容易引起較多矛盾,這是因為 VLAN 100 運行在一台交換機上,計費卻在另一臺上。這很容易破壞機器的 VLAN 安全模式,而故障恢復機制正是為此而設立的。此外也可通過 VTP/DTP 解決該問題。同一管理控制臺可以在某台交換機上創建或刪除一個 VTP,並使資訊自動傳播到交換機組上,這種交換機組可能是一個 VTP 域。
ISL & DISL
Cisco Inter-Switch Link Protocol and Dynamic ISL Protocol , 思科交換鏈路內協定和動態 ISL 協定
交換鏈路內協議(ISL),是思科私有協議,主要用於維護交換機和路由器間的通信流量等 VLAN 資訊。
ISL
標籤(Tagging)能與 802.1Q 幹線執行相同任務,只是所採用的幀格式不同。ISL 幹線(Trunks)是 Cisco 私有,即指兩設備間(如交換機)的一條點對點連接線路。在“交換鏈路內協議”名稱中即包含了這層含義。ISL 幀標籤採用一種低延遲(Low-Latency)機制為單個物理路徑上的多 VLANs 流量提供複用技術。ISL 主要用於實現交換機、路由器以及各節點(如伺服器所使用的網路介面卡)之間的連接操作。為支援 ISL 功能特徵,每台連接設備都必須採用 ISL 配置。ISL 所配置的路由器支援 VLAN 內通信服務。非 ISL 配置的設備,則用於接收由 ISL 封裝的乙太幀(Ethernet Frames),通常情況下,非 ISL 配置的設備將這些接收的幀及其大小歸因於協議差錯。 和 802.1Q 一樣,ISL 作用於 OSI 模型第2層。所不同的是,ISL 協定頭和協定尾封裝了整個第2層的乙太幀。正因為此,ISL 被認為是一種能在交換機間傳送第2層任何類型的幀或上層協定的獨立協定。ISL 所封裝的幀可以是權杖環(Token Ring)或快速乙太網(Fast Ethernet),它們在發送端和接收端之間維持不變地實現傳送。ISL 具有以下特徵: 由專用積體電路執行(ASICapplication-specific integrated circuits) 不干涉客戶機站;客戶機不會看到 ISL 協議頭
ISL NICs
為交換機與交換機、路由器與交換機、交換機與伺服器等之間的運行提供高效性能。 動態交換鏈路內協定(DISL),也屬於思科協議。它簡化了兩台相互連接的快速乙太網設備上 ISL 幹線的創建過程。快速乙太通道技術為高性能中樞連接提供了兩個全雙工快速乙太網鏈路是集中性。由於 DISL 中只允許將一個鏈路終端配置為幹線,所以 DISL 實現了最小化 VLAN 幹線。  
VTP
Cisco VLAN Trunking Protocol, 思科VLAN中繼協議
VLAN
中繼協議(VTP)是思科第2層資訊傳送協定,主要控制網路範圍內 VLANs 的添加、刪除和重命名。VTP 減少了交換網路中的管理事務。當用戶要為 VTP 伺服器配置新 VLAN 時,可以通過域內所有交換機分配 VLAN,這樣可以避免到處配置相同的 VLANVTP 是思科私有協定,它支援大多數的 Cisco Catalyst 系列產品。 通過 VTP,其域內的所有交換機都清楚所有的 VLANs 情況,但當 VTP 可以建立多餘流量時情況例外。這時,所有未知的單播(Unicasts)和廣播在整個 VLAN 內進行擴散,使得網路中的所有交換機接收到所有廣播,即使 VLAN 中沒有連接用戶,情況也不例外。而 VTP Pruning 技術正可以消除該多餘流量。 缺省方式下,所有Cisco Catalyst交換機都被配置為 VTP 伺服器。這種情形適用於 VLAN 信息量小且易存儲於任意交換機(NVRAM)上的小型網路。對於大型網路,由於每台交換機都會進行 NVRAM 存儲操作,但該操作對於某些點是多餘的,所以在這些點必須設置一個“判決呼叫”(Judgment Call)。基於此,網路管理員所使用的 VTP 伺服器應該採用配置較好的交換機,其他交換機則作為客戶機使用。此外需要有某些 VTP 伺服器能提供網路所需的一定量的冗餘。 到目前為止,VTP 具有三種版本。其中 VTP v2 VTP v1 區別不大,主要不同在於:VTP v2 支援權杖環 VLANs,而 VTP v1 不支援。通常只有在使用 Token Ring VLANs 時,才會使用到 VTP v2,否則一般情況下並不使用 VTP v2
VTPv3
不能直接處理 VLANs 事務,它只負責管理域(Administrative Domain)內不透明資料庫的分配任務。與前兩版相比,VTP v3 具有以下改進: 支持擴展 VLANs。 支援專用 VLANs 的創建和廣告。 提供伺服器認證性能。 避免“錯誤”資料庫進入 VTP 域。 與 VTP v1 VTP v2 交互作用。 支援每埠(On a Per-Port Basis)配置。 支援傳播VLAN資料庫和其他資料庫類型。

3
、思科網路安全技術協定網路安全技術(Security/VPN
L2F
:第二層轉發協議(Layer 2 Forwarding Protocol
TACACS
:終端訪問控制器訪問控制系統(TACACSTerminal Access Controller Access Control System  
L2F: Level 2 Forwarding protocol , 第二層轉發協議
第二層轉發協定(L2F)是一種用來建立跨越公用結構組織(如網際網路)的安全隧道,為企業家庭通路連接一個 ISP POP 的協議。這個隧道建立了一個用戶與企業客戶網路間的虛擬點對點連接。 第二層轉發協議(L2F)允許鏈路層協議隧道技術。使用這樣的隧道,使得分離原始撥號伺服器位置即撥號協定連接終止的位置與提供的網路訪問的位置成為可 能。
L2F
允許在 L2F 中封裝 PPP/SLIP 包。ISP NAS 與家庭通路都需要請求一種常規封裝協議,所以可以成功地傳輸或接收 SLIP/PPP 包。 相關鏈結 GREPPPL2TPPPTPSLIP 組織來源 L2F Cisco 定義。 相關鏈結http://www.javvin.com/protocol/rfc2341.pdf
Cisco Layer Two Forwarding
Protocol) — “L2F”  TACACS & TACACS+Terminal Access Controller Access Control System , 終端訪問控制器訪問控制系統
終端訪問控制器訪問控制系統(TACACS)通過一個或多個中心伺服器為路由器、網路訪問控制器以及其他網路處理設備提供了訪問控制服務。TACACS 支持獨立的認證(Authentication)、授權(Authorization)和計費(Accounting)功能。
TACACS
允許客戶機擁有自己的用戶名和口令,並發送查詢指令到 TACACS 認證伺服器(又稱之為TACACS Daemon TACACSD)。通常情況下,該伺服器運行在主機程式上。主機返回一個關於接收/拒絕請求的回應,然後根據回應類型,判斷 TIP 是否允許訪問。在上述過程中,判斷處理採取“公開化(Opened Up)”並且對應的演算法和資料取決於 TACACS Daemon 運行的物件。此外 TACACS 擴展協定支援更多類型的認證請求和回應代碼。 當前 TACACS 具有三種版本,其中第三版 TACACS+ 與前兩版不相容。

4
思科其他協議  
SCCP
Skinny Client Control Protocol, 信令連接控制協定信令連接控制協議
SCCP
是用於思科呼叫管理及其 VOIP 電話之間的思科專有協議。其他供應商也支援該協定。 為解決 VOIP 問題,要求 LAN 或者基於 IP PBX 的終點站操作簡單,常見且相對便宜。相對於 H.323 推薦的相當昂貴的系統而言,SCCP 定義了一個簡單且易於使用的結構。通過 SCCPH.323 代理可以與 Skinny 客戶機進行通信。在這樣的情況下,電話充當了 IP 上的 Skinny 客戶機。而代理服務主要用於 H.225 H.245 信令。 關於 SCCP 結構,作為 Cisco 呼叫管理的 H.323 代理伺服器中存在大量的 H.323 處理源。終點站(電話)運行的客戶機,該客戶機只需消耗少量處理開銷,客戶機通過面向連接(基於 TCP/IP)的通信方式實現呼叫管理間的通信過程,從而與另一個適應的 H.323 終點站建立一個呼叫連接。一旦這樣的呼叫連接建立起來,那麼兩個 H.323 終點站就可以通過無連接(基於 UDP/IP)通信方式實現音頻傳輸。這樣,通過限制建立呼叫管理的 H.323 呼叫裝備的複雜性、以及為實際音頻通信出入終點站提供 Skinny 協議來降低整個過程的費用和開銷。
XOT
:基於 TCP 協議的 Cisco X.25XOTX.25 over TCP Protocol by Cisco) 基於 TCP 協議的 Cisco X.25XOT)是由思科開發的一種用於在 IP 英特網上實現 X.25 傳輸的協議。X.25 資料包層通常採用 LAPB,並且要求在其本身下面包含一個可靠的鏈路層。XOT 提供了一種在 IP 英特網上發送 X.25 資料包的方法,即將 X.25 資料包層封裝在 TCP 數據包中。TCP 具有一個可靠位元組流。X.25 中要求其下面的層,特別是資料包間的邊界包含資訊語義。為了達到這個目標,要求 TCP X.25 間的 XOT 協議頭較小(大約4位元組)。XOT 協議頭包含一個長欄位,用以分隔 TCP 流中的 X.25 數據包。標準 X.25 協定資料包格式和狀態轉換規則通常應用於 XOT 中的 X.25 層。應注意例外情形

2010年10月11日 星期一

組合語言 AT&T Syntax 與 Intel/Microsoft Syntax 差別

order(來源與目標暫存器順序不同)
source在前面destination在後面


Intex Syntax                            AT&T Syntax

instr   dest,source                     instr   source,dest
mov     eax,[ecx]                       movl    (%ecx),%eax
 
 
register naming(暫存器命名)
AT&T前面要加個%
Intel Syntax                            AT&T Syntax

mov     eax,1                           movl    $1,%eax
mov     ebx,0ffh                        movl    $0xff,%ebx
int     80h                             int     $0x80
 
 
imme operand(立即定址命名)
AT&T前面要加個$
 
Intel Syntax                            AT&T Syntax

mov     eax,1                           movl    $1,%eax
mov     ebx,0ffh                        movl    $0xff,%ebx
int     80h                             int     $0x80 
 
 
memory reference(間接定址)
AT&T用小括號"()" 
 
Intel Syntax                           AT&T Syntax

mov     eax,[ebx+20h]                  movl    0x20(%ebx),%eax
add     eax,[ebx+ecx*2h]               addl    (%ebx,%ecx,0x2),%eax
lea     eax,[ebx+ecx]                  leal    (%ebx,%ecx),%eax
 
 
opcode naming(指令命名)
必需指定長度,根據系統而不一樣,word有的是32 bits有的是16 bits
b : byte
w : word
l : long

Intel Syntax                            AT&T Syntax

mov     al,bl                           movb    %bl,%al
mov     ax,bx                           movw    %bx,%ax
mov     eax,ebx                         movl    %ebx,%eax
mov     eax, dword ptr [ebx]            movl    (%ebx),%eax
 
type casting(型別轉換)
s  (signed)
z  (zero)
 
bl (from byte to long) 
bw (from byte to word) 
wl (from word to long)
 
movsbl %al, %edx
 
long jump,call與ret
 
Intel Syntax                            AT&T Syntax

jmp far seg:offsetljmp seg, offset

jmp far  INITSEG:GO                     ljmp $INITSEG, $GO
call far INITSEG:GO                     lcall $INITSEG, $GO
ret far  STACK_ADJUS                    lret $STACK_ADJUST 

註:GAS 亦可接受 Intel/Microsoft syntax 組合語言,只要指令後面寫「.intel_syntax noprefix」即可。

轉自 Study-Area

2010年8月10日 星期二

如何讓 Android ( X10 ) 直接掃描鈴聲

Sony Ericsson X10 有一項缺點就是設定鈴聲比較不方便,一般人不知道的話大概會傻傻的放進 Mediascape 然後設定為鈴聲,而且 Mediascape 不能設定鬧鈴和訊息通知鈴聲,設定最方便的方法就是打開SD卡,把要的鈴聲放在 Audio 底下的資料夾:

一般 Media、Audio 和 notifications 都有預設好,其他沒有的要自己設資料夾,Media 和 Audio 有可能是小寫,Audio 底下的資料的功能分別為:

alarms:放鬧鈴音樂。
notifications:放訊息通知音樂(簡訊、E-mail……等等)。
ringtones:放手機鈴聲。

把音樂放進去,卸載 USB 後,鈴聲選單內就有自己的音樂可以選擇了。

2010年7月18日 星期日

C語言control statement的for和while誰比較快?

C語言程式新手最常問的問題就是control statement的for和while誰比較快?

寫以下兩個無限迴圈程式:

main() {
  for(;;);
} // main()



main() {
  while(1);
} // main()

存檔後,兩個程式透過GCC(註1)翻譯成Assembly Language(註2)後的結果都是下面的結果:

    .file    "infinite.c"
    .text
.globl main
    .type    main, @function
main:
    leal    4(%esp), %ecx
    andl    $-16, %esp
    pushl    -4(%ecx)
    pushl    %ebp
    movl    %esp, %ebp
    pushl    %ecx
.L2:
    jmp    .L2
    .size    main, .-main
    .ident    "GCC: (GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4)"
    .section    .note.GNU-stack,"",@progbits

故兩種control statement都一樣快。

註1:不同的compiler轉譯出來的結果可能會不同。

註2:翻譯出來的組合語言是遵守AT&T syntax,跟Intex和Microsoft不太一樣!

2010年7月13日 星期二

宿舍網路問題排除基本步驟

1.先檢查硬體設備是否沒問題
  • 網路線插了但是網路卡燈號沒亮
     → 網路卡或網路線有問題,換別的試試
     → 或者不是拿網路線(8 pin),而是拿錯拿成電話線(6 pin)去接
  • 區域連線是否啟用
     → 如果使用 Windows 7 你可以在控制台 → 網路和網際網路 → 網路和共用中心 → 變更介面卡設定
     → 如果使用 Windows 2000/XP 你可以在「網路上的芳鄰」按右鍵 → 內容
     ,看看區域連線是否有啟用,若沒有請啟用它,如果已經啟用網路卡,而沒顯示連線

     → 壁孔損壞,請至傳達室填維修單

2.telnet下列校內BBS
   電機心站  140.135.12.1
   中原資工神祕之旅  140.135.11.30
   如果不能上
   → 請檢查IP是否設成手動取得,請換成DHCP自動取得;
如果你是用 Windows 2000/XP 你可以在「網路上的芳鄰」按右鍵 → 內容,開啟區域連線 → 內容 → 按兩下Internet Protocol(TCP/IP),請選擇「自動取得IP位址」以及「自動取得 DNS 伺服器位址」

3.連學校首頁 http://www.cycu.edu.tw,如果連不上
   → 請設定DNS
      如果使用 Windows 7 你可以在控制台 → 網路和網際網路 → 網路和共用中心 → 變更介面卡設定 → 區域連線 → 內容 → 按兩下Internet Protocol(TCP/IP)
      如果你是用 Windows 2000/XP 你可以在「網路上的芳鄰」按右鍵 → 內容,開啟區域連線 → 內容 → 按兩下Internet Protocol(TCP/IP)
      ,請選擇「手動取得 DNS 伺服器位址」
      慣用DNS伺服器:140.135.7.1
      其他DNS伺服器:140.135.7.2

4.連其他的BBS或網頁,如果不能上
  • IE 8設定proxy
     開啟IE → 工具 → 網際網路選項 → 連線(標籤) → 區域網路設定 → Proxy伺服器請打勾「在您的區域網路使用 Proxy 伺服器」以及「進端網址不使用 Proxy」
       網址:proxy.cycu.edu.tw      連接埠:3128
       進入「進階」,請打勾「所有通訊協定使用相同的 Proxy」,會留下 HTTP 一欄
       Proxy位址:proxy.cycu.edu.tw       連接埠:3128
      「例外」欄,下面有「含有下列起始文字的位址不使用 Proxy 伺服器」
    請填入 *.cycu.edu.tw;140.135.*

各種瀏覽器設定Proxy方法以後會詳細介紹!
  • 檢查使用IP跟分配IP是否相同
    → 請到 http://ccdna.cycu.edu.tw,檢查你的使用IP是否和系統
    分配的IP相同
      網頁查詢出來的IP Address是系統分配IP
      如果你是使用 Windows 7 請按 開始 → 搜尋列輸入cmd → 點選cmd
      如果你是使用 Windows 2000/XP  請按 開始 → 執行 → cmd
      如果你是使用 Windows 95/98/ME 請按 開始 → 執行 → command
      進入 MS-DOS 模式
      請輸入「ipconfig」,其中的「IP Address」便是你使用中的IP看看是否一樣
  • 檢查MAC是否正確
     →請到 http://ccdna.cycu.edu.tw,檢查你的網路卡 MAC 是否正確,網頁查詢出來會有「已登錄網路卡 MAC」跟「目前連線網路卡 MAC」 請看看是否一樣,如果不一樣請修改, 必須等待10分鐘左右的處理時間,等待table更新,10分鐘後才能連線。
  • 改成手動取得IP
     → 設定成手動取得IP

        Winodws 7:
        控制台 → 網路和網際網路 → 網路和共用中心 → 變更介面卡設定 → 區域連線
        → 內容 → 雙擊Internet Protocol(TCP/IP)

        Windows 2000/XP:
        控制台 → 網路連線 → 區域連線 → 內容 → 雙擊Internet Protocol(TCP/IP)

        請打勾「使用下列IP位址」
        IP位址:系統分配IP (140.135.xxx.xxx)
        子網路遮罩:255.255.255.0(力行)
                    255.255.254.0(恩慈、良善)
        預設閘道:140.135.24.254 (力行一東)
                  140.135.25.254 (力行二東)
                  140.135.26.254 (力行三東)
                  140.135.27.254 (力行四東)
                  140.135.28.254 (力行一西)
                  140.135.29.254 (力行二西)
                  140.135.30.254 (力行三西)
                  140.135.31.254 (力行四西)
                  140.135.151.254(恩慈前棟)
                  140.135.153.254(恩慈後棟)
                  140.135.155.254(良善123樓)
                  140.135.157.254(良善456樓)
                  140.135.159.254(良善789樓)
        慣用DNS伺服器:140.135.7.1
        其他DNS伺服器:140.135.7.2

        系統分配IP請至 http://ccdna.cycu.edu.tw 查詢
  • 是否被阻斷
     → 請至 http://ccdna.cycu.edu.tw/virus_st/index.html
        按 Ctrl+F 輸入自己的系統分配IP查詢是否在清單內   
     → 如果阻斷原因是超過流量上限,則管理系統會自動在08:00刪除

        如果阻斷原因是流量異常,請先看流量異常原因進行調整或解毒

        要清除阻斷,請至 http://ccdna.cycu.edu.tw 自行解除,一天限一次!

以下情況是我們經常遇到的狀況:

開啟不明軟體後,發現到MSN和瀏覽器不能開啟網頁的狀況,防毒軟體也不能更新,請開啟cmd輸入ping + 室友的正常電腦的IP,也嘗試看看從室友的電腦那裡ping回來自己的IP,然後自己的電腦cmd輸入「ping tw.yahoo.com(或者其他網頁地址或IP)」,如果ping出來的結果如圖下顯示的一樣,表示其他網路服務雖然不能使用,但是電腦實際上還是能ping出去(ping只是測試學校網路有沒有問題),代表你的電腦已經徹底中毒,請網管來也沒用,電腦抱回去重灌比較快!