【1】TCP/IP协议族详解-概述
聲明:本博客參考《TCP/IP詳解卷一:協(xié)議》
1.背景介紹
TCP/IP起源于6 0年代末美國(guó)政府資助的一個(gè)分組交換網(wǎng)絡(luò)研究項(xiàng)目,到 9 0年代已發(fā)展成為計(jì)算機(jī)之間最常應(yīng)用的組網(wǎng)形式。它是一個(gè)真正的開放系統(tǒng),因?yàn)閰f(xié)議族的定義及其多種實(shí)現(xiàn)可以不用花錢或花很少的錢就可以公開地得到。它成為被稱作“全球互聯(lián)網(wǎng)”或“因特網(wǎng)(Internet)”的基礎(chǔ)。
2.網(wǎng)絡(luò)分層
?
上面左圖,是通常認(rèn)為的TCP/IP四層協(xié)議系統(tǒng),在該系統(tǒng)中未考慮物理層。右圖展示了OSI七層模型與TCP/IP協(xié)議族模型之間的關(guān)系。下面詳細(xì)介紹每一層的功能:
(1)鏈路層:有時(shí)也稱作數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動(dòng)程序和計(jì)算機(jī)中對(duì)應(yīng)的網(wǎng)絡(luò)接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細(xì)節(jié)。
(2)網(wǎng)絡(luò)層:有時(shí)也稱作互聯(lián)網(wǎng)層,處理分組在網(wǎng)絡(luò)中的活動(dòng),例如分組的選路。常見的協(xié)議有IP協(xié)議(網(wǎng)際協(xié)議),ICMP協(xié)議(Internet互聯(lián)網(wǎng)控制報(bào)文協(xié)議),以及IGMP協(xié)議(Internet組管理協(xié)議)。
(3)運(yùn)輸層主要為兩臺(tái)主機(jī)上的應(yīng)用程序提供端到端的通信。在TCP/IP協(xié)議族中,主要有兩個(gè)不同的協(xié)議:TCP(傳輸控制協(xié)議)、UDP(用戶數(shù)據(jù)協(xié)議)。其中UDP速度快,不安全。TCP速度慢,使命必達(dá)。
(4)?應(yīng)用層負(fù)責(zé)處理特定的應(yīng)用程序細(xì)節(jié)。主要的協(xié)議有:Telnet遠(yuǎn)程登陸、FTP文件傳輸協(xié)議、SMTP簡(jiǎn)單郵件傳輸協(xié)議、SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議。
使用較多的都是C/S(client/server)模型,這里就拿C/S模型來舉例說明,協(xié)議分層的意義
①單網(wǎng)絡(luò)(局域網(wǎng)LAN)
關(guān)于圖片的說明
1>這是一個(gè)FTP客戶端程序和另一個(gè)FTP服務(wù)器程序的示例。
2>我們注意到應(yīng)用程序通常是一個(gè)用戶進(jìn)程,而下三層則一般在(操作系統(tǒng))內(nèi)核中執(zhí)行。但這不是必須的,要依照操作系統(tǒng)而定。
3>每一幀數(shù)據(jù)的傳輸?shù)捻樞蚨际?假定是從客戶端到服務(wù)器的數(shù)據(jù)):應(yīng)用層->運(yùn)輸層->網(wǎng)絡(luò)層->鏈路層->鏈路層->網(wǎng)絡(luò)層->運(yùn)輸層->應(yīng)用層。
②互聯(lián)網(wǎng)(廣域網(wǎng)WAN)
相比于上圖,本圖加了一個(gè)路由器。構(gòu)造互連網(wǎng)最簡(jiǎn)單的方法是把兩個(gè)或多個(gè)網(wǎng)絡(luò)通過路由器進(jìn)行連接。是一種特殊的用于網(wǎng)絡(luò)互連的硬件盒。路由器的好處是為不同類型的物理網(wǎng)絡(luò)提供連接:以太網(wǎng)、令牌環(huán)網(wǎng)、點(diǎn)對(duì)點(diǎn)的鏈接和FDDI(光纖分布式數(shù)據(jù)接口)等等。
連接網(wǎng)絡(luò)的另一個(gè)途徑是使用網(wǎng)橋。網(wǎng)橋是在鏈路層上對(duì)網(wǎng)絡(luò)進(jìn)行互連,而路由器則是在網(wǎng)絡(luò)層上對(duì)網(wǎng)絡(luò)進(jìn)行互連。網(wǎng)橋使得多個(gè)局域網(wǎng)(LAN)組合在一起,這樣對(duì)上層來說就好像是一個(gè)局域網(wǎng)。TCP /IP傾向于使用路由器而不是網(wǎng)橋來連接網(wǎng)絡(luò),因此我們將著重介紹路由器。
互聯(lián)網(wǎng)的目的之一是在應(yīng)用程序中隱藏所有的物理細(xì)節(jié)。雖然這一點(diǎn)在上圖由兩個(gè)網(wǎng)絡(luò)組成的互聯(lián)網(wǎng)中并不很明顯,但是應(yīng)用層不能關(guān)心(也不關(guān)心)一臺(tái)主機(jī)是在以太網(wǎng)上,而另一臺(tái)主機(jī)是在令牌環(huán)網(wǎng)上,它們通過路由器進(jìn)行互連。隨著增加不同類型的物理網(wǎng)絡(luò),可能會(huì)有2 0個(gè)路由器,但應(yīng)用層仍然是一樣的。物理細(xì)節(jié)的隱藏使得互聯(lián)網(wǎng)功能非常強(qiáng)大,也非常有用。
在TCP/IP協(xié)議族中,不同的協(xié)議在不同的層,下圖簡(jiǎn)單說明了這一點(diǎn)。
3.IP地址
互聯(lián)網(wǎng)上的每個(gè)接口必須有一個(gè)唯一的Internet地址(也稱作IP地址)。IP地址長(zhǎng)32 bit(IPv4)。下圖展示了五類不同的IP地址
需要注意的是多接口主機(jī)具有多個(gè)IP地址,其中每個(gè)接口都對(duì)應(yīng)一個(gè)IP地址。
說到IP地址就不得不提到域名,我們平時(shí)訪問網(wǎng)絡(luò)都是使用域名,沒有人會(huì)去記住晦澀的IP地址,這就要?dú)w功于DNS(域名系統(tǒng))的功勞了,DNS是一個(gè)分布式的數(shù)據(jù)庫。我在后面的博客中會(huì)進(jìn)行介紹。
4.數(shù)據(jù)封裝和分用
數(shù)據(jù)通過互聯(lián)網(wǎng)傳輸?shù)臅r(shí)候不可能是光禿禿的不加標(biāo)識(shí),如果這樣數(shù)據(jù)就會(huì)亂。所以數(shù)據(jù)在發(fā)送的時(shí)候需要進(jìn)行封裝,加上特定標(biāo)識(shí)。在數(shù)據(jù)使用的時(shí)候再去掉標(biāo)識(shí),去掉標(biāo)識(shí)的過程就叫做分用。
用戶數(shù)據(jù)經(jīng)過各層都會(huì)打上標(biāo)識(shí),添加上頭部。其中IP首部會(huì)標(biāo)識(shí)數(shù)據(jù)的協(xié)議類型:TCP、UDP、ICMP、IGMP中的一種。 IP在首部中存入一個(gè)長(zhǎng)度為8 b i t的數(shù)值,稱作協(xié)議域。?1表示為ICMP協(xié)議,2表示為IGMP協(xié)議,6表示為TCP協(xié)議,17表示為UDP協(xié)議。類似地,許多應(yīng)用程序都可以使用 T C P或U D P來傳送數(shù)據(jù)。運(yùn)輸層協(xié)議在生成報(bào)文首部時(shí)要存入一個(gè)應(yīng)用程序的標(biāo)識(shí)符。 T C P和U D P都用一個(gè)1 6 b i t的端口號(hào)來表示不同的應(yīng)用程序。T C P和U D P把源端口號(hào)和目的端口號(hào)分別存入報(bào)文首部中。網(wǎng)絡(luò)接口分別要發(fā)送和接收 I P、A R P和R A R P數(shù)據(jù),因此也必須在以太網(wǎng)的幀首部中加入某種形式的標(biāo)識(shí),以指明生成數(shù)據(jù)的網(wǎng)絡(luò)層協(xié)議。為此,以太網(wǎng)的幀首部也有一個(gè) 16 bit的幀類型域。
上圖展示了數(shù)據(jù)的分用,這是封裝的一個(gè)逆過程。
5.端口號(hào)
前面已經(jīng)指出過,TCP和UDP采用16 bit的端口號(hào)來識(shí)別應(yīng)用程序。服務(wù)器一般都是通過知名端口號(hào)來識(shí)別的。例如:FTP:21(TCP),Telnet:23(TCP),TFTP:69(UDP)。注意TCP和UDP端口是獨(dú)立的,即一個(gè)端口TCP使用了,UDP仍然可以用。任何T C P / I P實(shí)現(xiàn)所提供的服務(wù)都用知名的 1~1 0 2 3之間的端口號(hào)。這些知名端口號(hào)由Intenet號(hào)分配機(jī)構(gòu)來管理。大于1024的端口可以讓用戶來使用。但是這種規(guī)則只是對(duì)大多數(shù)操作系統(tǒng)而言,也會(huì)有例外。一些服務(wù)進(jìn)程使用端口示例:
總結(jié)
以上是生活随笔為你收集整理的【1】TCP/IP协议族详解-概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白嫖项目基于ssm房屋租赁系统源码【开源
- 下一篇: 工欲善其事,必先利其器(工具全集及其用途