Linux Networking CIS230.0325 Why Linux/Unix? • Configurability ▫ Customizable System to satisfy unique needs. • Scalability ▫ Able to serve an increasing number of users with out down time. • Stability ▫ Exceptional design to avoid crashes Daemon & HTTPD • Daemon ▫ Linux Program ▫ Runs in the background ▫ Starts up and shuts down with the system • Httpd ▫ D for daemon ▫ Runs in the background ▫ Answers server request from clients Inetd & TCP Wrappers • Inetd ▫ Links ports to associated server domain ▫ Runs appropriate programs that are requested • TCP Wrappers ▫ Grants or denies Server Request ▫ Logs network use Date Time Service requested Clients name Address File Sharing • FTP (file transfer protocol) • NFS (network file system) • To access shared file: ▫ ▫ ▫ ▫ file must be listed in the NFS server host file. User must know location Mount file using mount command (line prompt) Able to view mounted file like directory Network File System • • • • NFS allows users to view/share files in Unix/Linux Allows users to access their files from virtually any computer Virtual file system NFS Request are stateless ▫ Repeats client request during system crash ▫ During reboot, server would then answer request like the system crash never occurred • Knfsd – Kernel network file system daemon ▫ Runs in Kernel mode ▫ Uses NFS tools to improve response time for clients Server Message Block • • • • SMB is a client/server protocol Application and presentation level protocol Runs on transport and network protocols In charge of ▫ File sharing ▫ Printing ▫ Logins Samba/Share • Samba is server for sharing, printing, and login services • Share allows users in a SMB to share resources in network • Two components of samba: ▫ Smbd: responsible for file and print services and executes users verifications ▫ Nmbd: applies name resolution and browsing SWAT • Samba Web Administration Tool allows system administrator: ▫ Change Samba configuration ▫ Select shares ▫ Set verification requirements like user name and password Postscript/Ghostscript • Postscript: -Is used to optimize printing graphics and text -Provides convenient language for printing with out reference to any device features like printer resolution • Ghostscript converts postscript documents to raster ( composed of pixels and dot) image. Because inkjet printers are not compatible with postscript Postscript is the Linux/Unix page description language. LPD/CUPS LPD (line printer daemon) • Linux Print Spooler • Starts when computer boots • Waits for print request from clients • Holds prints jobs until printer is ready • Prints the next file on the list CUPS (common Unix printing system) • Allows computer to act as a print server • Accept print jobs from clients • Process and sends to appropriate printer • Consist of spooler, scheduler and filter system • Converts print data to a format that the printer understands Internet Printing Protocol • IPP manages print jobs and queues • Runs on HTTP and allows bidirectional communication between server and client • Allows search for available printers in the network • Verifies which client can access server host • Stores logs and provides accounting capability • Offers compatibility with older LPD-style clients Apache • Open source web server used by Linux/Unix • Powers more then half the web sites around the world (ex. hotmail, yahoo) • Displays and serves HTML pages hosted on a server to a client browser KHTTPD • Kernel mode Linux daemon that provides a web service • Able to run on Apache • Kernel mode speeds up serving of static pages • Errors are able to bring down an entire system • User based process are more stable Apache pre-forking • Creates multiple child processes to handle HTTP request • Parents process checks to see child process are working properly and coordinates everything • As more HTTP request are made, more child process are created to process them • When HTTP goes idle, the parent would kill child processes to free up resource • If child process were to crash, the parent and other child would not be effected • This process make apache very reliable Apache - Modular Architecture • Provides basic http functionality and other modules to provide additional functionality • Supports dynamic shared object that permit loading of external modules at a run time • Provides Application Programming Interface (APT) • Apache is fully customizable to the administrator or programer • Portable run-time layer provides ▫ File input/output ▫ Network input/output ▫ Own memory management routines Apache Filter • Accepts input from the standard input device • modifies data and sends the results to the standard output device • Used internally to process internal functions • When receiving a request, it delegates the request to a single content handler module that sends the data back to the client Clusters & Beowulf Clusters Beowulf Clusters • Consist of multiple computers, each with its own O.S • Works with high speed network • Goals • Tightly connected network computers dedicated to the solution of a single problem • Links multiple inexpensive computers to achieve the performance of a super computer • Low priced ▫ ▫ ▫ ▫ ▫ High performance High availability Load balance Scalability Manageability Single System Image • A SSI is a comprised of multiple resources such as • • • • • ▫ Networks ▫ Distributed Databases ▫ Or Servers To act as a single unified powerful resource Linked to form peer-to-peer network Does not share client-server relationship Managed by the operating system’s kernel Unlike Beowulf clusters ▫ Does not need to be modified to use MPI ▫ Regular programs can run without modification ▫ Doesn’t need to be cluster aware to have benefits Cryptic line commands vs. User-friendly interface