6. Üb ung zur V orlesung „V ernetzte Systeme“ WS 2001/2 002 Prof. Dr . F . Mattern Ausgabedatum:26.Nov.2001 Abgabedatum:3.Dez.2001 Hinweis:BitteschreibenSieimmerIhreÜbungsgruppennummerunddieNamenderbei- denBearbeiteraufdieLösung! HinweisezudenProgrammieraufgaben:SchickenSiedieQuelltextederProgrammier- aufgabenbittealsEmail-AttachmentsanIhrenTutorundgebenSiesieausserdemzusam- menmitdenanderenÜbungsaufgabenalsausgedruckteListingsab.BittetragenSieIhren Namen,dieÜbungsgruppeunddieAufgabennummeralsKommentarimQuelltextein. A ufgabe 22 (Über tra gungsme dien)
(3Punkte)NebenleitungsgebundenenwerdenauchdrahtloseÜbertragungsmedienein- gesetzt–z.B.Mobilfunk,SatellitundInfrarot.BeschreibenSiekurzdieEinsatzbe- reiche,Eigenschaften,sowiedieVor-undNachteiledieserMedien. A ufgabe 23 (K odierung en)
WichtigeAnforderungenanKodierungenfürdieÜbertragungvonBitströmensinddie Gleichspannungsfreiheit1,derBandbreitenbedarfunddieMöglichkeitderTaktrückgewin- nung. a)(3Punkte)BeurteilenSiedievierausderVorlesungbekanntenKodierungsverfahren bezüglichdergenanntenAnforderungen.Hinweis:BetrachtenSiefürdenBandbrei- tenbedarfdieAnzahlderSpannungswechsel,diefürdieÜbertragungeinesBitsbe- nötigtwerden. BittebegründenSieIhreResultateunderläuternSiediegetroffenenAnnahmen,z.B. überdasNiveauderSignalwerte. b)(1Punkt)FolgendeSignalformgehörtzueinemDatenstrom,dernachderManchester- Methodekodiertwurde.BestimmenSieAnfangundEndederBit-Intervalle,indem SiedieTaktinformationenausdemSignalextrahierenundgebenSiedanndieBit- folgean,diedurchdieseSignalformrepräsentiertwird. 1ObwohlmehrereDefinitionenfürdieGleichspannungsfreiheiteinesCodesmöglichsind,nehmenwirfolgende an:einCodeistgleichspannungsfrei,wennjedeBitfolgegleichspannungsfreiübertragenwird 1
c)(2Punkte)ZeichnenSiefürdenBinärwert1110000000001001100001daskodierte Signalfürdievieruntera)genanntenCodierungen. A ufgabe 24 (Signal-Raus c h-Abstand)
NachShannongibteseineneindeutigenZusammenhangzwischenderverfügbarenBand- breite,demSignal-Rausch-AbstandunddermaximalmöglichenAnzahlübertragbarerBits proSekunde2. a)(2Punkt)DerSignal-Rausch-AbstandeinerSatellitenverbindungbetrage20dB,die BandbreiteeinesVideokanals10MHz.WiehochistdiemaximaleBitrateinb/s? b)(2Punkt)IneinemdigitalenTelefonnetzmöchtemanbeieinerBandbreitevon3100Hz eineDatenratevon56kb/serreichen.WievieldBmussderSignal-Rausch-Abstand mindestensbetragen? c)(3Punkt)NachdeminformationstheoretischenTheoremvonShannonistesnichtmög- lich,mehralsca.30kb/sübereinetypischeanalogeTelefonleitungzuübertragen. ErklärenSiemiteigenenWorten,wieesmöglichist,dassmitV.90-Modemsbis 54kb/sübertragenwerdenkönnen. A ufgabe 25 (FTP-Client)
InAufgabe21habenSieeineneinfachenHTTP-ClientinJavaentwickelt.BeiHTTPhan- deltessichumeinrelativeinfachesProtokoll:aufeineAnfragevomClientfolgtimmer eineAntwortvomServer.AusserdemistderClientzustandslos,d.h.dieVerarbeitungder AntwortenvomServererfolgtunabhängigvomZustanddesClientsimmergleich. KomplexereProtokolle,beidenendieBearbeitungvonEingabenzusätzlichvomZu- standdesClientsoderServersabhängt,beschreibtmanoftmittelsendlicherAutomaten. FolgendeAbbildungzeigtdenZustandsautomatendesClientsfüreineinfaches„Ping- Pong-Protokoll“. 0 1"pong" / "ping" 2
"*" / error"*" / error
"hello" / "ping" "end" / - DerClientkannsichindreimöglichenZuständen(0,1,2)befinden.Zustand0ist derStartzustand,indemsichderClientzuBeginnbefindet.DieZustandsübergängesind jeweilsmitEingabe/Aktionbeschriftet,wobeiEingabedievomServererhaltene EingabeundAktiondiedaraufhinausgelösteAktion(meistenseineAusgabeanden Server)ist. EmpfängtderClientimZustand0dieEingabe“hello”,sosendeter“ping”anden ServerundbegibtsichinZustand1.AlleanderenEingaben(“*”)sindeinFehlerundder ClientbegibtsichinZustand2(denEndzustand).EmpfängtderClientinZustand1ein 2BittebeachtenSie:b=bit,kb=kilobit=½¼
¿bit 2
“pong”vomServer,soantwortetermiteinemerneuten“ping”undbleibtinZustand1,so- lange,biserein“end”odereineunzulässigeEingabeempfängtundsichindenEndzustand begibt.EineBeispiel-ImplementierungdiesesProtokollsinJavafindenSieunterhttp: //www.inf.ethz.ch/vs/edu/WS0102/VS/index.html#aufgaben.Machen SiesichinsbesonderemitderMethodehandleInput()desClientsvertraut,dieden obigenZustandsautomatenimplementiert. IhreAufgabeistesnun,eineneinfachenClientfürFTP(FileTransferProtocol,als StandarddienstimInternetunterPort21erreichbar)3zuentwickeln.DerClientsollsich beieinemFTP-ServeralsanonymerBenutzeranmelden,denStatusdesServersabfragen undsichdannabmelden.DazumüssenbestimmteKommandosandenServergeschickt unddieAntwortendesServersausgewertetwerden.DieAntwortenbeginnenmiteinem dreistelligenStatuscode,gefolgtvoneinemLeerzeichen(Statuscodes,dievoneinem’-’ gefolgtwerden,solltenebensowieZeilen,dienichtmiteinemStatuscodebeginnen,igno- riertwerden4)undweiteremText.DerClientkanndurchfolgendenZustandsautomaten beschriebenwerden: 0"*" / error 1
"220" / "USER ftp" "331" / "PASS foo@inf.ethz.ch" 2 "230" / "STAT" 3 "211" / "QUIT" 4 5
"221" / -
"*" / "QUIT" "*" / "QUIT" "*" / "QUIT" "*" / error MachenSiesichzunächstmitdemProtokollvertraut,indemSiedenZustandsautoma- tenvonHandmittelnetnachvollziehenodernachfolgendeBeispielsitzungdurcharbei- ten. (7Punkte)ImplementierenSiediesenZustandsautomaten(ameinfachsten,indemSie denPing-Pong-Cliententsprechendabändern).TestenSieIhreImplementierung, indemSiefolgendeFTP-Serverausprobieren:ftp.ethz.ch,www.ethz.ch, ftp.suse.deundftp.redhat.com.BeachtenSie,dassFTP-Serverauchun- erwarteteAusgabenliefernkönnen,z.B.weilsiebestimmteKommandosoderdas angegebenePasswortnichtakzeptieren. 3WeitergehendeInformationen:DasFTP-ProtokollistimInternetProtocolStandard9spezifiziert,siehehttp: //www.rfc-editor.org/rfc/std/std9.txt. 4MittelsderMethodecharAt(intpos)könnenSieaufeinzelneZeicheneinesStringszugreifen. 3 SchickenSiedenQuelltextbittealsEmail-AttachmentanIhrenTutorundgebenSie ihnausserdemzusammenmitdenanderenÜbungsaufgabenalsausgedrucktesLi- stingab.BittetragenSieIhrenNamen,dieÜbungsgruppeunddieAufgabennummer alsKommentarimQuelltextein. DiefolgendenZeilenstelleneineBeispielsitzungmitftp.ethz.chdar.Diemit’>’ge- kennzeichnetenZeilensindAnfragenandenServer,derRestsindAntwortendesServers. NatürlichwürdeeineSitzungmiteinemanderenServer(oderauchmitdemselbenServer zueinemanderenZeitpunkt)einenanderenVerlaufnehmen. ÜberlegenSieanhandderBeispielsitzung,welcheZeilenignoriertwerdenmüssenund welchewichtigsind–imHinblickaufdieZustandsänderungenIhresAutomaten. 220weasel.ethz.chFTPserver(Versionwu-2.6.1(1)ThuApr515:16:28 METDST2001)ready. USERftp 331Guestloginok,sendyourcompletee-mailaddressaspassword. PASSfoo@inf.ethz.ch 230- 230-WelcometotheFTPserverftp.ethz.chof 230-ETHZ(SwissFederalInst.ofTechnology). 230- 230-Whatyoudohereislogged.Ifyoudon’t 230-likethis,youshouldlogoutnow. 230- 230-ThelocaltimeisWedNov2123:36:492001 230-Therearecurrently1ftp-usersloggedin. 230- 230- 230Guestloginok,accessrestrictionsapply. STAT 211-weasel.ethz.chFTPserverstatus: Versionwu-2.6.1(1)ThuApr515:16:28METDST2001 Connectedtovs6.inf.ethz.ch(129.132.13.75) Loggedinanonymously TYPE:ASCII,FORM:Nonprint;STRUcture:File;transferMODE:Stream Nodataconnection 0databytesreceivedin0files 0databytestransmittedin0files 0databytestotalin0files 35trafficbytesreceivedin0transfers 915trafficbytestransmittedin0transfers 999trafficbytestotalin0transfers 211Endofstatus QUIT 221-Youhavetransferred0bytesin0files. 221-Totaltrafficforthissessionwas1108bytesin0transfers. 221-ThankyouforusingtheFTPserviceonweasel.ethz.ch. 221Goodbye. 4