web-dev-qa-db-ja.com

Windowsファイル共有は実際にどのように機能しますか?

HTTPを介して通信する場合、ブラウザで表示するには、最初にソースをダウンロードする必要があることを知っています。しかし、Windowsファイル共有を使用する場合(ネットワークルーターを介して共有する場合と、PC-1からPC-2へのLANケーブルなどを直接共有する場合の両方)、実際にはどのようなメカニズムが機能していますか?

  1. クライアントが受信する特定のポートでデータの送信を開始するサーバーに要求が送信されていますか?
  2. クライアントは、従来のドライブと同じようにサーバーのドライブにアクセスし、データを読み取ってそれを独自のドライブにコピーしますか?
    1. サーバーはファイルをクライアントのハードディスクにコピーしますか?
2
Kraken

Windowsファイル共有は実際にどのように機能しますか?

Microsoft SMBプロトコル認証

Microsoftで使用されるセキュリティモデルSMBプロトコルはSMBの他のバリアントで使用されるものと同じであり、ユーザーと共有の2つのレベルのセキュリティで構成されます。共有はファイル、ディレクトリ、またはMicrosoftがアクセスできるプリンタSMBプロトコルクライアント。

ユーザーレベルの認証は、サーバー上の共有にアクセスしようとするクライアントがユーザー名とパスワードを提供する必要があることを示します。認証されると、ユーザーは、共有レベルのセキュリティで保護されていないサーバー上のすべての共有にアクセスできます。このセキュリティレベルにより、システム管理者は、共有にアクセスできるユーザーとグループを具体的に決定できます。

共有レベルの認証は、共有へのアクセスがその共有にのみ割り当てられたパスワードによって制御されることを示します。ユーザーレベルのセキュリティとは異なり、このセキュリティレベルでは、認証にユーザー名は必要なく、ユーザーIDは確立されません。

これらのセキュリティレベルの両方で、パスワードはサーバーに送信される前に暗号化されます。 NTLMおよび古いLANManager(LM)暗号化は、Microsoft SMBプロトコルでサポートされています。どちらの暗号化方法もチャレンジレスポンス認証を使用します。サーバーはクライアントにランダムな文字列を送信し、クライアントは計算された文字列を返します。クライアントがアクセスに十分な資格情報を持っていることを証明する応答文字列。

ソース


Microsoft SMBプロトコルとCIFSプロトコルの概要

サーバーメッセージブロック(SMB)プロトコルは、ネットワークファイル共有プロトコルであり、Microsoft Windowsで実装されているように、Microsoft SMB Protocol。プロトコルの特定のバージョンを定義するメッセージパケットのセットとして知られています。 Common Internet File System(CIFS)プロトコルはSMBの方言です。SMBとCIFSは、VMS、Unixのいくつかのバージョン、およびその他のオペレーティングシステムでも使用できます。

CIFSのテクニカルリファレンスは、Microsoft Corporationの Common Internet File System(CIFS)File Access Protocol から入手できます。

その主な目的はファイル共有ですが、追加のMicrosoft SMBプロトコル機能には次のものが含まれます。

OSIネットワークモデルでは、Microsoft SMBプロトコルは、アプリケーション層またはプレゼンテーション層プロトコルとして最も頻繁に使用され、トランスポートを低レベルのプロトコルに依存します。Microsoft= SMBプロトコルは、NetBIOS over TCP/IP( [〜#〜] nbt [〜#〜] )で最も頻繁に使用されます。ただし、Microsoft SMBプロトコルは、個別のトランスポートプロトコルなしでも使用できます。MicrosoftSMBプロトコル/ NBTの組み合わせは、通常、下位互換性のために使用されます。

Microsoft SMBプロトコルはクライアントサーバー実装であり、データパケットのセットで構成され、各データパケットには、クライアントから送信された要求またはサーバーから送信された応答が含まれます。これらのパケットは大きく分類できます。次のように:

  • セッション制御パケット-共有サーバーリソースへの接続を確立および中止します。
  • ファイルアクセスパケット-リモートサーバー上のファイルとディレクトリにアクセスして操作します。
  • 一般メッセージパケット-印刷キュー、メールスロット、および名前付きパイプにデータを送信し、印刷キューのステータスに関するデータを提供します。

一部のメッセージパケットは、応答の待ち時間を短縮し、ネットワーク帯域幅を増やすために、グループ化されて1回の送信で送信される場合があります。これは「バッチ処理」と呼ばれます。 Microsoft SMBプロトコルパケット交換シナリオ セクションでは、パケットバッチ処理を使用するMicrosoft SMBプロトコルセッションの例について説明します。


トピック:Microsoft SMBプロトコル方言

  • 説明:Microsoft SMBプロトコルを使用してクライアントとサーバー間の接続を確立するには、最初に方言を決定する必要がありますクライアントとサーバーの両方がサポートする最高レベルの機能を備えています。

トピック:Microsoft SMBプロトコル認証

  • 説明:Microsoftで使用されるセキュリティモデルSMBプロトコルはSMBの他のバリアントで使用されるものと同じであり、ユーザーと共有の2つのセキュリティレベルで構成されます。共有とは、Microsoft SMBプロトコルクライアントがアクセスできるファイル、ディレクトリ、またはプリンタです。

トピック:Microsoft SMBプロトコルパケット交換シナリオ

  • 説明:Microsoftの例SMBクライアントとサーバー間のプロトコルパケット交換。

ソース


コメントの明確化

ファイルアクセスパケット-リモートサーバー上のファイルとディレクトリにアクセスして操作します。これはどのように起こりますか?要求されたデータをクライアントに提供するための応答パケットはどこにありますか?Kraken

各パケットは通常、ファイルを開く、ファイルを閉じる、ファイルを読み取るなど、ある種の基本的な要求です。次に、サーバーはパケットを受信し、要求が正当であるかどうかを確認し、クライアントに適切なファイルアクセス許可があることを確認し、最後に要求を実行して応答パケットをクライアントに返します。次に、クライアントは応答パケットを解析し、最初の要求が成功したかどうかを判断できます。

ソース


その他のリソース

プロトコルとのクライアントサーバーセッションの確立に関連する認証の側面の図と説明。

SMBの詳細についてはこちらをご覧ください。

3
Pimp Juice IT