1、網路規劃與資源管理,蔡瑞城Tsai Jui ChengE.tw,國立台北師範學院,改變人類生活的模式,網 際 網 路Internet,網路類型,區域網路 Local Area Network,LAN都會網路 Metropolitan Area Network,MAN廣域網路 Wide Area Network,WAN,區域網路,傳輸速度:10Mbps、100Mbps、1000Mbps,都會網路,東區,西區,南區,廣域網路,台灣,英國,東京,紐約,電腦作業方式,對等式網路(Peer to Peer)-每部電腦皆可扮演Client與Server,Printer,FAX,主從式網路(Client t
2、o Server)在網路中,有一部或多部伺服器,專門提供用戶端電腦所需的資源,電腦作業方式,DB Server,File Server,Units of Bandwidth,OSI模型概說,OSI模型(Open Systems Interconnection Reference Model) 是一個用來描述在電腦/網路設備內,訊息如何被轉換成0010101的過程。,OSI模型概說,此模型是由上到下(發送端)來看,最上面是使用者看的到的界面/程式,中間的黑盒子就是一堆程式的組合,愈下面的程式愈低階,到最下面的那一層已經把有意義的字元轉成一堆001101。OSI七層之間(從第二到第六層)都有添加一
3、個灰色的正方形,那就是標頭(header),就是一些控制字元,作用就是保護後面的正式資料。而這些標頭到達目的後,也會依相反的順序,逐步被接收端的程式一一的拆除,而還原到最原始的資訊。,實體層(Physical Layer),Connection Type訊號發送端和訊號接收端連線的方式。 (1)點對點式(point-to-point connection) 即所謂的一對一連線,不過在區域網路上較少見。常用的point-to-point connection比較多應用在廣域網路上(例:數據機連線)。 (2)多點式(Multipoint connection) 區域/廣域網路上都見的著的方式,一台
4、電腦分享資源給其他眾多電腦,即典型的多點式連線。,Physical Topology(實體拓撲),優點:安裝成本低廉,建置容易 缺點:網路發生問題,不易故障排除,而且有問題時是全部的網路都不能用,Ring Topology (環狀拓撲),優點:容易故障排除缺點:安裝不易,Star Topology (星狀拓撲),佈線中最常使用的方法,使用一個Hub或Switch將網路上各節點(PC、Server)連結,Star Topology安裝容易,故障排除容易,也很易於擴大規模,Mesh Topology (網狀拓撲),每一台電腦都有一條以上的路和別人通訊,因此最大的好處就是它不怕斷線,某一條路如果斷了
5、它可以改走其他的路,但安裝、設定皆困難,成本也比較高。,Cellular Topology,大哥大通訊網路方式,每台電腦/大哥大都不需要配線,只要網卡的尾端有天線,就能和中間的hub(基地台) 連線了。每個hub/基地台可以影響到的範圍叫做cell,就是如圖中灰色的區域,會依設備的關係而大小不同。這樣的佈線方式相當好安裝,適合常移動的使用者,故障排除容易,但無線的限制角度問題,天線的放置就要多費心些。,數位訊號(Digital signaling ),數位的傳訊設備較簡易 因整個電腦本來都是數位的設備,像硬碟、記憶體都是用數位的方式來運作,因此到了要傳出電腦之外的世界仍使用數位的方式來傳送的話
6、,這樣的設備其架構較為簡單。數位訊號的訊號狀態有分階,所以抗雜訊與降低失真的能力較佳。數位傳訊相較於使用類比方式來傳訊的缺點只有一個,那就是較容易衰減。,類比訊號(Analog signaling),優點: 較不會衰減;這點和數位傳訊剛好相反。缺點: 較易於被雜訊或外界的訊號所干擾。這點也和數位傳訊的特性相反。,Bit Synchroniation(傳訊同步方式),Asynchronous非同步傳輸 要傳訊息前發送端先丟一個專門封包說開始了,然後進行傳送(通常不會太久),此時接收端也用自己的hardware clock來測量這段收進來的訊息;傳完後發送端再丟一個專門封包說結束了。,Bit Sy
7、nchronization(同步傳輸),Synchronous同步傳輸 同步傳輸看來是bit synchronization的主流,其傳輸方法又分為三種:Guaranteed State change 在傳輸的封包裏夾帶時間控制的資訊,接收方一邊收資料,一邊根據封包的時間資訊來調自己的hardware clock。此法以數位傳輸時較常用。Separate Clock Singnal 本法的重點是Separate這個字,因為它利用一個額外的通道來傳時間控制資訊,此法雖然確保了同步的問題,但由於它多浪費一個頻寬,而且也只適合短距離(長距離還是會有delay的問題)所以此法在應用上有其限制。Over
8、Sampling 收收端在收訊息時以高於平常速度重覆取樣;舉例來說,平常1 sec內可能接收端只取樣一次當作正確的訊息;今天如果使用oversampling法,則提高成1 sec內重覆取樣十次,然後拿其中一份,並且和其他九份作一下比較,如果都對,表示這段是ok的。,資料連結層(Data Link Layer),(1)Media Access Control(MAC) 負責Logical topology邏輯拓撲,Media Access傳輸媒體的存取及Addressing定址三個功能。在整個Data Link Layer部份負責較低階的事情,直接和Physical實體層作溝通。(2)Logic
9、 Link Control(LLC) 負責傳輸的同步(Transimission Synchronization)、流量及錯誤管制(Connection Service)。LLC負責較在DataLink層中負責較高階的工作,向下配合MAC,向上負責和OSI第三層合作。,資料連結層(Data Link Layer)之MAC SubLayer,MAC層之邏輯拓撲(Logical Topology) (1)Bus Topology 訊號從傳送端一放出來後,就會散播到整個網路。比如說電腦A接在Hub Port 1上,當電腦 A 傳訊息出進PORT 1,則下一步的訊息流程將是Port 2,3,4同時人人
10、有獎。常見的10Base2,10BaseT就是用邏輯拓撲Bus Topology的方式運行的。 (2)Ring Topology 訊號從傳送端一放出來後,就會循著一個特定的方向傳送。TokenRing網路的邏輯拓撲正是如此,雖然目前流行的TokenRing實體佈線大多走Star Topology(星狀佈線),但內部的真正資料流是走Ring Topology這個純正血統的方法,Media Acess 傳輸媒體的存取-1,ConnectionCSMACSMA/CDConnection每台電腦都必需用搶的方式搶網路的空檔丟訊息 CSMA它要求電腦在丟訊息前一定要先探測網路外頭有沒有空檔;如果有才丟,
11、如果沒有,再等一定時間。CSMA/CD加了一個Collision Detect這個程序,整體來說它可以偵測網路上有沒有空檔,如果有就丟,如果沒有CD這個程序會跳出來開始偵測什麼時候collision的情況消失,如果消失後就會開始重傳,不會浪費到時間。CSMA/CD法廣為乙太網路所使用,優點是安裝、使用上都很簡單,壞處是網路的存取時間不確定(要看網路上的collision會不會很多)、每台電腦存取的優先權沒有辦法給予(TokenPassing就可以)、還有電腦很多時Collision會變的很高,效能會一直往下掉。,Media Acess 傳輸媒體的存取-2,Token這個字有通行證的意思,一個網
12、路實行以TokenPassing的方式來傳訊息的話,表示每台電腦都要等到拿到Token時才能丟訊息。而這個Token是輪流傳的,所以每台電腦都會輪流拿到,因此就不像上面的CSMA/CD法隨便搶。TokenPassing在負載很高的網路上會很有效率,就算有延遲也是固定的,不會忽快忽慢。,Media Acess 傳輸媒體的存取-3,Polling是用在於很重視時間的自動化設備所組成的網路。其原理就是有一台電腦當作控制中心,然後依照某種預定的順序來向其他附屬的設備/電腦要求送資料過來。優點就是一切都在控制中,所以會用多少時間傳輸都可被大致控制,也不會有碰撞產生;第一個壞處是如果其中一些附屬電腦送來的
13、資料很久,其他電腦雖然排在下一個,還是會受到意外的delay第二個壞處是主電腦對其他附屬電腦發佈” 傳輸命令”,這樣的訊息會浪費頻寬,資料連結層(Data Link Layer)之LLC SubLayer,Logic Link Control SubLayer(LLC) 本子層位於第二層資料連結層的上方,負責和上面幾層合作。Mac子層在本子層的下方,著重的是要能連線;在本子層的工作就偏向連線的品管與控制。 此層負責的事有: 傳輸的同步 流量 錯誤管制,LLC子層同步的方法,Asynchronous(非同步的同步傳輸)收送雙方使用自己的內部時鐘,不同步對方的時間。 送方設備在每次送訊息前,放一個
14、bit表示開始。在訊息後面放一個bit表結束。收方以這二個開始、結束bit來確定收到正確的封包。 由於用這種方式傳訊息的資料量通常不會很大,所以通常不會有時間誤差的問題。 常見的例子是:終端機連線(如Telnet) 本法的好處是技術成熟、設備也不需要弄得很複雜;壞處是會增加20%-30%冗餘的traffic、而且如果線路、設備不穩製造出多次的問題時。,Synchronous 本法和前法最大的不同是,每個frame都有時間同步的信號在裏頭。也有額外使用別的頻道來作時間同步的,不過這種作法較少見。 本法所使用的錯誤檢查是CRC法,這套CRC利用一套演算法先在送出去前,將要傳送的資料演算一番弄出一個
15、結果,然後這個結果隨著frame送到遠方後,遠方的設備再用同一種演算法反算回來,看看結果對不對,如果對就收下,不對就叫送方重傳。這種方法的好處是有效率(沒有冗餘的traffic)、速度較快,在錯誤檢查的方法上也比較高明。但代價就是複雜的機制導入後,要收送雙方設備的配合,所以和第一個方法各有擅長的領域。,LLC子層同步的方法,LLC子層同步的方法,Isochronous 接下來要介紹的這種方法叫作等時傳輸 (Isochronous) ,或曰非佇列仲裁法了,它使用一個立場超然的公正計時器,先將收送雙方的步調先統一;然後將送方到收方的傳送的頻率固定,每次在固定的頻率要傳的時候就儘量塞進訊息,這樣一來
16、收送雙方立即享有傳輸速率穩定、負擔很少的冗餘traffic。但壞處就是需要額外的一個外在計時器;如果它壞了或是發生其他事,不能穩住收送雙方的時間,此法就會不管用了。這個方法沒有錯誤檢查的機制。,錯誤管制,(1)LLC-level flow control 網路上的設備有快有慢有新有舊,要能按照規範傳訊息並不容易。flow control功能可以解決以上的問題。(A)Guaranted Rate Flow Control 傳送前收受雙方先約定傳送的速率,然後維持這個速度;非常類似數據機在撥接時做的動作,從最高速開始和遠方撥接主機商量可不可以接受,到最後接受後才開始傳訊息。(B)Window-Fl
17、ow Control 要送方先制定一個虛擬的單位叫Window,假設今天一個window等於 N 個 frame,則送方一次會送一個windows單位(就是N個frame)給受方,然後等受方傳回這n個訊息的回條後,送方才會再送下一波的window。以上的作法是window-flow control中,window size為固定的作法。還有一種作法是window size為機動的,就是送方會一直試著調大window size,希望能一口氣送更多的frame,但也會等受方傳送回條給送方。如果受方覺得對方送的太快,它會反送一個choke(窒息)封包回報給送方說,太快了,送方就會再調小window
18、size。,錯誤管制,(2)Error Control Error Control扮演的是故障申報中心,有下列狀況發生,便表示有frame遺失,要請送方重傳。 沒有接到回條(acknowledge) 送方送去七個frame,但只回來六個回條,就表示要重送了。 錯誤檢查有誤,此類的問題就是parity/CRC所查出來的,錯了、不一致就重傳了。 frame的大小超過上下限太大太小都不行,這個簡單。 frame不完整、破碎,可能是因為網路線品質不穩、或是途中有干 擾,所以受方拿到的frame不全;當然重傳。 緩衝區超過負荷,就如以上flow control的window-flow control 一
19、樣,如果送方太急著把資料餵進受方,則受方的緩衝區很快就會滿了。此時受方就會回應給送方說太快了,同時也通知重傳。,網路層(Network Layer),主要功能是讓設備可以跨網路交流資訊;如果有一個單純環境只有一個網路(或者是網段)的話,沒有這層其實也沒關係。這層還有個特色是開始使用邏輯位址當作資訊交換的依據;Physical and DataLink這二層都是以實體位址來交換訊息。這是為了因應要和其他網路交換訊息。,Address,addressing是指在Network網路層定義的邏輯位址(logical address),還有為了區別一台機器上不同的服務類別,所使用的service add
20、ress。IPX/SPX服務位址(Service Address)可寫成:00008022:0080c8112233:0451 (第二個冒號前是邏輯位址,之後為service address) TCP/IP通訊協定則是192.168.1.253:524 (冒號前為邏輯位址,之後為service address),Switching,當收、送雙方談完底下二層後,確定有把握可以連結了,忽然發現咦,到目的的路上,怎麼有這麼多路可以走?Switching就是選擇要用什麼樣的方式來決定要走的路,三種Switching方式,(1)Circuit Switching 從送方到收方建立一專用線路。在可以選擇的
21、路徑上指定一條,然後在傳訊息時從頭到尾都是這一條,用完後就拆了。適合即時傳訊,如聲音、影像的應用。(2)Message Switching 與circuit switching法不同的是,它不建立專用的線路,它將要傳的訊息切割成幾個小包,每個小包都會記住自己的位址和要到的位址,然後每個小包就自己找路去到達目的。所以幾乎每個小包都有自己一套走法。適用於email之類的服務,不強調一定要即時性的類服務。 (3)Packet Switching 本法是結合以上二種方法的優點,泡製而成。它的做法和 Message Switching 很接近,先將要傳的訊息拆成幾個小包,每個小包除了和Message S
22、witching一樣有自己的位址、目的的位址外,還有一個小包編號。這個編號是為了怕小包們前後到達的速度不一樣,打亂了收方的節奏。 和Message Switching法還有一點不同的是,小包在過程搬運中是使用RAM來儲存,所以會快些。,Route Discovery,Route Discovery的任務一、認識網路上其他的電腦/其他的節點二、了解到目的網路還要經過幾台主機;藉由和其他伺服器的溝通,可以得知到目的還有多少站要跑。單位是hop。三、了解到目的網路,大約要多久;藉由第二點得來的訊息,便可大概推測到目的約需多少時間。單位是tick,1/18 秒。四、配合網管的需求,將某些特定的路徑配上
23、比較優先的設定。 (這種做法,很像北市的捷運票價有補貼的做法,以吸引北市市民多多搭乘捷運),Gateway Service,Gateway Service兩個網路之間用的網路位址不同、connection service不同、route discovery不同。為了要達成封包順利傳送到其他網路任一點的目的,轉換不同網路的不同性質就成了network layer的重責大任。雖然Gateway Service也可以在其他的 OSI Layer實作(實務上是在比較高的OSI Layer),但不管在那一層,不管是用硬體或是軟體來做,gateway service都是做這件事。,運輸層(Transpor
24、t Layer),Transport運輸層之任務一、是將網路通訊那些複雜的東西給包裝、美化,讓架在運輸層以上的服務或程式,可以不用理解網路通訊的困難。二、是將來自運輸層以上的訊息/資料,拆解/合併為一個個的小包成為segments(這是運輸層資料的單位別)三、負責確保傳輸的穩定與正確。因為在運輸層之上的服務和程式什麼的,都不想再管那些封包會不會到目的的瑣事了。,Address/Name Resolution,Address/Name Resolution(位址和網路名稱的轉換) Transport要負責把網路下層麻煩的實體卡號/邏輯卡號隱藏起來,轉而開始使用新的名字,通常這些名字就是我們熟悉的
25、主機名稱(host name),比如說(TCP/IP)、FS1(IPX/SPX)、機房重地(NetBEUI)。 其主要的意義是給上層寫程式的人、使用網路的人或是程式間的溝通都帶來更多便利,但也相對的它和邏輯卡號也產生的隔閡,這就要做翻譯,以便和下層邏輯卡號相連結。這個工作,就是Transport Layer的工作。,Addressing,Addressing定址 Transport的定址就這些服務的定址的追縱。(tracking service address)追蹤的目的是為了考核每個服務正在進行的狀態。因為機器上的某個服務,有可能一次同時服務好幾個點,我們稱這些正在進行中的服務為conver
26、sation會話;這些會話通常不會一次就結束,所以好幾個正在進行的會話需要區別,這個區別稱為connection identifier(簡稱connection id,或是port、socket)。,Connection Service,Connection Service 連線服務End to End flow control 在此層的流量管制,收方使用了回條(acknowledgment)報告的方式來和送方確認通信品質,使用連線前先協商傳輸速率或windows flow control來協調傳輸速度。如果發現有segment遺失,可以呼叫送方重傳某幾個segment或是從某段以後都重送。E
27、nd to End error control 使用下列技巧中的其中一個或多個來確保通訊問題能被降低(1)使用virtual circuit switching,建立end to end的邏輯通道以減少資料傳送錯誤。(2)在end to end通訊期間,儘量一次就建一條vircuit circuit,建多條傳輸速度雖快,但發生問題的可能性又增加了。(3)編製segment squence number不用重複的號碼。就算收方收到分屬不同時期的segment,也不會搞錯。(4)對segment設定壽命(time-outs),使在路上走的特別久的封包就不要再送進收方了,令其在路上自我了斷,不要再到
28、目的徒增收方困擾。Segment Squencing為了降低發生混淆的狀況,避免收方看不到送方丟過來的一堆資料,使用segment編號是很自然的事。這將使收方不管什麼時候收到什麼segment,都能從容的組合成原始的訊息。,會議層(Session Layer),功能一:對話的控制(dialog control) Session Layer可以決定用什麼方式來傳訊,但必須要對方配合才行。否則即使你有全雙工能力,遇到對方半雙工的話,你也只好配合。功能二:連線的啟動與結束 OSI上層資料丟下來,準備要傳到網路上去時,此時SessionLayer會議層就會開始召開一個會議(session),準備照上面
29、丟下來資料中所指的目的地開始連線。因此傳一次資料、召開一次session,就是由會議層來發動、維持,與決定何時斷線。這讓OSI的上二層只管派資料,下面的四層就只管連線、維護連線品質及管制流量了。,表現層(Presentation Layer),資料的翻譯資料的壓縮與解壓縮 資料的加密與解密,應用層(Application Layer),本層就是網路應用程式/網路服務的活動範圍。服務的種類檔案分享:Novell Netware Server、Windows的網路芳鄰。印表分享:同上。訊息分享:Microsoft Exchange Server、Lotus Notes應用程式分享:IBM AS/4
30、00、Apache WWW Server資料庫分享:Oracle/Microsoft SQL Server,服務宣告的方式,主動宣傳(Active Service Advertisement) 主動宣傳就是網路資源一直按一個周期向網路其他電腦宣告它這個網路資源的存在。有需要的client就會可以在周期內搜尋到它要的資源、進而去存取它。如:PrintBox。被動宣傳(Passive Service Advertisement) 被動宣傳就是有網路資源的電腦會和一台負負總管的電腦註冊,別的client要找資源時,就不需要苦苦等一段時間等網路資源週期性的宣告,直接找總管要資源即可。TCP/IP網路之
31、資源搜尋協定SLP(Service Location Protocol)就是一個典型。,存取服務的方式,OS Call InterceptionOS Call interception指的是攔截作業系統的呼叫(Operating System Call),要攔截作業系統的呼叫,是因為作業系統本身沒有網路能力時要使用的。比如說有個架在作業系統上的應用程式(如word)要存取網路資源(如檔案分享),則此時就要用一個程式來攔截這個呼叫,並且代替作業系統處理它,如此一來就可以遮掩作業系統無法處理網路的窘境,並且讓上頭正在跑的應用程式繼續執行下去而沒有中斷。Remote Operation負責存取網路資
32、源的client端有網路的能力,但被使用的網路資源卻不知道有個client正存取它?常見的有RPC(Remote Procedure Call)。Collaborative Computing協同運作的網路存取模式,提供資源者、存取資源者都知道對方的存在,而且都能按照程序一起合作完成某件事,這樣的例子有Microsoft NetMeeting。想像一下在使用Microsoft Meeting來看電子會議時,雙方都能分享自已的資源、使用對方的資源(看到對方的影像、傳給對方自己的影像)就是一個很好的Collaborative Computing例子。,DoD模式,DoD模式,Network Acc
33、ess Layer 網路存取層包含實體網路連接部份,例如: 電纜線,網路卡等,主要是提供實體的網路連接和提供功能給Internetwork Layer網際網路層使用。,DoD模式,Internetwork Layer 網際網路層提供邏輯位址給實體的網路介紹使用使用網際網路協定Internet Process來指定某部機器使用Address Resolution Protocol位址來決定協定使用Reverse Address Resolution Protocol及向位址協定來映射(mapping)邏輯和實體位址Internet Control Message Protocol網際網路控制訊息
34、來診斷和操作(IP)的資訊,DoD模式,Host to Host Layer 主機對主機使用主機對主機協定Transmission Control Protocol (TCP)負責建立可信賴的,全多工的連接由於TCP協定建立了可信賴的連接,所以Process/Application Layer使用TCP協定就不須要去注意資料傳輸時會不會產生錯誤的問題由於TCP協定建立了同時的連接,所以一個主機可以建立多個TCP連接 由於TCP協定建立了全多工的連接,所以資料可以同時地傳送和接收在一個TCP連接裡User Datagram Protocol (UDP)使用者封包協定負責建立不需要信賴的連接,以加速網際網路的傳送,DoD模式,Process/Application Layer 行程/應用層負責提供各種應用給人們使用,而且必須使用主機對主機層的協定(TCP和UDP)File Transfer Protocol (FTP)Terminal Emulation (TELNET)Electronic Mail (SMTP)Simple Network Management Protocol (SNMP),Q A,