什么是網(wǎng)絡編程?網(wǎng)絡編程指使用編程語言實現(xiàn)多臺計算機的通信,具有三大要素,其中包括IP地址、端口、協(xié)議,接下來我們看看具體的內容介紹。
一、IP地址
計算機分布在世界各地,要想和它們通信,必須要知道確切的位置。確定計算機位置的方式有多種,IP地址是最常用的,例如,114.114.114.114是國內第一個、全球第三個開放的DNS服務地址,127.0.0.1是本機地址。
其實,我們的計算機并不知道IP地址對應的地理位置,當要通信時,只是將IP地址封裝到要發(fā)送的數(shù)據(jù)包中,交給路由器去處理。路由器有非常智能和高效的算法,很快就會找到目標計算機,并將數(shù)據(jù)包傳遞給它,完成一次單向通信。
目前大部分軟件使用IPv4地址,但IPv6也正在被人們接受,尤其是在教育網(wǎng)中,已經(jīng)大量使用。
二、端口
有了IP地址,雖然可以找到目標計算機,但仍然不能進行通信。一臺計算機可以同時提供多種網(wǎng)絡服務,例如Web服務、FTP服務、SMTP服務等,僅有IP地址,計算機雖然可以正確接收到數(shù)據(jù)包,但是卻不知道要將數(shù)據(jù)包交給哪個網(wǎng)絡程序來處理,所以通信失敗。
為了區(qū)分不同的網(wǎng)絡程序,計算機會為每個網(wǎng)絡程序分配一個獨一無二的端口號,例如,Web服務的端口號是80,F(xiàn)TP服務的端口號是21,SMTP服務的端口號是25。
端口(Port)是一個虛擬的、邏輯上的概念??梢詫⒍丝诶斫鉃橐坏篱T,數(shù)據(jù)通過這道門流入流出,每道門有不同的編號,就是端口號。
三、協(xié)議
協(xié)議(Protocol)就是網(wǎng)絡通信的約定,通信的雙方必須都遵守才能正常收發(fā)數(shù)據(jù)。協(xié)議有很多種,例如TCP、UDP、IP等,通信的雙方必須使用同一協(xié)議才能通信。協(xié)議是一種規(guī)范,由計算機組織制定,規(guī)定了很多細節(jié),例如,如何建立連接,如何相互識別等。
協(xié)議僅僅是一種規(guī)范,必須由計算機軟件來實現(xiàn)。例如IP協(xié)議規(guī)定了如何找到目標計算機,那么各個開發(fā)商在開發(fā)自己的軟件時就必須遵守該協(xié)議,不能另起爐灶。
所謂協(xié)議族(ProtocolFamily),就是一組協(xié)議(多個協(xié)議)的統(tǒng)稱。最常用的是TCP/IP協(xié)議族,它包含了TCP、IP、UDP、Telnet、FTP、SMTP等上百個互為關聯(lián)的協(xié)議,由于TCP、IP是兩種常用的底層協(xié)議,所以把它們統(tǒng)稱為TCP/IP協(xié)議族。