• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      常用互聯(lián)網(wǎng)協(xié)議的研究方法

      2016-10-21 03:33:11宋揚(yáng)
      東方教育 2016年5期
      關(guān)鍵詞:命令編碼信息

      宋揚(yáng)

      【摘要】本文介紹了互聯(lián)網(wǎng)的標(biāo)準(zhǔn)協(xié)議和分析方法。介紹互聯(lián)網(wǎng)協(xié)議文件RFC,并作為舉例分析了FTP協(xié)議

      【關(guān)鍵字】RFC 互聯(lián)網(wǎng)協(xié)議

      前言

      近年來,互聯(lián)網(wǎng)正以令人眩目的速度增長(zhǎng),這個(gè)增長(zhǎng)包括互聯(lián)網(wǎng)這個(gè)網(wǎng)絡(luò)規(guī)模和與之相關(guān)的技術(shù),規(guī)模的增長(zhǎng)帶來互聯(lián)網(wǎng)技術(shù)的廣泛普及,使其中的如IP,TCP,HTTP,F(xiàn)TP,TELNET,HTML,NNTP等等毫無爭(zhēng)議地成為事實(shí)的標(biāo)準(zhǔn),同時(shí)又給以上技術(shù)提出新的要求和為其發(fā)展帶來了直接的動(dòng)力;技術(shù)的不斷提高又克服了一個(gè)又一個(gè)網(wǎng)絡(luò)相聯(lián)出現(xiàn)的難題和障礙,技術(shù)和應(yīng)用的相互促進(jìn),使人類文明能在事實(shí)上的邁入類信息社會(huì)。

      隨著互聯(lián)網(wǎng)的不斷擴(kuò)大,發(fā)展的無序化日益嚴(yán)重,互聯(lián)網(wǎng)的標(biāo)準(zhǔn)化無疑對(duì)保證互聯(lián)網(wǎng)及相關(guān)技術(shù)健康發(fā)展起了決定性作用。

      在這里作者對(duì)互聯(lián)網(wǎng)標(biāo)準(zhǔn)組織,互聯(lián)網(wǎng)標(biāo)準(zhǔn)化過程,互聯(lián)網(wǎng)標(biāo)準(zhǔn)文件等做個(gè)簡(jiǎn)單的介紹,希望 能提供給讀者一個(gè)直接快速地深入了解互聯(lián)網(wǎng)的方法,同時(shí)鼓吹一種深入核心技術(shù)和融入世界規(guī)范的思想。

      1 描述互聯(lián)網(wǎng)協(xié)議的官方文件 RFC(Request For Comment)

      在互聯(lián)網(wǎng)的開發(fā)和研究中,產(chǎn)生了一系列技術(shù)協(xié)議(protocol),而其中一些被互聯(lián)網(wǎng)的標(biāo)準(zhǔn)化機(jī)構(gòu)采用,解析這些協(xié)議的文件被稱為RFC(request for comments),中文意思是請(qǐng)求評(píng)注。由于RFC包含了一系列文件,所以下文用RFCs表示這一系列的文件。這些文件是關(guān)于互聯(lián)網(wǎng)標(biāo)準(zhǔn)的最權(quán)威的定義,是互聯(lián)網(wǎng) OFFICIAL PROTOCOL STANDARDS,參見RFC-2400。

      RFCs文檔由互聯(lián)網(wǎng)中的標(biāo)準(zhǔn)化機(jī)構(gòu)-因特網(wǎng)活動(dòng)委員會(huì)IAB(互聯(lián)網(wǎng) Activities Board)負(fù)責(zé)編輯管理和發(fā)表。這里不對(duì)IAB做詳細(xì)介紹,有興趣請(qǐng)參閱RFC-1160 "The 互聯(lián)網(wǎng) Activities Board"和RFC-1601 "Charter of the 互聯(lián)網(wǎng) Architecture Board(IAB)"。 IAB下屬有因特網(wǎng)工程特別任務(wù)組IETF(互聯(lián)網(wǎng) Engineering Task Force)和因特網(wǎng)研究特別任務(wù)組IRTF(互聯(lián)網(wǎng) Research Task Force),這兩個(gè)任務(wù)組各有一個(gè)領(lǐng)導(dǎo)組被稱做IESG(互聯(lián)網(wǎng) Engineering Steering Group)和IRSG(互聯(lián)網(wǎng) Research Steering Group)。 大部分的互聯(lián)網(wǎng)協(xié)議的開發(fā)和標(biāo)準(zhǔn)化活動(dòng)在IETF的工作組中進(jìn)行。

      一篇RFC的發(fā)表必須得到IESG的同意,對(duì)于一些記錄實(shí)驗(yàn)工作的文章,編輯者在發(fā)表前通知了IESG,由相關(guān)的IETF工作組或IRTF研究組檢討并向作者提供評(píng)價(jià)意見。

      2 互聯(lián)網(wǎng)協(xié)議的分析方法

      第一尋找可以找到RFCs文件的地方

      有關(guān)互聯(lián)網(wǎng)的問題當(dāng)然最好在互聯(lián)網(wǎng)中找答案,RFCs文件在互聯(lián)網(wǎng)的許多地方可以找到,根據(jù)本人實(shí)踐,我發(fā)現(xiàn)以下站點(diǎn)對(duì)此組織得不錯(cuò),資料查找起來非常方便。

      http://www.cis.ohio-state.edu/hypertext/information/rfc.html

      第二確定您所研究的協(xié)議的最新版本的RFC文件。

      如前文所述,在RFC-2400中有協(xié)議的完整清單,按照清單找到的RFC一般是協(xié)議的最新版本,如果協(xié)議的STATE是Standard就更好了。如下文所分析的FTP協(xié)議的RFC文件是RFC-959。

      第三,獲取RFC文件

      根據(jù)RFC文件編號(hào)查看以上站點(diǎn)的RFCs文件索引

      http://www.cis.ohio-state.edu/htbin/rfc/INDEX.rfc.html

      在里面您可以很快地找到您要找的RFC文件。

      第四,閱讀描述協(xié)議的RFC文件全文

      這不用說了。

      第五,實(shí)踐

      實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),雖然互聯(lián)網(wǎng)協(xié)議不是什么真理,但如果能實(shí)踐一下對(duì)理解和掌握都有好處,許多互聯(lián)網(wǎng)應(yīng)用層的協(xié)議可視程度非常高,協(xié)議中許多控制和參數(shù)用英文短語來表示,所傳輸?shù)臄?shù)據(jù)如文本也是ASCII碼,如HTTP,F(xiàn)TP等,這類協(xié)議單純用Telnet就可以模擬一下客戶端程序的運(yùn)作,當(dāng)然,編程實(shí)現(xiàn)是最好的鍛煉。

      第六,總結(jié)

      總結(jié)確實(shí)是不錯(cuò)的學(xué)習(xí)方法,自己的文章是一面鏡子。

      3.舉例:FTP協(xié)議分析

      FTP協(xié)議的定義在 RFC-959 "FILE TRANSFER PROTOCOL"(Standard,Recommended)。

      3.1介紹

      FTP 文件傳輸協(xié)議(File Transfer Protocol)

      FTP協(xié)議是一個(gè)應(yīng)用層協(xié)議,在TCP上實(shí)現(xiàn)的。

      開發(fā)FTP的目的是

      1)促進(jìn)文件(計(jì)算機(jī)程序和/或數(shù)據(jù))的共享。

      2)鼓勵(lì)對(duì)遠(yuǎn)程計(jì)算機(jī)間接或隱式(implicit)(通過程序)的使用。

      3)對(duì)用戶屏蔽不同主機(jī)系統(tǒng)中的文件儲(chǔ)存的細(xì)節(jié)。

      4)可靠和高效率地實(shí)現(xiàn)文件的傳送。

      用戶雖然可以直接通過一個(gè)終端使用FTP協(xié)議,但FTP協(xié)議的設(shè)計(jì)主要是給程序使用的。

      3.2常用的FTP命令解釋

      由于篇幅所限,這里不對(duì)以上每個(gè)FTP命令做解釋,這里僅解釋一下作者認(rèn)為比較重要或常用的FTP命令,如果讀者需要深入了解請(qǐng)參閱 RFC-959 "FILE TRANSFER PROTOCOL"。

      USER NAME(USER〈sp〉〈username〉)

      本命令的參數(shù)〈username〉標(biāo)識(shí)用戶名,服務(wù)器憑這個(gè)用戶的權(quán)限使用文件系統(tǒng)。這個(gè)命令一般是在控制連接后的第一個(gè)命令。這個(gè)命令成功執(zhí)行后,服務(wù)器會(huì)等待PASS命令,PASS也成功執(zhí)行后,用戶才算等錄成功,可以存取Server-FTP中的文件。

      PASSWORD(PASS〈sp〉〈password〉)

      這個(gè)命令是USER命令的補(bǔ)充,向Server-FTP發(fā)送由〈password〉所表示的密碼,該命令執(zhí)行成功,USER命令所指示的〈username〉才算成功登錄。這里的〈password〉是明文傳送。

      CHANGE WORKING DIRECTORY(CWD〈SP〉〈pathname〉)

      令Server-FTP改變當(dāng)前目錄到〈pathname〉。

      LOGOUT(QUIT)

      這個(gè)命令表示用戶停止使用FTP,Server-FTP會(huì)關(guān)閉控制連接。

      DATA PORT(PORT 〈SP〉〈host-port〉)

      User-FTP這個(gè)命令告訴Server-FTP,等待Server-DTP連接的DTP(可能是User-DTP或其他的Server-DTP)的地址,〈host-port〉所指示的就是這個(gè)地址,具體的PORT命令形式如下。

      PORT h1,h2,h3,h4,p1,p2

      以上六個(gè)參數(shù)都是小于256的數(shù)字。

      h1,h2,h3,h4表示IP地址,如192,168,0,1 表示IP地址是192.168.0.1的主機(jī)。

      p1,p2,表示端口號(hào),注意p1和p2都是小于256,所以1000表示為3,232(1000=3*256+232)

      RETRIEVE(RETR〈SP〉〈pathname〉)

      這個(gè)命令請(qǐng)求Server-FTP通過數(shù)據(jù)連接向User-DTP傳送由〈pathname〉指示的文件的數(shù)據(jù)。

      STOR(RETR 〈SP〉〈pathname〉)

      這個(gè)命令請(qǐng)求Server-FTP通過數(shù)據(jù)連接接收User-DTP傳送的數(shù)據(jù),數(shù)據(jù)保存在由〈pathname〉指示的文件中。注意〈pathname〉是在Server-FTP的主機(jī)上的。

      PRINT WORKING DIRECTORY(PWD)

      Server-FTP收到該命令后在回應(yīng)中返回當(dāng)前工作目錄名。

      LIST(LIST [〈SP〉〈pathname〉])

      Server-FTP收到該命令后向User-DTP發(fā)送目錄〈pathname〉的文件目錄信息。如果沒有〈pathname〉參數(shù),則返回當(dāng)前目錄的文件目錄信息。

      STATUS(STAT [〈SP〉〈pathname〉])

      這個(gè)命令的回應(yīng)有兩種情況,沒有〈pathname〉參數(shù)和有〈pathname〉參數(shù)。

      1)沒有參數(shù),Server-FTP會(huì)在回應(yīng)中返回的一些狀態(tài)信息,如以下是我Linux上的Server-FTP返回的信息:

      211-zfm.home FTP server status:

      Version wu-2.4.2-VR17(1)Mon Apr 19 09:21:53 EDT 1999

      Connected to zfl_k6.home(192.168.0.1)

      Logged in as fszfl

      TYPE:ASCII,F(xiàn)ORM:Nonprint;STRUcture:File;transfer MODE:Stream

      No data connection

      0 data bytes received in 0 files

      0 data bytes transmitted in 0 files

      0 data bytes total in 0 files

      145 traffic bytes received in 0 transfers

      4306 traffic bytes transmitted in 0 transfers

      4501 traffic bytes total in 0 transfers

      211 End of status

      2)如果有〈pathname〉參數(shù),則在回應(yīng)中返回〈pathname〉的目錄信息,如以下是我發(fā)送STAT . 的結(jié)果:

      213-status of .:

      total 64

      drwxrwxr-x 2 fszfl fszfl 1024 Nov 25 01:37 .

      drwx------ 12 fszfl fszfl 1024 Nov 29 00:35 ..

      213 End of Status

      這個(gè)功能好象和LIST有點(diǎn)相似,但LIST中的目錄信息在數(shù)據(jù)連接中返回的。

      HELP [〈SP〉〈string〉]

      這是幫助命令,如果沒有參數(shù)則返回FTP命令列表,如果有參數(shù)則返回〈string〉表示的命令的語法。

      3.3 FTP回應(yīng)

      3.3.1 回應(yīng)的格式

      FTP回應(yīng)有3位數(shù)字編碼和有關(guān)信息的文本組成,編碼后一個(gè)分隔符,如果回應(yīng)中返回信息的長(zhǎng)度大于一行,則編碼后跟減號(hào)(-),否則跟空格(〈sp〉)。多于一行的信息可以參考上面的例子。注意最后還有"213 End of Status"表示信息的結(jié)束。FTP回應(yīng)使用的編碼是約定好的,信息文本可以由具體的Server-FTP設(shè)計(jì)。顯然,編碼為了方便程序設(shè)計(jì),文本信息可以方便閱讀。

      為了敘述方便,下文把這3位編碼稱為回應(yīng)碼。

      3.3.2 回應(yīng)碼含義

      3位回應(yīng)碼的每一位都有確定的含義。第一位表示命令的執(zhí)行結(jié)果,表示成功,失敗,或命令沒有完成。第二位表示回應(yīng)的類型,第三位一般指第二位的進(jìn)一步細(xì)化,預(yù)留給將來的發(fā)展。

      第1位可能的取值:

      1yz 初步確認(rèn)(Positive Preliminary reply)

      表示請(qǐng)求的命令已經(jīng)開始,請(qǐng)等待進(jìn)一步的回應(yīng),在此之前不要發(fā)送新的FTP命令。

      2yz 完成確認(rèn)(Positive Completion reply)

      表示請(qǐng)求的命令已經(jīng)成功完成,可以發(fā)送新的請(qǐng)求。

      3yz 中間狀態(tài)確認(rèn)(Positive Intermediate reply)

      請(qǐng)求的命令已經(jīng)被接受,等待下一條相關(guān)的命令提供進(jìn)一步的信息。這個(gè)回應(yīng)用于一些命令序列中,如USER和PASS,如果USER被接受則可以得到這個(gè)回應(yīng),表明還需要密碼來完成用戶的登錄。

      4yz 暫時(shí)否認(rèn)(Transient Negative Completion reply)

      Server-FTP由于一些暫時(shí)的原因沒有接收命令,User-FTP最好重新請(qǐng)求這個(gè)命令。如果是命令序列,則需要從該序列的第一條指令開始。

      5yz 命令有錯(cuò)(Permanent Negative Completion reply)

      命令沒有被接收,具體的拒絕原因由回應(yīng)碼第二位指出。

      第2位可能的取值,描述回應(yīng)的分類:

      x0z 語法(Syntax)- 命令語法不正確,或Server-FTP沒有實(shí)現(xiàn)這個(gè)功能。

      x1z 信息(Information)- 描述如STAT或HELP等命令要求Server-FTP信息的返回。

      x2z 連接(Connections)- 描述有關(guān)控制和數(shù)據(jù)連接。

      x3z 帳戶和認(rèn)證(Authentication and accounting)- 登錄過程的回應(yīng)。

      x4z 現(xiàn)在還沒有指定。

      x5z 文件系統(tǒng)(File system)- 這個(gè)回應(yīng)反映服務(wù)器的文件系統(tǒng)的狀態(tài)。

      第3位的的含義需要根據(jù)第1,2位的值再細(xì)化。

      3.3.3 回應(yīng)舉例

      3位回應(yīng)碼的不同組合產(chǎn)生了許多不同的含義,篇幅所限不一一列舉,具體請(qǐng)查 RFC-959。下面是幾個(gè)例子:

      200 Command okay.

      500 Syntax error,command unrecognized.

      501 Syntax error in parameters or arguments

      3.4 實(shí)踐

      有條件的讀者可以按以上例子實(shí)踐一下,在win98的user-FTP程序中有debug命令,可以打開調(diào)式模式,調(diào)式模式中會(huì)顯示使用中的FTP命令和回應(yīng),讀者可以很清晰地驗(yàn)證FTP的使用過程。

      如果還有條件可以用TCP編程技術(shù),按FTP的原理和約定編制一個(gè)簡(jiǎn)單的User-FTP或Server-FTP程序,應(yīng)該不是非常困難的事,但非常有利于理解。

      猜你喜歡
      命令編碼信息
      只聽主人的命令
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
      《全元詩(shī)》未編碼疑難字考辨十五則
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:24
      Genome and healthcare
      移防命令下達(dá)后
      訂閱信息
      中華手工(2017年2期)2017-06-06 23:00:31
      這是人民的命令
      展會(huì)信息
      藍(lán)色命令
      泸溪县| 双江| 科技| 塔城市| 射阳县| 厦门市| 涿鹿县| 繁峙县| 乌兰察布市| 大荔县| 九寨沟县| 尖扎县| 岳普湖县| 克什克腾旗| 华安县| 南昌县| 德化县| 滨海县| 长武县| 泰和县| 甘洛县| 花莲市| 天门市| 通榆县| 辽宁省| 景洪市| 新营市| 铜鼓县| 阿合奇县| 察隅县| 陆河县| 和田市| 梁平县| 泌阳县| 共和县| 衡水市| 新邵县| 崇文区| 休宁县| 类乌齐县| 镇宁|