SHARKFEST '08  |  Foothill College  |  March 31 - April 2, 2008
Download
1 / 38

File and Disk Sharing Protocols April 2, 2008 Richard Sharpe - PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on

File and Disk Sharing Protocols April 2, 2008 Richard Sharpe Senior Software Engineer | Data Robotics Wireshark Contributor SHARK FEST '08 Foothill College March 31 - April 2, 2008. Agenda. Disk serving/sharing protocols File serving/sharing protocols Ethereal issues.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' File and Disk Sharing Protocols April 2, 2008 Richard Sharpe' - kibo-nelson


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

SHARKFEST '08 | Foothill College | March 31 - April 2, 2008

File and Disk Sharing Protocols

April 2, 2008

Richard Sharpe

Senior Software Engineer | Data Robotics

Wireshark Contributor

SHARKFEST '08

Foothill College

March 31 - April 2, 2008


Agenda

SHARKFEST '08 | Foothill College | March 31 - April 2, 2008

Agenda

  • Disk serving/sharing protocols

  • File serving/sharing protocols

  • Ethereal issues


File sharing or disk sharing
File Sharing or Disk Sharing 2008

  • Network Oriented

    • Disk or File blocks?



Disk sharing dimensions
Disk Sharing Dimensions 2008

  • How many Logical Units (LUNs)

  • Size of each LUN

    • Does the protocol restrict LUN size

  • Management

  • Storage protection

    • Mirroring or striping or P+Q

  • Provisioning

    • Do you back all advertised blocks with real blocks?

    • When do you alert user more storage is needed?

    • Mixed LUN sizes?

  • Shared access?


Disk sharing serving protocols
Disk Sharing/Serving Protocols 2008

  • Protocol

    • SCSI

    • ATA

    • Proprietary

  • Transport

    • USB

    • FireWire (IEEE1394)

    • Ethernet

    • FibreChannel and FibreChannel over Ethernet (FCoE)

    • Point-to-point cable (SATA, SAS, PATA, Parallel SCSI)


Scsi introduction
SCSI Introduction 2008

  • Parallel

    • 8, 16, and 32-bit cables

    • Terminators, LVDS, etc

  • Serial Attached SCSI

  • USB and FireWire

  • TCP/IP – ie, iSCSI

  • SCSI over FibreChannel

  • SCSI over Ethernet - HyperSCSI


Scsi standards architecture
SCSI Standards Architecture 2008

www.t10.org/scsi-3.htm


Original scsi model
Original SCSI Model 2008

  • Eight Phases

    • Bus Free

    • Arbitration

    • Selection

    • Reselection

    • Command (CDB)

    • Data

    • Message

    • Status


Scsi data phases
SCSI Data Phases 2008

COMMAND

  • Target requests Command Descriptor Block (CDB)

  • 6, 10, 12, 16 or variable byte CDBs


Scsi data phases command
SCSI Data Phases, Command 2008

10-Byte CDBs


Scsi data phases command1
SCSI Data Phases, Command 2008

  • 12-Byte CDBs

  • Provides for 6-byte LBAs

  • 32-bit transfer sizes

  • 16-Byte CDBs

  • Provides for 8-byte LBAs

  • 32-bit transfer sizes


Scsi data phases1
SCSI Data Phases 2008

  • Data Transfer

  • Target requests transfer to or from initiator

  • Status

  • Target requests transfer of status to initiator

  • Message

  • Target can request transfer of messages

  • See www.t10.org, eg http://www.t10.org/ftp/t10/drafts/spc2/spc2r20.pdf


Usb storage details
USB Storage Details 2008

  • SCSI over USB Bulk Only Transport

  • Command Block Wrapper

    • Wraps CDB (max 16-bytes)

  • Data in (to host) or data out (from host)

  • Command Status Wrapper

    • Wraps the status and residue

    • No sense data

  • See: http://www.usb.org/developers/devclass_docs/usbmassbulk_10.pdf


Command block wrapper
Command Block Wrapper 2008

  • Sent to Bulk endpoint by the host


Command status wrapper
Command Status Wrapper 2008

  • Sent on a Bulk In endpoint by the device


Protocol dissection issues
Protocol Dissection Issues 2008

  • Capture files?

    • Wireshark understands Linux usbmon captures

  • Request and response matching

  • Match data in or data out to requests

  • Conversations

  • Using the existing SCSI dissector


Use the source
Use the source 2008

  • epan/dissectors/packet-usb-masstorage.c



ATA 2008

  • Serial ATA

  • ATA over Ethernet (ATAoE)

  • SATA over FibreChannel

  • ATA over FireWire?

    • Why not, given Firewire extension to 3+Gbps?



File operations

Create a file 2008

Delete a file

Rename a file

Open a file

Read/write a file

Lock portions of a file

Change permissions

Read/write file attributes

Extend/truncate a file

File Operations


Further file sharing dimensions
Further File Sharing Dimensions 2008

  • One tree of files per server or a forest

  • Namespaces

    • Single network-wide namespace or one (or more) per server

  • Stateless vs Stateful

  • Access permission model

  • Sharing model

  • Locking

  • Caching mechanisms

  • Performance


File serving sharing protocols
File Serving/Sharing Protocols 2008

  • NFS

    • NFS v3

    • NFS v4

  • CIFS/SMB

  • NetWare

  • Parallel NFS

  • Andrew File System

  • PanFS


Nfs v3
NFS v3 2008

  • RFC1813 (http://www.faqs.org/rfcs/rfc1813.html)

  • Improvement of NFS v2

  • Stateless

    • Operates over UDP and TCP

    • Server does not need to keep client-related state

    • File handles encapsulate state

  • Based on XDR and SunRPC

  • File attributes returned with most calls

    • Reduces number of calls and round trips


Nfs v3 continued
NFS v3 continued 2008

  • Locking protocol external to NFS v3

    • NFS lock manager

  • Mount protocol separate


Nfs v4
NFS v4 2008

  • RFC3010 (http://www.faqs.org/rfcs/rfc3010.html)

  • Servers keep state

    • Operates over TCP and UDP

    • Open request establishes state

    • Lease based, with release on timeout

  • Compound operations

  • Locking

  • Caching and delegation


Cifs smb
CIFS/SMB 2008

  • Originally NetBEUI

    • Over Ethernet Frame Protocol

  • Server Message Block protocol

  • Renamed CIFS in 1996

  • State based

    • TCP connection oriented

    • NetBIOS header

  • Forest of trees

    • Shares are the point of access


Cifs smb continued
CIFS/SMB continued 2008

  • Sharing defined in the protocol

    • Read/Write/Delete specified at file open time

  • Locking part of the protocol

    • Ranges of bytes can be locked for reading/writing

  • Client caching protocol part of the protocol

    • OpLock based (callbacks)


Cifs smb packets
CIFS/SMB Packets 2008

Request/Response Protocol

  • Basic Header fields repeated in request and response

  • Makes response matching relatively simple



Packet smb c
packet-smb.c 2008

  • Now look at the source code

  • epan/dissectors/packet-smb.c


Netware
NetWare 2008

  • Based on XNS

  • Internet Packet Exchange Protocol – IPX

    • Network layer - connectionless

  • Sequenced Packet Exchange – SPX

    • Transport protocol – connection oriented

  • Service Advertisement Protocol

  • Very popular at one time


Parallel nfs
Parallel NFS 2008

  • Extension to NFSv4 (http://www.pnfs.com/)

  • Allows direct, parallel, access to storage devices

  • Provides clients with layout information



Panfs
PanFS 2008


These protocols and ethereal
These Protocols and Ethereal 2008

  • Protocol dissectors reusable

  • Capture formats can inject any packet types

    • Eg, SCSI over FC over Ethernet

  • State keeping


Problems
Problems 2008

  • More capture file format need to be included

    • Especially for proprietary tools

      • USB sniffers

      • FireWire sniffers

      • Other sniffer products


ad