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