網(wǎng)絡(luò)程序的實現(xiàn)有多種方法,Windows Socket是一種比較簡單的方法。
Socket是連接應(yīng)用程序與網(wǎng)絡(luò)驅(qū)動程序的橋梁。
Socket在應(yīng)用程序中創(chuàng)建,通過綁定操作與驅(qū)動程序建立關(guān)系。計算機網(wǎng)絡(luò)是相互連接的獨立自主的計算機的集合。為了標(biāo)識在計算機上運行的每一個網(wǎng)絡(luò)通信程序,為他們分別分配對應(yīng)端口號。
IP地址:
- IP網(wǎng)絡(luò)中每臺主機都必須有一個唯一的IP地址
- IP地址是邏輯地址
- 因特網(wǎng)上的IP地址具有全球唯一性
ISO國際標(biāo)準(zhǔn)化組織提出了OSI七層參考模型:
應(yīng)用層-----處理網(wǎng)絡(luò)應(yīng)用
表示層-----數(shù)據(jù)表示
會話層-----主機之間通信
傳輸層-----端到端的連接
網(wǎng)絡(luò)層-----尋址和最短路徑
數(shù)據(jù)鏈路層-----介質(zhì)訪問(接入)
物理層-----二進制傳輸對等層之間的通信的實質(zhì)就是:
對等層實體之間虛擬通信。
下層向上層提供服務(wù),實際通信在最底層完成。應(yīng)用層:
文件傳輸協(xié)議FTP
超文本傳輸協(xié)議FTTP
域名服務(wù)DNS
發(fā)送電子郵件時,使用SMTP協(xié)議(簡單郵件傳輸協(xié)議)
接收電子郵件時,使用POP3協(xié)議(郵局協(xié)議)
等傳輸層:
傳輸控制協(xié)議TCP
用戶數(shù)據(jù)報協(xié)議UDP網(wǎng)絡(luò)層:
網(wǎng)際協(xié)議IP
Internet互聯(lián)網(wǎng)控制報文協(xié)議ICMP
Internet組管理協(xié)議IGMPTCP/IP模型
應(yīng)用層
傳輸層
網(wǎng)絡(luò)層
網(wǎng)絡(luò)接口層傳輸層的兩個協(xié)議TCP和UDP是完全獨立的兩個模塊,因此各自的端口號也相互獨立。也就是說,基于TCP和UDP協(xié)議的不同的網(wǎng)絡(luò)應(yīng)用程序,他們可以擁有相同的端口號。端口號使用一個16位的數(shù)字來表示,范圍是0-65535
1024以下的端口號保留給預(yù)定義的服務(wù)。
http使用80端口。TCP/IP協(xié)議使用16位整數(shù)和32位整數(shù)的高位先存格式
80端口和8080端口
HTTP的默認(rèn)端口是80
8080一般是用來連接代理的Windows Sockets的實現(xiàn)
Windows Sockets是Microsoft Windows的網(wǎng)絡(luò)程序設(shè)計接口,它是從Berkeley Sockets擴展而來的,以動態(tài)鏈接庫的形式提供給我們使用。流式套接字(SOCK_STREAM)
基于TCP協(xié)議實現(xiàn)的數(shù)據(jù)報式套接字(SOCK_DGRAM)
基于UDP協(xié)議實現(xiàn)的原始套接字(SOCK_RAW)
套接字表示了通信的端點。套接字相當(dāng)于電話機,IP地址相當(dāng)于總機號碼,而端口號則相當(dāng)于分機。
什么是協(xié)議棧、協(xié)議族和地址族
- 協(xié)議棧 Protocol Stack.
協(xié)議棧是指網(wǎng)絡(luò)中各層協(xié)議的總和,其形象的反映了一個網(wǎng)絡(luò)中文件傳輸?shù)倪^程:由上層協(xié)議到底層協(xié)議,再由底層協(xié)議到上層協(xié)議。使用最廣泛的是英特網(wǎng)協(xié)議棧,由上到下的協(xié)議分別是:應(yīng)用層(HTTP,TELNET,DNS,EMAIL等),運輸層(TCP,UDP),網(wǎng)絡(luò)層(IP),鏈路層(WI-FI,以太網(wǎng),令牌環(huán),F(xiàn)DDI等),物理層。 - TCP/IP也稱"國際協(xié)議簇", 即不僅指 TCP/IP協(xié)議本身,而且包括與其有關(guān)的協(xié)議。 TCP為傳輸控制協(xié)議,IP為網(wǎng)際協(xié)議,是網(wǎng)絡(luò)層最重要的協(xié)議。采用TCP/IP協(xié)議通過互聯(lián)網(wǎng)傳送信息可減少網(wǎng)絡(luò)中的傳輸阻塞,方便大批量的數(shù)據(jù)在網(wǎng)上傳輸,從而提高網(wǎng)絡(luò)的傳輸效率。 TCP/IP協(xié)議族中包括上百個互為關(guān)聯(lián)的協(xié)議,其中有:Telnet(Remote Login):提供遠(yuǎn)程登錄功能; FTP (FileTransfer Protocol):遠(yuǎn)程文件傳輸協(xié)議,允許用戶將遠(yuǎn)程主機上的文件拷貝到自己的計算機上; SMTP (Simple Messagetransfer Protocol):簡單信息傳輸協(xié)議,主要用于傳輸電子郵件;NFS(Network File Server):網(wǎng)絡(luò)文件服務(wù)器,可使多臺計算機透明地訪問彼此的目錄 ; UDP ( User DatagramProtocol):用戶數(shù)據(jù)包協(xié)議。
- IPv4 或者 IPv6 稱為TCP/IP的地址族.