網(wǎng)絡(luò)模型
OSI(Open System Interconnection)開放系統(tǒng)互連:參考模型
TCP/IP
網(wǎng)絡(luò)通訊要素
IP地址
端口號(hào)
傳輸協(xié)議
網(wǎng)絡(luò)參考模型
7層OSI模型的基本概念要了解
要真正實(shí)現(xiàn)網(wǎng)絡(luò)通訊,首先要找到IP地址,IP地址是網(wǎng)絡(luò)通訊的1大要素
IP地址:InetAddress
網(wǎng)絡(luò)中裝備標(biāo)識(shí)
不容易記憶,可用本機(jī)名
本地回環(huán)地址:127.0.0.1,這個(gè)地址,只為訪問本機(jī)
IP地址是對(duì)外暴露的標(biāo)識(shí),可以通過獲得IP地址,訪問
為了進(jìn)行利用程序的標(biāo)識(shí)辨別,就提供了1些數(shù)字來標(biāo)識(shí)利用程序,比如QQ 用4000來標(biāo)識(shí),我的電腦QQ發(fā)消息,發(fā)送到IP 地址是: 192.168.0.1 的編號(hào)為4000的利用程序上。而這些數(shù)字就是(邏輯)端口。
機(jī)箱上的端口:是物理端口
端口號(hào)
用于標(biāo)識(shí)進(jìn)程的邏輯地址,不同進(jìn)程的標(biāo)識(shí)
有效端口,0~65535,其中0~1024系統(tǒng)使用或保存端口。
也就是說盡可能保證( 1024 < 端口編號(hào) <= 65535)
而防火墻,就是利用端口實(shí)現(xiàn)的,比如QQ的端口號(hào)是4000,防火墻設(shè)置,端口4000的數(shù)據(jù),制止發(fā)送,就使得QQ沒法連接到網(wǎng)絡(luò)
IP對(duì)象
IP地址比較復(fù)雜,在Java中也就被封裝成了對(duì)象,java.net包中提供了網(wǎng)絡(luò)傳輸觸及的對(duì)象
類 InetAddress:此類表示http://www.vxbq.cn/Internet/協(xié)議 (IP) 地址。
InetAdress類下有Inet4Address,Inet6Address兩大類,使IP地址,不容易沖突
存在于網(wǎng)際層,該層能辨認(rèn)IP地址,能封裝IP地址
InetAdress對(duì)象,無構(gòu)造函數(shù),說明肯定有方法返回對(duì)象,而且是靜態(tài)方法
簡(jiǎn)單演示
域名解析
正常在訪問主機(jī)時(shí),比如訪問網(wǎng)易的主機(jī),網(wǎng)易的主機(jī),不過就是1臺(tái)計(jì)算機(jī)存儲(chǔ)1些數(shù)據(jù),主機(jī)有1個(gè)IP地址,
假定127.0.0.1,存儲(chǔ)著網(wǎng)易的網(wǎng)絡(luò)資源
雖然在訪問網(wǎng)站的時(shí)候,是域名,但實(shí)際上是IP地址,http://127.0.0.1,初期就是IP地址,但是IP地址有可能對(duì)應(yīng)對(duì)應(yīng)多個(gè)主機(jī)
所以就有了www(萬維網(wǎng)).域名.com(屬于商業(yè)化組織).cn(所屬國(guó)家種別)
IP地址和域名有著對(duì)應(yīng)關(guān)系,在http://www.vxbq.cn/Internet/有1些主機(jī),存儲(chǔ)的就是這些對(duì)應(yīng)關(guān)系,這就是域名解析,而這些主機(jī)就是DNS(域名解析http://www.vxbq.cn/server/),只有DNS才記錄網(wǎng)易的IP地址,DNS把IP地址返回你的計(jì)算機(jī),再走網(wǎng)易
想提高解析速度,就能夠?qū)崿F(xiàn)本地解析,在本地創(chuàng)建1張域名解析列表,主機(jī)本身就自帶了,只需我們?nèi)ヅ渲帽憧桑?/span>
C:WindowsSystem32driversetc
域名解析時(shí),先走的不是http://www.vxbq.cn/Internet/,而是本機(jī),本機(jī)失敗再到http://www.vxbq.cn/Internet/,解析
所以,由此,就能夠在閱讀1些網(wǎng)站時(shí),可以屏蔽1些網(wǎng)站的垃圾廣告,將廣告網(wǎng)站的域名記錄,配置在本地
127.0.0.1 XXXXX,這樣就會(huì)先在本地用自己的IP解析,網(wǎng)站也就打不開,不走h(yuǎn)ttp://www.vxbq.cn/Internet/。
360屏蔽網(wǎng)址也是這個(gè)原理
Socket(插座)
學(xué)習(xí)傳輸協(xié)議,就要先了解Socket
要進(jìn)行網(wǎng)絡(luò)傳輸就必須有兩個(gè)端點(diǎn),這兩個(gè)端點(diǎn)想要通訊,就必須連接,端點(diǎn)就能夠理解為Socket
Socket是為網(wǎng)絡(luò)服務(wù)提供的1種機(jī)制
通訊的兩端想要通訊必須有Socket
網(wǎng)絡(luò)通訊其實(shí)就是Socket間的通訊
數(shù)據(jù)在兩個(gè)Socket間通過IO傳輸
所以網(wǎng)絡(luò)編程也能夠叫Socket編程