網(wǎng)絡(luò)通信程序設(shè)計 -計算機(jī)網(wǎng)絡(luò)基礎(chǔ)_第1頁
網(wǎng)絡(luò)通信程序設(shè)計 -計算機(jī)網(wǎng)絡(luò)基礎(chǔ)_第2頁
網(wǎng)絡(luò)通信程序設(shè)計 -計算機(jī)網(wǎng)絡(luò)基礎(chǔ)_第3頁
網(wǎng)絡(luò)通信程序設(shè)計 -計算機(jī)網(wǎng)絡(luò)基礎(chǔ)_第4頁
網(wǎng)絡(luò)通信程序設(shè)計 -計算機(jī)網(wǎng)絡(luò)基礎(chǔ)_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、windows網(wǎng)絡(luò)通信程序設(shè)計 參考書參考書 王艷平主編王艷平主編 WindowsWindows網(wǎng)絡(luò)與通信程序設(shè)計網(wǎng)絡(luò)與通信程序設(shè)計( 第二版)人民郵電出版社第二版)人民郵電出版社 任泰明任泰明 TCP/IPTCP/IP協(xié)議與網(wǎng)絡(luò)編程協(xié)議與網(wǎng)絡(luò)編程 西安電西安電 子科技大學(xué)出版社子科技大學(xué)出版社 謝希仁謝希仁 計算機(jī)網(wǎng)絡(luò)教程計算機(jī)網(wǎng)絡(luò)教程 第一章 計算網(wǎng)絡(luò)基礎(chǔ) 內(nèi)容提要 1、網(wǎng)絡(luò)基本概念 2、計算網(wǎng)絡(luò)參考模型 3、網(wǎng)絡(luò)程序?qū)ぶ?4、網(wǎng)絡(luò)程序體系結(jié)構(gòu) 1 網(wǎng)絡(luò)的定義 n網(wǎng)絡(luò)是連接在一起的可以互相通信的設(shè)備的集合。 1.1 網(wǎng)絡(luò)基本概念 自主計算機(jī)(Autonomous computers) 互聯(lián)

2、/互連(Interconnected) 通信 物理:通信線路/網(wǎng)絡(luò); 邏輯:交換信息。 兩臺計算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信 AB 網(wǎng)絡(luò)網(wǎng)絡(luò) 18 0 協(xié)議協(xié)議協(xié)議協(xié)議 端端 口口 號號 端端 口口 號號 用戶 因特網(wǎng) ISP1 ISP2 因特網(wǎng) 服務(wù)提供者 用戶通過用戶通過 ISP 上網(wǎng)上網(wǎng) 1.2 計算機(jī)網(wǎng)絡(luò)參考模型 1. OSI模型 OSI/RM(Open System Interconnection/Reference Model,開放系統(tǒng)互連參考模型)將計算機(jī)網(wǎng)絡(luò) 通信定義為一個七層框架模型,如圖1.1所示。 信 息 流 同層間對等通信 7.應(yīng)用層

3、6.表示層 5.會話層 4.傳輸層 3.網(wǎng)絡(luò)層 2.數(shù)據(jù)鏈路層 1.物理層 7.應(yīng)用層 6.表示層 5.會話層 4.傳輸層 3.網(wǎng)絡(luò)層 2.數(shù)據(jù)鏈路層 1.物理層 源主機(jī)目標(biāo)主機(jī) 信 息 流 信息流 圖1.1 OSI模型與通信流程 對等通信示例 “你好你好” “Hello”“Hello” 傳真?zhèn)髡?中國中國 教師教師 翻譯翻譯 秘書秘書 “Hallo”“Hallo” “Hello”“Hello” 傳真?zhèn)髡?德國德國 教師教師 翻譯翻譯 秘書秘書 對交談內(nèi)容的共識對交談內(nèi)容的共識 用英語對話用英語對話 使用傳真通信使用傳真通信 P3P3 P2P2 P1P1 物理通信線路物理通信線路 表1.1 O

4、SI模型中各個層的功能 名稱 層次 功 能 物理層 1 提供比特流傳輸 數(shù)據(jù)鏈路層 2 進(jìn)行數(shù)據(jù)打包與解包,形成信息幀 網(wǎng)絡(luò)層 3 提供數(shù)據(jù)通過的路由 傳輸層 4 提供傳輸順序與相應(yīng)信息 會話層 5 建立和中止連接 表示層 6 數(shù)據(jù)轉(zhuǎn)換,確認(rèn)數(shù)據(jù)格式 應(yīng)用層 7 提供用戶程序接口 OSI模型的數(shù)據(jù)傳輸 PH SH TH NH DHDT AH 物理傳輸媒體 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)AH 數(shù)據(jù)PHAH 數(shù)據(jù)PHSHAH 數(shù)據(jù)PHSHTHAH 數(shù)據(jù)PHSHTHNHAH 比特流 2. TCP/IP參考模型參考模型 TCP/IP的架構(gòu)的架構(gòu) OSI參考模參考模 型層次描述型層次描述 OSI層次層次 號號 應(yīng)用層

5、應(yīng)用層7 表示層表示層6 會話層會話層5 傳輸層傳輸層4 網(wǎng)絡(luò)層網(wǎng)絡(luò)層3 數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層2 物理層物理層1 TCP/IP參考模型參考模型 應(yīng)用層應(yīng)用層 傳輸層傳輸層 網(wǎng)絡(luò)層網(wǎng)絡(luò)層 網(wǎng)絡(luò)接口層網(wǎng)絡(luò)接口層 TCP/IP中每一層負(fù)責(zé)不同的功能:中每一層負(fù)責(zé)不同的功能: 應(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é)議。 HTTP 超文本傳輸協(xié)議。 TFTP 簡單文件傳輸協(xié)議。 傳輸層,主要為兩臺主機(jī)上的應(yīng)用程序提供端到端 的通信。在TCP/

6、IP協(xié)議族中,有兩個傳輸協(xié)議: TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。 UDP 用戶數(shù)據(jù)報的首部格式用戶數(shù)據(jù)報的首部格式 偽首部源端口目的端口長 度檢驗(yàn)和 數(shù) 據(jù)首 部 UDP長度源 IP 地址目的 IP 地址017 IP 數(shù)據(jù)報 字節(jié)44112 122222字節(jié) 發(fā)送在前 數(shù) 據(jù)首 部 UDP 用戶數(shù)據(jù)報 TCP 首部 20 字節(jié)的 固定首部 目 的 端 口 數(shù)據(jù) 偏移 檢 驗(yàn) 和 選 項(xiàng) (長 度 可 變) 源 端 口 序 號 緊 急 指 針 窗 口 確 認(rèn) 號 保 留 F I N 32 位 S Y N R S T P S H A C K U R G 位 0 8 16 24 3

7、1 填 充 TCP 數(shù)據(jù)部分TCP 首部 TCP 報文段 IP 數(shù)據(jù)部分IP 首部 發(fā)送在前 TCP傳輸控制協(xié)議的首部格式傳輸控制協(xié)議的首部格式 網(wǎng)絡(luò)層網(wǎng)絡(luò)層,有時也稱作互聯(lián)網(wǎng)層,處理分組在網(wǎng)絡(luò)中,有時也稱作互聯(lián)網(wǎng)層,處理分組在網(wǎng)絡(luò)中 的活動,例如分組的選路。的活動,例如分組的選路。 網(wǎng)絡(luò)層協(xié)議包括網(wǎng)絡(luò)層協(xié)議包括: IP協(xié)議(網(wǎng)際協(xié)議),協(xié)議(網(wǎng)際協(xié)議), ARP協(xié)議(地址解析協(xié)議),協(xié)議(地址解析協(xié)議), RARP(逆地址解析協(xié)議),(逆地址解析協(xié)議), ICMP協(xié)議(協(xié)議(Internet互聯(lián)網(wǎng)控制報文協(xié)議),互聯(lián)網(wǎng)控制報文協(xié)議), IGMP協(xié)議(協(xié)議( Internet組管理協(xié)議)。組管

8、理協(xié)議)。 固 定 部 分 可變 部分 04816192431 版 本 標(biāo)志 生 存 時 間協(xié) 議 標(biāo) 識 服務(wù)類型總 長 度 片 偏 移 填 充 首 部 檢 驗(yàn) 和 源 地 址 目 的 地 址 可 選 字 段 (長 度 可 變) 位 首部長度 數(shù) 據(jù) 部 分 數(shù) 據(jù) 部 分首 部 傳送 IP 數(shù)據(jù)報 首 部 發(fā)送在前 網(wǎng)絡(luò)接口層網(wǎng)絡(luò)接口層,通常包括,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序操作系統(tǒng)中的設(shè)備驅(qū)動程序 和計算機(jī)中對應(yīng)的和計算機(jī)中對應(yīng)的網(wǎng)絡(luò)接口卡網(wǎng)絡(luò)接口卡。它們一起處理與電。它們一起處理與電 纜(或其他任何傳輸媒介)的物理接口細(xì)節(jié)。纜(或其他任何傳輸媒介)的物理接口細(xì)節(jié)。 采用五層結(jié)構(gòu) 計

9、算機(jī) 1 向計算機(jī) 2 發(fā)送數(shù)據(jù) 5 4 3 2 1 5 4 3 2 1 計算機(jī) 1 AP2 AP1 計算機(jī) 2 應(yīng) 用 程 序 數(shù) 據(jù) 應(yīng)用層首部 H5 10100110100101 比 特 流 110101110101 注意觀察加入或剝?nèi)ナ撞浚ㄎ膊浚┑膶哟?應(yīng) 用 程 序 數(shù) 據(jù) H5應(yīng) 用 程 序 數(shù) 據(jù) H4H5應(yīng) 用 程 序 數(shù) 據(jù) H3H4H5應(yīng) 用 程 序 數(shù) 據(jù) H4 運(yùn)輸層首部 H3 網(wǎng)絡(luò)層首部 H2 鏈路層 首部 T2 鏈路層 尾部 計算機(jī) 1 向計算機(jī) 2 發(fā)送數(shù)據(jù) 5 4 3 2 1 5 4 3 2 1 計算機(jī) 1 AP2 AP1 計算機(jī) 2 1010011010010

10、1 比 特 流 110101110101 計算機(jī) 2 的物理層收到比特流后 交給數(shù)據(jù)鏈路層 H2T2H3H4H5應(yīng) 用 程 序 數(shù) 據(jù) 計算機(jī) 1 向計算機(jī) 2 發(fā)送數(shù)據(jù) H3H4H5應(yīng) 用 程 序 數(shù) 據(jù) 5 4 3 2 1 5 4 3 2 1 計算機(jī) 1 AP2 AP1 計算機(jī) 2 數(shù)據(jù)鏈路層剝?nèi)撞亢蛶膊亢?把幀的數(shù)據(jù)部分交給網(wǎng)絡(luò)層 H2T2H3H4H5應(yīng) 用 程 序 數(shù) 據(jù) 計算機(jī) 1 向計算機(jī) 2 發(fā)送數(shù)據(jù) H4H5應(yīng) 用 程 序 數(shù) 據(jù) H3H4H5應(yīng) 用 程 序 數(shù) 據(jù) 5 4 3 2 1 5 4 3 2 1 計算機(jī) 1 AP2 AP1 計算機(jī) 2 網(wǎng)絡(luò)層剝?nèi)シ纸M首部后 把分

11、組的數(shù)據(jù)部分交給運(yùn)輸層 計算機(jī) 1 向計算機(jī) 2 發(fā)送數(shù)據(jù) H5應(yīng) 用 程 序 數(shù) 據(jù) H4H5應(yīng) 用 程 序 數(shù) 據(jù) 5 4 3 2 1 5 4 3 2 1 計算機(jī) 1 AP2 AP1 計算機(jī) 2 運(yùn)輸層剝?nèi)笪氖撞亢?把報文的數(shù)據(jù)部分交給應(yīng)用層 計算機(jī) 1 向計算機(jī) 2 發(fā)送數(shù)據(jù) 應(yīng) 用 程 序 數(shù) 據(jù) H5應(yīng) 用 程 序 數(shù) 據(jù) 5 4 3 2 1 5 4 3 2 1 計算機(jī) 1 AP2 AP1 計算機(jī) 2 應(yīng)用層剝?nèi)?yīng)用層首部后 把應(yīng)用程序數(shù)據(jù)交給應(yīng)用進(jìn)程 計算機(jī) 1 向計算機(jī) 2 發(fā)送數(shù)據(jù) 5 4 3 2 1 5 4 3 2 1 計算機(jī) 1 AP2 AP1 計算機(jī) 2 收到了 AP1

12、 發(fā)來的 應(yīng)用程序數(shù)據(jù)! TCP/IP 協(xié)議族協(xié)議族 網(wǎng)絡(luò)接口 1網(wǎng)絡(luò)接口 2網(wǎng)絡(luò)接口3 局域網(wǎng)廣域網(wǎng) 主機(jī) H1 主機(jī) H2 路由器 R1 路由器 R2 路由器 R3 電話網(wǎng) 局域網(wǎng) 主機(jī) H1 向 H2 發(fā)送數(shù)據(jù) 鏈路層 應(yīng)用層 運(yùn)輸層 網(wǎng)絡(luò)層 物理層 鏈路層 應(yīng)用層 運(yùn)輸層 網(wǎng)絡(luò)層 物理層 鏈路層 網(wǎng)絡(luò)層 物理層 鏈路層 網(wǎng)絡(luò)層 物理層 鏈路層 網(wǎng)絡(luò)層 物理層 R1R2R3 H1H2 從層次上來看數(shù)據(jù)的流動 Windows操作系統(tǒng)的總體架構(gòu) 應(yīng) 用 層 核 心 層 q EXE是一個獨(dú)立且能直 接執(zhí)行的模塊。DLL是一 個共享的函數(shù)庫,它提 供標(biāo)準(zhǔn)的接口供其它應(yīng) 用程序調(diào)用,本身不能 單獨(dú)

13、運(yùn)行,被應(yīng)用程序 調(diào)用時就成為程序的一 部分。 應(yīng)用層是可以直接接觸到的,各 種用戶界面都是應(yīng)用層程序執(zhí)行的 結(jié)果。文件擴(kuò)展名是.exe或.dll。 在應(yīng)用層下面是核心層(kernel)。 Windows95/98下核心層程序擴(kuò)展名是.vxd; WindowsNT/2000下核心層擴(kuò)展名是.sys q 核心層的程序叫驅(qū)動 程序。驅(qū)動程序?yàn)樯蠈?應(yīng)用程序提供底層的支 持。 應(yīng)用層應(yīng)用層 傳輸層傳輸層 網(wǎng)絡(luò)層網(wǎng)絡(luò)層 網(wǎng)絡(luò)接口層網(wǎng)絡(luò)接口層 TCP/IP協(xié)議Windows程序 User.exe WS2_32.DLL ftp.exe Tcpip.sys Tcpip.sys Ne2000.sys 網(wǎng)卡 應(yīng)

14、用層 核心層 系統(tǒng)文件, 主要提供了 TCP、UDP、 IP協(xié)議的實(shí) 現(xiàn) 網(wǎng)卡驅(qū)動程 序 TCP/IP 協(xié)議在Windows中的實(shí)現(xiàn) 1.3 網(wǎng)絡(luò)程序?qū)ぶ贩绞?IP地址 MAC地址 端口 NAT 使用使用TCP/IP協(xié)議的互連網(wǎng)使用協(xié)議的互連網(wǎng)使用3個等級的地址:即個等級的地址:即物理(物理( 硬件)地址硬件)地址、互連網(wǎng)(互連網(wǎng)(IP)地址)地址、端口地址端口地址。 每一種地址都與每一種地址都與TCP/IP體系結(jié)構(gòu)中的特定層相對應(yīng)。體系結(jié)構(gòu)中的特定層相對應(yīng)。 底層物理網(wǎng)絡(luò) IP協(xié)議 TCP 進(jìn)程 UDP 物理地址 IP地址 端口地址 地址分類 1. IP地址地址(IPV4) IP 地址就是給

15、每個連接在因特網(wǎng)上的主機(jī)(或路由器)分配一個在全世界范地址就是給每個連接在因特網(wǎng)上的主機(jī)(或路由器)分配一個在全世界范 圍是唯一的圍是唯一的 32 位的標(biāo)識符。位的標(biāo)識符。 目前目前IP地址是一個地址是一個32位地址位地址(IPv4),可以用來標(biāo)識連接在因特網(wǎng)上的每一個主,可以用來標(biāo)識連接在因特網(wǎng)上的每一個主 機(jī)。機(jī)。 在因特網(wǎng)上沒有兩個主機(jī)具有同樣的在因特網(wǎng)上沒有兩個主機(jī)具有同樣的IP地址。地址。 下一代的下一代的IP為為IPv6。 IP地址采用點(diǎn)分十進(jìn)制記法 10000000000010110000001100011111 機(jī)器中存放的 IP 地址 是 32 位二進(jìn)制代碼 每隔 8 位插入

16、一個空格 能夠提高可讀性 10000000 00001011 00000011 00011111 128 11 3 31 將每 8 位的二進(jìn)制數(shù) 轉(zhuǎn)換為十進(jìn)制數(shù) 采用點(diǎn)分十進(jìn)制記法 則進(jìn)一步提高可讀性 1 IP 地址的編址方法地址的編址方法 分類的分類的 IP 地址地址。這是最基本的編址方法。這是最基本的編址方法。 劃分子網(wǎng)劃分子網(wǎng)。這是對最基本的編址方法的改進(jìn)。這是對最基本的編址方法的改進(jìn)。 無分類編址(無分類編址(CIDR)。這是比較新的無分類編。這是比較新的無分類編 址方法。址方法。 net-id 24 位 host-id 24 位 net-id 16 位 net-i

17、d 8 位 IP 地址中的網(wǎng)絡(luò)號字段和主機(jī)號字段 0 A 類地址 host-id 16 位 B 類地址 C 類地址01 1 host-id 8 位 D 類地址 1 1 1 0 多 播 地 址 E 類地址保 留 為 今 后 使 用1 1 1 1 01 特殊的IP地址: 網(wǎng)絡(luò)地址:IP中主機(jī)地址為0的地址表示網(wǎng)絡(luò) 地址,如。 廣播地址:網(wǎng)絡(luò)號后跟一個所有位全是1的后 綴,就是廣播地址。 環(huán)回地址:127.*.*.*,用于測試。 TCP 報文 IP 數(shù)據(jù)報 MAC 幀 應(yīng)用層數(shù)據(jù)首部 首部 尾部首部 鏈路層及以下 使用硬件地址 硬件地址 網(wǎng)絡(luò)層及以上 使用 IP 地址 IP 地

18、址 劃分子網(wǎng)純屬一個單位內(nèi)部的事情。這個單位對外 仍然表現(xiàn)為沒有劃分子網(wǎng)的網(wǎng)絡(luò)。 從主機(jī)號借用若干個位作為子網(wǎng)號 subnet-id,而主 機(jī)號 host-id 也就相應(yīng)減少了若干個位。 IP地址 := , , 三級的 IP 地址-劃分子網(wǎng) CIDR 消除了傳統(tǒng)的 A 類、B 類和 C 類地址以及 劃分子網(wǎng)的概念,因而可以更加有效地分配 IPv4 的地址空間。 CIDR使用各種長度的“網(wǎng)絡(luò)前綴”(network- prefix)來代替分類地址中的網(wǎng)絡(luò)號和子網(wǎng)號。 IP 地址從三級編址(使用子網(wǎng)掩碼)又回到了兩 級編址。 無分類編址無分類編址-CIDR 最主要的特點(diǎn) 無分類的兩級編址的記法是:

19、IP地址 := , 掩碼 無分類的兩級編址 2. MAC地址 硬件地址又稱為物理地址或MAC地址,這一地址 被固化在每個網(wǎng)卡的ROM中,每個網(wǎng)卡在出廠時 都賦于了一個全世界范圍內(nèi)唯一的地址編號,地 址為6字節(jié)(即48位)。 MAC地址與網(wǎng)絡(luò)無關(guān),也即無論將帶有這個地址 的硬件(如網(wǎng)卡、集線器、路由器等)接入到網(wǎng) 絡(luò)的何處,都有相同的MAC地址。 MAC地址6字節(jié)(48比特)。 地址解析 地址解析(Address Resolution)就是將計算機(jī)中的 協(xié)議地址翻譯成物理地址(或稱MAC地址,即媒 體映射地址)。 地址解析只能在本地網(wǎng)內(nèi)進(jìn)行。 ARP 響應(yīng) A YX B Z 主機(jī) B 向 A 發(fā)

20、送 ARP 響應(yīng)分組 主機(jī) A 廣播發(fā)送 ARP 請求分組 ARP 請求ARP 請求ARP 請求ARP 請求 00-00-C0-15-AD-18 08-00-2B-00-EE-0A 我是 ,硬件地址是 00-00-C0-15-AD-18 我想知道主機(jī) 的硬件地址 我是 硬件地址是 08-00-2B-00-EE-0A A YX B Z 00-00-C0-15-AD-18 HA1HA5HA4HA3HA6 主機(jī) H1 主機(jī) H2 路由器 R1 硬件地址 路由器 R

21、2 HA2 IP1IP2 局域網(wǎng)局域網(wǎng)局域網(wǎng) IP1 HA1 HA5HA4HA3HA6HA2 IP6 主機(jī) H1 主機(jī) H2 路由器 R1 IP 層上的互聯(lián)網(wǎng) MAC 幀 IP2 IP4IP3IP5 路由器 R2 IP1 IP2IP1 IP2IP1 IP2 從 HA1 到 HA3從 HA4 到 HA5從 HA6 到 HA2 MAC 幀MAC 幀 IP 數(shù)據(jù)報 從協(xié)議棧的層次上看數(shù)據(jù)的流動 3.端口 網(wǎng)絡(luò)中可以被命名和尋址的通信端口是操作系 統(tǒng)可分配的一種資源。 按照OSI協(xié)議的描述,傳輸層與網(wǎng)絡(luò)層在功能 上的最大區(qū)別是傳輸層提供進(jìn)程通信,從這個 意義上講,網(wǎng)絡(luò)通信的最終地址不僅僅是主機(jī) 地址,

22、還包括可以描述進(jìn)程的某種標(biāo)識符。 TCP/IP協(xié)議提出協(xié)議端口(protocol port,簡稱 端口)的概念,用于標(biāo)識通信的進(jìn)程。 端口是一種抽象的軟件結(jié)構(gòu)(包括一些數(shù)據(jù)結(jié)構(gòu)和 I/O緩沖區(qū))。 應(yīng)用程序(進(jìn)程)通過系統(tǒng)調(diào)用與某端口建立連接 (binding)后,傳輸層傳給該端口的數(shù)據(jù)都被相應(yīng) 進(jìn)程所接收,相應(yīng)進(jìn)程發(fā)給傳輸層的數(shù)據(jù)都通過 該端口輸出。 端口是用來標(biāo)志應(yīng)用層的進(jìn)程端口是用來標(biāo)志應(yīng)用層的進(jìn)程。 TCP/IP中的端口地址是中的端口地址是16位。位。 端口號的兩種基本分配方式 全局分配 全局分配是一種集中控制方式,由一個公 認(rèn)的中央機(jī)構(gòu)根據(jù)用戶需要進(jìn)行統(tǒng)一分配, 并將結(jié)果公布于眾。

23、本地分配 本地分配又稱動態(tài)分配,即進(jìn)程需要訪問 傳輸層服務(wù)時,向本地操作系統(tǒng)提出申請, 操作系統(tǒng)返回一個本地唯一的端口號,進(jìn) 程再通過合適的系統(tǒng)調(diào)用,將自己與該端 口號聯(lián)系起來。 TCP/IP中端口號的分配綜合了上述兩種方式, TCP/IP將端口號分為兩部分,少量的作為保留端口, 以全局方式分配給服務(wù)進(jìn)程,因此每個標(biāo)準(zhǔn)服務(wù)器 都擁有一個全局公認(rèn)的端口即周知端口(well-known port) 。 例如,服務(wù)器提供的服務(wù)一般都是通過通用端口號 來識別的,對于TCP/IP實(shí)現(xiàn)來說,F(xiàn)TP服務(wù)器的 TCP端口號都是21,Telnet服務(wù)器的TCP端口號都是 23,TFTP(簡單文件傳送協(xié)議)服務(wù)器

24、的UDP端口號 都是69。任何TCP/IP實(shí)現(xiàn)所提供的服務(wù)都使用通用 端口號1-1023。這些通用端口號由Internet號分配機(jī) 構(gòu)(Internet Assigned Numbers Authority, IANA)來管 理。 4. 網(wǎng)絡(luò)地址轉(zhuǎn)換 NAT (Network Address Translation) 網(wǎng)絡(luò)地址轉(zhuǎn)換 NAT 方法于1994 年提出。 緩解IPv4地址危機(jī):專用地址只能用于結(jié)構(gòu)內(nèi)部通信 ,不用用于和因特網(wǎng)的主機(jī)通信. 需要在專用網(wǎng)連接到因特網(wǎng)的路由器上安裝 NAT 軟件 。裝有 NAT 軟件的路由器叫做 NAT路由器,它至少有 一個有效的外部全球地址 IPG。 所

25、有使用本地地址的主機(jī)在和外界通信時都要在 NAT 路由器上將其本地地址轉(zhuǎn)換成 IPG 才能和因特網(wǎng)連接 。 51 內(nèi)部地址 :是指在內(nèi)部網(wǎng)絡(luò)中分配給節(jié)點(diǎn)的私有IP地址, 這個地址只能在內(nèi)部網(wǎng)絡(luò)中使用,如果不通過路由器它是 不能被外部不同的IP網(wǎng)段訪問到的。 內(nèi)部地址也稱私有地址,它是可以隨機(jī)挑選。但是通常使 用的是RFC 1918中定義的NAT專用地址:- 55;-55;- 55。其中10.X.X.X地址最常用也是NAT推薦 的一種地址。 全局地址,是指合法的IP

26、地址,它是由NIC(國際IP授權(quán) 機(jī)構(gòu))或者網(wǎng)絡(luò)服務(wù)提供商分配的地址,對外代表一個或 多個內(nèi)部地址,是全球統(tǒng)一的可尋址的地址即可路由地址 。 NAT概念 52 NAT的工作原理 53 NAT的工作原理 (1)客戶機(jī)將數(shù)據(jù)包發(fā)給運(yùn)行NAT的計算機(jī)。 (2)NAT將數(shù)據(jù)包中的端口號和專用的IP地址換成它自己 的端口號和公用的IP地址,然后將數(shù)據(jù)包發(fā)給外部網(wǎng) 絡(luò)的目的主機(jī),同時記錄一個跟蹤信息在映像表中 (NAT 轉(zhuǎn)換表),以便向客戶機(jī)發(fā)送回答信息。 (3)外部網(wǎng)絡(luò)發(fā)送回答信息給NAT。 (4)NAT將所收到的數(shù)據(jù)包的端口號和公用IP地址轉(zhuǎn)換為 客戶機(jī)的端口號和內(nèi)部網(wǎng)絡(luò)使用的專用IP地址并轉(zhuǎn)發(fā) 給客

27、戶機(jī)。 NAT類型 NAT有三種類型:靜態(tài)NAT(static NAT)、NAT池 (pooled NAT)和端口NAT(PAT)。 靜態(tài)NAT設(shè)置簡單,內(nèi)部網(wǎng)絡(luò)中的每個主機(jī)都被 永久映射成 外部網(wǎng)絡(luò)中的某個合法的地址,多用 于服務(wù)器。 NAT池則是在外部網(wǎng)絡(luò)中定義了一系列的合法地 址,采用動態(tài)分配的方法映射到內(nèi)部網(wǎng)絡(luò)。多用 于網(wǎng)絡(luò)中的工作站。 PAT則是把內(nèi)部地址映射到外部網(wǎng)絡(luò)的一個IP地 址的不同端口上。 在TCP/IP網(wǎng)絡(luò)應(yīng)用中,通信的兩個進(jìn)程間相互 作用的主要模式是客戶機(jī)/服務(wù)器模式 (Client/Server Model)。 客戶機(jī)/服務(wù)器模式的建立基于以下兩點(diǎn): 首先,建立網(wǎng)絡(luò)的

28、起因是網(wǎng)絡(luò)中軟/硬件資源、 運(yùn)算能力和信息不均等,需要共享,從而形成 擁有眾多資源的主機(jī)提供服務(wù),資源較少的客 戶請求服務(wù)這一非對稱的情況。 其次,網(wǎng)間進(jìn)程通信完全是異步的,相互通信 的進(jìn)程間既不存在父子關(guān)系,又不共享內(nèi)存緩 沖區(qū),因此需要一種機(jī)制為希望通信的進(jìn)程間 建立聯(lián)系,為二者的數(shù)據(jù)交換提供同步,這就 是基于客戶機(jī)/服務(wù)器模式的TCP/IP。 4 .網(wǎng)絡(luò)程序體系結(jié)構(gòu) 客戶機(jī)服務(wù)器結(jié)構(gòu) 網(wǎng)絡(luò)應(yīng)用程序一般是以客戶機(jī)服務(wù)器結(jié)構(gòu)工作的。在這種工作方式中,一個服 務(wù)器程序通常事先已經(jīng)啟動,并在一個眾所周知的端口監(jiān)聽對服務(wù)的請求??蛻魬?yīng)用 程序需要服務(wù)時,便向提供該服務(wù)的服務(wù)器發(fā)出請求,服務(wù)器在接收到請求后,就響 應(yīng)客戶提出的請求。 Client Server 客戶機(jī)服務(wù)器結(jié)構(gòu)的特點(diǎn) 客戶機(jī)程序之間并不直接交流信息,它們僅與服 務(wù)器通信。客戶機(jī)之間可以通過服務(wù)器中轉(zhuǎn)通信。 服務(wù)器方有一個固定的、公開的地址,包括IP地 址和端口號碼。IP地址唯一地標(biāo)識主機(jī),端口號標(biāo)識 主機(jī)上運(yùn)行的某個服務(wù)進(jìn)程。 網(wǎng)絡(luò)程序中通信雙方的標(biāo)識 為了唯一地標(biāo)識網(wǎng)絡(luò)中通信的某一方,就要使用一個如下 的三元組:(本地協(xié)議,本地IP地址,本地端口號) 因此通信的雙方可以使用如下六元組: (本地協(xié)議,本地IP地址,本地端口號,遠(yuǎn)程協(xié)議,遠(yuǎn)程I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論