毕业设计 计算机专业外文翻译基于Socket的网络编程.docx
《毕业设计 计算机专业外文翻译基于Socket的网络编程.docx》由会员分享,可在线阅读,更多相关《毕业设计 计算机专业外文翻译基于Socket的网络编程.docx(14页珍藏版)》请在冰豆网上搜索。
![毕业设计 计算机专业外文翻译基于Socket的网络编程.docx](https://file1.bdocx.com/fileroot1/2022-10/20/be48b111-1a58-4bb5-a64d-9997013e9537/be48b111-1a58-4bb5-a64d-9997013e95371.gif)
毕业设计计算机专业外文翻译基于Socket的网络编程
题目
ProgrammingOverlayNetworks
withOverlaySockets
ProgrammingOverlayNetworkswithOverlaySockets
Theemergenceofapplication-layeroverlaynetworkshasinspiredthedevelopmentofnewnetworkservicesandapplications.Researchonoverlaynet-workshasfocusedonthedesignofprotocolstomaintainandforwarddatainanoverlaynetwork,however,lessattentionhasbeengiventothesoftwaredevelopmentprocessofbuildingapplicationprogramsinsuchanenvironment.Clearly,thecomplexityofoverlaynetworkprotocolscallsforsuitableapplicationprogramminginterfaces(APIs)andabstractionsthatdonotrequiredetailedknowledgeoftheoverlayprotocol,and,thereby,simplifythetaskoftheapplicationprogrammer.Inthispaper,wepresenttheconceptofanoverlaysocketasanewprogrammingabstractionthatservesastheendpointofcommunicationinanoverlaynetwork.Theoverlaysocketprovidesasocket-basedAPIthatisindependentofthechosenoverlaytopology,andcanbeconfiguredtoworkfordifferentoverlaytopologies.TheoverlaysocketcansupportapplicationdatatransferoverTCP,UDP,orothertransportprotocols.ThispaperdescribesthedesignoftheoverlaysocketanddiscussesAPIandconfigurationoptions.
1Introduction
Application-layeroverlaynetworks[5,9,13,17]provideflexibleplatformsfordevelop-ingnewnetworkservices[1,10,11,14,18–20]withoutrequiringchangestothenetwork-layerinfrastructure.Membersofanoverlaynetwork,whichcanbehosts,routers,servers,orapplications,organizethemselvestoformalogicalnetworktopology,andcommu-nicateonlywiththeirrespectiveneighborsintheoverlaytopology.Amemberofanoverlaynetworksendsandreceivesapplicationdata,andalsoforwardsdataintendedforothermembers.Thispaperaddressesapplicationdevelopmentinoverlaynetworks.Weusethetermoverlaynetworkprogrammingtorefertothesoftwaredevelopmentprocessofbuildingapplicationprogramsthatcommunicatewithoneanotherinanapplication-layeroverlay_ThisworkissupportedinpartbytheNationalScienceFoundationthroughgrantANI-work.Thediversityandcomplexityofbuildingandmaintainingoverlaynetworksmakeitimpracticaltoassumethatapplicationdeveloperscanbeconcernedwiththecomplexityofmanagingtheparticipationofanapplicationinaspecificoverlaynetworktopology.
Wepresentasoftwaremodule,calledoverlaysocket,thatintendstosimplifythetaskofoverlaynetworkprogramming.Thedesignoftheoverlaysocketpursuesthefollowingsetofobjectives:
First,theapplicationprogramminginterface(API)oftheoverlaysocketdoesnotrequirethatanapplicationprogrammerhasknowledgeoftheoverlaynetworktopology.Second,theoverlaysocketisdesignedtoaccommodatedif-ferentoverlaynetworktopologies.Switchingtodifferentoverlaynetworktopologiesisdonebymodifyingparametersinaconfigurationfile.Third,theoverlaysocket,whichoperatesattheapplicationlayer,canaccommodatedifferenttypesoftransportlayerprotocols.Thisisaccomplishedbyusingnetworkadaptersthatinterfacetotheun-derlyingtransportlayernetworkandperformencapsulationandde-encapsulationofmessagesexchangedbytheoverlaysocket.CurrentlyavailablenetworkadaptersareTCP,UDP,andUDPmulticast.Fourth,theoverlaysocketprovidesmechanismsforbootstrappingnewoverlaynetworks.Inthispaper,weprovideanoverviewoftheoverlaysocketdesignanddiscussover-laynetworkprogrammingwiththeoverlaysocket.Theoverlaysockethasbeenimple-mentedinJavaaspartoftheHyperCast2.0softwaredistribution[12].Thesoftwarehasbeenusedforvariousoverlayapplications,andhasbeentestedinbothlocal-areaaswellaswide-areasettings.TheHyperCast2.0softwareimplementstheoverlaytopolo-giesdescribedin[15]and[16].Thispaperhighlightsimportantissuesoftheoverlaysocket,additionalinformationcanbefoundinthedesigndocumentationavailablefrom[12].Severalstudiesbeforeushaveaddressedoverlaynetworkprogrammingissues.Evenearlyoverlaynetworkproposals,suchasYoid[9],Scribe[4],andScattercast[6],havepresentedAPIsthataspiretoachieveindependenceoftheAPIfromtheoverlaynetworktopologyused.Particularly,YoidandScattercastuseasocket-likeAPI,how-ever,theseAPIsdonotaddressissuesthatarisewhenthesameAPIisusedbydifferentoverlaynetworktopologies.Severalworksonapplication-layermulticastoverlaysinte-gratetheapplicationprogramwiththesoftwareresponsibleformaintainingtheoverlaynetwork,withoutexplicitlyprovidinggeneral-purposeAPIs.TheseincludeNarada[5],Overcast[13],ALMI[17],andNICE[2].Arecentstudy[8]hasproposedacommonAPIfortheclassofso-calledstructuredoverlays,whichincludesChord[19],CAN[18],andBayeux[20],and