Saturday, December 31, 2005

Layer 3 Switch (第三層交換器)

Layer 3 Switch (第三層交換器)

Layer 3 Switch (第三層交換器)
Layer 3 Switch 又稱為IP Switch 或Switch Router, 意即其工作於第三層網路層的通信協定(如IP),並藉由解析第三層表頭(Header)將封包傳至目的地,有別於傳統的路由器以軟體的方式來執行路由運算與傳送,Layer 3 Switch是以硬體的方式(通常由專屬ASIC構成)來加速路由運算與封包傳送率並結合Layer 2 的彈性設定,因此其效能通常可達每秒數百萬封包(Million packet per second)的傳送率,並具備數十個至上百個以上的高速乙太網路(Fast Ethernet)連接埠,或數個至數十個超高速乙太網路(Gigabit Ethernet)連接埠之容量。

傳統路由器通常可處理Multiprotocal 多重協定路由運算(如IP,IPX AppleTalk,DEC Net...etc)但Layer 3 Switch 通常只處理IP 及IPX,此乃為簡化設計,降低路由運算與軟體的複雜性以提昇效能,並配合網路協定發展的單純化(多重協定慢慢簡化至IP一種協定)趨勢所致。

由於Layer 2 的Switch 並無法有效的阻絕廣播域(Broadcast Domain)如ARP (Address Resolution Protocol)及Win95/98 中大量使用的NetBEUI協定均大量使用廣播封包,因此就算Layer 2 Switch 以VLAN (Virtual LAN)的方式(虛擬網路)將經常要通訊的群組構成一廣播域(Broadcast Domain)來試圖降低broadcast封包對網路層的影響,但仍無法完全避免廣播風暴問題(同一個VLAN間仍會產生廣播風暴),再加上現今網路(尤其是Campus內部間流量及對外的Internet/Intranet流量)已不是80/20規則(80%流量在本地,20%是外地),而是漸漸成為20/80規則,且加上Client/Server 及Distributor Server之運用,因此單靠Layer 2 Switch或傳統Router路由器便無法符合對效能(傳統路由器變成瓶頸)及Intranet上對安全顧忌(Layer 2 Broadcast Domain,對因廣播而使資訊傳送被盜取的安全疑慮)之要求,因此Layer 3 Switch便大量興起,初期只運用Core端(骨幹),現在的趨勢已漸漸走向桌面(Layer 3 down to desktop)。

如同傳統路由器(Router),Layer 3 Switch的每一個連接埠(port)都是一個子網路(Subnet),而一個子網路就單獨是一個Broadcast Domain廣播域,因此每一個port的廣播封包並不會流竄到另一個port,其僅負責傳送要跨越子網路的封包(Routing Forward),並以目的地的IP位址(目的地子網路的網路號碼)來決定封包要轉送至哪一個port,並以Routing Protocol(如RIP或OSPF)來交換Routing Table並學習網路拓蹼,其通常存放於Layer 3 Switch的Routing Forward Data-Base(FDB),並以硬體及Route Cache的方式來加速IP table lookup並予以定址與更新(目前大多以ASICIC來執行),因此才得以提昇運算效能達成Wiring Speed Forward之目的。

Layer 3 Switch通常提供較大頻寬的交換核心(Switch Fabric)以提供較大的容量(Port Capacity)與較高的交換效能,近來各廠家並不斷附以Layer 3 Switch更強大的支援能力,如Class of Service(服務等級優先權),Quality of Service(服務品質保證),Policy Management(策略分級品質與頻寬管制與管理),Multicast Routing(群組廣播路由傳送)等功能,以符合網路環境的快速變化與應用。

----
Layer 3 Switch的每一個連接埠(port)都是一個子網路(Subnet),而一個子網路就單獨是一個Broadcast Domain廣播域,因此每一個port的廣播封包並不會流竄到另一個port,其僅負責傳送要跨越子網路的封包(Routing Forward)。
----

Layer 3與VLAN的觀念容易混淆了............

VLAN是Virtual Local Area Network 的縮寫。簡單的說就是利用一台網路設備、例如Ethernet Switch,以邏輯分割的方式將底下串接之設備,區分成不同群組。所以VLAN是一種 GROUP 的觀念,將其對應到OSI七層,一般的Switch是屬於Layer 2的設備,而支援VLAN之Switch則介於Layer 2及Layer 3 之設備。

提到VLAN,首先我們要了解乙太網路的衝突區域及廣播區域(broadcast domain);共同使用同一CSMA/CD之演算法的機器所組成的區域稱為衝突區域,例如Hub、repeater底下所接的Host都是同一 collision domain ,而Bridge、Switch底下每個port都是獨立的collision domain,但都隸屬於同一廣播區域,只有在Layer 3之設備底下的每埠才是獨立的broadcast domain。
而VLAN則是利用Layer 2的設備將單一廣播區域分成數個廣播區域,也就是它可做到Layer 3的部份功能, VLAN的技術也能說是Grouging的技術。

參考資料

http://www.cisco.com/univercd/cc/td/doc/product/lan/cat5000/rel_5_2/config/vlans.htm#32923
http://www.cisco.com/univercd/cc/td/doc/product/l3sw/4908g_l3/ios_12/7w515d/config/vlan_cfg.htm#1019841

Layer 3的Switch ,說白了是一種混合式的網路設備,其兼具Layer 2 Switch的特色及Layer 3 Router的功能,他可以為Layer 3的設備,而你也可以不使用route mode,讓他成為Layer 2 Switch,所以,請你不要再問(Layer3的Switch的每個Port也是獨立的broadcast domain嗎)這個問題了,我建議你再去研究一下OSI七層網路模型,先釐清Layer 3和Layer 2的區別。

The difference between Layer 2 and Layer 3 switching is the type of information inside the frame that is used to determine the correct output interface. With Layer 2 switching, frames are switched based on MAC address information. With Layer 3 switching, frames are switched based on network-layer information.

強化你的網路障礙排除技巧

強化你的網路障礙排除技巧
將目標放在問題發生的時間點
別忘記在大多數狀況下,系統在不久之前都還是運作順暢的。準確地確認問題產生前的時間或者當時發生的事件,能夠讓你排除與此問題無關的症狀。重新將焦點放在正確症狀上是非常重要的。

用白板
一塊夠大的白板對於障礙排除工作非常有用。你可以先把問題以及症狀寫在白板上,以此作為起點,隨著你一步步縮小你的焦點範圍,你可以將多餘的資訊擦掉或者劃上叉叉記號,讓眼前只留下必要及有用的資訊。白板同時也能夠幫助你將手邊的問題以圖解的方式向你的夥伴們說明。

在不久之前,有一次我正在白板上寫下我們的系統無法 ping 到公司網路外部的機器的問題。在看完我寫下的註解之後,一位同事便告訴我我們的總辦公室其中一部 DNS 伺服器有時候會斷斷續續出現問題。在白板上解決問題讓同事間變得容易溝通,並且確保所有人都能夠了解問題所在。在這個例子裡面,一旦問題被正確地定義出來,整個障礙排除的工作也就隨之劃下句點。

永遠優先檢查硬體設備
在開始研究一項問題的時候,第一個步驟便是對症狀進行仔細觀察,以決定這個問題主要是發生在硬體或者軟體上面。我們經常由於下面這些原因而忽略了優先檢查硬體設備這項基本原則:

那看起來似乎太容易了。
硬體設備經常隱藏在我們不想去碰的地方。
坐在電腦前面動動滑鼠或者敲敲鍵盤輸入指令,這要比捲起衣袖蹲在地上或者爬到高處與機器設備搏鬥來的輕鬆容易多了。
硬體設備問題可能牽扯到較高的花費並且需要更多時間才能解決,因此你可能會將它視為一項最後手段來看待。
雖然如此,既然硬體設備是最容易排除的問題來源並且應該優先進行檢查,網路障礙排除工作應該從下面這些步驟開始:

檢查纜線以及它們與各硬體設備的連接點。
執行硬體診斷測試,看看是否能夠找出任何硬體損壞之處。
在可能的狀況下,試著重新啟動伺服器、路由器或者硬體設備。從鍵盤鎖死一直到網路路由異常,這項做法能夠解決無數的問題。
試著在另一部機器或者一個測試網路上面重現這個問題。


軟體障礙排除

如果所有的硬體設備看起來都正常,那麼便到了該研究軟體問題的時候了。當我們討論到網路系統的時候,軟體方面的問題通常可以將範圍縮小到三種類型。以下讓我們一一進行探討。

電腦本身的問題
如果某個網路應用程式鎖死不動或者無法正常運作,那麼你必須確認問題究竟是由哪些工作所引發的。如果你最近才將這項應用程式進行版本升級(或者將它安裝到升級過後的作業系統上),那麼你可能必須瀏覽應用程式廠商網站,去找找該廠商是否有提供修補程式。

如果一位使用者在瀏覽器,應用程式或者網路連線方面遇到問題,你可以嚐試在另一位使用者或者電腦上面重現這個問題,這可以幫助縮小問題範圍。這項做法對於桌上型電腦或者伺服器的網路問題排除都同樣有效。

你也必須格外注意系統設定錯誤所造成的問題。舉例來說,Windows 2000 內建一套非常強大的本地端安全原則與群組原則機制,如果一位初學者弄不清楚而設定錯誤,這項功能反而會變成 IT 技術支援人員的夢魘。此外確認問題是出在使用者或者電腦身上也是非常重要的一點。

如果系統中存在一個 Windows NT4 或者 Windows 2000 網域,那麼在排除使用者登入問題的時候,檢查網域控制器(domain controller)的登入問題便是一個關鍵性步驟。Windows 事件檢視器(Windows Event Viewer)是一項用來找出錯誤訊息真正涵義非常好用的工具。如果你取得了一個事件識別碼(Event ID number),那麼你可以瀏覽微軟公司的知識庫(Microsoft Knowledge Base),將事件識別碼輸入到搜尋引擎裡面便可找到與該問題相關的症狀,原因以及解決方式。這是一項非常傑出的問題解決工具,能夠讓網路管理人員大幅提昇工作效率。我個人每個月至少使用一次微軟知識庫。如果你是在其他作業系統上面工作,那麼你應該手動或者使用該平台適用的紀錄檔案檢視程式來檢查系統紀錄檔案。

區域網路問題
如果網路連線出現問題,那麼在 Windows 作業系統電腦上面你首先應該嘗試的步驟是執行 IPConfig/all 指令(如果在 Linux 平台上面則應該使用 IFConfig 指令)。如果你的機器的 IP 位址、子網路遮罩以及網路閘道等設定都是正確的,那麼接下來就使用 ping 指令。首先 ping localhost 或者 127.0.0.1(在命令提示下輸入指令)。接下來 ping 出現問題那部電腦的 IP 位址,以確認你的網路卡能夠正常運作。

如果這些 ping 指令執行的結果全都無法連線成功,那麼在確定你的 TCP/IP 設定能夠配合你的網路卡,以及你的網路卡確實能夠正常運作之前,你不需要繼續進一步嘗試使用 ping 指令。

但是如果這兩次 ping 指令能夠正常取得網路連線,那麼你應該繼續 ping 你的預設網路閘道(default gateway)並且確定能夠正常連線。如果連線正常,那麼繼續 ping 網路閘道以外的電腦(某部位於你的廣域網路或者網際網路上面的電腦)。如果這也沒問題,那麼繼續仔細檢查網路連線,嘗試 ping 某部網際網路伺服器的完整網域名稱(Fully Qualified Domain Name, FQDN),例如 yahoo.com,以確認 DNS 伺服器能夠正常運作。

如果以上所有 ping 指令執行結果都能夠正常連線,但是電腦卻還是無法正常連上網際網路或者你的廣域網路,這時候便應該檢查軟體設定了。

廣域網路問題
有時候你會遇到無法在本地端進行掌控的問題,例如網路專線以及廣域網路連線異常,或者其他地方的辦公室由於當地的路由器故障而無法連上網路。如果你無法找出任何硬體或者軟體設定上的錯誤,而且你認為問題可能出在廣域網路上面,那麼你可能必須撥電話給你的電信服務公司(如果是網際網路連線問題)或者遠端辦公室所在的相對應單位(如果問題出在遠端辦公室的廣域網路連線上)。

最後結論
以下再提供一些建議:

將問題的規模與範圍縮小到易於處理的程度。
和部門同事分享你的點子與思考流程。
試著不要在員工或者客戶面前進行障礙排除程序。在可能的狀況下,建議你走進一間辦公室,關上房門,打開電話答錄機或者語音信箱。觀眾可能會打擾你的工作,在沒有觀眾的狀況下進行障礙排除能夠讓你更容易集中精神處理問題。
請求協助!不論你使用網際網路或者打電話給其他技術人員,你都可能找到某位曾經遇過相同問題的人。這可能是個向他人請益的完美時機。
偶而放下手邊的問題並且試著釐清腦海中的所有資訊。這能夠幫助你重新審視一些基本問題,並且探究是否有其他你一開始遺漏了的解決方案。

網路七層協定(OSI)

OSI Open System Interconnection 開放式連結系統

實體層Physical Layer
實體層負責信號的傳遞,由於信號的本身是一種物理特性,經過量化以後用來代表資料,所以信號本身有其涵義,而信號的傳遞,實際上就是一連串資料位元的傳遞。

在數學上的信號是一個時間為定義域的函數,其大小隨著時間的改變而改變。若根據函數的連續性來區分,信號可以分別為類比信號和數位信號兩種。類比信號為連續函數,數位信號則為不連續函數,也就是離散函數。

傳輸媒體指的傳遞信號的介質,各種媒體都有其優點和適用時機。直接攜帶磁帶或磁碟來傳輸資料,雖然有其實用性,但卻缺乏即時的反應能力。雙絞線,同軸電纜,和光纖這一系列的實體線路雖然具備即時的處理能力,但佈線時卻又容易受地形的限制。至於無線傳輸則是以空氣作為傳輸的介質,雖然可以省掉佈線的困擾,但是卻容易受天候影響。通信衛星必須發射進入同步軌道,其涵蓋範圍最廣,大約是地球表面的四分之一,地面上的站台則以天線來配合發送和接收等動作。

不同種類的信號其傳輸方式也不同,類比傳輸使用調變技術來將資料的意義融入信號中,數位傳輸則以編碼的方式來付予信號相當的意義。類比信號行經放大器的時候,除了將信號放大以外,也將挾雜其間的雜訊放大了,所以每次次放大都會累積一些雜訊,次數多了以後容易導致錯誤。數位傳輸則沒有這種困擾,有於數位信號的準位非常分明(不是0就是1),很容易區分,所以當數位信號行經接器的時候,不但可以將信號恢復到原來的準位,而且還可以過濾掉雜訊,所以數位傳輸的錯誤率總是些類比傳輸低。

多工技術是為了避免頻寬的浪費,當資料行經某些高速段落的時候,可以將多個低速的信號合併成一個高速信號來可以傳輸,之後再將這個高速信號還原成原來個別的低速信號。現在的多工技術有分時多工和頻多工兩種,分時多工是以輪流分配使用時段的方式來達到多工的目的,分類多工則是以劃分頻寬的方式來達到多工的目的。

交換的技術被用於電腦網路的線路轉接,最常用的交換技術有電路交換,分封交換,和信息交換三種。電路交換在傳送之前先建立一條專用的路徑,所有封包的傳遞都使用這條路徑。分封交換採用先儲存再轉送的方法,逐步將封包送往目的地,在傳送之前不預設任何路徑,所以各個封包所走的路徑未必相同。信息交換也是採用先儲存再轉送的方法,逐步將資料送到目的地。但因傳送的時候以整份訊息為單位,所以整份信息都行經同一路徑。

資料鏈結層 Data Link Layer
資料鏈結層的主要功能在相鄰的主機之間建立一條既可靠又有效率的連線。因為實體層的功能只是單純的信號傳遞,沒有任何資料框的概念。所以到了資料鏈結層以後,必需這些位元資料分段加框,形成資料單元,並配合流量和錯誤的管制措施,以確保傳輸的正確性。

除了人為因素外,雜訊的干擾是造成傳輸錯誤的主要原因。雜訊可分為四種,分別為熱雜訊、互相調變雜訊、串音雜訊和脈衝雜訊。

資料鏈結層有三種運作模式,分別為"無需認可的非連接導向模式"、"需認可的非連接導向模式"和"連接導向模式"。

由於實體層在資料的傳遞上並沒有框的概念,所以接收端所收到的資料並未必就是正確的,可能比原來的資料多、或少、或甚至收不到資料。資料加框的目的便是為了偵測出這些錯誤情況,並加以更正。

錯誤的管制包括錯誤偵測和回覆兩個步驟,一般是先找出錯誤的所在,再加以更正。

網路層Network Layer
從發送端主機送出資料開始,網路層就開始引導這些資料穿越各個中間網路,最後到達接收端主機,所以網路層負責的是收、送兩端點主之間整條路徑的通信行為,主要功能包括命名、定址、路徑選擇和擁塞管制。
命名的理由是為了應用上的方便,我們常會為網路上的各個主機取一個有意義的名字,以方便記憶,必要時還可以讓一個主機同時擁有幾個別名,以應付更複雜的應用環境。定址的功能則是為了確定各個主機的正確位置,在實際傳輸時候,只知道收、送兩端主機的名稱是不夠的,一定要知道該主機的確切位址,才能正確資料的流向,通常主機名稱和位址之間是以對照表的方式來相互查詢。

路徑選擇是在各個資料封包的流向掌舵,負責引導資料封包穿越各個中間網路,最後到達目的。常用的路徑選擇法有洪流法,伸展樹路徑先折法,靜態路徑選擇法,貝爾曼福特法,焊階層是路徑選擇法。

擁塞管制主要是在疏通流量,並且引導封包避開擁塞的路徑,以避免資料迴堵,確保傳輸的效率。死結是擁塞的一個特例,通常是由於互動的雙方都在等候對方做出回應,才能繼續進行未完的工作,所以造成了死結。如何避免死結,也是網路層的工作之一。

傳輸層Transport Layer
當網路層把各個封包導引到接收端主以後,須要傳輸層來將各個封包重組回來的信息。所以傳輸層的通信行為與網路層類似,也是負責在收、送兩個端點主機之間傳輸資料,只是傳輸層的通信協定資料單元(TPDU)是整份訊息而不是分段處理以後的各個封包。
傳輸層的主要功能有分段處理、重新編號、流量管制和多工處理。分段處理指將傳輸層的通信協定資料單元分割成網路層通信協定資料單元,也就將一份訊息分封成各個封包。重新編號指的是將屬於同一份訊息的各個封包重新加上依序列的編號,以便接收端能重組回來的信息。流量管制則是在協調收、送的速度,以避免發送速度太快,導致接收端來不及接收的問題。多工處理是指傳輸層連線的多工情形,當一網路層連線的速度夠快,且足提供多個傳輸層連線使用的時候,可以經由多工處理這些傳輸層連線導入一個網路層連線。

傳輸層的運作模式,可以為連接導向和非連接導向兩種運作模式。非連接導向傳輸的特徵是在傳送資料之前不需要建立連線。當傳輸層要通過網路層送出封包的時候,先由發送端的傳輸層提出傳送〞資料單元的要求(N-UNITDADT.request)〞,網路層便針對該項要求執行相關的服務,並將此一要求〞通知(指示) (N-UNITDATA.indication)〞接收端的傳輸層。接收端的傳輸層收到〞指示(N-UNITDATA.indication)〞以後,則依實際狀況做出相對的〞回應(N-UNITDATA.response)〞,再由網路層根據該回應執行相關的服務,並向發送端的傳輸層〞確認(N-UNITDATA.confirm)〞該〞要求〞的執行結果。

連接導向在傳送資料之前必須要建立連線。之後所有資料的傳輸都是經由這一條連線,完成所有資料的傳輸以後,再將連線釋放出來。其連線的建立是使用網路層的〞連線(N-CONNECT)〞服務來完成;之後的封包傳送是使用網路層的〞資料(N-DATA)〞服務來完成;當收、送的步調錯亂時,則以網路層的〞重置(N-RESET)〞服務來重置該連線,讓收、送步調重新取得同步;完成所有資料的傳輸以後,再以網路層的〞斷線(N-DISCONNECT)〞服務來釋出該連線。

交談層Session Layer
當傳輸層各個訊息導引到接收端主機以後,交談層繼續將各個訊息組合起來變端點主機之間的對話(Dialog)。所以交談層也是負責在收、送兩端主機之間傳輸資料,指示所使用的通信協定資料單元(PDU)更大而已,交談層的通信協定資料單元(SPDU)是一個對話的內容,其主要功能有建立交談、交換資料、釋放交談、對話管理和錯誤回覆五種。
交談層的運作模式也和傳輸層一樣有非連接導向和連接導向之分。非連接導向交談直接使用〞資料(T-DATA)〞服務來交換資料,而連接導向交談則先使用〞連線(T-CONNECT)〞服務來建立交談,然後再以〞資料(T-DATA)〞服務來交換資料,最後則以〞釋放(T-RELEASE)〞服務或〞離線(T-ABORT)〞服務來釋放連線。

交談層釋放交談的方法有兩種,分別為唐突釋放和循序釋放,唐突釋放使用〞釋放(T-RELEASE)〞服務來釋放連線,而循序釋放則使用〞離線(T-ABORT)〞服務來釋放連線,唐突釋放會導致正在傳輸中的資料流失,循序釋放則不會。

交談層的對話管理是使用資料信物(Data Token)來管制發言的時機,並規定只有持有信物(Token)的一方可以發言(發送資料),另一方只能傾聽(接收資料),如果傳輸有錯誤,則將整個對話的內容重送。

表示層Presentation Layer
當交談層把各個對話導引到端點主機以後,表示層負責將各個對話的語法轉成應用程式所使用的語法(Syntax)。所以表示層也是負責收、送兩個端點主機之間傳輸資料,其通信協定資料單元(PPDU)也是一個對話的內容,但語法上已經轉成應用程式所使用的語法。
表示層的主要功能有資料保密、資料壓縮和語法轉換三種,其運作模式也有非連接導向和連接導向之分。非連接導向的運作模式在傳送資料之前不需要建立交談,只是使的〞資料(S-DATA)服務,來完成資料的傳遞。連接導向交談模式在傳送資料之前要先建立連線,然後所有的對話都經由這個連線來進行,直到完成所有對話以後,再將連線釋放出來。

資料保密是為了網路的安全,其過程可分為加密和解密兩部分。當發送端送出資料的時候,為資料的安全起見,先將資料經過加密處理,變成保密資料來後再送出去,到達接收端以後,再經過解密處理可以得到原來傳送的資料。

加密和解密是一套成對的編碼和解碼規則,加密實際上就是一種編碼過程,而解密實際上也就是一種過程,編碼的反向功能就是解碼。字母與編碼和更換位置編碼是兩種比較簡單的加密/解密方法。

資料壓縮是為了減少傳輸的資料量,壓縮的時候以不失真為原則,壓縮後的文字資料經過解壓縮以後要能完全的還原回來,而壓縮後的影像或語言資料,經過解壓縮以後其影像或語音的品質也要符合一定的品質。

不同的應用程式常使用不同的語法,為了要讓兩端的應用程式順利的通信雙方必須先就傳輸過程中所使用的語法取得共識,所以發送端在送出資料之前其表示層必須將資料從發送端的語法較換成傳輸過程語法,到達接收端以後,再由接收端的表示層轉換成接收端的語法。

針對語法的轉換,ISO有一套建議稱為〝抽象語法表示法-(Abstract Syntax Notation one,簡稱為ASN,1)〞。在實用上ASN.1可以好像一般的高階語言一樣,用來定義各式各樣的資料結構。

應用層Application Layer
應用層主要功能是提供一些使用方便的通信協定,應用程式進入OSI的通信環境。
應用程式經由SASE進入應用層以後,繼續由CASE負責提供一些基本的傳輸服務給SASE使用。CASE本身是由幾基本元素所主成,其中ACSE可以用來建立應用層連線,ROSE可以用來交換資料,而CCR則可以用來控制程式的執行。

網路線通自我測試

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name


此分析公用程式,會根據傳送具有不同 Time-To-Live (TTL) 值的 ICMP 回應封包到目的地的方式,決定到目的地的路由。路徑中的每一路由器在轉送該封包之前,必須將封包上的 TTL 值至少減去 1,如此 TTL 成為有效的跳躍區段數目。當封包上的 TTL 值變為 0 時,路由器會傳回一個 ICMP Time Exceeded 訊息至來源系統上。tracert 決定路由的方法,乃是根據傳送第一個 TTL 值為 1 的回應封包,其後每經過一次傳送動作,TTL 值加 1,直到目的回應或 TTL 值,到達最大值為止的方式。決定路由的方法,是根據檢查中途路徑器送回的 ICMP Time Exceeded 訊息的方式。請注意,某些路由器會在 tracert 無法查覺的情況下,自動刪除過時的 TTL 封包。

參數

-d
指定不要將位址解析為電腦名稱。
-h maximum_hops
指定搜尋目的可經過的最大數目跳躍區段。
-j computer-list
依據 computer-list 來指定寬鬆來源路由。
-w timeout
根據每個回應的 timeout 所指定的微秒數,來進行等候時間。
target_name
目標電腦的名稱。

瞭解 IP 路由表

所有執行任何版本 Windows 以及所附 TCP/IP 通訊協定的電腦,一律採用 IP 路由表。IP 路由表專門儲存目的地以及連接它們之方式的資訊。下面我們將列出一系列以節點設定為根據的預設項目。您可以利用 TCP/IP 公用程式來新增項目,也可以透過與路由器的互動動態地新增項目。

在轉送 IP 封包時,可以使用 IP 路由表來判定下列各項:

下個躍點的 IP 位址
如果採直接傳遞 (目的地是相鄰的節點),則下個躍點的 IP 位址是封包中的目的地位址。如果採間接傳遞 (目的地不是相鄰的節點),那麼下個躍點的位址則是路由器位址。

下個躍點的介面
下個躍點的介面代表轉送封包用的實體介面 (例如,網路介面卡) 或邏輯介面 (例如,通道介面)。

只要下個躍點的位址和介面決定之後,封包就會傳送到「位址解析通訊協定」(ARP,Address Resolution Protocol)。如果是採用像乙太網路和 Token Ring 等 LAN 技術,ARP 會嘗試解析下個躍點位址的連結層位址 (又稱為媒體存取控制 [MAC] 位址),然後用下個躍點的介面來轉送封包。

IP 路由表的內容
下面是一般 IP 路由表項目的欄位:

目的地
目的地可以是 IP 位址,也可以是以類別為根據、具有子網路或具有超級網路的網路 ID。在 Windows 2000 IP 路由表當中,本欄稱為 [網路目的地]。

網路遮罩
位元遮罩的用途,是比對目的地 IP 位址,在 [目的地] 欄位中找出相符的值。在 Windows 2000 IP 路由表當中,本欄稱為 [網路遮罩]。

下個躍點
封包要轉送至的 IP 位址。在 Windows 2000 IP 路由表當中,本欄稱為 [閘道]。

介面
轉送 IP 封包所用的網路介面。

公制
代表路由成本的數值,讓使用者得以從眾多通往同一個目的地的路由當中,選出最好的路由。公制最常見的用途,是指出通往目的地之路由中的躍點數 (所要橫跨的連結或路由器數目)。

路由表項目可用來儲存下列幾種類型的路由:

直接連接的網路路由
節點直接連接之子網路的路由。這類路由的 [下個躍點] 欄位可以留空,也可以包含該子網路介面的 IP 位址。

遠端網路路由
跨越各路由器、不直接連接節點之子網路的路由。遠端網路路由的 [下個躍點] 欄位值,是本機路由器的 IP 位址。

主機路由
通往特定 IP 位址的路由。主機路由可以讓每一個 IP 位址產生路由。主機路由的網路 ID 是特定的 IP 位址,網路遮罩是 255.255.255.255。

預設路由
預設路由是在找不到特定的網路或主機路由時,所採用的路由。預設路由目的地是 0.0.0.0,其網路遮罩是 0.0.0.0。預設路由的下個躍點位址,通常是該節點的預設閘道。

路由判定程序
IP 是利用下述程序,判定要用哪一個路由表項目進行轉送:

路由表中的每一個項目,都要在目的地 IP 位址和 [網路遮罩] 欄位之間,執行位元邏輯 AND 作業。其結果將與該項目的 [目的地] 欄位比較,找出相符的部份。
IP 在路由的目的地 IP 位址和網路遮罩之間執行位元邏輯 AND 的方法,是將目的地 IP 位址當中的每一個位元,與子網路遮罩當中對應的位元逐一比較。如果兩邊的位元都是 1,則結果位元為 1;否則結果為 0。位元邏輯 AND 作業的結果,將根據子網路遮罩定義的方式而定,如下所示:

子網路遮罩中每一個設為 1 的位元,它在結果當中的對應位元是從目的地 IP 位址複製過來。
而子網路遮罩中每一個設為 0 的位元,它在結果當中的對應位元則設為 0。
判定 IP 位址設定的 IP 網路 ID,就是執行位元邏輯 AND 的一個好例子。如果要判定 IP 網路 ID,在指派的 IP 位址及其子網路遮罩之間,執行位元邏輯 AND 作業。得出的結果就是 IP 網路 ID。

比方說,在 IP 位址 192.168.98.112 和子網路遮罩 255.255.255.0 之間,執行位元邏輯 AND 作業的結果如下:

前 24 個位元相當於子網路遮罩的 "255.255.255" 部份,它是從目的地 IP 位址的對應位元複製而來,因此前三個八位元資料組是 192.168.98。
而最後八位元資料組相當於子網路遮罩的 "0" 部份,它的對應位元設為 0,因此最後一個八位元資料組是 0。
因此,192.168.98.112 AND 255.255.255.0 的結果是 192.168.98.0。

編譯相符路由的清單。然後從中選出相符率最高的路由 (亦即,在子網路遮罩中,有最多位元被設為 1 的路由)。相符率最高的路由,是目的地 IP 位址最專屬的路由。如果有好幾個相符率最高的路由出現 (例如,通往同一個網路 ID 的路由),則路由器會使用最低公制來選擇最佳路由。如果有好幾個最高相符率的路由都具備最低公制,則節點便採隨機方式選取路由表項目來使用。
路由判定程序的結果,是從路由表中選擇一個路由。如果無法選出路由,IP 便會告訴您發生路由錯誤。如果是傳送主機,會指出錯誤是發生於內部對高層通訊協定 (如 TCP 或 UDP) 的 IP 路由錯誤。如果是路由器,則會傳送「ICMP Destination Unreachable-Host Unreachable」訊息給傳送主機,並且捨棄封包。

下個躍點的位址和介面的判定程序
在路由表中判定用來轉送封包的單一路由之後,接下來就是以下述程序,判斷下個躍點的位址和介面:

如果 [下個躍點] 欄位中的位址是空白,或者與指派給轉送節點之介面的位址一樣,則:
下個躍點的位址是 IP 封包的目的地 IP 位址。

下個躍點的介面,則是設定為 [介面] 欄位所指定的介面。

如果 [下個躍點] 欄位中的位址不是指派給轉送節點介面的位址,則:
下個躍點的位址,是設定為該路由 [下個躍點] 欄位中的位址。

下個躍點的介面,則是設定為 [介面] 欄位所指定的介面。

Windows 2000 的 IP 路由表範例
下表將列出 Windows 2000 主機 (也就是說,不是路由器) 的預設路由表。該主機擁有一個網路介面卡,其 IP 位址為 157.60.136.41,子網路遮罩為 255.255.252.0 (/22),而預設閘道為 157.60.136.1。如果要在執行 Windows 2000 的電腦上檢視 IP 路由表,請在命令提示字元下,輸入 route print 或 netstat -r。

===========================================================================
介面清單
0x1 ...........................MS TCP 回送介面
0x1000003 ...00 b0 d0 e9 41 43 ......3Com EtherLink PCI
===========================================================================
===========================================================================
現用路由:
網路目的地    網路遮罩     閘道       介面    公制
 0.0.0.0     0.0.0.0    157.60.136.1   15.60.136.41  1
127.0.0.0    255.0.0.0     127.0.0.1    127.0.0.1   1
157.60.136.0  255.255.252.0   157.60.136.41  157.60.136.41  1
157.60.136.41 255.255.255.255   127.0.0.1    127.0.0.1   1
157.60.255.255 255.255.255.255  157.60.136.41  157.60.136.41  1
224.0.0.0    224.0.0.0    157.60.136.41  157.60.136.41  1
255.255.255.255 255.255.255.255  157.60.136.41  157.60.136.41  1
預設閘道: 157.60.136.1
===========================================================================
持續性路由:



請注意,此處列了兩個介面。其中一個介面對應至安裝的網路介面卡 (3Com EtherLink PCI),另一個介面則是內部回送介面 (MS TCP 回送介面)。

Windows 2000 IP 路由表是利用 IP 位址來識別該路由 [介面] 欄位中的介面。因此,您可以採用下面這個程序來判定下個躍點的位址和介面:

如果 [閘道] 欄位中的位址,即是指派給轉送節點介面的位址,則:
下個躍點的位址,是設定為 IP 封包的目的地 IP 位址。

下個躍點的介面,則是設定為 [介面] 欄位中之位址所指派到的介面。

如果 [閘道] 欄位中的位址不是指派給轉送節點之介面的位址,則:
下個躍點的位址,是 [閘道] 欄位中的位址。

下個躍點的介面,則是設定為 [介面] 欄位中之位址所指派到的介面。

這個 Windows 2000 IP 路由表包含下列項目:

第一個項目 – 網路目的地為 0.0.0.0,網路遮罩 (netmask) 為 0.0.0.0 (/0) – 是預設路由。任何一個與 0.0.0.0 進行位元邏輯 AND 作業的目的地 IP 位址,其結果皆為 0.0.0.0。因此,預設路由與任何一個 IP 位址都相符。如果預設路由是相符率最高的路由,那麼下個躍點的位址是 157.60.136.1,而下個躍點的介面,則是被指派 IP 位址 157.60.136.41 的網路介面卡。
第二個項目 – 網路目的地為 127.0.0.0,子網路遮罩為 255.0.0.0 (/8) – 是回送網路路由。只要是傳送到格式為 127.x.y.z 位址的所有封包,下個躍點的位址就會設定為 127.0.0.1 (回送位址),而下個躍點的介面則是被指派位址 127.0.0.1 的介面 (回送介面)。
第三個項目 - 網路目的地為 157.60.136.0,網路遮罩為 255.255.252.0 (/22) – 是一個直接連接的網路路由。如果這個路由是相符率最高的路由,則下個躍點的位址就設定為封包中的目的地位址,而下個躍點的介面,則是設定為被指派 IP 位址 157.60.136.41 的網路介面卡。
第四個項目 -- 網路目的地為 157.60.136.41,網路遮罩為 255.255.255.255 (/32) – 是主機 IP 位址的主機路由。所有傳送到 157.60.136.41 的 IP 封包,其下個躍點的位址都設定為 127.0.0.1,而下個躍點的介面則是回送介面。
第五個項目 -- 網路目的地為 157.60.255.255,網路遮罩為 255.255.255.255 (/32) – 是一個主機路由,對應到類別 B 網路 ID 157.60.0.0/16 的全子網路導向的廣播位址。所有傳送到 157.60.255.255 的 IP 封包,其下個躍點的位址是設定為 157.60.255.255,而下個躍點的介面則是設定為被指派 IP 位址 157.60.136.41 的網路介面卡。
第六個項目 – 網路目的地為 224.0.0.0,網路遮罩為 224.0.0.0 (/3) – 是由此主機所傳送之多點傳送流量的路由。所有的多點傳送封包,其下個躍點的位址是設定為目的地位址,而下個躍點的介面,則是設定為被指派 IP 位址 157.60.136.41 的網路介面卡。
第七個項目 – 網路目的地為 255.255.255.255,網路遮罩為 255.255.255.255 (/32) – 是對應到有限廣播位址的主機路由。所有傳送到 255.255.255.255 的 IP 封包,其下個躍點的位址是設定為 255.255.255.255,而下個躍點的介面,則是設定為被指派 IP 位址 157.60.136.41 的網路介面卡。
下例將告訴您,如何使用這個路由表來判定好幾個不同目的地的下個躍點 IP 位址和介面:

單點傳送目的地 157.60.136.48
相符率最高的路由,是直接連接之網路 (157.60.136.0/22) 的路由。下個躍點的 IP 位址是設定為目的地 IP 位址 (157.60.136.48),而下個躍點的介面,則是設定為被指派 IP 位址 157.60.136.41 的網路介面卡。

單點傳送目的地 192.168.0.79
相符率最高的路由是預設路由 (0.0.0.0/0)。下個躍點的 IP 位址是設定為預設閘道位址 (157.60.136.1),而下個躍點的介面,則是設定為被指派 IP 位址 157.60.136.41 的網路介面卡。

多點傳送目的地 224.0.0.1
相符率最高的路由,是 224.0.0.0/3 路由。下個躍點的 IP 位址是設定為目的地 IP 位址 (224.0.0.1),而下個躍點的介面,則是設定為被指派 IP 位址 157.60.136.41 的網路介面卡。

子網路廣播目的地 157.60.139.255
相符率最高的路由,是直接連接之網路 (157.60.136.0/22) 的路由。下個躍點的 IP 位址是目的地 IP 位址 (157.60.139.255),而下個躍點的介面,則是設定為被指派 IP 位址 157.60.136.41 的網路介面卡。

單點傳送目的地 157.60.136.41
相符率最高的路由,是本機指派之 IP 位址 (157.60.136.41/32) 的主機路由。下個躍點的 IP 位址是設定為回送位址 (127.0.0.1),而下個躍點的介面則是設定為回送介面卡。

[網路工具教學]Netstat指令介紹

顯示通訊協定統計及目前的 TCP/IP 網路連線。只有在安裝 TCP/IP 通訊協定之後,才能使用此指令。

netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]

參數

-a

顯示所有連線及接聽連接埠。一般不會顯示伺服器連線。

-e

顯示 Ethernet 統計。可以與 -s 選項組合。

-n

以數值表單 (而不是嘗試名稱搜尋) 來顯示位址及連接埠編號。

-s

顯示每個通訊協定的統計。預設會顯示 TCP、UDP、ICMP 及 IP 的統計。-p 選項可用來指定預設值的子集。

-p protocol

顯示由 protocol 所指定的通訊協定連線;protocol 可以是 tcp 或 udp。如果與 -s 選項搭配使用以顯示每個通訊協定的統計,則 protocol 可以是 tcp、udp、icmp 或 ip。

-r

顯示路由表的內容。

interval

重新顯示所選取的統計 (而每個顯示之間暫停 interval 秒。按 CTRL+B 可停止重新顯示統計。如果省略此參數,netstat 只會列印一次目前的設定資訊。

[網路工具教學]Nbtstat指令介紹

[網路工具教學]Nbtstat指令介紹

Nbtstat顯示 NetBIOS over TCP/IP (NetBT) 通訊協定的統計記錄、本機電腦及遠端電腦的 NetBIOS 名稱表格及 NetBIOS 名稱快取。Nbtstat 可容許重新整理 NetBIOS 名稱快取,及以 [Windows 網際網路名稱服務 (WINS)] 登錄的名稱。若不使用參數,則 nbtstat 會顯示說明。

語法
nbtstat [-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval]

參數
-a RemoteName
顯示遠端電腦的 NetBIOS 名稱表格,其中 RemoteName 為遠端電腦的 NetBIOS 電腦名稱。NetBIOS 名稱表格為 NetBIOS 名稱清單,這些名稱會對應電腦上執行之 NetBIOS應用程式的名稱。
-A IPAddress
顯示遠端電腦的 NetBIOS 名稱表格,由遠端電腦的 IP 位址 (以小數點標記) 指定。
-c
顯示 NetBIOS 名稱快取的內容、NetBIOS 名稱表格及其解析後的 IP 位址。
-n
顯示遠端電腦的 NetBIOS 名稱表格。[已登錄] 狀態會指出已經由廣播或 WINS 伺服器登錄該名稱。
-r
顯示 NetBIOS 名稱解析度統計記錄。在設定為使用 WINS 的 Windows XP 電腦上,此參數會傳回已解析的名稱數量,以及已經使用廣播及 WINS 登錄的名稱數量。
-R
清除 NetBIOS 名稱快取的內容,然後從 Lmhosts 檔案中重新載入標記為 #PRE 的項目。
-RR
釋放並重新整理使用 WINS 伺服器登錄之本機電腦的 NetBIOS 名稱。
-s
顯示 NetBIOS 用戶端及伺服器工作階段,並嘗試將目的地 IP 位址轉換為名稱。
-S
顯示 NetBIOS 用戶端及伺服器工作階段,並透過目的地 IP 位址僅列出遠端電腦。
Interval
重新顯示選取的統計記錄,暫停每個顯示間所指定的 [間隔] 秒數。按下 CTRL+C,以停止重新顯示統計記錄。如果省略此參數,則 nbtstat 只會列印一次目前的設定資訊。
/?
在命令提示字元上顯示說明。

備註
Nbtstat 命令列參數需區分大小寫。

唯有將 Internet Protocol (TCP/IP) 通訊協定安裝成 [網路連線] 中的網路介面卡中的元件時,才能使用此指令。

範例
若要顯示遠端電腦的 NetBIOS 名稱表格,其 NetBIOS 電腦名稱為 CORP07,請鍵入:

nbtstat -a CORP07

若要顯示指派 IP 位址為 10.0.0.99 之遠端電腦的 NetBIOS 名稱表格,請鍵入:

nbtstat -A 10.0.0.99

若要顯示本機電腦的 NetBIOS 名稱表格,請鍵入:

nbtstat -n

若要顯示本機電腦 NetBIOS 名稱快取的內容,請鍵入:

nbtstat -c

若要清除 NetBIOS 名稱快取,並在本機 Lmhosts 檔案中重新載入帶有 #PRE 標記的項目,請鍵入:

nbtstat -R

若要釋放以 WINS 伺服器登錄的 NetBIOS 名稱,並重新登錄之,請鍵入:

nbtstat -RR

若要按照 IP 位址,每隔 5 秒顯示一次 NetBIOS 工作階段統計記錄,請鍵入:

nbtstat -S 5

通訊軟體常用Port 及遊戲用Port

MSN Messenger 通訊埠功能
連線功能通訊協定通訊埠號碼
一般連線TCP 1863
語音通訊UDP 6901
檔案傳送TCP 6891∼6900
遠端協助TCP 3389
應用程式/白板分享TCP 7800∼7825
即時影音通訊TCP 5100
MSN Messenger
訊息傳遞TCP port 1863
檔案傳輸TCP port 6891 – 6900
語音傳輸TCP、UDP port 6901
MSN port
訊息:1863
傳檔:6891-6900
語音:6901
ICQ 通訊埠功能
連線功能通訊協定通訊埠號碼
登入ICQ伺服器UDP 4000 或
登入ICQ伺服器TCP 5190
一般連線TCP 1024∼65535
ICQ
UDP port 4000 - outbound
TCP port 20000 – 20019, inbound for first user
TCP port 20000 – 20039, inbound for second user
Incremental for other users
其他通訊埠功能
連線功能通訊協定通訊埠號碼
傳送E-MAIL TCP 25
接收E-MAIL TCP 110
傳送聊天室/ TCP HTTP:80/81∼83 HTT
P:443
網路呼叫器等資料SOCKS:1080/3128/8
080/8088/11523
HTTP TCP 80
FTP TCP 20&21
TELNET TCP 23
YAHOO UDP 5050
PCANYWHERE TCP 5631&5632
NAT、Firewall、Proxy 後端
熱門Internet 連線遊戲連接埠對應設定
MSN 電玩特區(Game Zone)
TCP port 6667 for Inbound session
TCP prot 28800 - 29000
Microsoft Age of Empires I、II (世紀帝國)
DirectX 7
Initical TCP connection 47624
TCP 、UDP port 2300 – 2400
Subsequent inbound and outbound connection
DirectX 8
Initical TCP connection 6073
TCP 、UDP port 2300 – 2400
Subsequent inbound and outbound connection
Quake III
UDP port 27660 for inbound session
Each computer must use different port, starting at 27660
EzPeer
TCP port 28865 for inbound session
Napster
TCP、UDP port 6699 for inbound and outbound session

Thursday, December 29, 2005

工作543之BLOG開貼了

繼"哈啦543"大貼特貼後,
我突發奇想,準備開始張貼工作上遇到的問題

也許會貼很專業的介紹
也許只貼貼工作上的COMPLAIN而己