(建議在學(xué)習(xí)本篇知識(shí)時(shí)先閱讀我關(guān)于OSI的文章) 在上一篇文章中,我們?cè)敿?xì)介紹了OSI模型,對(duì)每一層的功能和作用都做了解釋說明.在文章的最后也說到,OSI是一個(gè)理想化的模型,因?yàn)樵谠O(shè)計(jì)之初未能考慮到實(shí)際應(yīng)用的成本問題,所以只實(shí)現(xiàn)了自下而上的五層功能,并沒有大規(guī)模使用。于是經(jīng)過科研人員的研究,一個(gè)新的模型被廣泛應(yīng)用——TCP/IP協(xié)議(互聯(lián)網(wǎng)協(xié)議)。那么相較于之前的OSI模型,TCP/IP做了哪些改動(dòng),是怎么工作的,又有哪些優(yōu)勢(shì)呢?我會(huì)繞過一些復(fù)雜的協(xié)議說明,如TCP如何進(jìn)行ip地址轉(zhuǎn)換,ICMP,廣播等等,將最關(guān)鍵的地方著重說明。 TCP/IP模型TCP/IP協(xié)議實(shí)際上是一個(gè)協(xié)議簇,包括TCP和ip。在講TCP/IP之前,我們需要明白什么叫做通信協(xié)議, 為了減少網(wǎng)絡(luò)設(shè)計(jì)的復(fù)雜性,大多數(shù)網(wǎng)絡(luò)都采用分層結(jié)構(gòu)。對(duì)于不同的網(wǎng)絡(luò),層的數(shù)量、名字、內(nèi)容和功能都不盡相同。在相同的網(wǎng)絡(luò)中,一臺(tái)機(jī)器上的第N層與另一臺(tái)機(jī)器上的第N層可利用第N層協(xié)議進(jìn)行通信。協(xié)議就是規(guī)定雙方關(guān)于如何進(jìn)行通信所達(dá)成的一致的規(guī)則。 為了加強(qiáng)理解,我們把OSI模型和TCP/IP放在一起比較學(xué)習(xí): TCP/I[模型對(duì)OSI做了簡化處理 可以看到,TCP/ip協(xié)議將上層協(xié)議簡化,統(tǒng)稱應(yīng)用層。這樣做的好處是大大減少維護(hù)上層所需要的成本。下四層基本不變,具體功能和在上篇中已有詳細(xì)說明,此處再不贅述。 TCP/IP協(xié)議由傳輸層的TCP協(xié)議和網(wǎng)絡(luò)層的IP協(xié)議所構(gòu)成,要想了解該模型的結(jié)構(gòu),我們需要對(duì)TCP和IP協(xié)議有了解 TCP協(xié)議:TCP是面向連接的通信協(xié)議,通過三次握手建立連接,通訊完成時(shí)要拆除連接(四次揮手),由于TCP是面向連接的所以只能用于端到端的通訊 提供的是一種可靠的數(shù)據(jù)流服務(wù),采用“帶重傳的肯定確認(rèn)”技術(shù)來實(shí)現(xiàn)傳輸?shù)目煽啃浴CP還采用一種稱為“滑動(dòng)窗口”的方式進(jìn)行流量控制,所謂窗口實(shí)際表示接收能力,用以限制發(fā)送方的發(fā)送速度。 三次握手是TCP的靈魂 關(guān)鍵詞:可靠,面向連接,三次握手,四次揮手,提供錯(cuò)誤處理(重發(fā)確認(rèn)機(jī)制) 既然提到了TCP,必須提到另一個(gè)十分重要的傳輸協(xié)議——UDP。 UDP協(xié)議:面向無連接的通訊協(xié)議,UDP數(shù)據(jù)包括目的端口號(hào)和源端口號(hào)信息,由于通訊不需要連接,所以可以實(shí)現(xiàn)廣播發(fā)送。 關(guān)鍵詞:面向無連接,不可靠,不提供錯(cuò)誤處理,優(yōu)點(diǎn)是速度快。 下面我們來著重說明一下IP協(xié)議:目前ip版本有IPV4和IPV6,由于IPV6并未大量使用,我們只針對(duì)IPv4來講解。 首先來介紹一下MAC地址,每一臺(tái)設(shè)備都有自己唯一的MAC地址,不可更改,不會(huì)重復(fù),用來標(biāo)志自身位置。 大家都聽過IP地址這個(gè)詞,IP地址是指互聯(lián)網(wǎng)協(xié)議地址,它為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配一個(gè)邏輯地址,不同的用戶在不同的時(shí)間段可能使用同一個(gè)IP地址。 IPV4被分為五大類:ABCDE A類為:點(diǎn)分四組中的第一組地址范圍為0~127的IP地址。已二進(jìn)制來看就是“首位為0” B類:128~191.二進(jìn)制首位為10 C類:192~223.二進(jìn)制首位為110 D類:224~239.二進(jìn)制首位為1110 E類:240~255.二進(jìn)制首位為1111 不同類的IP地址用法也不同,這里我們不做具體討論,此外還有超網(wǎng)技術(shù)(CIDR),我會(huì)在以后的文章中將兩者放在一起講解。 不是所有的地址都可以給用戶使用,有些地址是特定的,比如127.0.0.0,這是回環(huán)地址,用來檢測(cè)本地網(wǎng)絡(luò)是否可以ping通;E類地址是留作做研究,也不能給用戶使用。 IP協(xié)議工作過程比較復(fù)雜,簡而言之有兩大作用,具體為: 1.尋址與路由: (a)用IP地址來標(biāo)識(shí)Internet的主機(jī):在每個(gè)IP數(shù)據(jù)報(bào)中,都會(huì)攜帶源IP地址和目IP地址來標(biāo)識(shí)該IP數(shù)據(jù)報(bào)的源和目的主機(jī)。IP數(shù)據(jù)報(bào)在傳輸過程中,每個(gè)中間節(jié)點(diǎn)(IP 網(wǎng)關(guān))還需要為其選擇從源主機(jī)到目的主機(jī)的合適的轉(zhuǎn)發(fā)路徑(即路由)。IP協(xié)議可以根據(jù)路由選擇協(xié)議提供的路由信息對(duì)IP數(shù)據(jù)報(bào)進(jìn)行轉(zhuǎn)發(fā),直至抵達(dá)目的主機(jī)。 (b)IP地址和MAC地址的匹配,ARP協(xié)議。數(shù)據(jù)鏈路層使用MAC地址來發(fā)送數(shù)據(jù)幀,因此在實(shí)際發(fā)送IP報(bào)文時(shí),還需要進(jìn)行IP地址和MAC地址的匹配,由TCP/IP協(xié)議簇中的ARP(地址解析協(xié)議)完成。 2.分段與重組。 (a) IP數(shù)據(jù)報(bào)通過不同類型的通信網(wǎng)絡(luò)發(fā)送,IP數(shù)據(jù)報(bào)的大小會(huì)受到這些網(wǎng)絡(luò)所規(guī)定的最大傳輸單元(MTU)的限制。 相比介紹到這里,大家對(duì)TCP/IP協(xié)議也有了一定的了解,但是,他具體的執(zhí)行流程是怎么樣,使用了那些協(xié)議?這些協(xié)議的作用又是什么呢?這些知識(shí)涉及到的知識(shí)點(diǎn)非常多,我會(huì)在日后的文章中為大家一一說明。 |
|