21
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.

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

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

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.

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.

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?

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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,

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

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

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.

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.

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.

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.

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.