area29ff.com

29ff.com  时间:2021-03-20  阅读:()
CopyrightIBMCorporation2001TrademarksWritingasimpleIPv6programPage1of11WritingasimpleIPv6programConfiguringanIPv6addressandportinganIPv4applicationtoIPv6SenthilSundaramSeptember01,2001ThisarticlediscussestheconceptsbehindasimpleIPv6program--specifically,howIPv6solvestheproblemsofaddressspaceandlargeroutingtables.
AprogrammerfamiliarwithIPv4willbeabletorecogniseanIPv6addressandconfigureoneforhismachine.
Thearticlealsocoverstunneling,mappedaddresses,andportingIPv4toIPv6applications,aswellasthelogicofenablinganIPv4clienttohandleIPv6addresses.
Intoday'snetworkingworld,IPv4isthefoundationofnetworking,butinthelast10years,questionshavecomeupdueto:FearofrunningoutofIPv4addressspaceassoonas2002FearofrunningoutofcapacityinglobalroutingtablesNetworkAddressTranslation(NAT)andClasslessInter-DomainRouting(CIDR)(seeRelevantconcepts)havebeenusedasstopgapmeasuresforthesesimplebutseriousproblems.
IPv6--alsocalledIPng(IPnewgeneration)--hasbeenviewedasthelong-termsolution.
ThefollowingenhancementstoIPv4havealsobeenplanned:SimplifiedheaderprocessingSupportforextendedoptionsEnhancementslikequality-of-servicecapabilities,authenticationandprivacycapabilities,flowcontrolcapabilities,andautoconfigurationThekeyrulebehindallthischangeisthatIPv6applicationsshouldcontinuetolivewithIPv4applications.
ThebottomlineisthatIPv6shouldsupportamixedIPv6andIPv4environment.
ThisarticlewillhelpyouquicklyunderstandtheconceptsbehindIPv6andwriteasimpleprograminit.
Let'sstartwithIPv6addressing.
developerWorksibm.
com/developerWorks/WritingasimpleIPv6programPage2of11IPv6addressingTypesofaddressesinIPv6:AnycastisthenewbabyInIPv6,therearethreetypesofaddresses--unicast,multicast,andanycast.
WehadunicastaddressesinIPv4,andmanysystemssupportmulticast,aswell.
AnycastisanewtypeofaddressdefinedbyIPv6.
1.
Unicast:ThisislikeanynormalIPaddressonasingleinterface(forexample,theIPv4address9.
185.
101.
1onen0).
2.
Multicast:Apacketsenttoamulticastaddressisdeliveredtoallinterfacesidentifiedbythataddress.
Thereisnobroadcastaddresstypesincethemulticasttypecantakecareofit.
3.
Anycast:Apacketsenttoananycastaddressisdeliveredtooneoftheinterfacesidentifiedbythataddress(the"nearest"one,accordingtotheroutingprotocols'measureofdistance).
Let'sconsiderasituationwhereanycastaddressescanbeused--connectingtoaserviceprovider'srouter.
Assumethattheserviceprovidercangiveyouasetofaddressestoconnectto,andyouchooseoneoftheseaddresses.
WithIPv6,theserviceprovidercangiveyouananycastaddress,whichyouwillusetoautomaticallyconnecttothe"nearest"address.
ThisisanewfeatureinIPv6andthereisstillalotofdebategoingonaboutitsimplementation.
HowIPv6addressesarewritten:WhatachangeTherearethreeconventionalformsforrepresentingIPv6addressesastextstrings:1.
Theprimaryform:Thepreferredformisx:x:x:x:x:x:x:x,wherethe"x"sarethehexadecimalvalueoftheeight16-bitpiecesoftheaddress.
Twoexamples:fe80:0:0:0:207:30ee:edcb:d05d1080:0:0:0:1:700:200B:417CThereareeighthexfieldsinthefirstaddress:1.
fe802.
03.
04.
05.
2076.
30ee7.
edcb8.
d05dInIPv6,wedonotwritetheleadingzerosinafield.
Thatis,thesecondfieldaboveisjustwrittenas"0"ratherthan"0000.
"Notethatthereare4hexdigitsineachfield.
Eachhexdigitis4bits(andcanrepresentahexvalueof0-F).
Thismeansthatthereare16bitsineachfield(4hexdigitsx4bitsperdigit).
ThetotalsizeofanIPv6addressis128bits(8hexfieldsx16bitsperfield).
2.
Adifferentrepresentationoftheaboveaddress:DuetosomemethodsofallocatingcertainstylesofIPv6addresses,itiscommonforaddressestocontainlongstringsofzerobits.
Inordertomakeiteasiertowriteaddressescontainingzerobits,aspecialsyntaxisavailabletocompressibm.
com/developerWorks/developerWorksWritingasimpleIPv6programPage3of11thezeros.
Theuseof::indicatesmultiplegroupsof16-bitsofzeros.
The::canonlyappearonceinanaddress,andcanalsobeusedtocompresstheleadingzerosinanaddress.
Forexample:FF01:0:0:0:0:0:0:101isamulticastaddressthatcanbewrittenasFF01::101.
0:0:0:0:0:0:0:1isaloopbackaddressthatcanbewrittenas::1.
3.
Fordualenvironments:AnalternativeformthatissometimesmoreconvenientwhendealingwithamixedenvironmentofIPv4andIPv6nodesisx:x:x:x:x:x:d.
d.
d.
d,wherethe"x"sarethehexadecimalvaluesofthesixhigh-order16-bitpiecesoftheaddress,andthe"d"sarethedecimalvaluesofthefourlow-order8-bitpiecesoftheaddress(standardIPv4representation)--thatis,thefirst96bitsarerepresentedas6-x16-bithexfieldsandthelast32bitsare4-x8-bitdecimaldigits.
Forexample:::9.
184.
201.
1::ffff:9.
184.
209.
2IPv6addressprefixTheIPv6addressprefixdenotesthenetworkpartofanaddressandisrepresentedbythenotationipv6-address/prefix-length.
Takethisexample:fe80::206:29ff:fedc:e06e/64Inthisinstance,fe80::206:29ff:fedc:e06eistheaddressand64istheprefixlength.
Thesetwotogethergiveustheaddressprefix.
Intheexample,specifying64meansthatwetakethefirst64bitsoftheabove128-bitaddresstoidentifythenetworkpartoftheaddress.
RelevantconceptsNetworkAddressTranslation(NAT):AnInternetstandardthatenablesalocal-areanetwork(LAN)touseonesetofIPaddressesforinternaltrafficandasecondsetofaddressesforexternaltraffic.
ANATboxlocatedwheretheLANmeetstheInternetmakesallnecessaryIPaddresstranslations.
NATservesthreemainpurposes:ProvidesatypeoffirewallbyhidinginternalIPaddressesEnablesacompanytousemoreinternalIPaddresses;sincethey'reonlyusedinternally,there'snopossibilityofconflictwithIPaddressesusedbyothercompaniesandorganizationsAllowsacompanytocombinemultipleISDNconnectionsintoasingleInternetconnection(SeeRFC1631,"Hide&SeekwithGateways&Translators"inRelatedtopics.
)ClasslessInter-DomainRouting(CIDR):ClasslessInter-DomainRouting.
AnewIPaddressingschemethatreplacestheoldersystembasedonclassesA,B,andC.
WithCIDR,asingleIPaddresscanbeusedtodesignatemanyuniqueIPaddresses.
ACIDRIPaddresslookslikeanormalIPaddressexceptthatitendswithaslashfollowedbyanumber,calledtheIPprefix.
Forexample:172.
200.
0.
0/16TheIPprefixspecifieshowmanyaddressesarecoveredbytheCIDRaddress,withlowernumberscoveringmoreaddresses.
AnIPprefixof/12,forexample,canbeusedtoaddressdeveloperWorksibm.
com/developerWorks/WritingasimpleIPv6programPage4of114,096formerClassCaddresses.
CIDRaddressesreducethesizeofroutingtablesandmakemoreIPaddressesavailablewithinorganizations.
(SeeRelatedtopicsforRFC1517,1518,1519,1520.
)Thisraisesseveralquestions:1.
Howdoestheaboverepresentationsolvethetwoprimaryproblemswearetryingtoaddress:ThefiniteamountofavailableaddressspaceLargeglobalroutingtables2.
HowisthenetworkidentifiedinanIPv4address3.
WhyshouldtheprefixlengthbeallowedtobespecifiedinanIPv6address4.
HowistheprefixspecifiedinanIPv4address5.
WhataretheproblemscausedbythisAndherearetheanswers:Addressspace:Regardingtheaddressspacequestion,RobertMHinden,oneofthekeyfiguresinIPv6efforts,explains:IPV6supportsaddressesthatarefourtimesthenumberofbitsasIPv4addresses(128vs.
32).
Thisis4billiontimes4billiontimes4billion(2^96)timesthesizeoftheIPv4addressspace(2^32).
Thisworksouttobe:340,282,366,920,938,463,463,374,607,431,768,211,456Thisisanextremelylargeaddressspace.
Inatheoreticalsensethisisapproximately665,570,793,348,866,943,898,599addressespersquaremeterofthesurfaceoftheplanetEarth(assumingtheearthsurfaceis511,263,971,197,990squaremeters).
Theclassenemy:Nowlet'stakeupthequestionsregardingaddressprefixinIPv4andIPv6.
ThedivisionofIPv4addressspaceintoClassA,B,C,andDnetworkshascausedsomeproblems.
InIPv4,thenetworkpartwasfixedbytheclassoftheaddress.
Let'sillustrateourpointwithanexample.
ClassAaddressescansupport16millionhostsoneachoftheir128networks(becauseinaclassAaddress,thehighest-orderbitissetto0;thenext7bitsareusedforthenetworkpart;andtheremaining24bitsareusedforthelocaladdress).
Now,ifanorganisationweregivenaClassAaddress,anditdidn'thave16millionhosts,thentheremainingaddressspacewouldgotowaste.
AlsonotethateveryonecannotbegivenaClassAaddressasthereareonly127.
CIDRhadtobeintroducedtosolvethisproblemandprolongthelifeofIP.
Thismeansthatthenetworkpartofanaddressshouldnotbefixed.
Thereisaclearneedforanorganisation-specificnetworksize.
Thismeansthatthenetworkpartofanaddressshouldnotbefixed.
ThisvariableprefixlengthisimplementedinIPv6byallowingtheusertospecifythenetworkbitsintheaddressprefix.
Forexample,intheaddressfe80::206:29ff:fedc:e06e/64-,thenumeral64denotesthenetworkpart,andthiscouldbechanged.
Herewehavetheoptionofchoosingthenetworkpart.
Thisisflexible,unlikeIPv4whereithasalwaysbeenfixed.
Routingtables:TheroutesintheInternetgrewintime.
Backbonerouterswereapproachingtheirlimitin1984.
IfCIDRwerenotintroducedtosolvetheproblemofspaceinglobalbackbonerouters,theywouldhavejustcometoahalt.
ibm.
com/developerWorks/developerWorksWritingasimpleIPv6programPage5of11CIDRtechnique:SohowdoesIPv6solvethisproblemThetechniqueforstoppingthisproblemistoallowforaddressprefixesthatfitspecificorganisationalneeds.
ThistechniquewasbasicallyintroducedinCIDR.
InIPv6theprefixorthenetworkpartisalsospecifiedbyauser-specifiednetworkprefix.
ThishelpstoaggregatealargenumberofIPaddressesandspecifyasingleroutefortheorganisation.
Ifanorganisationhasmanynetworks,theninthecaseofIPv4,manynetworkprefixesaretobespecifiedintheglobalroutingtable.
InthecaseofIPv6,wecansimplygiveonehigherlevelroutetorepresentthewholeorganisation,aswecanshrinkandexpandthenetworkprefixbyvaryingit.
Thishelpstheglobaltablestoremainsmall.
ThiskindofsetupdidnotexistinIPv4.
(FormoreonCIDR,refertoRelevantconcepts).
AutoconfigurationinIPv6:PlugandplayWhatisautoconfigurationThefirstthingoneshoulddoistosetupamachinewithanIPv6address.
ThereisaninterestingfeatureinIPv6calledstatelessautoconfigurationthat'sdefinedbyRFC2462(seeRelatedtopics).
ThisRFCstatesthatyourhostshouldbeabletogiveyouanautomatic,globallyuniqueIPv6address.
Forexample,InAIX,yousimplybootupyourmachineandtypeautoconf6-vfromthe#prompt,andyouwillseeyourmachineautomaticallydetectingthesubnetandassigningyouavalidIPngaddress.
IranifconfigtoseetheIPv6address.
Hereisapartialoutputofifconfig-aonmyAIXmachine:inet9.
184.
209.
3netmask0xffffff00broadcast9.
184.
209.
255inet6fe80::207:30ee:edcb:d05d/64Igottheinet6addresswhenIranautoconf-v6(inet6isdefinedonen0).
ThismachinenowhasbothanIPv6andIPv4onthesamephysicalethernetinterface.
HowisthisdoneInverysimpleterms,thelink-layeraddressisusedasabasetogettheIPv6addressandthehostandroutertocommunicate,sothatthehostcangetanideaaboutthesubnet.
(RefertotheRFCforamoredetaileddiscussion.
)HowaboutotheroperatingsystemsTheotherUNIXimplementationshavesimilarIPv6autconfigurationcommandslikeAIX.
Thereisalsoavarietyoffree-softimplementationsofIPv6(seeRelatedtopics).
CanImanuallyconfigureYes.
YoucanalsoconfigureanIPv6addressusingifconfig.
It'simportanttoplanyournetworktoassignthenetworkprefix.
TunnelingandmappedIPngaddresses:ThetransitionshouldbesmoothExampleofatransitionproblemConsiderthissituation.
WehaveanexistingIPv4environmentwithIPv4-onlyhostsandrouters.
Nowlet'ssayweaddafewIPv6routersandhoststoournetwork.
SomeofthesehostshavethecapabilitytohandlebothIPv6andIPv4addresses,andsomeofthemarepureIPv6orpureIPv4.
Ifwehavetowriteanapplicationthatrunsinthisenvironment,thentheapplication'sclientanddeveloperWorksibm.
com/developerWorks/WritingasimpleIPv6programPage6of11servershouldbeabletohandleallpossibleclient-serverpairs.
Thatis,aclientorservercanbepurelyIPv4,purelyIPv6,orbothIPv6-andIPv4-enabled.
(Foradetailedexplanation,readRFC2893:"Transitionmechanismsforhostsandrouters"--seeRelatedtopics.
)WhatisthetunnelingtechniqueAgain,let'stakeanexamplesituation.
WeneedtocarryanIPv6packetoveranIPv4network.
HowdoweproceedSimple--wejustencapsulatetheIPv6packetinanIPv4packetandsenditacrosstheIPv4network.
Thisiscalledtunneling.
Configuredtunneling:WeneedtoconfigurethehostthatisattheentrypointoftheIPv4networksothatitcanconverttheIPv6packetintoanIPv4packet.
Also,thenodethatistheexitpointoftheIPv4networkneedstobeconfiguredsothatitcanconvertthepacketbacktoanIPv6packet.
Thisiscalledconfiguredtunneling.
Automatictunneling:Ifahosthasthecapabilitytodothisconversiondynamicallythenit'scalledautomatictunneling.
SupportforAutomatictunnelingintheprotocol:ThenodesthatutilizethistechniqueareassignedspecialIPv6unicastaddresses.
TheseaddressescarryanIPv4addressinthelow-order32-bits.
ThistypeofaddressistermedanIPv4-compatibleIPv6addressandhasthefollowingformat:|80bits|16|32bits||0000.
0000|0000|IPV4ADDRESS|AsecondtypeofIPv6addressthatholdsanembeddedIPv4addressisalsodefined.
ThisaddressisusedtorepresenttheaddressesofIPv4-onlynodes(thosethatdonotsupportIPv6)asIPv6addresses.
Thistypeofaddressistermedan"IPv4-mappedIPv6address"andhastheformat:|80bits|16|32bits||0000.
0000|FFFF|IPV4ADDRESS|UsageofmappedaddressesIfyouarewritinganIPv6-enabledclient,you'refacedwiththisquestion:DoyousendoutanIPv6packetordoyousendoutanIPv4packetYouaregivennoguaranteeabouttheunderlyingnetwork.
ThenextmachineyoucontacttogetthisconnectioncanbeanIPv6machine,anIPv4machine,oradualhost.
Let'sassumethattheapplicationsresponsibleforroutingtheconnectionsarecapableofknowingwhetherthenextmachineisanIPv6machineoranIPv4machine.
Inthiscase,itwouldbereallyhelpfulifwecouldhaveIPv6addressesthatcancontainIPv4addressesinsidethem.
Itwouldbegoodtohaveamechanism(theffff.
inmappedv4addresses)totellusiftheaddressisreferringtoapureIPv4node;thiswouldhelpusmakeappropriatedecisionsastowhichtypeofpacketistobesent.
Ourdiscussioninthefinalsectionshouldmakethisclearer.
ibm.
com/developerWorks/developerWorksWritingasimpleIPv6programPage7of11PortingIPv4applicationstoIPv6HerearesomethingstoconsiderwhenportinganIPv4applicationtoIPv6:Thesockaddr_in6structureandthein6_addrstructure,whichcanhold128bitaddresses,havebeendefined.
CheckifyouareusingtherelevantIPv6structure.
INADDR_ANYandINADDR_LOOPBACKmustbemodifiedtoin6addr_anyorin6addr_loopbackforassignments.
TheIN6ADDR_ANY_INITorIN6ADDR_LOOPBACK_INITmacroscanbehelpful.
UseAF_INET6insteadofAF_INET.
NotetherearestructuresandprogramsthatwillworkforIPv6andIPv4.
Oneofthelinkspointstoportingexamplesandthislinkcanbereferredto(see"MovingtoIPv6"inRelatedtopics).
NotethatnochangeinthesyntaxisnecessarywhenusingcertainfunctionsforIPv6.
Theonlydifferencewhenusingthesefunctionsisthatyoumustcastsockaddr_in6tostructsockaddr*.
ThefollowingmacrosandfunctionsareusedtowriteIPv6-enabledapplications:TheIN6_IS_ADDR_V4MAPPEDcanbeusedtodeterminewhetheranIPv6addressisanIPv4-mappedaddress.
gethostbynameretrievesanetworkhostentryviaitsnameandaddressfamily.
getaddrinforeturnsaddressinformationrelatedtoaspecifiedservicelocation.
getnameinforeturnsthetextstringsassociatedwiththesuppliedIPaddressandportnumber.
inet_ptonconvertsthespecifiedaddressintextformtoitsbinaryequivalent.
inet_ntopconvertsthespecifiedbinaryaddressintoatextequivalentthat'ssuitableforpresentation.
getaddrinfoandgetnameinfocanbothbeusedtoretrieveinformationrelatedtoIPv4andIPv6addresses.
inet_ptonandinet_ntopcanbothconvertIPv4andIPv6addresses.
Thismeansthatin"IPv6-ready"applications,youdonotneedtouseeitherinet_addrorinet_ntoa.
ThefollowingfunctionsdonotrequireachangeinsyntaxwhenusedforIPv6:bind,connect,sendmsg,sendto,accept,recvfrom,recvmsg,getpeername,andgetsockname,althoughthecodeforthesefunctionshasbeenmodified.
WritingasimpleIPv6clientLet'snowtakealookatthelogicbehindwritinganIPv6-enabledclient.
Ibelieveweareequippedwiththebasics.
WeknowaboutIPv6addresses.
Wewillbeabletorecognisethemifweseethemindifferentrepresentations.
WewillbeabletoautoconfigureanIPv6addressonourmachineusingautoconf.
Wealsoknowaboutthemappedaddresstransitionmechanismandhaveanideaofthefunctionstouse.
ConsiderthefollowingIPv4client:#include#include#include#include#include.
.
.
developerWorksibm.
com/developerWorks/WritingasimpleIPv6programPage8of11main(argc,argv)/*clientside*/intargc;char*argv[];{structsockaddr_inserver;structservent*sp;structhostent*hp;ints;.
.
.
sp=getservbyname("login","tcp");if(sp==NULL){fprintf(stderr,"rlogin:tcp/login:unknownservice\n");exit(1);}hp=gethostbyname(argv[1]);if(hp==NULL){fprintf(stderr,"rlogin:%s:unknownhost\n",argv[1]);exit(2);}memset((char*)&server,0,sizeof(server));memcpy((char*)&server.
sin_addr,hp->h_addr,hp->h_length);server.
sin_len=sizeof(server);server.
sin_family=hp->h_addrtype;server.
sin_port=sp->s_port;s=socket(AF_INET,SOCK_STREAM,0);if(s0){//noteinet_ptonwilltakecareofsettingtheaddress.
.
.
.
.
ip6.
sin6_family=AF_INET6;ip6.
sin6_len=sizeof(structsockaddr_in6);.
.
.
.
.
developerWorksibm.
com/developerWorks/WritingasimpleIPv6programPage10of11}else{//nowitsnotav6addressorav4addresssoitshouldbehostname//doav6lookup,notethatav6lookupwilllookforav6addressifnot//presentitcanpickupav4address//resinitisdefinedinresolv.
hres_init();_res.
options|=RES_USE_INET6;hptr=gethostbyname(name);.
.
.
.
.
//checkhptr->h_addrtypeifitsAF_INET6youcancopytheaddressdirectly//ifnotyouneedtomapit.
.
.
.
.
.
.
.
.
.
.
if(connect(sd,&ip6,sizeof(ip6<0){//connectfailure.
.
.
.
}else{//continuewiththeprogram.
}SummaryoftheabovelogicTosummarizethelogic,wechecktoseeifwegotadottedIPv4addresstohandle.
Ifso,wegoaheadandmapitandfillinanIPv6structure,tobeusedbytheconnectcalllater.
Ifit'sanIPv6address,wecopyitdirectlytotheIPv6structure.
Ifit'sahostname,wetryanddoanIPv6lookup.
WecangetanIPv4oranIPv6address.
Weknowthisfromthefamilyfield.
Accordingly,weeithermapitorcopyit,thendoasingleconnectcallregardlessofwhetherit'sanIPv4oranIPv6address,andproceedwithourprogram.
ConclusionWehavelookedonlyattheconceptsweneedtowritetheaboveprogram.
Therearemanymoreinterestingconceptsthatwillsoonbecomepartofeverydaylife.
TherearecontroversiesandconstructivedebatesaboutthingslikeDNSforIPv6andstatefulautoconfigurationforIPv6(DHCP).
Thesetopics,alongwithothers,suchasimplementationofotherlayers,howroutingwillbedone,andhowautoconfigurationwillbeimplemented,willmakeforinterestingdiscussion.
IhopetoseeyousooninamoreexcitingIPv6world!
ibm.
com/developerWorks/developerWorksWritingasimpleIPv6programPage11of11RelatedtopicsIPNextGenerationOverview,byRobertMHinden,givesabriefoverviewofalltheIPngconcepts.
KameprojectisajointeffortofsevencompaniesinJapanthatprovideafreeIPv6andIPsec(forbothIPv4andIPv6)stackforBSDvariants.
6boneisanIPv6testbedtoassistintheevolutionanddeploymentofIPv6.
IPv6draftsandRFCscanbefoundinIPngCurrentSpecifications.
Theygivealltherequireddetailsinaclearandlogicalorder.
StatelessautoconfigurationisdefinedinRFC2462:IPv6StatelessAddressAutoconfiguration.
RFC2893,TransitionMechanismsforIPv6HostsandRouters,specifiesIPv4compatibilitymechanismsthatcanbeimplementedbyIPv6hostsandrouters.
AdditionalinformationonNATcanbefoundinRFC1631,TheIPNetworkAddressTranslator(NAT).
Formorein-depthoverviewsofCIDR,readRFC1517,RFC1518,RFC1519,andRFC1520.
FindouthowIPv6forOS/390providesanimplementationofIPv4andIPv6forOS/390.
Planningforgrowth,fromIBM'sHighVolumeWebSiteTeam,canshowyouhowyourWebsitecansatisfyfuturedemandsandevaluatepotentialworkloadandinfrastructurechanges.
IBM'sPatternsfore-businesssitefeaturesanumberofreusableassetsthatcanhelpspeedtheprocessofdevelopingapplications.
BrowsemoreWebarchitectureresourcesondeveloperWorks.
CopyrightIBMCorporation2001(www.
ibm.
com/legal/copytrade.
shtml)Trademarks(www.
ibm.
com/developerworks/ibm/trademarks/)

搬瓦工:新增荷兰机房 EUNL_9 测评,联通 AS10099/AS9929 高端优化路线/速度 延迟 路由 丢包测试

搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...

ZJI韩国BGP+CN2服务器,440元起

ZJI又上新了!商家是原Wordpress圈知名主机商:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务。本次商家新上韩国BGP+CN2线路服务器,国内三网访问速度优秀,适用8折优惠码,优惠后韩国服务器最低每月440元起。韩国一型CPU:Intel 2×E5-2620 十二核二十四线...

新网,域名7月盛夏1核心2G内存.COM域名仅19.9元/首年,主机9.9元/月,企业邮箱0元体验

新网好不好?新网域名便宜吗?新网怎么样?新网是国内老牌知名域名注册商,企业正规化运营,资质齐全,与阿里云万网和腾讯云DNSPOD同为国内服务商巨头。近日新网发布了最新的七月放价季优惠活动,主要针对域名、云主机、企业邮箱、SSL证书等多款云产品推送了超值的优惠,其中.com顶级域名仅19.9元/首年,.cn域名仅16元/首年,云主机1核心2G内存3Mbps带宽仅9.9元/月,企业邮箱更是免费送1年,...

29ff.com为你推荐
微信回应封杀钉钉微信违规操作被封了,access数据库Access数据库对象的操作包括哪五种?嘉兴商标注册嘉兴那里有设计商标的www.jjwxc.net有那个网站可以看书?8090lu.com8090向前冲电影 8090向前冲清晰版 8090向前冲在线观看 8090向前冲播放 8090向前冲视频下载地址??www.zjs.com.cn怎么查询我的平安信用卡寄送情况百度指数词为什么百度指数里有写词没有指数,还要购买ww.66bobo.com有的网址直接输入***.com就行了,不用WWW, 为什么?www4399com4399网站是什么www.mfav.org海关编码在线查询http://www.ccpit.org.c
根域名服务器 中国万网域名 科迈动态域名 服务器评测 edis mach5 68.168.16.150 cpanel空间 申请个人网站 idc查询 跟踪路由命令 台湾google www789 阿里云免费邮箱 smtp服务器地址 电信网络测速器 新加坡空间 个人免费邮箱 空间服务器 免费个人网页 更多