資源描述:
《tcp-ip協(xié)議解析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、TCP/IP協(xié)議是傳輸控制協(xié)議/互連網(wǎng)協(xié)議的縮寫,是目前最廣泛的協(xié)議之一。并且它是現(xiàn)在的互連網(wǎng)協(xié)議標(biāo)準(zhǔn)。TCP/IP協(xié)議共分為四層,應(yīng)用層、傳輸層、互連層和網(wǎng)絡(luò)層。它和OSI模型的對比如圖1所示。圖1TCP/IP與OSI模型的比較OSI模型是由國際標(biāo)準(zhǔn)化組織(ISO)于1984年發(fā)表出來的,在每冊講解互連網(wǎng)絡(luò)設(shè)計(jì)的專業(yè)書籍中都必不可少的要講到這個(gè)參考模型。為什么都要講解這個(gè)模型呢?因?yàn)樵?984年以前,建立計(jì)算機(jī)網(wǎng)絡(luò)都以不同的硬件設(shè)備和軟件來設(shè)計(jì)組建,在局域網(wǎng)絡(luò)內(nèi),計(jì)算機(jī)之間的訪問是暢通的,但是不同的局域網(wǎng)絡(luò)之間的通訊就成問題。因?yàn)樗鼈兪褂昧瞬煌挠布蛙浖Y(jié)構(gòu)來架設(shè),這樣就導(dǎo)致了它們之間的
2、難以溝通。解決它們之間的兼容性很困難。ISO認(rèn)識(shí)到開發(fā)一種被眾多廠商都采用的網(wǎng)絡(luò)模型的需要,因此ISO研究了眾多的網(wǎng)絡(luò)結(jié)構(gòu),例如DECnet、SNA和TCP/IP等網(wǎng)絡(luò)方案,最終發(fā)布了OSI網(wǎng)絡(luò)模型??梢钥吹剑琓CP/IP與OSI模型比較,TCP/IP少了兩層。其實(shí),這是因?yàn)門CP/IP協(xié)議將OSI模型的前三層合并為應(yīng)用層的緣故。TCP/IP各層的作用如下:應(yīng)用層應(yīng)用層的作用是應(yīng)用程序通過此層訪問網(wǎng)絡(luò)。在這一層的協(xié)議有FTP、HTTP、DNS等。這一層兼有OSI模型中的表示層和會(huì)話層的作用。傳輸層傳輸層負(fù)責(zé)在網(wǎng)絡(luò)上相互通信的主機(jī)之間提供通信會(huì)話。這一層包括兩個(gè)協(xié)議,分別對應(yīng)面向連接通信和無連
3、接通信,它們是TCP和UDP協(xié)議。其中TCP使用著名的三次握手的機(jī)制為應(yīng)用程序提供可靠的通信連接。而UDP不對包的傳輸進(jìn)行可靠保證,發(fā)出數(shù)據(jù)后,它并不保證接收端是否能夠完整的接收到這個(gè)數(shù)據(jù)包。數(shù)據(jù)的可靠傳輸只好由應(yīng)用層來負(fù)責(zé)?;ミB層互連層協(xié)議將數(shù)據(jù)包封裝成數(shù)據(jù)報(bào),并且運(yùn)行路由算法。在互連層主要有四個(gè)協(xié)議,IP、ARP、ICMP和IGMP。其中,IP協(xié)議負(fù)責(zé)在網(wǎng)絡(luò)之間尋址和路由,ARP用于IP地址到MAC地址的解析。ICMP負(fù)責(zé)發(fā)送消息并報(bào)告錯(cuò)誤,IGMP被用來向本地多路廣播路由器報(bào)告主機(jī)組成員。網(wǎng)絡(luò)層網(wǎng)絡(luò)層是TCP/IP模型的最底層。這一層負(fù)責(zé)數(shù)據(jù)包的發(fā)送和接收。現(xiàn)在用一個(gè)在互連網(wǎng)上進(jìn)行郵件
4、發(fā)送來說明模型中各層的作用。首先用OUTLOOK創(chuàng)建一封郵件,我還想將我的照片一次發(fā)送給我的朋友tyh99@126.com,于是照片以JPG的格式裝入了附件。郵件寫完后,我填入了朋友的郵箱地址,然后單擊“發(fā)送”按鈕。這時(shí)一個(gè)郵件API報(bào)頭加到數(shù)據(jù)的前面。接下來在表示層,因?yàn)閳D象格式是不能直接傳送的,因此表示層協(xié)議將圖象附件的格式轉(zhuǎn)化為純文本格式,這樣一來,數(shù)據(jù)就可以在網(wǎng)絡(luò)上傳遞了。接下來就是會(huì)話層執(zhí)行DNS解析操作,將126.com的IP地址解析出來,這樣就知道了存儲(chǔ)在126.com域名服務(wù)器上的MX記錄。會(huì)話層為本地IP和MX的IP地址之間建立了一個(gè)聯(lián)系。接下來在傳輸層,消息被分成了一個(gè)個(gè)
5、的小塊,建立了一個(gè)TCP會(huì)話,并且進(jìn)行流量控制。建立會(huì)話的過程是在網(wǎng)絡(luò)層進(jìn)行路由的。具體的尋址是IP地址由ARP協(xié)議轉(zhuǎn)化為網(wǎng)絡(luò)實(shí)體的MAC地址,在數(shù)據(jù)鏈路層就可以使用MAC地址進(jìn)行尋址通信。在數(shù)據(jù)鏈路層再一次對報(bào)文分段,將報(bào)文分割為符合介質(zhì)傳輸要求的最大傳輸單元的幀。在物理層,幀轉(zhuǎn)化為比特流進(jìn)行傳輸。在另一端的主機(jī)執(zhí)行相反操作將最終數(shù)據(jù)提取出來提交給用戶使用。在一個(gè)廣域網(wǎng)絡(luò)中,主機(jī)與主機(jī)之間是如何尋址的呢?首先是使用主機(jī)的IP地址,這是由互連層的IP協(xié)議來實(shí)現(xiàn)的。首先IP協(xié)議要判斷目標(biāo)主機(jī)和本主機(jī)是否在一個(gè)子網(wǎng)內(nèi),判斷的方法是將目標(biāo)主機(jī)的IP地址和本地子網(wǎng)的子網(wǎng)掩碼進(jìn)行與操作,如果相與后得到
6、的網(wǎng)絡(luò)地址和本地子網(wǎng)的網(wǎng)絡(luò)地址相同,則主機(jī)會(huì)認(rèn)為目標(biāo)主機(jī)和本地主機(jī)在一個(gè)子網(wǎng)內(nèi),于是開始查詢本機(jī)的ARP表,如果有目標(biāo)主機(jī)的MAC地址則使用這個(gè)地址作為數(shù)據(jù)幀的目的地址給目標(biāo)主機(jī)發(fā)送數(shù)據(jù)幀。如果在本機(jī)的ARP表中沒有目標(biāo)主機(jī)的MAC地址,則使用一個(gè)全為F的廣播MAC地址發(fā)出一條廣播,詢問目標(biāo)IP地址的MAC地址。目標(biāo)主機(jī)會(huì)給以應(yīng)答,于是這條IP地址和對應(yīng)的MAC地址就會(huì)被存入主機(jī)的ARP表。如果目標(biāo)主機(jī)的IP地址在另一個(gè)子網(wǎng)內(nèi),也就是說要發(fā)送數(shù)據(jù)的主機(jī)用本地子網(wǎng)的掩碼和目標(biāo)主機(jī)的IP地址相與操作后得到的網(wǎng)絡(luò)地址和本地子網(wǎng)的網(wǎng)絡(luò)地址不相同,這個(gè)數(shù)據(jù)幀將被發(fā)送到路由器,這時(shí)在數(shù)據(jù)幀中的目的MAC
7、地址被替換為路由器的MAC地址,但是網(wǎng)絡(luò)層地址不變,也就是目的和源IP地址不變,變化的僅僅是二層MAC地址。如果沒有路由器的MAC地址也將通過ARP協(xié)議的ARP廣播得到。然后路由器將會(huì)使用下一跳路由器的MAC地址替換數(shù)據(jù)幀中的目的MAC地址,最后在目標(biāo)網(wǎng)絡(luò)內(nèi)將數(shù)據(jù)幀傳遞給目標(biāo)主機(jī)?;綢P尋址下面對上面講到的記憶點(diǎn)中涉及到的概念做一個(gè)介紹。首先介紹一下主機(jī)的IP地址,在互連網(wǎng)上有兩種方式可以唯一的標(biāo)識(shí)主機(jī),一