简介
本书由畅销书作家、计算机网络专家DouglasComer撰写。全书共分为五个部分,第一部分概述了Internet应用的使用与构建;第二部分讲述数据传输的知识,内容包括传输介质、本地异步通信、长距离通信等;第三部分讲述包交换的问题,在叙述各类网络特性的基础上介绍了下一站路由、交换和协议分层,并结合以太网、FDDI、令牌环和ATM详述了包交换的过程;第四部分讲述网络互联,主要介绍了TCP、ARP协议;第五部分讲述网络应用,首先从客户/服务器模式开始,叙述了域名系统和应用中的域名识别,文件传输和Web浏览,包括动态CGI文档和活动Java文档的解释和应用。 本书适用于计算机专业本科高年级学生和缺少网络知识的低年级硕士生。 PreviouseditionsofComputerNetworksAndInternetshavegeneratedexcitement.InadditiontothehundredsofU.S.schoolsusingthetextintheirnetworkingcourses,professionalshavewrittentopraiseitsuseinindustry,andenthusiasticcommentshavearrivedabouttheforeigntranslations.Thesuccessisespeciallysatisfyinginamarketgluttedwithnetworkingbooks.Thisbookstandsoutbecauseofitsbreadthofcoverage,logicalorganization,explanationofconcepts,focusontheIntemet,andwealthofsupplementalmaterialsforbothstudentsandinstructorsontheCD-ROMandontheWebsite http://www.netbook.cs.purdue Theneweditionhasbeencompletelyrevisedandupdated,withthreenewchapters(24,26,33)andadditionalglossaryentries.TheCD-ROMandWebsitehavealsobeenexpanded. Eachnewchapterrespondstorequestsfrominstructorsandreaders.Chapter24introducesUDP,Chapter26explainsNetworkAddressTranslation,andChapter33coversIPtelephony.Chapter33isespeciallyrelevant;studentsarelikelytouseanIPtelephone. Thetextanswersthebasicquestion"howdocomputernetworksandintemetsoperate,inthebroadestsense.Itprovidesacomprehensive,self-containedthroughallofnetworkingthatdescribeslow-leveldetailssuchasdatatransmissionandwiring,networktechnologiessuchasLANsandWANs,intemetworkingprotocols,andapplicationsoftware.Itshowshowprotocolsusetheunderlyinghardwareandhowapplicationsusetheprotocolstacktoprovidefunctionalityforusers. Muchhasbeenwrittenrecentlyabouthowastudyofnetworkingshouldbeorganized.Therearetwoextremes:astrictbottom-upapproachorastricttop-downapproach.Inbottom-up,onelearnsthelowest-leveldetails,andthenlearnshowthenexthigherlevelsusethelower-levelstoprovideexpandedfunctionality.Intop-down,onestartswithahigh-levelapplicationandonlylearnsenoughofthenextlowerlayertounderstandhowtheapplicationcanoperate.Eachapproachhasadvantages.Thetraditionalbottom-upapproachpresentsthematerialinalogicalmannersoareaderunderstandshowhigherlayersbuildonlowerlayers.Atop-downapproachbeginswithfamiliarapplications(e.g.,email),andprovidesalessrigorousintroductiontothesubject.Werecommendanew,integratedapproachthatcombinesthebestoftop-downandbottom-up.Theintegratedapproachprovidesearlyexposuretousingandbuildingnetworkapplicationswhilesimultaneouslydeliveringthematerialinalogicalorder.Toimplementtheintegratedapproach,theneweditionofComputerNetworksAndInternetshasacompanionlaboratorymanual,Hands-OnNetworking.ComputerNetworksAndlnternetsexplainstheconcepts,andtheexercisesinHands-OnNetworkingshowhowtheconceptsapplytorealnetworks. Thetextisintendedforupper-divisionundergraduatesorbeginninggraduatestudents,whohavelittleornobackgroundinnetworking.Itdoesnotusesophisticatedmathematics,nordoesitassumeaknowledgeofoperatingsystems.Instead,thetextdefinesconceptsclearly,usesexamplesanddrawingstoillustratehowthetechnologyoperates,andstatesresultsofanalysiswithoutprovidingmathematicalproofs. Afteranintroductionthatstartsreadersusingandbuildingnetworkapplications(Chapters13),thebodyofthetextisorganizedintofoursections.Thefirstsection(Chapters4--6)providesabriefexplanationofhowtheunderlyinghardwareworks.Thesectionexplainstheconceptofacarriersignal,discussesmodulatingacarrier,andshowshowamodemencodesdataonacarrierwavefortransfer.Thesectionalsodiscussesasynchronous,character-orienteddatatransmission,anddefinestermssuchasbandwidthandbaudthatariseinlaterchapters. Thesecondsection(Chapters716)focusesonpacketswitching.Thesectionintroducesthemotivationforusingpackets,andthendescribesbasicnetworktopologiesandwiringschemesaswellasthecharacteristicsusedtocategorizenetworksasLANs,WANs,localloops,publicorprivate,andconnection-orientedorconnectionless.Thesectionalsointroducestheconceptsofnext-hoprouting,switching,andprotocollayering,withtheterminologyusedforeach.Finally,thesectionusesseveralcommonnetworktechnologiesasexamples,includingEthernet,ATM,andDSL. Thethirdsection(Chapters1727)focusesontheInternetprotocols.Afterdiscussingthemotivationforinternetworking,thesectiondescribesInternetarchitectureandrouters,Internetaddressing,addressbinding,andtheTCP/IPprotocols.ProtocolssuchasIP,TCP.UDP,ICMP,andARParereviewedinmoredetail,allowingstudentstounderstand~howtheconceptsrelatetopractice.Chapter25onTCPcoverstheimportantanddeeptopicofreliabilityintransportprotocols. Thefinalsection(Chapters28--41)examinesnetworkapplications.Aswithothersectionsofthetext,coverageisquitebroadthesectionincludesadiscussionofbothgeneralprinciplesandspecificapplications.Thesectionbeginsbydescribingtheclient-servermodelthatnetworkapplicationsusetocommunicate.ThesectionthendescribesthesocketAPI,andshowscodefromanexampleclientandserverthatusesocketsforcommunication.ThesectiondescribesnameresolutionwiththeDomainNameSystemandapplicationssuchase-mail,filetransfer,IPtelephony,andtheWeb(includinganexplanationofdynamicandactivedocuments,withexamplesusingCGI,Java,andJavaScript).Ineachcase,thetextdescribesthestructureofthesoftware,andexplainshowaclientandserverinteracttoprovidetheservice.Chapter38discussesmiddleware,includingbothproceduralandObjectorientedmiddlewaretechnologies.Laterchaptersinthesectiondiscussnetworksecurity,andexplainhowapplicationsoftwarecanbeusedfornetworkmanagement.Finally,Chapter41considerstheinterestingproblemofinitialization.Thechaptershowshowapplication-levelsoftwarecanachievewhatseemstobeimpossible--useofprotocolsoftwaretoobtaintheinformationneededtoinitializetheprotocolsoftwarebeingused. Thetextisideallysuitedforaone-semesterintroductorycourseonnetworkingtaughtattheseniorlevel.Designedforacomprehensivecourse,itcoverstheentiresubjectfromwiringtoapplications.IntheundergraduatecourseatPurdue,forexample,studentshaveweeklylabassignmentsthatcoverawiderangeoftopics:networkmeasurement,packetanalysis,andnetworkprogramming.Bythetimetheyfinishourcourse,eachstudentisexpectedto:knowhowanIProuterusesaroutingtabletoforwardIPdatagrams;describehowadatagramcrossestheInternet;explainthedifferencebetweenanEthernethubandanEthernetswitch;knowhowTCPidentifiesaconnectionandwhyaconcurrentWebservercanhandlemultipleconnectionstoport8;describetheconceptualdifferencesbetweenabridgeandanIProuter;computethelengthofasinglebitasittravelsacrossa1BaseTnetwork;explainwhyTCPisclassifiedasend-to-end;distinguishbetweentheCSMA/CDmediaaccessmechanismused.byEthernetandatokenpassingscheme;andknowhowDSLcansenddataoverwiresthatarealsobeingusedforananalogtelephonecall. Thegoalofasinglecourseisbreadth,notdepth--tocoverthesubject,onecannotfocusonafewtechnologiesorafewconcepts.Thus,thekeytoasuccessfulcourseliesinmaintainingaquickpace.Tocoverthefundamentaltopicsinasemester,thelower-layermaterialinPart2canbecondensedintoaweek,andthesectionsonnetworksandinternetworkingcanbeallocatedfiveweekseach,leavingafewweeksforthesectiononapplicationsandtopicsSuchasnetworkmanagementandsecurity. Instructorsshouldimpressonstudentstheimportanceofconceptsandprinciples:specifictechnologiesmaybecomeobsoleteinafewyears,buttheprincipleswillremain.Inaddition,instructorsshouldgivestudentsafeelingfortheexcitementthatpervadesnetworking. Althoughnosingletopicischallenging,studentsmayfindthequantityofmaterialdaunting.Inparticular,studentsarefacedwithaplethoraofnewterms.Networkingacronymsandjargoncanbeespeciallyconfusing;studentsspendmuchofthetimebecomingaccustomedtousingproperterms.Tohelpstudentsmasterterminology,Appendix1containsaglossaryoftermsandacronyms.Toprovideadditionalclarification,definitionsintheglossaryhavebeenwrittenindependentlyratherthanbeingtakenverbatimfromthetext. Becauseprogrammingandexperimentationarecrucialtohelpingstudentslearnaboutnetworks,laboratoryexperienceisanessentialpartofanynetworkingcourse.Thelabmanual,Hands-OnNetworking,describesexperimentsthatcanbeperformedonavarietyofhardware,includingasinglecomputerorasetofcomputersonalocalareanetwork.OurcurriculumatPurdueemphasizespacketanalysisandsocketprogramming.WebeginthesemesterbyhavingstudentsconstructclientsoftwaretoaccesstheWebandextractdata(e.g.,writeaprogramtoprintthecurrenttemperature).Chapter3explainsthesimpleAPlthatwegivestudents;withourAP1,studentscanwriteworkingcodebeforetheylearnaboutprotocols,addresses,orsockets.Laterinthesemester,ofcourse,studentslearntousethesocketAPI.Eventually,theywriteaconcurrentWebserver(supportforserver-sideScriptingisoptional).Inadditiontoapplicationprogramming,studentsalsousethelabfacilitiestocapturepacketsfromalivenetwork.Theywriteprogramsthatdecodepacketheaders(e.g.,Ethernet,IP,andTCP),andobserveTCPconnections. Givingstudentsaccesstoanetworkbuildsenthusiasmandencouragesexperimentation--ourexperienceshowsthatstudentswhohaveaccesstoalivenetworkunderstandandappreciatethesubjectbetter.Thus,ifadedicatedpacketanalyzerisnotavailable,ananalyzercanbecreatedbyinstallingappropriatesharewaresoftwareonastandardPC. TheCD-ROMincludedwiththetextandtheWebsitebothcontainmaterialsthatwillmaketeachingeasierandhelpreadersunderstandthematerial.Forstudentswithoutaccesstonetworkingfacilities,theCD-ROMcontainsexamplesofpackettraces;studentscanwriteprogramsthatreadatraceandprocesspacketsasiftheyhavebeencapturedfromthenetwork.Forinstructors,theCD-ROMcontainscoursematerials,figuresfromthetextthatcanbeusedinpresentations,andanimatedfiguresthathelpclarifytheconcepts.TheCD-ROMalsocontainsmaterialsnotinthetext,includingphotographsofnetworkwiringandequipmentaswellasfilesofdatathatcanbeusedasinputtostudentprojects. Tohelpbothprofessorsandstudentslocateinformation,theCD-ROMincludesakeywordsearchmechanism.Whengivenaterm,thesearchmechanismlocatesadefinitionfromtheonlineglossaryaswellasotheritemsrelatedtotheterm.Finally,theCD-ROMcontainslinkstotheWebsite,whichisupdatedcontinuously.Twoelectronicmailinglistshavebeenestablishedforthetext:generalinformationcanbeobtainedfromnetbook@cs.purdue.edu;discussionsaboutteachingthematerialoccuronnetbook-inst@cs.purdue,edu.Tojoinoneofthemailinglists,sendane-mailmessagetonetbook-request@cs.purdue.eduornetbook-inst-request@cs.purdue.eduwiththewordsubscribeinthebodyofthemessage.ToavoidhavingthemailserversendmultiplecopiesofeachmessageovertheInternet,instructorsarerequestedtoestablishasinglelocalaliasforallstudentsattheirsite. Ithankallthepeoplewhohavecontributedtothiseditionofthebook.DennisBrylowandJohnLinproofreadchaptersthroughoutthetext.JenniferSeitzer,AbdullahAbonamah,GeorgeVarghese,andJimGriffioenreviewedearliereditionsandmadevaluablecomments.MikeEvangelistawrotetheclientandserverapplicationcodeinChapter3aswellastheAPI;heportedtheAPItoLinux,Solaris,andWindowsplatforms.RalphDromspreparedtheCD-ROM,managestheWebmaterials,andreviewedseveralchapters.DavidLaverellcreatedandmanagestheWebsiteforHandsOnNetworking.Specialthanksgotomywifeandpartner,Christine,whosecarefuleditingandhelpfulsuggestionsmademanyimprovementsthroughout.
|
|