第1章 概述
TCP/IP起源于60年代末美國政府資助的一個分組交換網(wǎng)絡(luò)研究項(xiàng)目,到90年代已發(fā)展成為計算機(jī)之間最常應(yīng)用的組網(wǎng)形式。
分層
網(wǎng)絡(luò)協(xié)議通常分不同層次進(jìn)行開發(fā),每一層分別負(fù)責(zé)不同的通信功能。一個協(xié)議族,比如TCP/IP,是一組不同層次上的多個協(xié)議的組合。TCP/IP通常被認(rèn)為是一個四層協(xié)議系統(tǒng),每一層負(fù)責(zé)不同的功能:
1) 鏈路層,有時也稱作數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序和計算機(jī)中對應(yīng)的網(wǎng)絡(luò)接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細(xì)節(jié)。
2) 網(wǎng)絡(luò)層,有時也稱作互聯(lián)網(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é)議)。
3 ) 運(yùn)輸層主要為兩臺主機(jī)上的應(yīng)用程序提供端到端的通信。在TCP/IP協(xié)議族中,有兩個互不相同的傳輸協(xié)議: TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。
TCP為兩臺主機(jī)提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時時鐘等。由于運(yùn)輸層提供了高可靠性的端到端的通信,因此應(yīng)用層可以忽略所有這些細(xì)節(jié)。
UDP則為應(yīng)用層提供一種非常簡單的服務(wù)。它只是把稱作數(shù)據(jù)報的分組從一臺主機(jī)發(fā)送到另一臺主機(jī),但并不保證該數(shù)據(jù)報能到達(dá)另一端。任何必需的可靠性必須由應(yīng)用層來提供。
4 ) 應(yīng)用層負(fù)責(zé)處理特定的應(yīng)用程序細(xì)節(jié)。幾乎各種不同的TCP/IP實(shí)現(xiàn)都會提供下面這些通用的應(yīng)用程序:
• Telnet 遠(yuǎn)程登錄。
• FTP 文件傳輸協(xié)議。
• SMTP 簡單郵件傳送協(xié)議。
• SNMP 簡單網(wǎng)絡(luò)管理協(xié)議。
互聯(lián)網(wǎng)地址(IP地址)
Internet 上的每臺主機(jī)(Host)都有一個唯一的IP地址。IP協(xié)議就是使用這個地址在主機(jī)之間傳遞信息,這是Internet 能夠運(yùn)行的基礎(chǔ)。IP地址的長度為32位,分為4段,每段8位,用十進(jìn)制數(shù)字表示,每段數(shù)字范圍為0~255,段與段之間用句點(diǎn)隔開。例如159.226.1.1。IP地址有兩部分組成,一部分為網(wǎng)絡(luò)地址,另一部分為主機(jī)地址。IP地址分為A、B、C、D、E5類。常用的是B和C兩類。ip地址就像是我們的家庭住址一樣,如果你要寫信給一個人,你就要知道他(她)的地址,這樣郵遞員才能把信送到,計算機(jī)發(fā)送信息是就好比是郵遞員,它必須知道唯一的“家庭地址”才能不至于把信送錯人家。只不過我們的地址使用文字來表示的,計算機(jī)的地址用十進(jìn)制數(shù)字表示。
IP地址分類
1.A類IP地址
一個A類IP地址由1字節(jié)的網(wǎng)絡(luò)地址和3字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“
2.B類IP地址
一個B類IP地址由2個字節(jié)的網(wǎng)絡(luò)地址和2個字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“
3.C類IP地址
一個C類IP地址由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“
4.D類地址用于多點(diǎn)廣播(Multicast)。
D類IP地址第一個字節(jié)以“111
5.E類IP地址
以“11110”開始,為將來使用保留。
全零(“0.0.0.0”)地址對應(yīng)于當(dāng)前主機(jī)。全“
什么是公有地址和私有地址?
公有地址(Public address)由Inter NIC(Internet Network Information Center 因特網(wǎng)信息中心)負(fù)責(zé)。這些IP地址分配給注冊并向Inter NIC提出申請的組織機(jī)構(gòu)。通過它直接訪問因特網(wǎng)。
私有地址(Private address)屬于非注冊地址,專門為組織機(jī)構(gòu)內(nèi)部使用。
以下列出留用的內(nèi)部私有地址
A類
B類 172.16.0.0--172.31.255.255
C類 192.168.0.0--192.168.255.255
封裝與分用
當(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)。IP傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱作IP數(shù)據(jù)報(IP datagram)。通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀(Frame)。
當(dāng)目的主機(jī)收到一個以太網(wǎng)數(shù)據(jù)幀時,數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時去掉各層協(xié)議加上的報文首部。每層協(xié)議盒都要去檢查報文首部中的協(xié)議標(biāo)識,以確定接收數(shù)據(jù)的上層協(xié)議。這個過程稱作分用( Demultiplexing)
客戶-服務(wù)器模型
大部分網(wǎng)絡(luò)應(yīng)用程序在編寫時都假設(shè)一端是客戶,另一端是服務(wù)器,其目的是為了讓服務(wù)器為客戶提供一些特定的服務(wù)。
端口號
通過端口號來識別應(yīng)用程序