下面我們分別針對(duì)在TCP/IP協(xié)議族中與HTTP密不可分的3個(gè)協(xié)議(IP、TCP霹购、DNS)進(jìn)行說明佑惠。
負(fù)責(zé)傳輸?shù)腎P協(xié)議
按層次分,IP(Internet Protocol)國際協(xié)議位于網(wǎng)絡(luò)層齐疙。Internet Protocol這個(gè)名稱可能聽起來有點(diǎn)夸張膜楷,但事實(shí)正是如此,因?yàn)閹缀跛惺褂镁W(wǎng)絡(luò)的系統(tǒng)都會(huì)用到IP協(xié)議贞奋。TCP/IP協(xié)議族中的IP指的就是網(wǎng)際協(xié)議赌厅,協(xié)議名稱裝占據(jù)一半的位置,其重要性可見一斑忆矛〔於祝可能有人會(huì)把”IP“和”IP地址“搞混,”IP“ 其實(shí)只是一種協(xié)議的名稱催训。
IP協(xié)議的作用是把各種數(shù)據(jù)包傳送給對(duì)方洽议。而要確保確實(shí)傳送到對(duì)方的那里,則需要滿足各類條件漫拭。其中兩個(gè)重要的條件是IP地址和MAC地址(Media Access Control Address)
IP地址指明了節(jié)點(diǎn)被分配到的地址亚兄,MAC地址是指網(wǎng)卡所屬的固定地址。IP地址可以和MAC地址進(jìn)行配對(duì)采驻。IP地址可變換审胚,但不MAC地址基本上不會(huì)更改。
使用ARP協(xié)議憑借MAC地址進(jìn)行通信
IP間的通信依賴MAC地址礼旅。在網(wǎng)絡(luò)上膳叨,通信的雙方在同一局域網(wǎng)(LAN)內(nèi)的情況是很少的,通常是經(jīng)過多臺(tái)計(jì)算機(jī)和網(wǎng)絡(luò)設(shè)備中轉(zhuǎn)才能連接到對(duì)方痘系。而在進(jìn)行中轉(zhuǎn)時(shí)菲嘴,會(huì)利用下一站中轉(zhuǎn)設(shè)備的MAC地址來搜索下一個(gè)中轉(zhuǎn)目標(biāo)。這時(shí)汰翠,會(huì)采用ARP協(xié)議(Address Resolution Protocol)龄坪。ARP是一種用以解析地址的協(xié)議,根據(jù)通信方的IP地址就可以反查出對(duì)應(yīng)的MAC地址复唤。
確苯√铮可靠的TCP協(xié)議
按層次分,TCP位于傳輸層佛纫,提供可靠的字節(jié)流服務(wù)妓局。
所謂的字節(jié)流服務(wù)(Byte Stream Server)是指,為了方便傳輸呈宇,將大塊數(shù)據(jù)分割成以報(bào)文段(segment)為單位的數(shù)據(jù)包進(jìn)行管理跟磨。而可靠的傳輸服務(wù)是指,能夠吧數(shù)據(jù)準(zhǔn)確可靠的傳給對(duì)方攒盈。一言以蔽之抵拘,TCP協(xié)議為了更容易的傳送大數(shù)據(jù)才把數(shù)據(jù)分割,而且TCP協(xié)議能夠確認(rèn)數(shù)據(jù)最終是否送達(dá)對(duì)方型豁。
為了準(zhǔn)確無誤的講數(shù)據(jù)送達(dá)目標(biāo)處僵蛛,TCP協(xié)議采用了三次握手(three-way handshaking)策略。用TCP協(xié)議吧數(shù)據(jù)包送出去后迎变,TCP不會(huì)對(duì)傳送后的情況置之不理充尉,他一定會(huì)向?qū)Ψ酱_認(rèn)是否成功送達(dá)。握手過程中使用了TCP的標(biāo)志(flag)————SYN(synchronize)和ACK(acknowledgement)衣形。
發(fā)送端首先發(fā)送一個(gè)帶SYN標(biāo)志的數(shù)據(jù)包給對(duì)方驼侠。接收端收到后姿鸿,回傳一個(gè)帶有SYN/ACK標(biāo)志的數(shù)據(jù)包以示傳達(dá)確認(rèn)信息。最后倒源,發(fā)送端再回傳一個(gè)帶ACK標(biāo)志的數(shù)據(jù)包苛预,代表“握手”結(jié)束。
若握手過程中某個(gè)階段莫名中斷笋熬,TCP協(xié)議會(huì)再次以相同的順序發(fā)送相同的數(shù)據(jù)包热某。