• Keine Ergebnisse gefunden

A ufgabe 19 (Bit-orientier te sync hr one Über tra gung)

N/A
N/A
Protected

Academic year: 2021

Aktie "A ufgabe 19 (Bit-orientier te sync hr one Über tra gung)"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

5. Üb ung zur V orlesung „V ernetzte Systeme“ WS 2001/2 002 Prof. Dr . F . Mattern

Ausgabedatum:19.Nov.2001 Abgabedatum:26.Nov.2001 Hinweis:BitteschreibenSieimmerIhreÜbungsgruppennummerunddieNamenderbei- denBearbeiteraufdieLösung!

A ufgabe 19 (Bit-orientier te sync hr one Über tra gung)

UmeinenkontinuierlichenBit-StromineinzelneFramesunterteilenzukönnen(diedann einzelnimFehlerfalleerneutübertragenwerden),umgibtmaneinevariableAnzahlvon DatenbitsmitöffnendenundschliessendenMarkern,z.B.der8-bitFolge01111110.Da- mitzufälligimDatenstrombefindlicheBit-Muster,diemitdiesenMarkernidentischsind, nichtalsMarkermissverstandenwerden,fügtderSendernachjederSerievon5aufeinan- derfolgendenEinseneineNullindenDatenstromein.DadurchkanndasMarker-Muster 01111110niemalszwischendenbeidenMarkernauftreten.DiesesVerfahrenistalsbit- stuffingbekannt.AufderEmpfängerseitemussdementsprechendjedeNull,dienachfünf Einsenempfangenwurde,ausdemDatenstromentferntwerden. a)(1Punkt)WiesiehtderDatenstrom„0111011111101111110“nacherfolgtembit-stuffing aus? b)(1Punkt)WiesiehtderOriginal-Datenstromaus,wennfolgender(bit-stuffed)Bit- StringbeimEmpfängereintrifft: „011111101101100111110110111110001111110“?

A ufgabe 20 (OSI Sc hic htenmode ll)

a)(1Punkt)OSIstehtfür„OpenSystemsInterconnection“.WelcheMerkmalekenn- zeichneneinoffenesSystem? b)(4Punkte)OrdnenSiediefolgendenAufgaben,diebeimAnklickeneinesLinksin einemWeb-Browseranfallen,derjeweiligenOSI-Schichtzu: ¯ÜbertragungdereinzelnenBits. ¯AnfrageinHTTP(z.B.GET/index.htmlHTTP/1.0). ¯DNS-Lookup(ÜbersetzungderZieladressevoneinemString,z.B.www.ethz.ch,in einenumerischeAdresse,z.B.129.132.200.35). 1

¯Host-to-hostRouting. ¯UmwandlungderzusendendenNachrichtinkleineDatenpakete. ¯AnpassungderPaketgrösseanddiefürdasNetzzulässigeMaximalgrösse. ¯AnpassunganeinenStandard-Zeichensatz(dasBetriebsystemverwendeeinenpro- prietärenZeichensatz,wiez.B.MSWindows,welcheseinespezielleRepräsentation voncarriagereturnhat). ¯GleichzeitiglaufeeinOnline-ChatProgramm.WelcheSchichtsorgtdafür,dassdie ankommendenPaketeandierichtigederbeidenApplikationen(alsoBrowserbzw. Chat-Programm)weitergeleitetwerden?

A ufgabe 21 (Einfac her HTTP-Client in Ja va)

NachdemwirletzteWochemitHilfedervordefiniertenJava-KlasseURLeineVerbindung zumWeb-Servergeschaffenhatten,sollenSiedieseSchrittenun„perHand“inIhremJava- Programmdurchführen.FolgendeHilfsmittelstehendazuinJavazurVerfügung: ¯DieSocket-Klasse. DieseKlasseermöglichtes,einen(bidirektionalen)Kommunikationskanalzwischen zweiProgrammenaufdemNetzwerkherzustellen.DieAnwendungderKlasseist analogzudemausAufgabe10bekanntentelnet-Befehl:NachAngabedesServer- NamensundderPort-AdressestelltSocketeinenEin-undeinenAusgabekanal („Stream“)zurVerfügung,vondemdasProgrammdannlesenbzw.schreibenkann: Socketsock=newSocket(<Server-Name>,<Port-Nummer>); AnschliessendstehtmitdenMethodengetInputStream()bzw.getOutput- Stream()einDatenstromzurEin-bzw.AusgabezurVerfügung. ¯DiePrintWriter-Klasse. DiesisteinespezialisierteOutputStreamKlasse,diezusätzlicheinigeMethoden zurAusgabevonDatenzurVerfügungstellt,wiez.B.print()undprintln(): PrintWriterout=newPrintWriter(<OutputStream>,true);1 NunkannmanganzeZeilen(alsoinklusiveabschliessendemNewline)beispielswei- sesoandenEmpfängerschicken: out.println(“HelloWorld”); ZusammenmitderbereitsinÜbung18verwendetenInputStreamReaderKlasse habenSiesoalleTeile,dieSiefüreinen„manuellen“HTTP-ClientinJavabenötigen. HinweisezurAbgabe:SendenSieIhreLösungenimQuelltext(keinenBytecode!) perEmailanIhrenTutor.2BitteverwendenSiefürjedeeinzelneJava-Quelltextdateiein separatesAttachmentundtragenSieinderBetreff-Zeile„Uebung5“ein.DieLösungen müssensichmittelsjavackompilierenlassenundbeiAusführungdiegewünschteAus- gabeerzeugen. HinweiszuJAVA:AufderHomepagederVorlesungsindeinigenützlicheJava-Links aufgeführt.InsbesondereistdieAPIDokumentationinteressant.DortwerdendieStandard- Klassenmitallihren(zugänglichen)MethodenundAttributenimDetailerläutert. 1DaszweiteArgument(„true“)bewirkthier,dassgeschriebeneDatennichtzwischengepuffert,sondernnach jedemZeilenende(z.B.mitprintln())zumEmpfängergesendetwerden. 2DieE-mailAdressenderTutorenfindenSieunterhttp://www.inf.ethz.ch/vs/edu/WS0102/VS/. 2

(2)

a)(4Punkte)SchreibenSiedasProgrammausAufgabe18.asoum,dassesanstattder URL-KlassenundieSocket-Klasseverwendet.DerEinfachheithalberdürfenSie statteineseinzelnenURL-Parameters(wieindemProgrammausAufgabe18)in IhrerLösungzweigetrennteParameterfürdenHostnamenunddenDokument-Pfad verwenden.3EbensowollenwirindieserAufgabekeinenUnterschiedzwischendem eigentlichenTextdesDokumentesundden(durchdasProtokollbedingten)Header- Zeilenmachen,diederWeb-ServervordemeigentlichenDokument-Textsendet: GebenSieeinfachalleDatenaus,diederServeralsAntwortzurücksendet.Tip: WennvomWeb-ServerkeineAntwortenzukommenscheinen,könnteihreAnfrage unvollständigsein.ProbierenSieeinwenig(wieinAufgabe10beschrieben)mit telnet,umzuerstdaskorrekteFormateinerHTTP-Anfrageherauszufinden! b)(3Punkte)MitHilfederBufferedReader-KlassekönnenSiestatteinzelnerBytes ganzeZeileneinlesen:4 BufferedReaderin=newBufferedReader( newInputStreamReader(mySocket.getInputStream())); DiereadLine()-MethodederKlassepuffertdabeidieeingehendenZeichenso- lange,biseinZeilenende-Zeichenempfangenwird,undliefertdanndiegesamteZei- le(ohneabschliessendesZeilenende-Zeichen!)alsStringzurück.5VerwendenSie dieseKlassenun,uminIhremHTTP-ClientnurdieHeader-ZeilenbeiderAusgabe desWeb-Dokumenteszuberücksichtigen.DereigentlicheInhaltsollnichtausge- gebenwerden.Tip:InHTTPsindHeaderundDokumenttextdurcheineeinzelne Leerzeile6voneinandergetrennt. c)(6Punkte)HintermanchenWeb-AdressenbefindensichkeineText-Dokumente,wie z.B.HTML-SeitenoderunformatierterText,sondernMultimedia-ObjektewieAu- dio-,Video-oderBild-Dateien.DerTypeinessolchenObjekteswirddabeivom Web-ServerinseinerAntwortexplizitimHeaderangegeben.DerbetreffendeEintrag wirdmit„Content-Type:“eingeleitet,gefolgtvoneinemstandardisiertenTyp- Bezeichner.BezeichnerfürText-Objektebeginnendabeiimmermit„text/“,wie z.B.„text/html“fürHTML-Dokumenteoder„text/plain“fürunformatier- tenText.Audio-Objektebeginnendementsprechendmit„audio/“,Bild-Objekte mit„image/“(alsoz.B.„image/gif“oder„image/jpeg“),etc.ZumBeispiel erhältmanfürhttp://www.inf.ethz.ch/pics/Logo.gif: HTTP/1.1200OK Date:Sun,11Nov200123:47:35GMT Server:Apache/1.3.11(Unix) Last-Modified:Tue,24Feb199810:32:23GMT ETag:"79cd-840-34f2a1b7" Accept-Ranges:bytes Content-Length:2112 Connection:close Content-Type:image/gif [BinäreBildatenfolgenhier] 3Alsoz.B.javaUserAgentwww.yahoo.com/index.htmlstattwiezuvorjavaUserAgent http://www.yahoo.com/index.html 4WieimBeispielgezeigtbenötigtderKonstruktordieserKlassestatteinesInputStreamjedocheinenIn- putStreamReaderalsArgument! 5AmDateiendewirddiespezielleKonstantenullvonderMethodezurückgegeben. 6AlsoeinStringmitlength()==0. 3 ErweiternSieIhrenWeb-Clientso,dasserzunächstnurdieHeader-DatendesOb- jektsvomServeranfordert(diesgeschiehtmitdemHEADRequest,deransonsten identischmitGETist)undprüft,umwelchenTypvonDokumentessichhandelt.Im Falleeines„text/...“DokumentssollendieDatenmiteinemzweitenRequest geholtundanschliessendausgegebenwerden.AlleanderenObjekt-Typen(wiez.B. Bild-Daten,etc.)sollenmiteinerFehlermeldung,wiez.B.„KannObjektevomTyp ...nichtanzeigen“quittiertwerden,ohnedenInhaltvomServeranzufordernund auszugeben. NützlicheJava-MethodenzumAnalysierenvonTextzeilenwerdenbereitsvomDa- tentypStringbereitgestellt: ¯booleanstartsWith(Stringprefix) liefertdenWerttrue,wennderStringmitderZeichenketteprefixbeginnt. ZumBeispiel: Stringfoo="Helloworld" if(foo.startsWith("Hello")) System.out.println("match!"); ¯Stringtrim() entfernteventuellvorhandeneLeerzeichenanAnfangundEndedesStrings. ZumBeispiel: Stringfoo="Whitespace"; System.out.println(foo.trim()); //schreibt"Whitespace" ¯Stringsubstring(intbeginIndex) liefertdenTeilstring,deranderPositionbeginIndexbeginntundbiszum EndedesStringsreicht.ZumBeispiel: Stringfoo="OneTwoThree"; System.out.println(foo.substring(3)); //schreibt"TwoThree" 4

Referenzen

ÄHNLICHE DOKUMENTE

Universit¨ at Regensburg, Institut f¨ ur Theoretische Physik Winter

Universit¨ at Regensburg, Institut f¨ ur Theoretische Physik Winter

[r]

[r]

Не отворајте го првото кутивче шишенце со мастило или шишенцето за дополнување мастило додека не сте подготвени да го наполните резервоарот за

HierbedeutetdievorletzteSpalte(NS=NameServer),dassessichbeidem

gibt, ist damit aber noch nicht gesagt; erst die Konstruktion (wie etwa über Dezimal- brüche, Dedekind-Schnitte oder Äquivalenzklassen von Cauchyfolgen) zeigt dies: Man muss

Observation for South African station SNAA: (1) Most detected phases show clear NULL measurements (2) For narrow backazimuth segments the splitting parameters and receiver