Shepherdでノード単位のアクセス制御を実現するため,フォールドという概念を導入する.
フォールドはVPNを介した相互通信が許可されたノードの集合で,
フォールドの複数定義でき,単一ノードによる複数のフォールド参加も可能である.
図 3の例では fold 1 と fold 2 のように2つのフォールドが作成され,
は
と,
は
とVPNを介した通信が可能である.
3.2節で述べたように, ShepherdはEthernetフレーム集約手法として Proxy ARP を用いることにより, 導入時の3つの機能要件を同時に達成する.
Shepherdは接続先の発見手法としてインスタントメッセンジャのオープンプロトコルである XMPP (eXtensible Messaging and Presence Protocol) [10] を用いる. インスタントメッセンジャのサービスを提供するXMPPサーバにシェパードノードのアカウントを作成し, そのアカウントを用いて両者がXMPPサーバにログインすることで, XMPPサーバから互いのIPアドレスなどの情報の通知をうける.
Shepherdは異なるPNのノードの送信先IPアドレスの決定手法として, 既存アドレス空間を拡張することにより解決する. ShepherdはPNのアドレス空間から未使用IPアドレスを発見し,送信先IPアドレスとする. その送信先IPアドレスを宛先としたIPパケットはShepherdによってフレンドシェパードによって転送され, 受信したシェパードノードはそのIPパケットの送信先IPアドレスを送信先ノードの実際のIPアドレスに書き換え, ノードに送信する.