2020ok  Directory of FREE Online Books and FREE eBooks

Free eBooks > Computers & Internet > Operating Systems > Unix > General > Implementing CIFS: The Common Internet File System

Implementing CIFS: The Common Internet File System

by Christopher Hertel and Christopher R. Hertel

Download Book
(Respecting the intellectual property of others is utmost important to us, we make every effort to make sure we only link to legitimate sites, such as those sites owned by authors and publishers. If you have any questions about these links, please contact us.)

link 1

About Book

Book Description

This book gathers together and presents—in a readable, accessible form— the arcane knowledge of the Samba Team in understanding the CIFS protocol. The content is based on years of experience asking and answering questions on the Samba Technical and jCIFS Developer's mailing lists, as well as countless hours spent pouring over obscure documentation, packet traces, and source code. The approach is layered with basic concepts first introduced and then discussed before drilling down into the actual workings and internals. The goal is to help the reader, no matter what platform they are working in, develop an understanding of the protocols, and to act as a guide to the more detailed specifications and technical references that are available.The large installed base of Windows systems has granted de facto standard status to the CIFS (Microsoft's filesharing system) protocol suite. It lets programs make requests for files and services on remote computers on the Internet. Unfortunately, implementation documentation and detailed protocol specs are scarce, incomplete, or inconsistent. This is a problem both for network administrators and third-party CIFS implementors and so the need for this book is clear.Samba is an Open Source CIFS server that ships with most distributions of Linux and several commercial UNIX flavors. JCIFS is an SMB/CIFS implementation in Java.

From the Back Cover

"The book that Microsoft should have written, but didn't."
—Jeremy Allison, Samba Team

"Your detailed explanations are clear and backed-up with source code—and the numerous bits of humor make a dry subject very enjoyable to read."
—J.D. Lindemann, network engineer, Adaptec, Inc.

The first developer's guide to Microsoft®'s Internet/Intranet file sharing standard

For years, developers and administrators have struggled to understand CIFS, Microsoft's poorly documented standard for Internet file sharing. Finally, there is an authoritative, cross-platform guide to CIFS capabilities and behavior. Implementing CIFS not only delivers the priceless knowledge of a Samba Team member dedicated to investigating the inner workings of CIFS, it also identifies and describes crucial specifications and supporting documents.

  • Provides essential information for designing and debugging large Windows® and/or Samba networks
  • Offers clear, in-depth introductions to Server Message Block (SMB), NetBIOS over TCP/IP (NBT), browser services, and authentication
  • Drills down into the internals of CIFS, exposing its behavior on the wire and at the desktop—and its strange quirks
  • Presents illustrative code examples throughout
  • Reflects years of work reviewing obscure documentation, packet traces, and sourcecode
  • Includes the SNIA CIFS Technical Reference

Implementing CIFS will be indispensable to every developer who wants to provide CIFS compatibility—and every administrator or security specialist who needs an in-depth understanding of how it really works.

About the Author

CHRISTOPHER R. HERTEL is a member of the Samba Team and a founding member of the jCIFS Team. He has worked with SMB/CIFS networks since the 1980s, when he designed and installed a large-scale network based on DEC Pathworks, using Microsoft and IBM® networking protocols. Hertel is Network Design Engineer at the University of Minnesota.

Series Editor BRUCE PERENS is an Open Source evangelist and developer whose software is a major component of most commercial Linux® offerings. He founded or co-founded Linux Standard Base, Open Source Initiative, and Software in the Public Interest. As Debian GNU/Linux Project Leader, he was instrumental in getting Linux on two U.S. Space Shuttle flights, bringing respect to Linux when few people were taking it seriously. He now consults with companies on Open Source policies and processes.

Excerpt. © Reprinted by permission. All rights reserved.


Writing a book is hard—writing a good book is very hard, and describing an area as complex as CIFS is a nightmare. The biggest pleasure of being involved with the production of this reference is in the clarity and depth of the end result—the impossible has been achieved, for the benefit of all involved in this protocol.

CIFS is an important protocol—indeed, in Windows networks it could be considered as important as TCP/IP, as almost all communication between Windows machines can flow over it. It provides file and print services, and, among other things, is a carrier for Remote Procedure Call and NT Domain services. When I came to CIFS in 2001, it was out of an interest in the Samba project—an Open Source implementation that I was running on Linux—where I soon became a specialist in Authentication. At the time, there was little good documentation available, particularly on the murky details of authentication. For that reason, you will find my name scattered all over the Authentication area of this book. As a developer of a CIFS implementation, there are many things that I now know—and needed to know then—that were never clearly written down. Too often, the only reference on some functionality was the C code that implemented it—and the implicit hope that comments vaguely represented reality. I personally spent many hours inspecting the publicly available sources of Samba and Samba-TNG, in the hope of gleaning some extra understanding, some critical detail.

My role in this book was one of many willing victims—exposing all I knew about CIFS, realising how little we had all actually proved, and how much we just assumed. Chris' role was that of interrogator—asking all the difficult questions, and forcing us all to re-evaluate. The end result was a lot of testing, experimentation, and analysis, but also the solid research foundation behind this massive effort.

My hope is that with this book, future developers will no longer be required to pore over cryptic standards drafts—or badly commented C code—to understand the "big picture" into which their software sits. More remarkably however, Implementing CIFS provides a solid technical reference on the protocol as a whole—between the standardese of the SNIA Technical Reference included as an appendix and the clear English of Chris' own chapters is a wealth of technical information that aids even the most experienced developer.

Beyond that, by creating such readable documentation, Implementing CIFS allows more than blind faith in vendors words—CIFS is now assessable to network administrators and other non-programmers who can understand for themselves how this protocol works (and how it doesn't).

By leading readers though the creation of his own basic CIFS client, Chris Hertel ensures that readers have a solid background in the basics—and can continue on to implementing the rest of the protocol sure of their foundations. I've very much enjoyed working with Chris Hertel on Implementing CIFS—finally, I could see a description of this protocol that mere mortals could not only understand, but also enjoy!

Andrew Bartlett, Samba Team, Canberra, Australia, June 2003.



PLEASE READ: All comments must be approved before appearing in the thread; time and space constraints prevent all comments from appearing. We will only approve comments that are directly related to the article, use appropriate language and are not attacking the comments of others.

Message (please, no HTML tags. Web addresses will be hyperlinked):

Related Free eBooks

Related Tags

DIGG This story   Save To Google   Save To Windows Live   Save To Del.icio.us   diigo it   Save To blinklist
Save To Furl   Save To Yahoo! My Web 2.0   Save To Blogmarks   Save To Shadows   Save To stumbleupon   Save To Reddit