Datakommunikasjon Høsten 2001 Forelesning nr 10, 29. oktober 2001 Chapter 17 Transport Protocols + DNS og SNMP
Jan 04, 2016
Datakommunikasjon Høsten 2001
Forelesning nr 10, 29. oktober 2001 Chapter 17Transport Protocols + DNS og SNMP
ØvingsoppgaverIngenObligatorisk oppgave nr 2 deles ut onsdag
31. oktober. Innleveringsfrist onsdag 14. oktoberPrøveekasamen deles ut mandag 19.
novemberGjennomgang onsdag 28. november
Eksamen tirsdag 4. desember
Pensum Chapter 19 Distributed Applications
Følgende er IKKE pensum:Kapittel 19.1 ASN.1
Forelesning 12. november: Network Security (selvkomponert)
Forelesning 19. november: Repitisjon
Dagens tekst:TransportlagetTCP – Transmission Control ProtocolUDP – User Datagram ProtocolDNS – Domain Name SystemSNMP – Simple Network Management
Protocol (?)
TCP – Transmission Control Protocol
Kommunikasjonslagene (referert til OSI)
Application
Presentation
Session
Ethernet
IPARP
ICMP
TCP UDP
Network
Transport
Data Link
Physical
Application
Transport
Network
Data LinkPPP
FTP HTTP
DNS
OSIInternet-TCP/IP
SMTP
TCP & UDPTransmission Control Protocol
Forbindelsesorientert RFC 793
User Datagram Protocol (UDP) Forbindelsesløs (datagram tjeneste) RFC 768
Eks. på brukere av TCPTelnet
port 23FTP (File Transfer Program)
port 20 og 21SMTP (Simple Mail Transfer Program)
port 25DNS (Domain Name System)
port 53HTTP (WEB-trafikk)
port 80
Eks. på brukere av UDPTFTP (Trivial File Transfer Protocol)
port 69DHCP (Dynamic Host Configuration
Protocol) port 67 og 68
NTP (Network Time Protocol) port 123
DNS (Domain Name Sytem) port 53
Sockets begrepetSending socket
Avsender IP-adresse + port nummer
Receiving socket Mottaker IP-adresse + port nummer
Benyttes ifm API-er API-Application Program Interface
TCP TCP overfører data mellom en klient og en tjener
(client/server) Data overføres i segmenter Brukerene av TCP leverer data som en strøm av
data (stream oriented) TCP sørger for feilretting og at data leveres
videre til brukeren av TCP i korrekt rekkefølge Forbindelsesorientert
Oppkoblingsfase Dataoverføringsfase Nedkoblingsfase
TCP streams og segmenter
TCP TCP
A B
Segmenter
Stream Stream
TCP pakke
Oppgaver til TCPAdresseringMultipleksing, en TCP prosess må kunne
håndtere flere applikasjonerFlytkontrollFeilkontrollOpp og nedkobling
AdresseringApplikasjon adresseres med:
host, port• Kalles en socket i TCP
Port representerer en bruker av TCP, dvs en applikasjon
Transport entity identifikasjon• TCP og UDP
Host og nettverksadresse, dvs IP-adresse
MultipleksingFlere applikasjoner kan benytte samme
transport protokollApplikasjon identifiseres med port
nummer eller service access point (SAP)
FlytkontrollVariabel transmissjonsforsinkelse
Vanskeligjør bruk av timere
Må ha flytkontroll pga at: Mottaker ikke kan motta data så raskt som
avsender sender
Resulterer i buffere som fylles
Håndtering av krav til flytkontroll (1)Gjør ingenting
Segmenter kastes Avsender vil ikke motta ACK og vil
retransmittereResulterer i mer inndata
Avise segmenter når buffer er fullt Trigger flytkontroll på lavere lag. Hvis flere transportforbindelser er multiplekset
over en enkelt nettverksforbindelse foregår flytkontrollen “summen” av alle transportforbindelsene
Håndtering av krav til flytkontroll (2)Bruke av fast sliding window protokoll
Fungerer bra i pålitelige nettManglende mottak av ACK håndteres som flytkontroll
Fungerer dårlig i upålitelige nettKan ikke skille mellom tapte pakker og flytkontroll
Bruk av “credit scheme”
Credit SchemeVindusstørrelse og ACK er ikke lenger
koblet sammen Kan gi ACK uten å gi kreditt og vice versa
Hver oktett har et sekvensnummerHvert transport segment har sekvens
nummer, ack nummer og vindusstørrelse i header
TCP oppkoblingMaskin A Maskin B
TID
SYN (SYNchronize sequence numbers)
SYN, ACK
ACK
Kalles for: Three-way handshake
TCP sekvens nummerMaskin A Maskin B
TID
SYN=1, Sequence=X
SYN=1, ACK=1, Sequence=Y, Ack no=X+1
ACK=1, Ack no=Y+1
Credit Allocation
Sending and Receiving Perspectives
Three WayHandshake:Examples
Three Way Handshake:State Diagram
Netstat –s (gir protokollstatistikk)
TCP Statistics
Active Opens = 696
Passive Opens = 39
Failed Connection Attempts = 46
Reset Connections = 363
Current Connections = 3
Segments Received = 265696
Segments Sent = 275847
Segments Retransmitted = 285
TCP - Transmission Control Protocol
Source Port
TCP Header
Destination Port
Sequence Number
Acknowledge Number
Header Length Reserved
URG
ACK
PSH
RST
SYN
FIN
Window Size
TCP Checksum Urgent Pointer
Options
RFC793
URG (Urgent mode) flaggUrgent mode
Gir mulighet for den ene part å fortelle at ”urgent data” er sent innimellom den normale datastrømmen
Urgent mode aktiveres ved å URG bit settes = 1 16 bir urgent pointer settes til et positivt offset Urgent data befinner er da i de oktettene som
angis av sequence number + urgent pointer offset
Benyttes av telnet, rlogin og FTP.
ACK – Acknowledge numberBenyttes til å si at dette er kvittering for
mottatte data
PSH (PUSH) flaggAvsender side:
Brukeren av TCP setter PUSH flagget for at TCP skal sende data som er mottatt med en gang, dvs ikke vente til at bufferet f.eks. er fullt.
Mottaker side: TCP skal sende de mottatte data umiddelbart
til brukeren av TCP
Eksempel på bruk er telnet
RST (RESET) flaggRESET flagg benyttes til å
resette en forbindelse avbryte en forbindelse
Oppsett til en ikke eksisterende port TCP sender RESET UDP sender ICMP port unreachable
Eksempel telnet til en ikke eksisterende port
SYN (SYNCHRONIZE) flaggSynkronisering av sekvens nummer ifm
initiering av en forbindelseAvsender sender et SYN segment som
inneholder ”initial sequence number”Mottaker returnerer et syn segment som
også inneholder ”initial sequence number”
FIN flaggIndikerer at forbindelsen skal kobles ned,
dvs det skal ikke overføres flere dataTCP avslutter forbindelsenTCP foretar en såkalt ”half close” når en
forbindelse kobles nedDette betyr at selv om den ene siden har
sendt FIN kan fortsatt den andre siden sende data
TCP - Sekvens opp- /nedkobling
RFC793
SYN
SYN, ACK
ACK
FIN
ACK
ACK
SYN, detaljer
FIN ACK detaljer
Sekvens detaljer
- Data -
FIN
TCP half close
FIN
ACK
ACK
FIN
DATA
Applikasjon avslutter
Applikasjon senderdataApplikasjon leser
data
TCP Mekanismer (1)Oppsett
Three way handshake Mellom to porter (source og destination port)
Data transfer Logisk strøm av oktetter Oktettene er nummerert modulo 223
Flyt kontroll basert på kreditt av nummer av oktetter
Data buffres hos avsender og mottaker
TCP Mekanismer (2)Nedkobling
Graceful close TCP bruker sender CLOSE primitive Transport entity setter FIN flagg på siste
segment som sendes ABORT primitive
All sending og mottak av data opphørerRST sendes
ImplementeringsopsjonerSendDeliverAcceptRetransmitAcknowledge
Sending av dataHvis ikke PUSH flagget er satt kan TCP
sende data når den synes det “passer”Data buffres i et sende bufferKan vente med å sende til den har fått en
viss mengde data
Levering av dataHvis ikke PUSH flagg, levere når det
passerKAn levere data etter hvert som den
mottar segmenterKan lagre data i et buffer før det sendes
videre
Aksept av mottatte dataSegments kan ankomme ute av sekvensSegmenter
Akseptere kun segmenter i riktig rekkefølge Forkaste segmenter som ikke kommer i riktig
rekkefølge
Innenfor vindusstørrelsen Akseptere alle segmenter innenfor
mottakervindu
RetransmisjonTCP vedlikeholder en kø av de segmenter
som er sendt og som ikke det er mottatt ack på
TCP vil retransmittere hvis det ikke er mottatt ACK innen en viss tid
AcknowledgementØyeblikkeligKumulative, dvs mottar flere segmenter
før ACK sendes
TCP Slow StartAlgoritme som skal sørge for at TCP
tilpasser seg overføringskapasiteten i nettet
Kalles ”Congestion window” eller cwndEr initielt satt til et segment hvor
størrelsen av segmentet er den segmentstørrelsen som er annonsert av mottakeren
Hver gang en ACK mottas økes cwnd med 1
UDPUser datagram protocolRFC 768Forbindelsesløs tjeneste
Det settes ikke opp noen forbindelse mellom avsender og mottaker som med TCP
Upålitelig Garanterer ikke at data kommer frem
Lite overhead
UDP og fragmenteringEt UDP datagram resulterer hos avsender i
et IP datagramEt IP datagram kan imidlertid bli fragmentert
dersom MTU (Maximum Transfer Unit) er mindre enn størrelsen på IP datagrammet
Dette settes i sammen hos mottakeren, men hvis det er feil forkastes alle fragmenter
IP ber ikke om retransmisjon, og heller ikke UDP
Tjenesten som benytter UDP må derfor ta ansvar for all retransmisjon
UDP - User Datagram Protocol
UDP Header
Source Port Destination Port
RFC768
Eksempel
UDP length
UDP length = lengden av hele datagrammet
UDP checksum
UDP checksum = sjekksum av hele datagrammet
DNS - Domain Name System
Mapper mellom hostnavn og IP-adresse(og omvendt)
Benyttes av TCP/IP applikasjoner Distribuert, hierarkiskBenytter både TCP og UDP som
transport, port nummer 53 Eksempler
DNS Query DNS Reply
RFC1034, RFC1035
DNS - Domain Name System RFC1034, RFC1035
Distribuert Ingen navneserver har lagret all informasjon Et nett (firma, organisasjon o.l) har en eller flere
navneservere Inneholder hele eller deler av egne definisjoner Håndterer også forespørsler utenfra
Hierarkisk Hvis egen server ikke har nødvendig informasjon,
sendes forespørselen til nivået over Et overliggende nivå vil gjenkjenne nok til å kunne
velge underliggende nivå for forespørsel.
DNS - Domain Name System RFC1034, RFC1035
Top Level Domains
Second Level Domains
Unnamed root
IN-ADDR
36
136
69
196
YAHOO
PEOPLE
NO
SCANDPOWER
WWW
Generic Domains Country Domains
ARPA - Special Domain for address-to-name mappings
COM EDU GOV MIL NET ORGARPA AE NO ZW
DNS - Domain Name SystemRFC1034, RFC1035
Resultat fra en ekstern forespørsel kan lagres i lokal navneserver til senere bruk
En DNS respons vil inneholde informasjon om kilden er autoritativ eller ikke.
ARP – Address Resolution ProttocolN:\>arp -a
Interface: 193.69.136.8 on Interface 0x2
Internet Address Physical Address Type 193.69.136.60 00-50-da-4f-31-8c dynamic 193.69.136.115 08-00-09-70-2c-8e dynamic 193.69.136.133 08-00-09-87-fe-29 dynamic
N:\>arp -a
Internet Address Physical Address Type
193.69.136.34 00-60-b0-3d-82-74 dynamic 193.69.136.54 00-10-5a-66-21-78 dynamic 193.69.136.56 00-00-0c-76-55-ce dynamic 193.69.136.60 00-50-da-4f-31-8c dynamic 193.69.136.115 08-00-09-70-2c-8e dynamic 193.69.136.133 08-00-09-87-fe-29 dynamic
SNMPSimple Network Management Protocol
55
Network Management Model
Request
Response
Unsolicited trap
Manager Agent
Network ManagementStation
Network Management Protocol Managed Node
(Management Information)
56
Managed Nodes
Hosts WS, PC, Terminal Server, Printer
RoutersMedia Devices
Bridge, HUB, Repeater, SDH equipment
57
Managed Node Komponenter
Management Protocol
“Useful”Protocols
“Hooks”(ManagementInstrumentation)
Network
58
Network Management Agent
Protokoll maskin implementerer Network Management protokollen “peer”-prosess med Manager applikasjonen
Management profil autentisering og aksesskontroll MIB View
59
Administrativt Rammeverk
SNMPv1 definerer en community som en relasjon mellom en Manager og en Agent
Implementert som en string som overføres (i klartekst) i hver SNMP melding
Autorisasjon skjer via comunity string og transport adresse til Manager
Aksesskontroll til Managed Objects håndteres via MIB views
60
Network Management Station
Overvåking og kontroll protokollmaskin tilsvarende agentene
Network Operations CentreNetwork Management Functions
FCAPS (Fault-, Configuration-, Accounting-, Performance-, og Security Management)
61
Structure of Management Information (SMI)Spesifiserer hvordan Management
Informasjonen er strukturert - ASN.1Spesifiserer internet sub-treet i det globale treetDefinerer datatyper som kan benyttesDefinerer regler for MIB dokumenterDefinerer format for definisjon av Managed
Objects
62
SNMPv1 RFCs
rfc1155 - Structure and Identification of Management Information for TCP/IP based Internets
rfc1156/1213 - Management Information Base for Network Management of TCP/IP based Internets
rfc1157 - Simple Network Management Protocol
63
SNMP protokollen
Baserte seg på Simple Gateway Monitor Protocol (SGMP)
SNMP ble Internet standard i 1990 Hovedhensikten var å lage en enkel management
protokoll som krever få ressurser av utstyret den implementeres i
Benytter UDP som transportprotokoll
64
SNMP Operasjoner
SNMPv1 omfatter få operasjoner: Get GetNext Set Trap
SNMPv1 omfatter kun en svarmelding: GetResponse
65
SNMP protokollen
Manager Agent
GetRequest,GetNextRequest,SetRequest
GetResponse
Trap
Port 161
Port 162
66
SNMP innkapsling
LLC/MACheader
IPheader
UDPheader
SNMPmelding
LLC/MACtrailer
Data Link nivå Nettverks-nivå
Transport-nivå
Applikasjons-nivå
SNMP innkapsling:
67
SNMPv1 melding
En SNMPv1 melding består av 3 deler:
Versjonsnummer
Communitystring
En av de 5SNMP PDUene
68
SNMPv1 PDU
PDUtype
RequestId
Errorstatus
Error index
VariableBindings
name1:value1 name2:value2 .........
69
SNMPv1 Trap PDU
PDUtype
enterprise agentaddress
generictrap type
specifictrap type
timestamp variablebindings
name1 : value1 name2 : value2 .........
Distribuert Network Management kongigurasjon