200 likes | 402 Views
應用層 Application Layer. 應用層 Application Layer. 提供網路與使用者 ( 應用程序 ) 間之溝通介面,負責提供各種服務 程式 給應用程序,以便能使用系統的網路連結功能,達到與其他應用程式交換資料 若執行 Ftp , Telnet 等應用程式,通訊雙方須使用同樣網路應用服務程式才能互相通訊. 網路作業系統之應用程式. 網路介面程式 網路命令程式 ping finger ifconfig tracert nestat traceroute. 網路介面程式: Socket Interface.
E N D
應用層 Application Layer • 提供網路與使用者 (應用程序)間之溝通介面,負責提供各種服務程式給應用程序,以便能使用系統的網路連結功能,達到與其他應用程式交換資料 • 若執行Ftp,Telnet 等應用程式,通訊雙方須使用同樣網路應用服務程式才能互相通訊
網路作業系統之應用程式 • 網路介面程式 • 網路命令程式 • ping • finger • ifconfig • tracert • nestat • traceroute
網路介面程式:Socket Interface • 早期網路硬體的規格通常沒有一定的標準,因此開發網路應用程式必須針對不同的網路硬體規格撰寫,相對地其難度亦較高,也較不經濟。 • 是否有一應用程式介面是介於應用程式與硬體之間,並提供標準的函式以符合不同的網路硬體規格呢?這個應用程式介面就是Socket Interface。 • 最早的Socket Interface是於1980年代,由加州柏克萊大學為支援UNIX作業系統上的TCP/IP應用所開發的Socket介面,稱為Berkeley Socket Interface,而其軟體則稱為Berkeley Software Distribution,簡稱BSD。
Berkeley Socket Berkeley Socket Interface是一組介面函式,介於網路應用程式(Application)與作業系統及網路硬體之間,提供標準的函式,應用程式透過呼叫Socket Interface,以發展具備有TCP/IP網路功能之應用。
Server端BSD API函式 • socket 建立socket。 • bind 設定socket所使用的local端IP 位址及通訊埠。 • listen 設定socket等候(listen)Client端連結請求。 • accept 接受自Client端的連結請求並建立socket連結。 • recv (TCP)接收來自Client端所傳送的資料。 • read (TCP)接收來自Client端所傳送的資料。 • recvfrom (UDP)接收來自Client端所傳送的資料。 • send (TCP)傳送資料至Client端。 • write (TCP)傳送資料至Client端。 • sendto (UDP)傳送資料至Client端。 • closesocket 關閉通訊連結及socket,並且釋放系統資源。 • shutdown 關閉socket的傳送及接收功能。
Client端BSD API函式 • socket 建立socket。 • connect 建立與Server端socket連線。 • recv (TCP)接收來自Server端所傳送的資料。 • read (TCP)接收來自Server端所傳送的資料。 • recvfrom (UDP)接收來自Server端所傳送的資料。 • send (TCP)傳送資料至Server端。 • write (TCP)傳送資料至Server端。 • sendto (UDP)傳送資料至Server端。 • closesocket 關閉通訊連結及socket,並且釋放系統資源。 • shutdown 關閉socket的傳送及接收功能。
網路命令程式 • Ping :測試網路是否正常 ping www.kimo.com.tw ping 140.127.128.1 2.Tracert (win 2000/NT/9X):追蹤路徑選擇所經過之路徑 tracert www.nsysu.edu.tw 3.netstat :查閱網路組態和狀態 netstat –nr
網路應用程式 1.伺服端(Server): Mail Server:提供信件服務 Ftp Server :提供檔案傳送服務 Print Server :提供檔案列印服務 Database Server :提供資料查詢服務 Web Server :提供網頁瀏覽服務 2.客戶端(Client): IE :使用Web Server服務 的應用程式 mail:使用Mail Server服務 的應用程式 ftp:使用FTP Server服務 的應用程式
Ethernet協定分析 實驗目的: 明瞭CSMA/CD的工作原理 解析乙太網路協定下框架資料傳送的格式
背景資料 • 這是美國(Xerox)公司的Polo Alto研究中心(簡稱為PARC)於1975年研製成功,以曾經在歷史上表示電傳磁波的Ether來命名,不久,Xerox公司與Digital公司以及英特爾公司(Intel)公司合作,提出了乙太網路的規範,成為世界上第一個區域網產品的【規範】 • 乙太網路是採用『廣播』(Broadcast)方式傳送封包。也就是說封包一旦傳送出去,網路上的所有電腦,無論是否為傳送對象,都會收到此封包。為了使每一部電腦都能知道自己是否為傳送的對象?因此每張Ethernet網路卡都編有一個獨一無二的『MAC(Media Access Control)位址』。
CSMA/CD原理 • 在網路上任何一台工作站主機要與網路上任何一台工作站或伺服器從事資料傳輸時,該主機要先傾聽(listen)網路上是否有其它工作站也在發出要求傳送資料到網路的信號,如果剛好兩台工作站主機一起同時發出信號,結果勢必產生信號碰撞,此時兩台工作站同時退出上網路爭奪戰,等一段任意時間(random time)後再重新發出上網路信號,如果很慶幸這個時段網路上沒有任何其他信號存在後,該工作站就可以傳輸資料至其欲送達之目的地,如果很不幸又發生碰撞或是網路還在從事資料傳輸工作,碰撞事件免不了要發生,因此該工作站仍須等一段任意時間後再嘗試下次機會,這種運作方式稱之為CSMA/CD
分辨Ethernet2.0封包與 IEEE802.3封包 • 如何分辨Ethernet2.0封包與IEEE802.3封包? • 在同樣位置的內容,802.3視為「長度」,而Ethernet2.0視為「代碼」。802.3長度的最大值為1500,而Ethernet2.0的最小代碼為0600(相當十進位的1536),所以從數字大小就能判斷出來。 • 0600表XNS、 0800表IP 、 8137表IPX