傳輸層協(xié)議概述._第1頁(yè)
傳輸層協(xié)議概述._第2頁(yè)
傳輸層協(xié)議概述._第3頁(yè)
傳輸層協(xié)議概述._第4頁(yè)
傳輸層協(xié)議概述._第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、傳輸層位置 面向信息處理 面向通信 用戶功能 網(wǎng)絡(luò)功能 傳輸層位置 2 傳輸層的作用之一:標(biāo)志應(yīng)用程序 因?yàn)槊糠N他用程序都有瞳一的躺口號(hào),所以可將不同應(yīng)用程序內(nèi)數(shù)據(jù)轅發(fā)到正確的應(yīng)用程序。 Port Nunnbers PPort Number Range Port Group1 0lo 1023i I Well Known (Contact) Ports 1024 to 49151 i Registered Ports 49152 to 65535 Private and/or Dynamic Ports Registered TCP Parts: 1d&3 M5N Messenger 8008

2、 Alternate HTTP 8080 Allemate HTTP Regis:ered UDP Ports: 1812 RADIUS Authentication Proiocol 2000 Cisco SCCP (VoIP) 5004 RTF (Voice and Video Transport Protocol) 5060 SIP (VoIP) Registered TCP/UDP Common Ports: 1433 MS SQL 2948 WAP (MMS| Well Know TCP Pots: Z1 FTP 23 Telnet 25 SMTP 80 HTTP 110 POP3

3、194 Internet Relay Chai (IRC) 443 Secure HTTP (HTTPS) Well Known UDP Ports. 69 TFTP 520 RIP Well Known TCP/UDP Common Porte: 53 DNS 161 SNMP 531 AOL Instant ssenger. IRC 傳輸層的作用之-: 標(biāo)志應(yīng)用程序 數(shù)據(jù)傳遞:為應(yīng)用進(jìn)程提供邏輯通信信道 網(wǎng)絡(luò)層:在端系統(tǒng)間進(jìn)行通信 傳藏穿在進(jìn)程間進(jìn)行通信 數(shù)據(jù)傳遞:為應(yīng)用進(jìn)程提供邏輯通信信道 應(yīng)用進(jìn)程應(yīng)用進(jìn)程 (提供主機(jī)之間的邏輯通信) TCP和UDP協(xié)議的作用范圍 (提供進(jìn)程之間的邏輯通

4、信) 傳輸層概述 傳輸層協(xié)議只在端系統(tǒng)上運(yùn)行。 傳輸層協(xié)議的主要功能之一是確定在源系統(tǒng) 上生成消息和在目的系統(tǒng)上接收消息的較高 層進(jìn)程。 傳輸層實(shí)體能夠根據(jù)高層應(yīng)用的需求提供不 同的服務(wù)質(zhì)量。 傳輸層對(duì)高層用戶屏蔽網(wǎng)絡(luò)的差異,使高層 用戶的對(duì)等實(shí)體在交互過(guò)程中不受下層通信 技術(shù)細(xì)節(jié)的影響。 兩種邏輯通信信道:UDP和TCP 接收進(jìn)程 發(fā)送進(jìn)程 據(jù) X1 數(shù) 阜 接收進(jìn)程 B 發(fā)送進(jìn)程 應(yīng)用層 、不可靠信道: I 全雙工可靠信道t 使用TCP協(xié)議 運(yùn)輸層 使用UDP協(xié)議 兩種運(yùn)輸層協(xié)議:UDP和TCP 傳輸層 UDP概述 UDP用戶數(shù)據(jù)報(bào)UDP使用盡最大努力交付, 只能提供不可靠的交付 UDP是

5、無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立 連接。 TCP & UDP的對(duì)比 可拿刪斷標(biāo)準(zhǔn): 三項(xiàng)操作 跟蹤已發(fā)送的數(shù)據(jù) 確認(rèn)已收到的數(shù)據(jù) 重傳未確認(rèn)的數(shù)據(jù) 協(xié)議特點(diǎn): 尸可靠 r快速、低開(kāi)銷 TCP確認(rèn)數(shù)據(jù) 重傳丟失數(shù)據(jù) 無(wú)需確認(rèn) 不重傳丟失數(shù)據(jù) 按發(fā)送順序處理數(shù)據(jù)按接收順序處理數(shù)據(jù) UDP基于端口的復(fù)用和分用 UDP基于端口的復(fù)用和分用 端口 2 端口 3 1 1 UDP分用 UDP數(shù)據(jù)報(bào)到達(dá) IP層 UDP基于端口的復(fù)用和分用 IP數(shù)據(jù)報(bào) IP網(wǎng)絡(luò) UDP基于端口的復(fù)用和分用 C1 Server DNS響應(yīng): 源port: 53 Fl 的port: 49152 C1等待Server響應(yīng)DNS返

6、I 叫 port49152 Server C2 RADIUS請(qǐng)求 U C2 Server RADIUS響M 源port: 1812 H 的port: 51152 C1 DNS請(qǐng)求 DNS:port53 RADIUS:port1812 發(fā)送到UDP的Clients的Server響應(yīng) 使用隨機(jī)port為目的po C2等待Server響應(yīng) RADIUS 返冋pgrt552 UDP在C/S模式的應(yīng)川 UDP基于端口的復(fù)用和分用 應(yīng)用層 傳輸層 TFTP客戶 TFTP服務(wù)器 UDP報(bào)文首部結(jié)構(gòu) 應(yīng)用層報(bào)文 IP首部 IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分 UDP首部 UDP用戶數(shù)直報(bào)的數(shù)據(jù)部分 應(yīng)用層 運(yùn)輸層 IP層 2

7、2 UDP報(bào)文首部結(jié)構(gòu) 源端口和目標(biāo)端口 定義發(fā)送方和接收 I方的適荷建程 長(zhǎng)度字段定義UDP 數(shù)據(jù)報(bào)的總長(zhǎng)度(包 括首部和數(shù)據(jù)) 校驗(yàn)和用于數(shù)據(jù)傳 輸?shù)牟铄e(cuò)檢查 源端口 目的端口 長(zhǎng)度 校驗(yàn)和1 j r 數(shù) 據(jù) 首部 數(shù) 據(jù) IP數(shù)據(jù)報(bào) UDP用戶數(shù)據(jù)報(bào)首部 UDP報(bào)文首部結(jié)構(gòu) 字節(jié)44112 源IP地址 目的IP地址 0 17 UDP長(zhǎng)度 字節(jié)-122222 |源端口 |目的端口 |長(zhǎng)度|檢驗(yàn)和 UDP用戶數(shù)據(jù)報(bào) 發(fā)送在前 IP數(shù)據(jù)報(bào) 用戶數(shù)據(jù)報(bào)UDP有兩個(gè)字段:數(shù)據(jù)字段和首部 字段。首部字段有8個(gè)字節(jié),由4個(gè)字段組成, 每個(gè)字段都是兩個(gè)字節(jié)。 字節(jié) 4 4 1 1 2 源IP地址 目的I

8、P地址 0 17 UDP長(zhǎng)度 字節(jié) 呀2222 脂菽1源端口 |目的端口 |長(zhǎng)度|檢驗(yàn)和 首部 數(shù)據(jù) n 數(shù)Q據(jù) UDP用戶數(shù)據(jù)報(bào) 發(fā)送在前 IP數(shù)據(jù)報(bào) 在計(jì)算檢驗(yàn)和時(shí),臨時(shí)把“偽首部”和UDP用戶數(shù)據(jù) 報(bào)連接在一起。偽首部?jī)H僅是為了計(jì)算檢驗(yàn)和。 44112 源IP地址目的IP地址017 UDP長(zhǎng)度 字節(jié)122222 I偽首部源端口目的端口 長(zhǎng)度 檢驗(yàn)和 字節(jié) 計(jì)算UDP檢驗(yàn)和的例子 12字節(jié) 偽首部 04 171.3-14.11 全 0 | 17 15 8字節(jié) 1087 13 UDP首部 15 全0 7字節(jié) 數(shù)據(jù)數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)數(shù)據(jù) 陀豳臺(tái)法1 填充 使用16bit段反碼

9、運(yùn)算 填充部分僅參加計(jì)算 10011001 00010011 - 153.19 00001000 01101000 - 8.104 10101011 00000011 - 171.3 00001110 00001011 - 14.11 00000000 00010001 - 0 和 17 00000000 00001111 - 15 00000100 00111111 - 1087 00000000 00001101 - 13 00000000 00001111 - 15 00000000 000000000 (檢驗(yàn)和) 01010100 01000101 - 數(shù)據(jù) 01010011 0101

10、0100 - 藪據(jù) 01001001 01001110 - 藪諒 01000111 00000000 f 竅據(jù)和 0 (填充) 按二進(jìn)制反碼運(yùn)算求和10010110 11101011 - 將得出的結(jié)果求反碼01101001 00010100 - 求和得出的結(jié)果 -檢驗(yàn)和 計(jì)算16位二進(jìn)制數(shù)的反碼和 計(jì)算規(guī)則 -從低位到高位逐列進(jìn)行計(jì)算,0加0等于0, 0加 1等于1, 1加1等于0同時(shí)產(chǎn)生一個(gè)進(jìn)位,若最 高位相加后產(chǎn)生進(jìn)位,則最后得到的結(jié)果要加 1o 1110011001100110 一例: 1101010101010101 回卷 1011101110111011 反碼和10111011101

11、11100 檢查和0100010001000011 UDP數(shù)據(jù)報(bào)重組 UDP僅僅是將接收到的數(shù)據(jù)按照先來(lái)后到的順序轉(zhuǎn)發(fā) 到應(yīng)用程序 UDP :無(wú)連檢和不可靠 不對(duì)序itt亂的數(shù) 排序。 由于采用平冏 用由HttS的 設(shè)備因此數(shù) 據(jù)招到達(dá)的IQ 序 XUL. 數(shù)妄捲1 不新發(fā)送丟失的 心,口 UDP是一個(gè)簡(jiǎn)單的面向用戶數(shù)據(jù)報(bào)的傳 輸層協(xié)議。應(yīng)用進(jìn)程的輸出正好產(chǎn)生一 個(gè)UDP數(shù)據(jù)報(bào),并組裝成一個(gè)待發(fā)送的 IP數(shù)據(jù)報(bào)。 UDP只在IP的數(shù)據(jù)報(bào)服務(wù)之上增加了 很少一點(diǎn)的功能,即端口的功能和有限 的差錯(cuò)檢測(cè)功能。 UDP不提供可靠性。 心,口 雖然UDP用戶數(shù)據(jù)報(bào)只能提供不可靠的 交付,但UDP在某些方

12、面有其特殊的優(yōu) 占 fl O 發(fā)送數(shù)據(jù)之前不需要建立連接 UDP的主機(jī)不需要維持復(fù)雜的連接狀態(tài)表。 UDP用戶數(shù)據(jù)報(bào)只有8個(gè)字節(jié)的首部開(kāi)銷。 網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)的發(fā)送速率降低。這 對(duì)某些實(shí)時(shí)應(yīng)用是很重要的。 總結(jié) UDP是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不 需要建立連接。 UDP使用盡最大努力交付,即不保證 可靠交付,同時(shí)也不使用擁塞控制。 UDP是面向報(bào)文的。UDP沒(méi)有擁塞控 制,很適合多媒體通信的要求。 UDP支持一對(duì)一、一對(duì)多、多對(duì)一和 多對(duì)多的交互通信。 UDP的首部開(kāi)銷小,只有8個(gè)字節(jié)。 UDP應(yīng)用 發(fā)送UDPiM求的客戶端 服務(wù)探 客戶喊2 口. DNS : 81 口 53 RAD

13、IUS :靖口 1812 發(fā)送到UDP客戶靖的眼務(wù)響應(yīng)粳用公認(rèn)端口號(hào)作為源域 也使用端口號(hào)來(lái)標(biāo)識(shí)特定的應(yīng)用層進(jìn)程并將數(shù)據(jù)報(bào)發(fā)送 到正確的服務(wù)或應(yīng)用 客戶喊1 客戶第1拶待服務(wù)春 DNS響應(yīng)返回蠟口 49152 JR務(wù)曙RADIUS晌肛 源 4*n1812 冃的 51152 客戶嫌2尊待服務(wù)管RADIUS 響應(yīng)返回 靖口 51152 基于UDP協(xié)議的編程 1. UDP連接方式的通信規(guī)程 UDP是面向無(wú)連接的協(xié)議,即在發(fā)送數(shù)據(jù)之前不必 建立連接,只需要將Winsock綁定到一個(gè)端口上,其他 無(wú)連接協(xié)議的Winsock如果向本機(jī)發(fā)送 就需要指 出地址和端口號(hào)。 服務(wù)酬 客戶靖 基于UDP協(xié)議的編程

14、2. A計(jì)算機(jī)UDP聊天程序設(shè)計(jì) Private Sub Form_Load() With winSockA設(shè)置Winsock控件的相關(guān)屬性/ Protocol = sckUDPProtocol設(shè)置 UDP 協(xié)議 .RemoteHost = ”wlgcd3 設(shè)置遠(yuǎn)程計(jì)算機(jī)名 RemotePort = 8000設(shè)置遠(yuǎn)程計(jì)算機(jī)端口號(hào) .Bind 9000綁定本地端口號(hào) End With End Sub 基于UDP協(xié)議的編程 2. A計(jì)算機(jī)UDP聊天程序設(shè)計(jì) 在鍵入文本時(shí),立即發(fā) Private Sub txtSend_Change() winSockA.SendData txtSend.Text

15、送出去 End Sub Private Sub winSockA_DataArrival(ByVal bytesTotal As Long) Dim strData As String winSockA.GetData strData接收輸入的數(shù)據(jù) txtArr.Text = strData在文本框顯示接收的數(shù)據(jù) End Sub 基于UDP協(xié)議的編程 2. A計(jì)算機(jī)UDP聊天程序設(shè)計(jì) Private Sub Command1_Click() winSockA.CIose Unload Me End Sub 關(guān)閉winsock控件,解除端口綁定/ 退出程序 3. B計(jì)算機(jī)UDP聊天程序設(shè)計(jì) B端

16、的的程序與A端的幾乎一樣,只是控件的名稱不 樣。另外特意在Winsock控件RemoteHost中使用了 IP地址。各控件的源代碼如下,各語(yǔ)句的作用與A端的 程序中一樣。 Private Sub Command1_Click() winSockB.CIose Unload Me End Sub 基于UDP協(xié)議的編程 3. B計(jì)算機(jī)UDP聊天程序設(shè)計(jì) B端的的程序與A端的幾乎一樣,只是控件 的名稱不一樣。另外特意在Winsock控件 RemoteHost中使用了 IP地址。 基于UDP協(xié)議的編程 4聊天程序設(shè)計(jì) 將以上兩個(gè)程序編譯成EXE文件,分別安裝到不同 的機(jī)器上,即可進(jìn)行兩個(gè)計(jì)算機(jī)之間的通

17、信。實(shí)際上在 同一臺(tái)計(jì)算機(jī)上也可以進(jìn)行通信,只要使用不同的端口 號(hào)就可以。 可靠傳輸協(xié)議概述 可靠傳輸協(xié)議保證數(shù)據(jù)能夠正確、按序的到 達(dá)對(duì)方 可靠傳輸協(xié)議可以用于數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、 傳輸層和應(yīng)用層 可靠傳輸協(xié)議屬于網(wǎng)絡(luò)前10位的重要課題 討論:如果物理信道100%可靠,還需要可靠 傳輸協(xié)議嗎? # # 停止等待協(xié)議 SW(stop and wait)停止等待協(xié)議,發(fā)送方每 發(fā)送一個(gè)報(bào)文,必須收到對(duì)方的 復(fù)后才能 發(fā)送發(fā)送下一個(gè)報(bào)文 可靠傳輸協(xié)議的討論從SW協(xié)議開(kāi)始 41 可靠協(xié)議開(kāi)始起步 rdt_send():可靠的數(shù)據(jù)傳 輸風(fēng)理函數(shù),處理完將數(shù) I據(jù)交給下層丿 deliver_data()

18、:向 上層遞文數(shù)據(jù),由 jdt調(diào)用 可靠數(shù)據(jù) (接收方) 可矗數(shù)據(jù) 傳綸協(xié)議 (發(fā)送方) udt send() | pocket I I | rdt rcv() g)ioelioble chonnel ) j udt_send():不可靠的數(shù)據(jù)、 傳新處理函數(shù),將分組通 過(guò)不可靠的信道傳到接收 J方 rdt_rcv():可靠的數(shù) 據(jù)接收處理函數(shù), rdt1.0信道完全可靠 前提:信道完全可靠 數(shù)據(jù)不會(huì)出錯(cuò) 數(shù)據(jù)不會(huì)亂序到達(dá),也不會(huì)丟失 可靠協(xié)議本身無(wú)需做額外的處理 rdt 1. 0:發(fā)送方 rdLrcv(packet) extractCpacketata) deliver_data(data)

19、 rdtl.O:接收方 43 rdt2.0信道可能出錯(cuò) 前提:信道可能在分組數(shù)據(jù)中出現(xiàn)位錯(cuò),但 不會(huì)丟失 討論:需要解決的問(wèn)題,如何查錯(cuò),如何從 錯(cuò)誤中恢復(fù) 從錯(cuò)誤中恢復(fù)的辦法: 糾錯(cuò)機(jī)制(代價(jià)太大) 使用確認(rèn)(ACKs)和否認(rèn)(NAKs)機(jī)制:當(dāng)接收方 正確收到分組,則向發(fā)送方發(fā)送確認(rèn)信息,否則 發(fā)送否認(rèn)信息,當(dāng)收到NAK時(shí),發(fā)送方重傳數(shù)據(jù) (發(fā)送方緩存數(shù)據(jù),提高效率) # rdt2.0的運(yùn)行(無(wú)錯(cuò)的情況 rdt_rcv(rcvpkt) & 6orrupyt(rcvpkt) ndpkt rdt rcv(rcvpkt) & isACKhcvQktl rdt_send(data) compute

20、 checksum make_pkt(sndpkt data, checksum) udt sGdnclQkt) ACK/NAK rdt_rcv(rcvpkt) isNACK(rcvpkt) rdt_rcv(rcvpkt) & ndtcorrupt(rcvpkt) udt send(NACK) 發(fā)送方FSM extractfrc vpkt, data) deliverdata(data) udt_send(ACK) 接收方FSM 45 rdt2.0運(yùn)行(出錯(cuò)的情況) ksum rdt rcv(rcvpkt) rdt_send(dcrta) compute checksum make_pkt(sndpkt, data, udt s&icnsnCQkt) rdtrcv(rcvpkt) & 6orupt(cvplt)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論