TCP和UDP协定_第1页
TCP和UDP协定_第2页
TCP和UDP协定_第3页
TCP和UDP协定_第4页
TCP和UDP协定_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、課前指引本章主要探討OSI和TCP/IP的傳輸層協定,傳輸層是在OSI七層協定之中的第四層,TCP和UDP同屬於網路中的傳輸層協定,是這層中最有名的通訊協定。另外介紹和傳輸層兩個協定息息相關的埠號(port number)。章節大綱 8-1 傳輸層 8-2 TCP協定 8-5 插座對 8-3 TCP傳送機制 8-4 通訊埠號 8-6 UDP協定 8-7 防火牆和埠號備註:可依進度點選小節3傳輸層在 OSI 七層協定之中的第四層DoD模型中的第三層TCP則是這層中最有名的通訊協定之一 8-1 傳輸層4傳輸層(TCP/UDP)協定8-1 傳輸層5IP層的缺點IP 協定只確保封包交換設備之間的傳輸,

2、並沒有提供一套機制來確保數據的傳輸。 傳輸層的功能將會議層的資料拆封包之後,給每一個封包追蹤號碼,在目的地檢查,傳輸層保證所有的資料都是以正確的順序送達。傳輸層功能包括傳輸多工、建立傳輸、解除傳輸、傳輸錯誤偵測及回復、流程控制和分封包裝、錯誤處理、優先次序與安全性等。屬於此層的通訊協定有TCP、UDP、NetBIOS、NetBEUI.等。8-1 傳輸層6傳輸層主要有兩個協定TCP協定UDP協定TCP協定和 UDP協定TCP提供的是一個可靠的連線導向(Connection Oriented)的資料流傳輸服務。UDP協定則提供的是一個非可靠的非連線導向(Connectionless Oriente

3、d)的資料流傳輸服務。 8-1 傳輸層7TCP和UDP簡易的優缺點比較8-1 傳輸層網路傳輸層協定網路傳輸層協定優點優點缺點缺點TCP可靠傳輸的機制速度比較慢UDP傳輸量大,迅速不可靠,應用程式需自行提供可靠機制8TCP和UDP各自有應用層的協定8-1 傳輸層9TCP(Transmission Control Protocol) 協定TCP是傳輸控制協定。TCP協定的主要任務就是確保資料在網路上能正確的傳輸,提供流量控制(flow control)的特性。TCP建立一個連接導向連接導向(connection-oriented)的傳輸資料,負責發送端及接收端的協定建立,並保證資料在網路上流動的安

4、全與可靠 8-2 TCP 協定 10TCP建立一連接導向的傳輸資料8-2 TCP 協定 11TCP主要的功能循序編號循序編號(Sequence Number)(Sequence Number)TCP為每一個封包建立編號,使封包就算不能按照原來的發送順序抵達接收端,也可依此編號正確重組。確認確認(Acknowledgement)(Acknowledgement)接收端針對發送端所傳來的每一封包,回送我已收到的確認封包,類似郵局的雙掛號信中的回條觀念。錯誤檢查錯誤檢查(Checksum)(Checksum) TCP在每個封包的表頭中加上一個檢查欄位,以確認其是否為欲傳輸的原始封包。重送重送(Ret

5、ransmission)(Retransmission)發送端如果在某一預定的時間內沒有收到該確認封包,就會認定封包傳輸失敗,於是重送該封包,直到收到該封包抵達接收端的確認封包為止。8-2 TCP 協定 12TCP的封包格式8-2 TCP 協定 13TCP的特性連接導向連接導向(Connection-Oriented)(Connection-Oriented) TCP是屬於連接導向的,確認連線建立後才可傳輸資料。可靠性可靠性(Reliable)(Reliable)TCP以確認、重送、檢查三個觀念來完成可靠性的資料傳輸。全雙工式通訊全雙工式通訊(Full Duplex)(Full Duplex)

6、具有此全雙工的特性,在發送端和接收端的電腦上,兩端可以分別進行資料的收發。8-2 TCP 協定 接下頁14TCP的特性資料流資料流(Stream)(Stream)TCP是以資料流的傳輸型態來傳輸資料。緩衝緩衝(Buffer)(Buffer)處理處理如果程式送出的資料太小,TCP協定將等到收集到一定大小的資料包之後才進行傳輸。 8-2 TCP 協定 15常用的HTTP(網頁)協定就是使用連接導向的TCP封包8-2 TCP 協定 16TCP 協定的三向式的握手程序經由連線請求、連線確認、連線成功的程序,便形成了三向式的握手程序(3-way handshaking),而傳輸要結束時也是採用類似的程序

7、。 要建立一個TCP連線時,利用封包內的同步旗標(SYN , Synchronize)欄位設為1,其它欄位為0,讓另一端的系統知道有人希望與他建立連線。 接收端收到這連線封包,並確認提供這個服務,它會將要回傳的封包SYN旗標欄位設為1,也會將確認旗標(ACK, Acknowledge) 欄位設為1,讓傳送端知道它的傳輸已被收到且確認。8-3 TCP 傳送機制 17TCP 協定的三向式的握手程序(續)然後原系統會將SYN旗標欄位設為0,確認旗標(ACK) 欄位設為1傳回。告知我已確認你的確認動作,要開始傳送資料了。 8-3 TCP 傳送機制 18TCP 協定的確認封包機制需要接收端以確認信息(A

8、cknowledgement) 回應發送端,肯定資料正確無誤的到達,同時雙方保留傳輸的封包記錄,以作為下一筆資料的確認依據。8-3 TCP 傳送機制 19TCP 協定的逾時(Timeout)和重送機制發送端在送出封包之後,會起始一個該封包的計時器(Timer),如果封包的確認訊息,在逾時前被接收到,表示正常送收,則取消該封包的計時器,以進行下一封包的傳輸;當不能按預估時間獲得接收端的確認訊息封包時,那麼發送端會認為該封包可能在傳輸過程中遺失,然後重新發送該封包,並同時重設計時器。 8-3 TCP 傳送機制 20TCP可靠性傳輸的計時器原理8-3 TCP 傳送機制 21TCP 協定的序號和確認號

9、碼傳輸協定會為每一個封包分配一個序號,並要求接收端按照封包序號傳回確認訊息。接收端收到封包的時候,則可以依據序號判斷封包是否被重複傳輸,同時也能正確的重組資料順序;而發送端也能根據確認封包的序號來判斷封包是否被正確接收。 8-3 TCP 傳送機制 22TCP封包的序號 8-3 TCP 傳送機制 23TCP 協定的滑動窗(Sliding Window)將滑動窗理解為多重發送和多重確認的技術。 滑動窗的工作原理8-3 TCP 傳送機制 24滑動窗傳輸步驟在連線建立起來之初,兩端都會將窗大小的設定值還原到初始值,假設初始值是3個封包。發送端一次發送三個封包出去,如果接收端很順利能一次處理接收的三個封

10、包的話,就會向發送端發送三個確認封包,並告知接收端之窗(window)值為 3。接著,發送端窗會往後移動三個封包位置,填補剛發送出去的封包空缺。但如果接收端太忙,或是其它因素影響,暫時只能處理兩個封包,那麼在窗裡面就只剩下一個封包,然後會告訴發送端之窗(window)值為 2。發送端就只送出兩個封包,而窗就會往後移動兩個封包,填補發送出去的空缺。8-3 TCP 傳送機制 25使用滑動窗後的傳輸8-3 TCP 傳送機制 26通訊埠號(Port)在傳輸層協定裡面,為程式產生的程序分配一個通訊埠號(Port),其值為一個正整數,從0至65535。網路通訊的兩種模式主動連線 : 主動連線是當埠號建立之

11、後,程序透過該埠號主動發出連線的要求。客戶端使用。被動連線 : 被動模式則是,當埠號建立之後,程序在該埠號等待連線的請求。伺服器端使用。8-4 通訊埠號 27IP和埠號可以把 IP 位址看成主機的門牌號碼,而埠號則是幾樓住戶。使用 more 指令觀看,查詢已使用的埠號8-4 通訊埠號 28微軟的視窗作業系統放在c:windows system32driversetcservices檔案8-4 通訊埠號 29埠號的編號原則常用埠(Well Known Ports)從0到1023,通常這些通訊埠明確的表明了某種服務的協定。例如:80埠實際上總是用來HTTP通訊。註冊埠(Registered Por

12、ts)從1024到49151。此區段留給各軟體公司向IANA註冊。動態和/或私有埠(Dynamic and/or Private Ports)從49152到65535。隨機指定給應用程式。 8-4 通訊埠號 30RFC 1078標準文件8-4 通訊埠號 31常用埠號8-4 通訊埠號 支援服務(應用支援服務(應用層協定)層協定)常用埠號常用埠號傳輸層協定傳輸層協定說明說明FTP DATA20TCP檔案傳輸協定-資料FTP CONTROL21TCP檔案傳輸協定-控制TELNET23TCP遠端登入協定SMTP25TCPEMAIL收信系統DNS53TCP網路名稱系統HTTP(WWW)80TCP超文件(

13、網頁)傳輸協定POP3110TCPEMAIL送信協定SNMP161UDP簡單網路管理通訊協定RIP520UDP路由資訊通訊協定32Socket(插座)根據 IP 來區別主機、根據埠號(port)來區別程式。Socket 就是由一個 IP 與一個 Port 所組成的,可將之視為程式與 TCP/IP 連線之間的界面。 Socket Pair(插座對) TCP封包格式內的其中四個欄位來源位址(Source Address) 來源埠號(Source Port) 目的位址(Destination Address) 目的埠號(Destination Port) 8-5 插座對 33Socket 就是由一個

14、 IP 與一個 Port 所組成的8-5 插座對 34常見的Client-Server架構的網路程式設計8-5 插座對 35UDP(User Datagram Protocol,使用者資料電報協定)協定則提供的是一個非可靠的非連線型(Connectionless)的資料流傳輸服務,它並不會運用確認機制來保證資料是否正確的被接收,不需要重傳遺失的資料,資料的接收也可不必按順序進行,也不提供回傳機制來控制資料流的速度。 8-6 UDP協定36UDP的封包格式8-6 UDP協定37UDP特點無連接導向(Connectless)的特點。不可信賴性(Unreliable)的特點。TCP和UDP的比較8-

15、6 UDP協定比較項目比較項目TCPTCPUDPUDP連接特性連接導向非連接導向速度慢快穩定性高低握手程序需要不需要38常用的DNS就是使用傳輸效率較高的UDP封包8-6 UDP協定39TCP和UDP比較對於某些較不重要的資料傳輸(如E-MAIL),一般利用UDP來做就可以了而如HTTP、FTP、TELNET等對傳輸內容要求絕對正確的應用層協定,則非用TCP來做不可。 8-6 UDP協定40防火牆是一套專門放在Internet大們口的身分認證系統可能是硬體也可能是軟體,目的在隔離Internet外面的電腦與企業內部的區域網路,任何不受歡迎的使用者都無法通過防火牆而進入內部網路最基本的原理就是控管IP位址、埠號,前者大都管理允許哪些網路的IP位只通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论