首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

Windows Socket 網路程式設計 (一):TCP/IP 協議族架構、套接字概念與專用術語

     編輯:關於VC++

一、TCP/IP 協議族分層架構

TCP/IP 架構圖

層級協議/功能說明
應用層FTP, SMTP, TELNET, HTTP, TFTP使用者直接面對的服務
傳輸層TCP (可靠、全雙工、面向連線、位元組流)
UDP (不可靠、無連線、資料報)
核心程式設計介面所在層
網路層IP (路由、分片)、ARP (IP→MAC)、RARP (MAC→IP)、ICMP (錯誤/控制報文)通常在核心內實現,使用者不直接操作
資料鏈路/物理層乙太網、Token Ring、FDDI 等硬體驅動層

二、TCP/IP 核心與應用程式關係

核心與應用關係圖

  • 核心 (Kernel) 實作 TCP/UDP/IP/介面驅動。
  • 使用者程式透過 系統呼叫 (如 socket/send) 或 函式庫 (如 Winsock DLL) 存取網路。
  • 套接字 是核心提供給應用層的統一抽象介面:「可命名、可定址的通訊端點」。

三、套接字核心屬性

  • 通訊域 (Address Family):Windows 僅支援 AF_INET (網際網路域)。
  • 類型:SOCK_STREAM (TCP 串流)、SOCK_DGRAM (UDP 資料報)。
  • 協定:通常指定 0 讓系統依類型自動選擇。

四、專用術語定義

術語定義
套接字網路通訊端點,具類型、綁定進程、屬於某通訊域
Windows Sockets 實現符合規格的完整軟體套件,通常以 DLL (winsock.dll/ws2_32.dll) 形式提供
阻塞處理例程為支援阻塞式 API 而在單執行緒環境下處理訊息迴圈的機制
多點傳送一對多傳輸 (IP Multicast),區別於單點傳送與廣播

五、程式設計介面兩種形式

  1. 核心系統呼叫:直接進入 Ring 0,效能最佳但開發難度高、可移植性差。
  2. 函式庫封裝 (Winsock):標準化 API、跨平台支援、Windows 官方推薦方式。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved