TCP/IP協議族之應用層協議(FTP、TFTP)

文件傳送協議FTP: File Transfer Protocol

??? 是因特網上使用得最廣泛的文件傳送協議。提供交互式的訪問,允許客戶指明文件的類型與格式(如指明是否使用ASCII碼),并允許文件具有存取權限(如訪問文件的用戶必須經過授權,并輸入有效的口令)。FTP屏蔽了各計算機系統的細節,可在異構網絡中任意計算機之間傳送文件。

??? FTP基于TCP,TFTP基于UDP,是文件共享協議的一大類,即復制整個文件。其特點是:若要存取一個文件,就必須先獲得一個本地的文件副本。若要修改文件,只能對文件的副本進行修改,然后再將修改后的文件副本傳回原節點。

??? 文件共享協議的另一大類是聯機訪問。聯機訪問意味著允許多個應用程序同時對一個文件進行存取。和數據庫系統不同的是用戶不需要調用一個特殊的客戶進程,而是由操作系統提供對遠地共享文件進行訪問的服務,就如同對本地文件的訪問一樣。使用戶可以用遠地文件人微言輕輸入和輸出運行任何應用程序,而操作系統中的文件系統則提供對共享文件的透明存取。透明存取優點:將原來用于處理本地文件的應用程序用來處理遠地文件時,不需要對該應用程序作明顯改動。屬于文件共享協議的有網絡文件系統NFS。NFS使本地計算機共享遠地的資源,就像這些資源在本地一樣。NFS主要應用于TCP/IP網絡上。現在也可OS/2、MS-Windows,NetWare等。

??? 主機間傳送文件需要解決的主要問題有:

??????? 計算機存儲數據的格式不同;

??????? 文件的目錄結構和文件命名的規定不同;

??????? 對于相同的文件存取功能,操作系統使用的命令不同;

??????? 訪問控制方法不同。

??? FTP只提供文件傳送的一些基本的服務,使用TCP可靠的運輸服務。

??? 主要功能是減少或消除在不同操作系統下處理文件的不兼容性。

??? 使用客戶服務器方式。一個FTP服務器進程可同時為多個客戶進提供服務。FTP服務器進程主要由兩大部分組成:一個主進程,負責接受新的請求;另外有若干個從屬進程,負責處理單個請求。

??? 主進程的工作步驟:

??? <1>. 打開熟知端口(TCP21),使客戶進程能夠連接上。

??? <2>. 等待客戶進程發出連接請求。

??? <3>. 啟動從屬進程來處理客戶進程發來的請求。從屬進程對客戶進程的請求處理完畢后即終止,但從屬進程來運行期間根據需要還可能創建其他一些子進程。

??? <4>. 回到等待狀態,繼續接受其他客戶進程發來的請求。主進程與從屬進程的處理是并發地進行。

??? 在進行文件傳輸時,FTP的客戶和服務器之間要建立兩個并行的TCP連接:“控制連接”和“數據連接”。控制連接在整個會話期間一直保持打開,FTP客戶所發出的傳送請求,通過控制連接發送給服務器端的控制進程,但控制連接并不用來傳送文件。實際用于傳輸文件的是“數據傳送進程”和“數據連接”,用來連接客戶端和服務器端的數據傳送進程。數據傳送進程實際完成文件的傳送,在傳送完畢后關閉“數據傳送連接”并結束運行。由于FTP使用了一個分離控制連接,因此FTP的控制信息是帶外傳送的。

??? 當客戶進程向服務器進程發出建立連接請求的時候,要尋找連接服務器進程的熟知端口(21),同時還要告訴服務器進程自己的另一個端口號碼,用于建立數據傳送連接。接著,服務器進程用自己傳送數據的熟知端口(20)與客戶進程所提供的端口號碼來建立數據傳送連接。由于FTP使用了兩個不同的端口號,所以數據連接與控制連接不會發生混亂。

??? NFS允許應用程序打開一個遠地文件,并能在該文件的某一個特定的位置上開始讀寫數據。這樣,NFS可使用戶只復制一個大文件中的一個很小的片段,而不需要復制整個大文件。在網絡上傳送的只是少量的修改數據。

?

簡單文件傳送協議TFTP: Trivial File Transfer Protocol

??? 客戶服務器方式,使用UDP數據報,需要有自己差錯改正措施。TFTP只支持文件傳輸而不支持交互。TFTP沒有一個龐大的命令集,沒有列目錄的功能,也不能對用戶進行身份識別。

??? 主要優點:<1>.TFTP可用于UDP環境。當需要將程序或文件同時向許多機器下載時就往往需要使用TFTP。<2>.TFTP代碼所占內存較小。

??? 主要特點:

??? <1>.每次傳送的數據報文有512字節的數據,但最后一次可不足512字節。

??? <2>.數據報文按序編號,從1開始。

??? <3>.支持ASCII碼或二進制傳送。

??? <4>.可對文件進行讀或寫。

??? <5>.使用很簡單的首部。

??? TFTP工作很像停止等待協議,每發送完一個文件塊后就等待對方的確認,確認時應指明所確認的塊編號。發送數據后在規定時間內收不到確認就要重發數據PDU。發送確認PDU的一方若在規定時間內收不到下一個文件塊,也要重發確認PDU。這樣就可保證文件的傳送不致因某一個數據報的丟失而告終。

??? 在一開始工作時,TFTP客戶進程發送一個讀請求報文或寫請求報文給TFTP服務器進程,其熟知端口號為69。TFTP服務器進程要選擇一個新的端口和TFTP客戶進程進行通信。若文件長度恰好為512字節的整數倍,則在文件傳送完畢后,還必須在最后發送一個只含首部而無數據的數據報文。若文件長度不是512字節的整數倍,則最后傳送數據報文中的數據字段一定不滿512字節,這正好可以作為文件結束的標志。

?????

?

?

轉載于:https://www.cnblogs.com/way_testlife/archive/2010/10/11/1847529.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275869.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275869.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275869.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

消滅病毒_消滅遺產

消滅病毒The year was 1995, I was 10 years of age. The number 1 single in the UK was Think Twice by Celine Dion, and Batman Forever was the highest grossing movie across the pond in the States. Manchester United, unfortunately, won their 3rd Premier League …

logcat崩潰_使用logcat抓取Android崩潰日志

一、安裝jdkJDK網上教程非常多&#xff0c;此處不再贅述。(好像不裝也沒關系&#xff0c;未實測)二、工具列表a) adb包(v.1.0.31版本或以上&#xff0c;下文提供下載地址)b) logcat.bat文件(下文制作)三、安裝adb(二選一)a) 放到任意位置(推薦)因為adb…

基于 Ubuntu 16.04 LTS 的 KDE neon 到達維護周期

隨著 KDE neon 在 Ubuntu 18.04 LTS 發布&#xff0c;開發團隊已經決定 放棄維護基于 Ubuntu 16.04 LTS版本&#xff0c;大多數用戶預警將希望升級到基于 Ubuntu LTS 的 KDE neno 新版本。“去年KDE neno 被重新定位到 Ubuntu bionic / 18.04上&#xff0c;并且升級已經基本順利…

真誠推薦7個能助你成長的前端大佬

不得不說&#xff0c;如今比前些年學習資料多很多了。現在的前端公眾號也挺多的&#xff0c;這里推薦幾個前端大佬運營的公眾號&#xff0c;都是聚焦前端垂直領域的優質公眾號&#xff0c;關注這些公眾號至少可以&#xff1a;1、了解現在前端技術發展情況和未來發展趨勢&#x…

Silverlight學習筆記(3):Silverlight的界面布局

在上一篇中講述了使用VS2010開發Silverlight的一些基礎知識&#xff0c;并且講述了Silverlight的部署和代碼安全知識&#xff0c;這一篇主要是講述如何在Silverlight中擺放界面元素。記得早年前我還在學習Java的時候&#xff0c;當時有兩種開發Java SE的方法&#xff0c;一種是…

pov-inc_yourself勞自己-懶惰的設計師的POV和一些Figma

pov-incAre you ready and lazy enough (you will fully understand with continue reading this)? Coffee and tea next to you? Alright. This article is going to (not) kick you in your a**. It will be a bit of ‘lesson learned’, for sure a bit of FIGMA, and a …

Geary 0.13.0 發布,GNOME 3 Email 客戶端應用

百度智能云 云生態狂歡季 熱門云產品1折起>>> Geary 0.13.0 發布了&#xff0c;Geary 是一個電子郵件應用&#xff0c;用于 GNOME 3 桌面版本&#xff0c;它允許閱讀、查找和發送電子&#xff0c;并提供簡潔、現代化的界面。這是一個重要的新版本&#xff0c;具有許…

mysql表連接_mysql表連接

在數據庫中tableA連接tableB如下&#xff1a;tableA:a1  a21  12  23  24  3tableB:b1 b22  12  23  33  46  5笛卡爾積&#xff1a;select * from tableA, tableB.1  1  2  11  1  2  21  1  3  31  1  3  41  1  6  52…

輕型本地服務器_一小時超輕型漂移機

輕型本地服務器Iwas introduced to the world of Hyper Light Drifter through a series of visions — titans ravage a broken city, a shallow sea is stained red by floating corpses, a skinny dog leads me into the yawning abyss of a pillar in the center of the se…

baidu的服務器數據里面裝的都是垃圾!

baidu的服務器數據里面裝的都是垃圾&#xff01; 除了垃圾廣告一點價值沒有&#xff0c;能不能學學google。 國人天天喊支持國貨&#xff0c;但國貨很多垃圾&#xff0c;沒有人管理這些制造垃圾的人。 轉載于:https://www.cnblogs.com/helper/archive/2010/10/12/1848371.html

聊聊前端面試

大家好&#xff0c;我是若川。今天分享一篇面試相關的文章。點擊下方卡片關注我、加個星標&#xff0c;或者查看源碼等系列文章。學習源碼整體架構系列、年度總結、JS基礎系列最近 Zoom 國內又開放招聘了&#xff0c;我們組有了前端的 HC&#xff0c;所以我也參加了幾場面試。合…

成為自信的node.js開發者(一)

這個博客是我最近整理了過去的文章。 適合閱讀的同學 想更進一步深入理解node的同學&#xff0c;如果你已經稍微了解一點點node, 可以用node做一些小demo&#xff0c;并且想更深一步的了解&#xff0c;希望這篇文章可以幫助到你。 不太適合閱讀的同學 不太熟悉基本的javascript…

mysql讀寫分離和分布式_MySQL主從復制與讀寫分離

MySQL主從復制(Master-Slave)與讀寫分離(MySQL-Proxy)實踐Mysql作為目前世界上使用最廣泛的免費數據庫&#xff0c;相信所有從事系統運維的工程師都一定接觸過。但在實際的生產環境中&#xff0c;由單臺Mysql作為獨立的數據庫是完全不能滿足實際需求的&#xff0c;無論是在安全…

ux和ui_UI和UX設計師的10種軟技能

ux和ui重點 (Top highlight)As designers, whether it be UI, UX, or Product Design, we tend to direct our focus and energy on developing and mastering tangible skills.作為設計師&#xff0c;無論是UI&#xff0c;UX還是產品設計&#xff0c;我們都將重點和精力放在開…

SQLServer中批量插入數據方式的性能對比 (轉)

轉自&#xff1a;http://www.cnblogs.com/wlb/archive/2010/03/02/1676136.html 昨天下午快下班的時候&#xff0c;無意中聽到公司兩位同事在探討批量向數據庫插入數據的性能優化問題&#xff0c;頓時來了興趣&#xff0c;把自己的想法向兩位同事說了一下&#xff0c;于是有了本…

VueConf China 2021 《Vue3生態進展-尤雨溪》 Reaction

大家好&#xff0c;我是若川。今天分享昨天Vueconf的一篇文章&#xff0c;來了解下Vue的生態進展。另外今晚7點&#xff0c;Vuebeijing社區邀請了尤大會在視頻號直播&#xff0c;可以加我微信 ruochuan12&#xff0c;告訴觀看地址提前預約。點擊下方卡片關注我、加個星標&#…

Plsql運行mysql腳本_oracle中PLSQL語句

1.set autot off 禁止使用autotrace命令 set autot on 這個命令包括exp 和 stat(執行語句、生成explain plan、生成統計信息) set autot trace 不執行sql語句&#xff0c;但(生成explain plan、生成統計信息) set autot trace exp stat 與上句同 set autot trace st1.set autot…

2019年,你需要關注這些Node API和Web框架

對于Node.js框架和開源軟件來說&#xff0c;2018年是非常有趣的一年。開發者社區討論了企業贊助對開源項目的作用以及如何維護那些沒有經濟支持卻有數百萬人使用的項目。同樣&#xff0c;安全問題也得到了極大關注&#xff0c;一些流行的Node/JS軟件包被劫持&#xff0c;Github…

ai創造了哪些職業_關于創造職業的思考

ai創造了哪些職業When I was growing up, the idea of a creative career wasn’t an option.當我長大時&#xff0c;創意事業的想法不是一個選擇。 I had enjoyed doodling, arts and crafts as a kid, so as I grew up, it was a natural transition into Photoshop and lat…

Windows Mobile,用C#更改網絡連接(SSID、IP Address、Subnet Mask、Gatew... (轉)

前幾天在做一個改變PDA無線網絡連接的SSID和IP的功能是發現了一個好東西OpenNETCF Framework使用OpenNETCF.Net包&#xff0c;實現了任意改變PDA無線網絡連接的功能。并且不需要Reset PDA。現在正在做一個IP Manager For Windows Mobile的小程序。實現搜索當前網卡可見的SSID、…