Transcript

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.


Recommended