IP地址是一個規定,現在使用的是IPv4,既由4個0-255之間的數字組成,在計算機內部存儲時只需要4個字節即可。在計算機中,IP地址是分配給網卡的,每個網卡有一個唯一的IP地址,如果一個計算機有多個網卡,則該台計算機則擁有多個不同的IP地址,在同一個網絡內部,IP地址不能相同。IP地址的概念類似於電話號碼、身份證這樣的概念。
由於IP地址不方便記憶,所以有專門創造了域名(Domain Name)的概念,其實就是給IP取一個字符的名字,例如163.com、sina.com等。IP和域名之間存在一定的對應關系。如果把IP地址類比成身份證號的話,那么域名就是你的姓名。一台擁有IP地址的主機可以提供許多服務,比如Web服務、FTP服務、SMTP服務等,這些服務完全可以通過1個IP地址來實現。那么,主機是怎樣區分不同的網絡服務呢?顯然不能只靠IP地址,因為IP 地址與網絡服務的關系是一對多的關系。實際上是通過“IP地址+端口號”來區分不同的服務的。
其實在網絡中只能使用IP地址進行數據傳輸,所以在傳輸以前,需要把域名轉換為IP,這個由稱作DNS的服務器專門來完成。 所以在網絡編程中,可以使用IP或域名來標識網絡上的一台設備。
為了在一台設備上可以運行多個程序,人為的設計了端口(Port)的概念,類似的例子是公司內部的分機號碼。規定一個設備有216個,也就是65536個端口,每個端口對應一個唯一的程序。每個網絡程序,無論是客戶端還是服務器端,都對應一個或多個特定的端口號。由於0-1024之間多被操作系統占用,所以實際編程時一般采用1024以后的端口號。 下面是一些常見的服務對應的端口:
ftp:23,telnet:23,smtp:25,dns:53,http:80,https:443
使用端口號,可以找到一台設備上唯一的一個程序。 所以如果需要和某台計算機建立連接的話,只需要知道IP地址或域名即可,但是如果想和該台計算機上的某個程序交換數據的話,還必須知道該程序使用的端口號。
數據傳輸方式 在網絡上,不管是有線傳輸還是無線傳輸,數據傳輸的方式有兩種:
TCP(Transfer Control Protocol) 傳輸控制協議方式,該傳輸方式是一種穩定可靠的傳送方式,類似於現實中的打電話。只需要建立一次連接,就可以多次傳輸數據。就像電話只需要撥一次號,就可以實現一直通話一樣,如果你說的話不清楚,對方會要求你重復,保證傳輸的數據可靠。 使用該種方式的優點是穩定可靠,缺點是建立連接和維持連接的代價高,傳輸速度不快。
UDP(User Datagram Protocol) 用戶數據報協議方式,該傳輸方式不建立穩定的連接,類似於發短信息。每次發送數據都直接發送。發送多條短信,就需要多次輸入對方的號碼。該傳輸方式不可靠,數據有可能收不到,系統只保證盡力發送。 使用該種方式的優點是開銷小,傳輸速度快,缺點是數據有可能會丟失。 在實際的網絡編程中,大家可以根據需要選擇任何一種傳輸方式,或組合使用這兩種方式實現數據的傳遞。
文章轉載自:http://blog.csdn.net/luckyaslan/article/details/7745245