atitit.網路檔案訪問協議.unc smb nfs ftp http的區別

weixin_34120274發表於2015-12-17

atitit.網路檔案訪問協議.unc smb nfs ftp http的區別

 

 

 

1網路檔案訪問協議1

2NETBios協議  2

3SMBServer Message Block2

3.1. Win訪問smb2

3.2. Java訪問smb2

3.2.1. jcifs/jcifs-1.3.8.jar.zip( 366 k)2

3.2.2. Jftp也可以了3

4Unc路徑3

4.1. Win訪問Unc4

4.2. Java訪問Unc4

5NFS協議4

5.1. Win訪問nfs5

5.2. Java訪問nfs5

5.2.1. jnex-4.3.jar (cant)5

5.2.2. Use jftp5

6Wefnfs,http ,ftp7

7Potplayer訪問smb nfs ftp http7

8參考7

 

 

 

1. 網路檔案訪問協議

 

 

從 Windows 95 開始,Microsoft Windows 作業系統(operating system)都包括了客戶機和伺服器 SMB 協議支援。Microsoft 為 Internet 提供了 SMB 的開源版本,即通用 Internet 檔案系統 (CIFS)。與現有 Internet 應用程式如檔案傳輸協議(FTP)相比, CIFS 靈活性更大。對於 UNIX 系統,可使用一種稱為 Samba 的共享軟體

 

 

常用的網路訪問協議有http,ftp,smb,nfs等。。

 

2. NETBios協議 

Netbios (網路基本輸入/輸出系統)最初由 IBMSytek 作為API開發,使使用者軟體能使用區域網的資源。自從誕生,Netbios成為許多其他網路應用程式的基礎。嚴格意義上,Netbios 是接入網路服務的介面標準。 
  Netbios 原來是作為THE網路控制器為 IBM 區域網設計的,是通過特定硬體用來和網路作業系統 連線的軟體層。Netbios經擴充套件,允許程式使用Netbios介面來操作IBM令牌環結構。Netbios 已被公認為工業標準,通常參照 Netbios-compatible LANs

 

作者:: 老哇的爪子 Attilax 艾龍,  EMAIL:1466519819@qq.com

轉載請註明來源: http://blog.csdn.net/attilax

 

3. SMBServer Message Block

通訊協議是微軟(Microsoft)和英特爾(Intel)1987年制定的協議,主要是作為Microsoft網路的通訊協議。SMB 是在會話層(session layer)和表示層presentation layer)以及小部分應用層application layer)的協議。SMB使用了NetBIOS應用程式介面 Application Program Interface,簡稱API)。另外,它是一個開放性的協議,允許了協議擴充套件——使得它變得更大而且複雜;大約有65個最上層的作業,而每個作業都超過120個函式,甚至Windows NT也沒有全部支援到,最近微軟又把 SMB 改名為 CIFSCommon Internet File System),並且加入了許多新的特色。

 

3.1. Win訪問smb

使用unc路徑

 

smb 用 \\server\share\file 的方式訪問

3.2. Java訪問smb

3.2.1. jcifs/jcifs-1.3.8.jar.zip( 366 k)

 

import jcifs.smb.SmbFile;

import jcifs.smb.SmbFileOutputStream;

 

public class smbTest {

 

public static void main(String[] argsthrows Exception {

// TODO Auto-generated method stub

createDir("aaa2");

File f=new File("\\\\192.168.2.106\\電影\\最新電影");

System.out.println(f.exists());

//f.createNewFile( );

System.out.println("fffff");

}

private static String smburl = "smb://admin:admin@192.168.2.106/電影/最新電影";

//zhoushun ----------------------------

public static void createDir(String dirthrows Exception{

SmbFile fp = new SmbFile(smburl+"//"+dir);

System.out.println("fieldir+++++++++++++++++++++="+smburl+"//"+dir);

//File fp = new File("Z://"+dir);  

        // 目錄已存在建立資料夾  

        if (fp.exists() && fp.isDirectory()) {  

            

        } else{

        // 目錄不存在的情況下,會丟擲異常  

            fp.mkdir();  

        }

}

 

3.2.2. Jftp也可以了

 

4. Unc路徑

 

 

4.1. Win訪問Unc

4.2. Java訪問Unc

Java讀寫unc路徑,就是正常的的fileok.

 

File f=new File("\\\\192.168.2.106\\電影\\最新電影");

System.out.println(f.exists());

 

 

 

Nfs

5. NFS協議

 編輯

本詞條缺少概述資訊欄名片圖,補充相關內容使詞條更完整,還能快速升級,趕緊來編輯吧!

NFSNetworkFileSystem的簡寫,即網路檔案系統
  網路檔案系統是FreeBSD支援的檔案系統中的一種,也被稱為NFS.NFS允許一個系統在網路上與它人共享目錄和檔案。通過使用NFS,使用者和程式可以象訪問本地檔案一樣訪問遠端系統上的檔案。 
  以下是NFS最顯而易見的好處: 
  1.本地工作站使用更少的磁碟空間,因為通常的資料可以存放在一臺機器上而且可以通過網路訪問到。 
  2.使用者不必在每個網路上機器裡頭都有一個home目錄。Home目錄可以被放在NFS伺服器上並且在網路上處處可用。 
  3.諸如軟碟機,CDROM,和Zip®之類的儲存裝置可以在網路上面被別的機器使用。這可以減少整個網路上的可移動介質裝置的數量。 
  NFS至少有兩個主要部分:一臺伺服器和一臺(或者更多)客戶機。客戶機遠端訪問存放在伺服器上的資料。為了正常工作,一些程式需要被配置並執行。 
  NFS有很多實際應用。下面是比較常見的一些: 
  1.多個機器共享一臺CDROM或者其他裝置。這對於在多臺機器中安裝軟體來說更加便宜跟方便。 
  2.在大型網路中,配置一臺中心NFS伺服器用來放置所有使用者的home目錄可能會帶來便利。這些目錄能被輸出到網路以便使用者不管在哪臺工作站上登入,總能得到相同的home目錄。 
  3.幾臺機器可以有通用的/usr/ports/distfiles目錄。這樣的話,當您需要在幾臺機器上安裝port時,您可以無需在每臺裝置上下載而快速訪問原始碼。 
  注:NFSSunmicrosystems公司開發。是一種網路作業系統,並且是unix作業系統的協議

 

5.1. Win訪問nfs

,使用unc路徑 好像不行

使用win client,好像down不到soft..新不上

nfs 需要載入 (mount), win上要裝nfs客戶端

 

 

 

 

5.2. Java訪問nfs

 

5.2.1. jnex-4.3.jar (cant)

 話說這段程式碼雖然很簡單,卻費了我不少力氣。JDK本身是沒有訪問NFS的功能,只能用第三方包了,google後發覺用java訪問NFS的應用很少,竟然沒找到可用的示例,遠不如samba那麼多,而且只有sunwebnfs可用來訪問NFS,在http://yanfs.dev.java.net 上只有一個一個的散裝原始碼打包後的jar都沒地方下,API文件都沒有愁煞我也找來找去,根據sun的線上文件摸索出了點頭緒.

Containing JAR files:

[MAVEN2] jnex-4.3.jar

 

import com.nexirius.util.XFile;

XFileExtensionAccessor跟個XFileInputStream還是新不上..

放棄..

 

5.2.2. Use jftp

 

 

 個用JAVA寫的FTP客戶端程式。功能強大不僅支援FTP,還支援其它協議如SMB, SFTP, NFS, HTTP等。在傳輸檔案的同時還可以...

 

import com.sun.nfs.XFileExtensionAccessor;

import com.sun.xfile.XFile;

import com.sun.xfile.XFileInputStream;

import com.sun.xfile.XFileOutputStream;

 

public class NfsTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

new NfsTest().downloadViaNFS("192.168.2.106","admin","admin","電影");

}

 

public void downloadViaNFS(final String ipfinal String user,

final String passwordfinal String dir)

 

{

 

Logger logger = new Logger("");

logger.debug("NFS download begin!");

 

//try {

 

String url = "nfs://" + ip + "/" + dir;

 

XFile xf = new XFile(url);

 

if (xf.exists())

 

{

 

logger.debug("URL is OK!");

 

else

 

{

 

logger.debug("URL is bad!");

 

return;

 

}

 

//XFileExtensionAccessor nfsx = (XFileExtensionAccessor) xf

//.getExtensionAccessor();

//

//if (!nfsx.loginPCNFSD(ip, user, password))

//

//{

//

//logger.debug("login failed!");

//return;

//

//}

 

String[] fileList = xf.list();

 

X

 

6. Wefnfs,http ,ftp

WebNFS技術是Sun的網路檔案系統(Network File System)技術的擴充套件.可提供比標準HTTP或FTP協議快10倍的檔案傳輸速度。

 

7. Potplayer訪問smb nfs ftp http

 

nfs 需要載入 (mount), win上要裝nfs客戶端

smb 用 \\server\share\file 的方式訪問

 

8. 參考

SMB協議_百度百科.htm

基於SMB協議的共享檔案讀寫 - - ITeye技術網站.htm

Potplayer支援播放NFS_SMB之類的網路檔案嗎?-PotPlayer論壇 - Powered by Discuz!.html

相關文章