Top Banner
CITS3002 Computer Networks 1 next CITS3002 help3002 CITS3002 schedule The Requirements of Internetworking Networks come in differing topologies and speeds and (of course) no single network configuration suits everyone. The technology known as internetworking draws the multitudes of networking technologies into a common framework that combines networks into internets. In general an internetwork must : Provide a link between networks (at minimum a physical and link control connection). Provide routing and delivery of data between processes on different networks (implies operating systems' support). Provide an accounting service, keeping track of the status of networks and gateways. Accommodate the differences between different sub-networks, including - different physical addressing schemes, different maximum packet sizes, different network access mechanisms, different timeout and retry schemes, quality of error recovery, quality of status reporting, different routing, fault detection and congestion control techniques, different data representations, different user authentication practices, and whether or not a connectionless or connection-based service is required. Easy really! CITS3002 Computer Networks, Lecture 7, The TCP/IP protocol suite, p1, 22nd April 2020.
21

The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

Jul 09, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

1 next→ CITS3002 help3002 CITS3002schedule

TheRequirementsofInternetworking

Networkscomeindifferingtopologiesandspeedsand(ofcourse)nosinglenetworkconfigurationsuitseveryone.

Thetechnologyknownasinternetworkingdrawsthemultitudesofnetworkingtechnologiesintoacommonframeworkthatcombinesnetworksintointernets.Ingeneralaninternetworkmust:

Providealinkbetweennetworks(atminimumaphysicalandlinkcontrolconnection).Provideroutinganddeliveryofdatabetweenprocessesondifferentnetworks(impliesoperatingsystems'support).Provideanaccountingservice,keepingtrackofthestatusofnetworksandgateways.Accommodatethedifferencesbetweendifferentsub-networks,including-

differentphysicaladdressingschemes,differentmaximumpacketsizes,differentnetworkaccessmechanisms,differenttimeoutandretryschemes,qualityoferrorrecovery,qualityofstatusreporting,differentrouting,faultdetectionandcongestioncontroltechniques,differentdatarepresentations,differentuserauthenticationpractices,andwhetherornotaconnectionlessorconnection-basedserviceisrequired.

Easyreally!

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p1,22ndApril2020.

Page 2: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 2 next→ CITS3002 help3002 CITS3002schedule

ABriefHistoryoftheInternet

In1969,theUSDefenseAdvancedResearchProjectsAgency(DARPA)fundedaprojectincomputingresourcesharingtermedtheARPANET.ARPANETconsistedofmultiplyconnected,high-bandwidth(56Kbps)linksbetweengovernment,academicandindustriallaboratories.

Duringthe1970sDARPAwasthechieffundingbodyforpacketswitchingnetworksusingdiversetechnologies,suchasmobileradiotransmittersandsatellitelinks.Bythemid1970sresearchconcentratedonaframeworkfortheARPANET.By1979theTransmissionControlProtocol/InternetProtocol(TCP/IP)wasrunningexclusivelyoverARPANET.

Ref:ISCInternetDomainSurvey(andnowforamusementpurposesonly).

Asearlyas2007,awhite-paperfromthePewInternet&AmericanLifeProjectreportedthatUS-basedInternetgrowthinuse,isslowlyslowing.Morerecentlytheyreportthatgrowthinvalueisslowlyslowing.

Otherinterestingreadings(fromourResourcespage):

AShortHistoryoftheInternet,IP:10choicesthatwerecriticaltotheNet'ssuccess,CountingontheInternet(summaryoffindings).

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p2,22ndApril2020.

Page 3: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 3 next→ CITS3002 help3002 CITS3002schedule

(Earlier)MilestonesinInternetHistory

TheInternetSocietyhostsamonographnamedABriefHistoryoftheInternet,byVintCerf-seealso:YourInternetisworking.ThanktheseColdWar-erapioneerswhodesignedittohandlealmostanything.

Cerf'spapernotesthesekeymilestonesinInternethistory:

1961:LeonardKleinrockwritesthefirstpaperonpacketswitchednetworks.1962:J.C.R.LickliderofMITwritesapaperdescribingagloballyconnected"GalacticNetwork"ofcomputers.1966:LarryRobertsproposestheARPANETtotheDefenseDepartment'sAdvancedResearchProjectsAgency(ARPA).1968:ARPAissuesRequestforQuotationsfortheInterfaceMessageProcessors(IMPs),whichbecamethefirstrouters.1969:FirstIMPisinstalledatUCLA.Early1970s:UniversitiesanddefenseagenciesandcontractorsbegintoconnecttoARPANET.1973:BobKahnandVintCerfbeginresearchintowhateventuallybecomesIP-theInternetProtocolanditscompanion,TCP-theTransmissionControlProtocol.1973:BobMetcalfedevelopsEthernet,whichhadbeenthesubjectofhisPhDthesis,whileworkingatXerox.Early1980s:ThePersonalComputerrevolutionbegins.Mid1980s:LocalAreaNetworks(LANs)begintoflourishinbusinessanduniversityenvironments.Campusareanetworkssoonfollow.January1,1983:All"old-style"trafficontheARPANETceases,asTCP/IPbecomestheonlyprotocolused.[Arguably,thisisthedateofthebirthoftheInternetasafunctioning,practical,productionnetwork.]1985:DennisJenningschoosesTCP/IPastheprotocolfortheplannedNationalScienceFoundationNetwork(NSFnet).1988:NSFsponsorsaseriesofworkshopsatHarvardonthecommercializationandprivatizationoftheInternet.1988:Kahnetal.writeapaper"TowardsaNationalResearchNetwork."AccordingtotheBriefHistory,"ThisreportwasinfluentialonthenSenatorAlGore,andusheredinhighspeednetworksthatlaidthenetworkingfoundationforthefutureinformationsuperhighway."1991:MarkMcCahilletal.(UniversityofMinnesota)releasetheInternetGopher,thefirstwidely-adoptedmenu-basedsystemforbrowsingandretrievingInternet-baseddocuments.1991:TimBerners-Leeetal.attheEuropeanCenterforHigh-EnergyPhysics(CERN)describetheWorldWideWeb.Thefirstbrowserisaline-modetool.March1993:MarkAndreessenetal.attheNationalCenterforSupercomputingApplications(NCSA)attheUniversityofIllinoisreleaseMosaic,thefirstwidely-adoptedgraphicalbrowserfortheWeb

So,whatadvancesweremadeoverthenext25+years?Whatsignificantadvanceshavebeenmadesinceyouwereborn?Wouldyouclassifythemastechnicalorsocietal?

Page 4: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p3,22ndApril2020.

Page 5: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 4 next→ CITS3002 help3002 CITS3002schedule

WhereItAllBegan(?)DuringmyserviceintheUnitedStatesCongress,ItooktheinitiativeincreatingtheInternet.-AlGore,1999

InternetRFCs(RequestsForComments)TheInternetisnot(yet)acommericalproduct-insteadalarge,activeresearchproject.

Reportsofwork,proposalsforprotocols,andprotocolstandardsappearasaseriesofnearly8800technicalreportstermedRFCs.

Recently:RFC8771:TheInternationalizedDeliberatelyUnreadableNetworkNOtation(I-DUNNO).

ThewholeRFCcollectionmaybesearchedandreadvia:

https://www.rfc-editor.org.

(andreadthecollectionofhumorousAprilFools'DayRequestforComments).

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p4,22ndApril2020.

Page 6: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 5 next→ CITS3002 help3002 CITS3002schedule

TheTCP/IPProtocolArchitecture

TheTCP/IPprotocolsuiteisbasedontheviewthatcommunicationinvolvesthreeagents:networks(whichcontainhosts),hosts(whichrunprocesses),andprocesses(whichgenerateandconsumedata).

Therefore,anetworkneedonlybeconcernedaboutroutingdatabetweenhostsaslongasthehostsagreehowtogetdatatoindividualprocesses.

Withthisinmind,theTCP/IParchitectureorganizesprotocolsintofourlayers(sometextsargueforafive-layermodel,inwhichtheProcess/Applicationlayerissplitintwo,withwell-understoodapplicationsformingthefifthlayer).

Protocolsinthenetworkaccesslayerroutedatabetweenhosts(physically)attachedinthesamenetwork.

Protocolsintheinternetlayerroutedataacrossmultiple(possiblydissimilar)networksandhosts.

Internetlayerprotocolsareimplementedinbothhostsandgateways-whereagatewayisunderstoodtoconnecttwonetworksandmustrelaydatabetweenbothnetworks,bothusinganInternetprotocol.

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p5,22ndApril2020.

Page 7: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 6 next→ CITS3002 help3002 CITS3002schedule

TheTCP/IPProtocolArchitecture,continued

Thehost/hostlayercontainsprotocolsabletodeliverdatabetweenprocessesonthedifferenthosts.Dependingonthequalityofserviceandthelengthofconnectionsrequired(ifany)atthislayer,fourhost-hostlayerprotocolsareinfrequentuse-

Areliableconnection-orienteddataprotocolprovidingreliable,sequenceddelivery(theTransmissionControlProtocol,TCP,akintotheISOClass4transportprotocol)[RFC-793].

Alowoverhead,minimumfunctionalitydatagramprotocol(theUserDatagramProtocol,UDP)[RFC-768].

Reliabledatagramprotocols,providinglowoverheadcommunicationfor'bursty'deliverybetween'random'endpoints-goodforspeechandlow-definitionvideostreams[RFC-908].

Areal-timestreamingprotocol,characterizedbytheneedforhandlingasteadystreamwithminimumdelayvariance[RFC-2326].

Theprocess/applicationlayerprotocolsdefineresourcesharing(e.g.host-to-host)andremoteaccess(terminal-to-host).

Wellunderstoodprocess/applicationlayerprotocolsincludetheFileTransferProtocol(FTP),[RFC-959],HyperTextTransportProtocol(HTTP),SimpleMailTransferProtocol(SMTP)andtheTELNETProtocol(forterminalemulationconnections).

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p6,22ndApril2020.

Page 8: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 7 next→ CITS3002 help3002 CITS3002schedule

TraditionalClass-basedIPVersion4Addressing

EachcomputerordeviceaccessibleusingInternet(IP)protocolshasatleastoneuniqueaddresswithinitssubnet.

IfeverydevicewasaccessibleovertheglobalInternet,eachdevicewouldrequireitsownuniqueaddress(worldwide);eachaddressconsistsofanetwork'portion'andalocal'portion'.Thenetwork'portions'areassignedbythecentralDARPAauthority.

TheoriginalInternetdesignerswereunsureastohowtheInternetwouldgrow-eitheralargenumberofnetworkseachwithasmallnumberofhostsorasmallnumberofnetworkseachwithalargenumberofhosts.

Asacompromise,Internetaddressingschemesaccommodatebothlargeandsmallnetworktopologies.

Moreover,class-basedaddressesareself-describing.

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p7,22ndApril2020.

Page 9: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 8 next→ CITS3002 help3002 CITS3002schedule

Class-basedIPVersion4Addressing,continuedWhendescribingInternetaddresses(verballyorinliterature)adotteddecimalnotationisusedtodescribethe32-bitaddresses.

# 130.95.1.10 www www.csse.uwa.edu.au 130.95.1.8 budgie budgie.csse.uwa.edu.au 130.95.116.32 laser25 laser25.csse.uwa.edu.au # 130.95.252.64 ecm-csse2101-l.uniwa.uwa.edu.au 130.95.252.112 ecm-csse2101-x.uniwa.uwa.edu.au

Thedifferent(hardware)encodingof32-bitintegersbetweenarchitecturesdemandsastandardrepresentationforInternetaddresses.TheInternetstandardforbyteorderspecifiesthatintegersaresentmostsignificantbytefirst(big-endian).

AnumberofstandardC,Python,andJavalibraryfunctions(methods,classes...)mapInternetaddressestoandfromnetworkstandardordering,Ethernetaddressesandcharacterstrings(seeUnix/Linuxmanualsforinet,ethersandntohl).

AnothersignificantproblemwiththeInternetaddressingschemeisthatifahostmovesfromonenetworktoanother,itmustchangeInternetaddresses(considertheimpactonmobile-computing).

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p8,22ndApril2020.

Page 10: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 9 next→ CITS3002 help3002 CITS3002schedule

ClasslessInter-DomainRouting(CIDR)

WiththeadventofCIDR,theclassfulrestrictionsnolongerexist.Addressspacemaybeallocatedandassignedonbitboundaries,androutersmayuseoneaggregatedroute(like194.145.96.0/20)insteadofadvertising16classCaddresses[RFC-1518].

addrs bits prefix class mask

1 0 /32 - 255.255.255.255

2 1 /31 - 255.255.255.254

4 2 /30 - 255.255.255.252

8 3 /29 - 255.255.255.248

16 4 /28 - 255.255.255.240

.. .. .. .. ..

512 9 /23 2C 255.255.254.0

1K 10 /22 4C 255.255.252.0

.. .. .. .. ..

64K 16 /16 1B 255.255.0.0

128K 17 /15 2B 255.254.0.0

256K 18 /14 4B 255.252.0.0

512K 19 /13 8B 255.248.0.0

1M 20 /12 16B 255.240.0.0

2M 21 /11 32B 255.224.0.0

4M 22 /10 64B 255.192.0.0

.. .. .. .. ..

128M 27 /5 8A 248.0.0.0

256M 28 /4 16A 240.0.0.0

512M 29 /3 32A 224.0.0.0

1024M 30 /2 64A 192.0.0.0

where:

'addrs'representsthenumberofaddressesavailable;notethatthenumberofaddressablehostsnormallyis2lessthanthisnumberbecausethehostpartswithallequalbits(all0sandall1s)arereserved.'bits'representsthesizeoftheallocation/assignmentinbitsofaddressspace.'prefix'representsthelengthoftherouteprefixcoveringthisaddressspace.Thisissometimesusedtoindicatethesizeofanallocation/assignment.'class'representsthesizeoftheaddressspaceintermsofclassfulnetworknumbers.'mask'representsthenetworkmaskdefiningtheroutingprefixindotteddecimalnotation.

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p9,22ndApril2020.

Page 11: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 10 next→ CITS3002 help3002 CITS3002schedule

MappingInternetAddressestoPhysicalAddresses

Anobviousquestionis'WhatphysicaladdressshouldthesenderusetosendInternetdatagramstoaspecificInternetsite?'

Insomecasesaphysicaladdressmayfitinto,say,aClassAInternetaddress,butmoretypicallyanEthernetaddress(48bits)willnotfitintheInternetaddressingschema.

TheAddressResolutionProtocol(ARP)isaspecialprotocoldesignedtomapInternettophysicaladdresses.WhenagatewayneedstoknowthephysicaladdressforanInternetaddressofahostknowntobeonitsnetwork,itbroadcastsanARPframerequestingthephysicaladdress.Therequiredhostreplies;thegatewaycachestheaddressforfuturereference.

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p10,22ndApril2020.

Page 12: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 11 next→ CITS3002 help3002 CITS3002schedule

TheAddressResolutionProtocol(ARP)

ARPisalow-levelprotocolthathidestheunderlyingphysicaladdressing,permittingoneormoreInternetaddressestobeassignedtoeachmachine.ARPisconsideredpartofthephysicalnetworksystem,notstrictlypartoftheInternetprotocols.

Unlikemostprotocols,ARPdoesnothaveafixedformat.Itsdesignpermitsittoindicatehowbigitsownfieldswillbe,inthiscasethatEthernetaddressesare6bytes(octets)long,andInternetaddresses4byteslong.ThispermitsARPtobeusedwitharbitrarynetworkaddressingschemes.

Whenmakingarequest,thesender(makingtherequest)alsosuppliesitsownEthernet/Internetaddressmapping.AsallhostsontheEthernetmonitorthebroadcast,theycanupdatetheirmappingtablesforfuturereference(ARPsnooping).

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p11,22ndApril2020.

Page 13: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 12 next→ CITS3002 help3002 CITS3002schedule

ConfigurationofNetworkDevices

Allpreviousdiscussiononinternetworkinghasassumedthatourcomputershavebeen'upandrunning',andpossessedfullknowledgeabouttheirnetworkingenvironment.Wheredidthisknowledgecomefrom?

Thestandardbootingsequenceformostoperatingsystemsinvolvesthecomputer'shard-disk(orCD-ROM,flash-memory,...)providingashortbootstrapprogramofseveralhundredbytes,whichinturnreadsthetrueoperatingsystemcodefromnominatedblocksonpermanentmedia.Toconfigureitsnetworkconnection,aclienthostrequires(atleast):

oneuniqueIPaddressforeachofitsnetworkinterfaces,theclient'shostnametheaddressofitsdefaultrouter-wheretosendallpacketsthatwedon'texplicitlyknowhowtodeliver,eachinterface'ssubnetmasktodeterminehowmanybitsoftheIPaddressprovidethenetworkandhostids,theIPaddressofaninitialdomainnameserver,toresolvehostnamestotheirIPaddresses,(maybe)thetime,oratleasttimezone.

Areasonablefirstapproachtodefiningthisinformationisinaconfigurationfile(seeourlabs'/etc/sysconfig/network*):

DEVICE=eth0 BROADCAST=130.95.1.255 NETMASK=255.255.255.0 IPADDR=130.95.1.8 BOOTPROTO=none GATEWAY=130.95.1.41 GATEWAYDEV=eth0 HOSTNAME=budgie.csse.uwa.edu.au

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p12,22ndApril2020.

Page 14: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 13 next→ CITS3002 help3002 CITS3002schedule

ProblemsWithStaticConfiguration

Thereareanumberofclearproblemswithstaticconfigurationofnetworkattributes:

Systemadministratorsmayhavetooverseehundredsofmachinesonanetwork.Manualmaintenanceofdistinctfilesbecomesintractable.Asingle(political)networkdomainmayservicemanymore(dialupormobile)computersthanithasregisteredIPaddresses.Ofcourse,thisscenariohopesthatnotallcomputerswishtobeconnectedatonce.Mobilecomputersmaywishtofrequentlyconnecttodifferent(unrelated)networks,andSomepreviouslytrustedcomputersmaybecomeuntrusted,andsystemadministratorsmayhavelostaccesstomodifytheirconfigurationfiles.

Apartialsolution

Themost'stable'attributeinmostnetworkingconfigurationsisthenetworkinterfacecard'sMACaddress,suchasacard's48-bitEthernetaddress.(manynewEthernetcardscanchangetheirMACaddressesprogrammatically-amixedblessing!)

AswiththeARPprotocoldescribedearlier,anewlybootedclientcomputercanbroadcastitsEthernetaddressviatheReverseAddress-ResolutionProtocol(RARP).

TheclientbroadcastsitsRARPrequest,andanyhostactingasaRARPservermayreplywiththeclient'sallocatedIPaddress.

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p13,22ndApril2020.

Page 15: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 14 next→ CITS3002 help3002 CITS3002schedule

TheBootstrapProtocol(BOOTP)

TheBootstrapProtocol(BOOTP)isaUDP/IP-basedprotocolthatallowsabootinghosttoconfigureitselfdynamically,andmoresignificantly,withoutusersupervision.BOOTPisfullydefinedinRFC-1497.Aserver'sBOOTPresponseincludesseveralconfigurationitems,andfitsinasingle(Ethernet)packet.

ItprovidesameanstoassignahostitsIPaddress,afilefromwhichtodownloadabootprogramfromsomeserver,thatserver'saddress,and(ifpresent)theaddressofanInternetgateway.

Oneproblemappearstohavebeenintroduced-howcanBOOTPusea'higher'protocolfromtheTCP/IPsuite(inthiscaseUDP)ifitistryingtodetermineIP-levelinformation?TheanswerliesintheuseofspecialIPaddresseswithintheBOOTPrequestpacket:

TosendtheBOOTPdatagram,theclientmachinesetsthedestinationIPaddresstotheglobalbroadcast(255.255.255.255),anditsownsourceIPaddressto0.0.0.0.TherespondingBOOTPservereitherreplieswithanIPbroadcast(heardbytherequestingclient),orrespondsdirectlytotheclient'sMACaddress.

BootingoveraNetworkAnadditionalfeatureofBOOTPisitssupportofprovidingacomputer's(orany'dumber'device's)operatingsystem'simage:

Theclientmayprovideagenericstring,suchasUNIXorNCD-XTERM-1320,intheTFTP-boot-filenamefieldofitsrequest,

Page 16: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

TheBOOTPservermayacceptthispartoftherequest,andrespondwiththepathnameofanoperatingsystem'skernelimageavailablefromtheserver,suchas/tftp/bootimages/vmlinuz-4.14TheclientmaythenusethispathnameinasubsequentrequestusingtheTrivialFileTransferProtocol(TFTP,[RFC-783])tofetchitsbootimage(loadingitdirectlyintomemory).Thisfeatureisexcellentformaintainingidenticaloperatingsystemkernels,orbootingdisklessmachines.

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p14,22ndApril2020.

Page 17: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 15 next→ CITS3002 help3002 CITS3002schedule

DynamicHostConfigurationProtocol(DHCP)

DHCP'spurposeistoenableindividualcomputersonanIPnetworktoextracttheirconfigurationsfromaserver(the'DHCPserver').

Ingeneral,theserverswillhavenostaticinformationabouttheindividualclientcomputersuntilinformationisrequested.Responsestoeachclientwillthenbegenerateddynamically.

Theoverallpurposeofthisistoreducetheworknecessarytoadministeralarge(oftendynamic)IP-basednetwork.

ThemostsignificantpieceofinformationdistributedinthismanneristheIPaddress.

DHCPisbasedonBOOTPandmaintainssomebackwardcompatibility.ThemaindifferenceisthatBOOTPwasdesignedformanualpre-configurationofthehostinformationinaserverdatabase,whileDHCPallowsfordynamicallocationofnetworkaddressesandconfigurationstonewlyattachedhosts.Additionally,DHCPallowsforrecoveryandreallocationofnetworkaddressesthroughaleasingmechanism.

DHCP,likeBOOTP,runsovertheuser-datagramprotocol(UDP),usingports67and68,andisdefinedinRFC-1534andRFC-2131.

AnExampleDHCPConfiguration

TheDHCPdaemon(process)istypicallyprovidedwiththenameofanetworkinterface(suchaseth0)sothatitknowsfromwheretoacceptbroadcastrequests.TheDHCPdaemonreadsinformationfromaconfigurationfilestoringthe'public'informationforclients.Toprovideatrulydynamicconfiguration,wealsoneedtoprovidearangeofIPaddressesgiventoclients.WecanalsouseDHCPtoprovidefixedconfigurationinformation,basedontheEthernet(MAC)addressofthearrivingrequest:Examplesinclude:

subnet 10.1.1.0 netmask 255.255.255.0 { option routers 130.95.1.41 ; option subnet-mask 255.255.255.0 ;

option domain-name "dhcp.csse.uwa.edu.au" ; option domain-name-servers 130.95.1.5 ;

option time-offset +8; # Western Australia

range 10.1.1.1 10.1.1.240 ; }

host laptop3 { option host-name "laptop3.csse.uwa.edu.au" ; hardware ethernet 00:A0:78:8E:9E:AA ; fixed-address 10.1.1.243 ; }

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p15,22ndApril2020.

Page 18: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 16 next→ CITS3002 help3002 CITS3002schedule

TheTCP/IPProtocolDependenciesThemanyInternetprotocolsnaturallydependoneachother,thatistheydemandtheservicesprovidedbyotherprotocols.

Forexample,theremoteloginprotocol(rlogin)demandsthatitoperatesoverareliablestreamprotocol(TCP),deliveredtoahostonanetwork(IP)whichprovidesflowcontrol(ICMP).

BOOTP TFTP DNS SNMP RIP NFS telnet ssh FTP HTTP SMTP

UDP(unreliabledatagrams) TCP(reliablestreaming)

IP,ICMP,IPSEC,OSPF

ARP(ifInternettoPhysical-Layerresolutionrequired)

RARP(ifPhysical-LayertoInternetresolutionrequired)

BothARPandRARP(theReverseARP)arelistedherebutarenotstrictlywithintheInternetprotocolsuite.

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p16,22ndApril2020.

Page 19: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 17 next→ CITS3002 help3002 CITS3002schedule

InternetProtocol(IP)Datagrams

TheInternetProtocol(IP)providesanunreliable,best-effort,connectionless,packetdeliverysystem.

InthisunitwewillinitiallybediscussingInternetProtocolversion4(IPv4)RFC-791.

Internetdatagramsresemble'standard'physical-layerframes,butaredesignedtobeencapsulatedwithinthenormalnetworkframingschema.Hence,Internetdatagramsaresaidtorunontopoftraditionalnetworks.

Checksum:16bitchecksumoftheheaderonly.Thechecksumistheone'scomplementoftheone'scomplementsumoftheheader.TTL:Timetolive-thehopcount.Length:Thedatagramlength(16bits)inoctets.Type:8bits,identifyingprotocoltypes.

# Internet (IP) protocols#ip 0 IP # internet protocol, pseudo protocol numbericmp 1 ICMP # internet control message protocoligmp 2 IGMP # internet group multicast protocolggp 3 GGP # gateway-gateway protocoltcp 6 TCP # transmission control protocolpup 12 PUP # PARC universal packet protocoludp 17 UDP # user datagram protocol

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p17,22ndApril2020.

Page 20: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 18 next→ CITS3002 help3002 CITS3002schedule

InternetControlMessageProtocol(ICMP)

ICMPallowsgatewaysandhoststoexchangebootstrapanderrorinformation.GatewayssendICMPdatagramswhentheycannotdeliveradatagram,ortodirecthoststouseanothergateway.HostssendICMPdatagramstotestthe'liveness'oftheirnetwork.

Asanexample,theUnixprogrampingsendsICMPechomessagestoaspecifiedmachine.Uponreceiptoftheechorequest,thedestinationreturnsanICMPechoreply.pinghencebothchecksthatahostisupandthatthepathtoahostisviable.

prompt> /bin/ping elvis elvis is alive

prompt> time /bin/ping sophia.inria.fr sophia.inria.fr is alive 3.006s real 0.040s usr 0.060s sys

prompt> time /bin/ping sophia.inria.fr sophia.inria.fr is alive 0.591s real 0.020s usr 0.090s sys

Ifagatewaymustdiscardadatagramduetolackofresourcesitsendsasourcequenchtothedatagram'ssender.Ifadatagramcannotbedeliveredbecauseahostisdownornorouteexists,aICMPdestinationunreachabledatagramisgenerated.

TheTCP/IPProtocolsuitedefinesover15(in-use)ICMPerrormessagetypes,including:

destinationunreachable,timeexceeded,parameterproblems,sourcequench,redirection,echo,echoreply,timestamp,timestampreply,informationrequestandinformationreply.

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p18,22ndApril2020.

Page 21: The Requirements of Internetworking CITS3002 Computer Networks · a common framework that combines networks into internets. In general an internetwork must : Provide a link between

CITS3002ComputerNetworks

←prev 19 CITS3002 help3002 CITS3002schedule

InterestingUsesForICMP-TracerouteTracerouteutilizestheIPprotocol`timetolive'fieldandattemptstoelicitanICMPTIME_EXCEEDEDresponsefromeachgatewayalongthepathtosomehost:

prompt> traceroute www.cs.berkeley.edu traceroute to hyperion.CS.Berkeley.EDU (208.1.75.105), 30 hops max, 40 byte packets 1 cs-gate (130.95.1.41) 1.200 ms 1.602 ms .... 2 parnet-uwa.parnet.edu.au (203.19.110.17) 7.567 ms ... 3 atm11-0-7.ia3.optus.net.au (192.65.88.189) 54.287 ms ... 4 atm91-4.ia1.optus.net.au (202.139.7.174) 63.938 ms ... 5 h21.la1.optus.net.au (202.139.7.129) 370.803 ms ... 6 906.Hssi8-0.GW1.LAX2.ALTER.NET (157.130.224.137) 381.297 ms ... ... 17 f1-0-0.inr-107-eva.Berkeley.EDU (128.32.2.1) 869.557 ms ... 18 f1-0.inr-181-soda.Berkeley.EDU (128.32.120.181) 845.670 ms.... 19 128.32.40.202 (128.32.40.202) 773.970 ms.... 20 hyperion.CS.Berkeley.EDU (208.1.75.105) 949.824 ms....

CITS3002ComputerNetworks,Lecture7,TheTCP/IPprotocolsuite,p19,22ndApril2020.