◎ OSI Model (Open System Interconnection) 七層架構
應用層 Application Layer |
表現層 Presentation Layer |
會議層 Session Layer |
傳輸層 Transportation Layer |
網路層 Network Layer |
資料連結層 Data Link Layer |
實體層 Physical Layer |
◎ TCP / IP (Transmission Control Protocol 傳輸控制通訊) / (Internet Protocol 網際網路通訊協定)
應用層 Application Layer |
|
FTP / HTTP / SMTP / SNMP / Telnet |
表現層 Presentation Layer | ||
會議層 Session Layer | TCP / UDP |
|
傳輸層 Transportation Layer | IP |
|
網路層 Network Layer | Network Drivers |
|
資料連結層 Data Link Layer | Media Access Control |
|
實體層 Physical Layer | Physical |
● TCP (Transmission Contro Protocol)
主要目的是提供大量資料的傳遞並確保其傳遞無誤,因此提供錯誤偵測、資料復原及資料重送等機制。TCP 在傳遞資料之前,會先在主機間(例如伺服端和用戶端)建立通訊連結,依據此通訊連結,資料可在電腦間互相傳遞。
● UDP (User Datagram Protocol)
為一非連結式的通訊協定。主要目的在處理傳遞少量的資料。不需先建立連線(僅需設定電腦間的IP及使用相同的Port,故可省去TCP建立連線所需時間),故只提供單向的資料傳遞。因為不提供資料錯誤的偵測以及資料重送機制,因此不確保資料能完整送達。
● IP (Internet Protocol)
IPv4 (IP version 4)
為一32位元 (bits) 的數值分為4個位元組(每個位元組為 28 = 256)。其包含有網路 (Network) 和主機 (Host) 兩部份,主機與網路各佔用多少個位元組並不一定。
IP 位址依主機數量多寡分為五個等級:
Class A
Class B
Class C
Class D
Class E
IPv6 (IP version 6)
位增加 IP 位址及減輕路由器負擔為目的而產生的。
● DNS (Domain Name System) 網路名稱系統
為一分散式資料庫 (Distributed Database),用以儲存 IP 位址與主機名稱之對應,並將網域主機名稱轉換成 IP 位址。DNS 定義方式是以樹狀結構表示,每一階層最多可有63個字元,階層與階層間以 "." 隔開。一個完整的網域名稱稱為 FQDN (Fully Qualified Domain Name) 或 ADN (Absolute Domain Name)。網域名稱的階層表示是由右至左而降,最右邊的名稱為 DNS 的第一層或稱為第一級網域 (Top-Level Domain)。
localhost = 127.0.0.1
● Port 通訊埠
通訊協定是以 Port 通訊埠來區隔 Internet 各應用服務,其是以 16 為元 (216)數值代表,同一主機上可使用 1 至 65535 個通訊埠所定義之 Internet 應用服務 (其中 1 至 1023 已由國際認證組織 IANA 保留為公認的通訊埠,紀錄於 C:\WINDOWS\system32\drivers\etc
\services 檔案中)。
● RFC (Request for Comments)
為制定 Internet 相關協定的標準規格書。http://www.rfc-editor.org/
◎ 在 .NET 環境中支援 TCP/IP 網路應用的開發有:
● Microsoft WinSock Control 6.0 控制元件
為 Microsoft Visual Studio 6.0 所附之控制元件 (MSWINSCK.OCX),在 .NET 中仍可繼續使用。
● Microsoft Winsock API
其版本共有 1.0、1.1 至 2.0 版,其檔案名稱為 WinSock.dll (16 bit)、wsock32.dll (32 bit) 及 ws2_32.dll (32 bit)。其程式視之為 Unmanaged Code。
● Microsoft .Net Framework Class Library (NFCL) 之 System.Net 與 System.Net.Sockets
使用此 Class Library 所設計的程式稱之為 Managed Code。
留言列表