SHARKFEST '08 | Foothill College | March 31 - April 2, 2008 File and Disk Sharing Protocols April 2, 2008 Richard Sharpe Senior Software Engineer | Data.

Slides:



Advertisements
Similar presentations
Network Communication
Advertisements

PRESENTATION TITLE GOES HERE Introduction to NFS v4 and pNFS David Black, SNIA Technical Council, EMC slides by Alan Yoder, NetApp with thanks to Michael.
© 2009 EMC Corporation. All rights reserved. Direct Attached Storage and Introduction to SCSI Module 2.1.
Ch. 2 Protocol Architecture. 2.1 The Need for a Protocol Architecture Same set of layered functions need to exist in the two communicating systems. Key.
Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Introduction to Management Information Systems Chapter 5 Data Communications and Internet Technology HTM 304 Fall 07.
Data/Link Layer Issues Protocol & Services Topology Error Detection & Recovery.
Defining Network Protocols Application Protocols –Application Layer –Presentation Layer –Session Layer Transport Protocols –Transport Layer Network Protocols.
5/8/2006 Nicole SAN Protocols 1 Storage Networking Protocols Nicole Opferman CS 526.
Storage Networking Technologies and Virtualization Section 2 DAS and Introduction to SCSI1.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Gursharan Singh Tatla Transport Layer 16-May
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
OSI Model Routing Connection-oriented/Connectionless Network Services.
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
WXES2106 Network Technology Semester /2005 Chapter 4 TCP/IP CCNA1: Module 9, 10.3 and 11.
Midterm Review - Network Layers. Computer 1Computer 2 2.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
NetworkProtocols. Objectives Identify characteristics of TCP/IP, IPX/SPX, NetBIOS, and AppleTalk Understand position of network protocols in OSI Model.
12/12/2008 Summers - SAiSCSI 1 Secure Asymmetric iSCSI For Online Storage Sarah A. Summers.
Introduction to SAN – 1: iSCSI & FCIPBITS Pilani Alumni Association ( 19, 2006 Introduction to Storage Area Networks – I iSCSI.
SEED Infotech Pvt. Ltd. 1 Networking in Java. SEED Infotech Pvt. Ltd. 2 Objectives of This Session Describe issues related to any type of network using.
TCP/IP: Basics1 User Datagram Protocol (UDP) Another protocol at transport layer is UDP. It is Connectionless protocol i.e. no need to establish & terminate.
Slide 1 DESIGN, IMPLEMENTATION, AND PERFORMANCE ANALYSIS OF THE ISCSI PROTOCOL FOR SCSI OVER TCP/IP By Anshul Chadda (Trebia Networks)-Speaker Ashish Palekar.
Chapter 5 Section 2 : Storage Networking Technologies and Virtualization.
Chapter 7 Low-Level Protocols
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
Mukesh N. Tekwani Elphinstone College Mumbai
Chapter Three Network Protocols By JD McGuire ARP Address Resolution Protocol Address Resolution Protocol The core protocol in the TCP/IP suite that.
11 NETWORK LAYER PROTOCOLS Chapter 5 IP IPX NetBEUI AppleTalk.
Networking Concepts. Week-7 Network Protocols Three Major Components:  Application Interface –Connects programs to network  Global Network Transport.
11 TRANSPORT LAYER PROTOCOLS Chapter 6 TCP and UDP SPX and NCP.
1 Networking Chapter Distributed Capabilities Communications architectures –Software that supports a group of networked computers Network operating.
Addressing Through the Layers  Data Link Layer Address  Network Layer Address.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
Interfaces and Services Each layer provides a service to the layer above it. A service is a set of primitive operations. Under UNIX, primitives are implemented.
AoE and HyperSCSI on Linux PDA Prepared by They Yu Shu.
IATA Kulveer Singh
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 9.
1 Review – The Internet’s Protocol Architecture. Protocols, Internetworking & the Internet 2 Introduction Internet standards Internet standards Layered.
Ch. 2 Protocol Architecture. 2.1 The Need for a Protocol Architecture Same set of layered functions need to exist in the two communicating systems. Key.
© 2007 EMC Corporation. All rights reserved. Internet Protocol Storage Area Networks (IP SAN) Module 3.4.
CIS 173 Networking Week #9 OBJECTIVES Chapter #6 Network Communications Protocols.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
SOCKET PROGRAMMING Presented By : Divya Sharma.
Semester 3, Chapter 7 Allan Johnson
Networking Using the OSI Model.
The Transport Layer Implementation Services Functions Protocols
Introduction to TCP/IP
Distributed Systems.
Direct Attached Storage and Introduction to SCSI
What the OSI Protocol Layers Do
Understand the OSI Model Part 2
Chapter Three Network Protocols.
Direct Attached Storage and Introduction to SCSI
Storage Networks and Storage Devices
Network Protocol Layers
Storage Networking Protocols
ECEN “Internet Protocols and Modeling”
Process-to-Process Delivery:
Transport Protocols An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Chapter 15 – Part 2 Networks The Internal Operating System
TCP/IP Protocol Suite: Review
TCP/IP Protocol Suite and IP Addressing
Network Architecture Models
Chapter 3 Transport Layer
Transport Layer 9/22/2019.
Unit – III Network Essentials
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

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 Network Oriented Disk or File blocks?

Disk Sharing Basics

Disk Sharing Dimensions 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 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 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

Original SCSI Model Eight Phases Bus Free Arbitration Selection Reselection Command (CDB) Data Message Status

SCSI Data Phases COMMAND Target requests Command Descriptor Block (CDB) 6, 10, 12, 16 or variable byte CDBs Bits Bytes Operation Code 1Reserved(MSB) 2 Logical Block Address 3 (LSB) 4Transfer Length or Parameter List Length etc 5Control

SCSI Data Phases, Command 10-Byte CDBs Bits Bytes Operation Code 1ReservedService Action (If required) 2,3(MSB) Logical Block 4,5 Address (If required) (LSB) 6Reserved 7(MSB) Transfer Length or 8 Parameter List Length (LSB) 9Control

SCSI Data Phases, Command 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 Phases 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 eg

USB Storage Details 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: sbulk_10.pdf

Command Block Wrapper Sent to Bulk endpoint by the host Bits Bytes dCBWSignature (0x – USBC) 4-7dCBWTag 8-11bmCBWFlags 13Reserved (0)bCBWLUN 14Reserved(0)bCBWLength 15-31CBWCB(Up to 16 bytes)

Command Status Wrapper Sent on a Bulk In endpoint by the device Bits Bytes dCSWSignature(0x USBS) 4-7dCSWTag 8-11dCSWDataResidue 12 bCSWStatus

Protocol Dissection Issues 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 epan/dissectors/packet-usb-masstorage.c

USB Storage Details

ATA Serial ATA ATA over Ethernet (ATAoE) SATA over FibreChannel ATA over FireWire? Why not, given Firewire extension to 3+Gbps?

File Sharing Basics

File Operations Create a file 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

Further File Sharing Dimensions 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 NFS NFS v3 NFS v4 CIFS/SMB NetWare Parallel NFS Andrew File System PanFS

NFS v3 RFC1813 ( 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 Locking protocol external to NFS v3 NFS lock manager Mount protocol separate

NFS v4 RFC3010 ( 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 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 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 Request/Response Protocol Basic Header fields repeated in request and response Makes response matching relatively simple Header (Variable Length – Starts with 0xFFSMB) Data, length defined by header

CIFS/SMB Header TypeOffsetsField uchar0-3Protocol (0xFFSMB) uchar4Command ulong5-8Status (Several variants) uchar9Flags ushort10-11Flags2 uchar12-23Security/Extra ushort24-33TID, PID, UID, MID uchar34WordCount ushort35-xxParameterWords[WordCount] ushortxx+1ByteCount ucharxx+2 - yyBuffer[ByteCount]

packet-smb.c Now look at the source code epan/dissectors/packet-smb.c

NetWare 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 Extension to NFSv4 ( Allows direct, parallel, access to storage devices Provides clients with layout information

Andrew File System

PanFS

These Protocols and Ethereal Protocol dissectors reusable Capture formats can inject any packet types Eg, SCSI over FC over Ethernet State keeping

Problems More capture file format need to be included Especially for proprietary tools USB sniffers FireWire sniffers Other sniffer products