TCP/IP协议簇分层详解---转
http://blog.csdn.net/hankscpp/article/details/8611229
一、 TCP/IP 和 ISO/OSI
? ? ? ? ISO/OSI模型,即開放式通信系統(tǒng)互聯(lián)參考模型(Open System Interconnection Reference Model),是國際標(biāo)準化組織(ISO)提出的一個試圖使各種計算機在世界范圍內(nèi)互連為網(wǎng)絡(luò)的標(biāo)準框架,簡稱OSI。
? ? ? ??TCP/IP協(xié)議模型(Transmission Control Protocol/Internet Protocol),包含了一系列構(gòu)成互聯(lián)網(wǎng)基礎(chǔ)的網(wǎng)絡(luò)協(xié)議,是Internet的核心協(xié)議,通過20多年的發(fā)展已日漸成熟,并被廣泛應(yīng)用于局域網(wǎng)和廣域網(wǎng)中,目前已成為事實上的國際標(biāo)準。TCP/IP協(xié)議簇是一組不同層次上的多個協(xié)議的組合,通常被認為是一個四層協(xié)議系統(tǒng),與OSI的七層模型相對應(yīng)。
?
二、 TCP/IP分層模型
? ?(1). 鏈路層
? ? ? ? 也稱作數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層(在第一個圖中為網(wǎng)絡(luò)接口層和硬件層),通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序和計算機中對應(yīng)的網(wǎng)絡(luò)接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細節(jié)。ARP(地址解析協(xié)議)和RARP(逆地址解析協(xié)議)是某些網(wǎng)絡(luò)接口(如以太網(wǎng)和令牌環(huán)網(wǎng))使用的特殊協(xié)議,用來轉(zhuǎn)換IP層和網(wǎng)絡(luò)接口層使用的地址。
? ?(2). 網(wǎng)絡(luò)層
? ? ? ??也稱作互聯(lián)網(wǎng)層(在第一個圖中為網(wǎng)際層),處理分組在網(wǎng)絡(luò)中的活動,例如分組的選路。在TCP/IP協(xié)議族中,網(wǎng)絡(luò)層協(xié)議包括IP協(xié)議(網(wǎng)際協(xié)議),ICMP協(xié)議(Internet互聯(lián)網(wǎng)控制報文協(xié)議),以及IGMP協(xié)議(Internet組管理協(xié)議)。
? ? ? ??IP是一種網(wǎng)絡(luò)層協(xié)議,提供的是一種不可靠的服務(wù),它只是盡可能快地把分組從源結(jié)點送到目的結(jié)點,但是并不提供任何可靠性保證。同時被TCP和UDP使用。TCP和UDP的每組數(shù)據(jù)都通過端系統(tǒng)和每個中間路由器中的IP層在互聯(lián)網(wǎng)中進行傳輸。
? ? ? ??ICMP是IP協(xié)議的附屬協(xié)議。IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息。
? ? ? ??IGMP是Internet組管理協(xié)議。它用來把一個UDP數(shù)據(jù)報多播到多個主機。
? ? (3). 傳輸層
? ? ? ??主要為兩臺主機上的應(yīng)用程序提供端到端的通信。在TCP/IP協(xié)議族中,有兩個互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。
? ? ? ? TCP為兩臺主機提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認接收到的分組,設(shè)置發(fā)送最后確認分組的超時時鐘等。由于運輸層提供了高可靠性的端到端的通信,因此應(yīng)用層可以忽略所有這些細節(jié)。為了提供可靠的服務(wù),TCP采用了超時重傳、發(fā)送和接收端到端的確認分組等機制。
? ? ? ??UDP則為應(yīng)用層提供一種非常簡單的服務(wù)。它只是把稱作數(shù)據(jù)報的分組從一臺主機發(fā)送到另一臺主機,但并不保證該數(shù)據(jù)報能到達另一端。一個數(shù)據(jù)報是指從發(fā)送方傳輸?shù)浇邮辗降囊粋€信息單元(例如,發(fā)送方指定的一定字節(jié)數(shù)的信息)。UDP協(xié)議任何必需的可靠性必須由應(yīng)用層來提供。
? ?(4). 應(yīng)用層
? ? ? ??應(yīng)用層負責(zé)處理特定的應(yīng)用程序細節(jié)。
?
三、 數(shù)據(jù)的封裝與分用
?
? ? ? ? 當(dāng)應(yīng)用程序用TCP傳送數(shù)據(jù)時,數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個通過每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。其中每一層對收到的數(shù)據(jù)都要增加一些首部信息(有時還要增加尾部信息),該過程如圖所示。
? ? ? ? TCP傳給IP的數(shù)據(jù)單元稱作TCP報文段或簡稱為TCP段(TCP?segment);UDP數(shù)據(jù)與TCP數(shù)據(jù)基本一致。唯一的不同是UDP傳給IP的信息單元稱作U D P數(shù)據(jù)報(UDP datagram),而且UDP的首部長為8字節(jié)。IP傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱作IP數(shù)據(jù)報(IP datagram)。通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀(Frame )。
?
?
? ? ? ? 當(dāng)目的主機收到一個以太網(wǎng)數(shù)據(jù)幀時,數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時去掉各層協(xié)議加上的報文首部。每層協(xié)議盒都要去檢查報文首部中的協(xié)議標(biāo)識,以確定接收數(shù)據(jù)的上層協(xié)議。這個過程稱作分用(Demultiplexing)。協(xié)議是通過目的端口號、源I P地址和源端口號進行解包的。
?
四、 其他相關(guān)概念
? ?(1) IP地址
? ? ? ??互聯(lián)網(wǎng)上的每個接口必須有一個唯一的Internet地址(也稱作IP地址)。IP地址長32 bit。Internet地址并不采用平面形式的地址空間,如1、2、3等。IP地址具有一定的結(jié)構(gòu),五類不同的互聯(lián)網(wǎng)地址格式如下:
? ?(2). 端口號
? ? ? ??服務(wù)器一般都是通過知名端口號來識別的。例如,對于每個TCP/IP實現(xiàn)來說,FTP服務(wù)器的TCP端口號都是21,每個Telnet服務(wù)器的TCP端口號都是23,每個TFTP (簡單文件傳送協(xié)議)服務(wù)器的UDP端口號都是69。任何TCP/IP實現(xiàn)所提供的服務(wù)都用知名的1~1023之間的端口號。這些知名端口號由Internet號分配機構(gòu)(Internet Assigned Numbers Authority, IANA)來管理。知名端口號介于1~255之間;256~1023之間的端口號通常都是由Unix系統(tǒng)占用,以提供一些特定的Unix服務(wù);1024~5000端口號用于客戶端分配臨時端口號;大于5000的端口號是為其他服務(wù)器預(yù)留的。
? ?(3). DNS
? ? ? ??DNS 是計算機域名系統(tǒng) (Domain Name System 或Domain Name Service) 的縮寫,它是由解析器以及域名服務(wù)器組成的。域名服務(wù)器是指保存有該網(wǎng)絡(luò)中所有主機的域名和對應(yīng)IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務(wù)器。
?
?
注:本文章主要內(nèi)容來自《TCP/IP詳解 ·卷1:協(xié)議》第一章,是個人閱讀后的簡單總結(jié),希望對大家有幫助。 如有紕漏,歡迎指正交流,轉(zhuǎn)載請注明出處。轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/3510782.html
總結(jié)
以上是生活随笔為你收集整理的TCP/IP协议簇分层详解---转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ping 原理与ICMP协议---转
- 下一篇: java.net.SocketExcep