Application Layer Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Was sind Anwendungen?

A

Browser (http), Email (smtp), Streaming (http), File Sharing, Clouds, …
Alle Anwendungen haben ihr Protokoll (siehe Klammer)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Describe a URL

A

URL consists of a scheme (describes the used protocol), the host identifier on which the resource is located, a path to the location on the server
Für die URL können wir auch statt menschenlesbaren Text IP Addressen verwenden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe http/https

A

Http is built on top of TCP and is used to by a client to interact with resources on the server
http directly communicates over TCP connection, whereas https insertes an encryption layer between http and TCP connection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Structure of http

A

Http has simple request-response scemantic: client issues request, server responds
Both request and response consist of header and payload
Header contains request line consisting of a method (e.g. get/ gibt das Hauptdirectory der Website aus) and key:value pairs which provide additional information about client and request each on a new line

It is a STATELESS protocol: each request-response pair is treated independently, no information about client is stored
In order to make http stateful browsers have introduced cookies (small amounts of data sent along with the request, allowing the server to recognize the user, thus saving information about the client). Cookies are key:value pairs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Http/1.0

A

Wenn ich eine HTTP/1.0 Website öffne, öffnet er ein TCP Verbindung zum Server, erstellt die Anfrage, dann schickt der Server die Antwort zurück und schliesst die Verbindung sofort wieder
Nicht toll, weil meistens muss man noch viel mehr Sachen nachladen auf einer Website (e.g. Bilder)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Http/1.1

A

Pipelining ist schon drin, man kann die gleiche Verbindung offen halten, die mit der Zeit auch immer schneller wird, und kann dann eins nach dem anderen die Files runterladen, die man braucht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Http/2.0

A

Ist binär, daher schneller. HTTP/1.0 und HTTP/1.1 verwenden menschenlesbaren Text, aber Text ist nicht effizient um Informationen zuzuschicken
Lädt direkt alle Bilder von der Website runter, Client muss nicht extra danach fragen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe HTML

A

HTML: Sprache wie Webseiten aufgebaut sind
Elemente die in einer Webseite auf eingebaut sind ( Text, Bild, Link auf andere Website) sind eingebettet in Tags
element
Tags sind als Wurzelbaum organisiert. Ich habe Tags und dazwischen auch wieder Tags

Link tags: <a>
HTML sagt nur was ist die Information der Website und wie ist sie aufgebaut
Wenn man darstellen möchte wie die ganze Sache aussieht -> Cascading Style Sheets </a>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie komme ich von URL auf IP

A

DNS

Client benutzt UDP (arbeitet wirklich nur mit einzelnen Paketen, nicht mit Verbindungen, das ist schneller), schickt eine Email an den DNS Server
Wie weiss mein Computer, wenn ich einen UDP schicken möchte, an wen die Nachricht geschickt werden soll?
Muss man nicht angeben, jeder Computer hat Standardadresse und dahin werden DNS Anfragen gestellt

Wer ist wirklich zuständig dafür welche URL auf welche IP Adresse gemappt wird?

Das sind authorative Servers, welche für einen oder mehrere Server zuständig sind und dann wirklich sagen auf welche IP Adresse z.B ethz.ch mappt

Letzlich wollen wir dann immer von den authorative Servers wissen, was die IP Adresse ist
Aber machmal weiss es auch schon .ch weil ständig anfragen auf ethz.ch komme

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie schicke ich eine Emailaddresse?

A

Einfach IP Addresse vom Kommunikationspartner rausfinden und dann Email schicken?

Das macht man normalerweise nicht so, normalerweise gibt es einen Emailserver dazwischen

Man schickt Email an Server, weil der Rechner C2 vielleicht nicht ständig online verfügbar ist und er auch seine IP Addresse ändern kann
Deshalb schickt man die Mail an einen Server, der ein stabiler Rechner ist, der sie dann abspeichert und C2 holt sie dann da ab

Oft hat man auch einen eigenen Server und man schickt eigentlich über smtp dem eigenen Server die Mail und der schickt sie dann weitern an den anderen Server
Die IP Adresse vom Zielserver kann man wieder über DNS rausfinden

Um Mails abzuholen, gibt es andere Protokolle, z.B imap, pop

Emails werden nicht als Text verschickt, sondern als sogennate mindtype, damit man kompliziertere Datentypen, e.g. Bilder, Sonderzeichen verschicken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Sockets

A

Socket ist wie man selbst Programme schreibt, die mit dem Internet kommunizieren

Muss schon ein Socket bereit haben, wenn ich mit dem kommunizieren möchte
Und der Client baut ein Socket auf und dann wird kommuniziert miteinander
Client gibt nur Port vom Server an, dem Client selbst wird zufällig vom Betriebssystem eine Portnummer gegeben

Was passiert wenn ich einen Server starte und dann gleich nochmal den gleichen einen Server starte auf dem gleichen Computer?
Dann sagt der Server er kann das nicht

Man öffnet Sockets, die Sockets warten auf Connection auf der Client Seite und wenn die Clients reinkommen wird was damit gemacht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Layering

A

Jeder Layer hat seine Art wie er mit Daten arbeitet
In der Applikationlayer macht man Datenpakete und bestehen aus einem http header (get\ od key value pairs) und dem http content

Translayer hat das ganze Paket genommen und das als Payload verstanden und dann seinen header dazugemacht, z.B einen TCP wo die Ports drin stehen

Network layer hat das ganze genommen und einen IP header davor gemacht

Link layer macht noch einen header und footer hinten dran und das geht dann über die Hardware raus
Jetzt kann es sein, dass es dann irgendwo zu einem Router hingeht und was den Router wirklich interessiert ist die Network Layer mit der IP Addresse (um zu wissen wohin er das Paket weiterschicken soll), also muss er die Link Layer verstehen
Wenn das Paket beim Ziel ankommt, nimmt der Link Layer das Paket entgegen, schaut nochmal ob er wirklich das Ziel ist vom Paket, gibt es an den Network Layer weiter, dieser holt sich die IP Addresse, gibt’s der Transportschicht weiter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly