Datakom høsten Datakommunikasjon høsten 2002 Mandag 11. november Repitisjon
Datakom høsten Hva skal dere lære? zHva er Internett zNettverkskort zProtokoller zAdressering zApplikasjoner zISDN zLAN zWAN zISP zASP zEthernet zARP zTCP/IP zBro zSvitsj zRuter zFW/Brannmur zDNS zSNMP zSMTP
Datakom høsten 20023
4 Tele-/datakommunikasjonsnett PSTN IN - Node Telecom Management System Tactical and Strategic Military Networks Internet LAN GSM
Datakom høsten Hypertext Transfer Protocol HTTP zBenyttes av WWW zProtokoll for overføring av HTML zKan overføre tekst, lyd, bilder osv. zTransaksjonsorientert klient/tjener protokoll zVanligvis mellom en Web browser (klient) og Web server (tjener) zBenytter TCP zTilstandsløs yHver transaksjon behandles separat (Keep-Alive) yEn ny TCP forbindelse for hver transaksjon yTerminerer forbindelsen når transaksjonen er komplett
Datakom høsten Telnet og Rlogin zInnlogging fra en maskin til en annen over nettet zBenytter seg av klient-tjener begrepet zTelnet er en standard applikasjon som er implementert i alle TCP/IP applikasjoner zRlogin kommer fra Berkley Unix og ble utviklet for pålogging mellom to Unix systemer zTelnet er mer kompleks enn Rlogin
Datakom høsten FTP (File Transfer Protocol) zInternett standard for filoverføring zFTP protokoll yKontroll forbindelse yServer gjør en ”passive open” på port 21 yKlient gjør en ”active open” til port 21 yData overføres fra port 20 på FTP serveren
Datakom høsten DNS - Domain Name System zMapper mellom hostnavn og IP-adresse (og omvendt) zBenyttes av TCP/IP applikasjoner zDistribuert, hierarkisk zBenytter både TCP og UDP som transport, port nummer 53 zEksempler yDNS QueryDNS Query yDNS ReplyDNS Reply RFC1034RFC1034, RFC1035RFC1035
Datakom høsten What’s a protocol? a human protocol and a computer network protocol: Hi Got the time? 2:00 TCP connection req. TCP connection reply. Get time
Datakom høsten A Communications Model zSource yGenerates data to be transmitted zTransmitter yConverts data into transmittable signals zTransmission System yCarries data zReceiver yConverts received signal into data zDestination yTakes incoming data
Datakom høsten Simplified Communications Model - Diagram
Datakom høsten Networking zPoint to point communication not usually practical yDevices are too far apart yLarge set of devices would need impractical number of connections zSolution is a communications network
Datakom høsten Simplified Network Model
Datakom høsten WAN - Wide Area Networks zStore geografiske områder zBestår av en rekke noder zAlternative teknologier yLinesvitsjing (Circuit switching) yPakkesvitsjing (Packet switching) yFrame relay yAsynchronous Transfer Mode (ATM)
Datakom høsten LAN - Local Area Networks zEn eller flere bygninger zEies vanligvis av den som henger utstyr på lokalnettet zHøyere datahastigheter enn WAN yEthernet 10 eller 100 Mbit/s zTidligere kun kringasting, dvs alle kan lytte på nettet zNå mer og mer svitsjede systemer, dvs kan segmentere nettet
Datakom høsten Home networks Typical home network components: zADSL or cable modem zrouter/firewall zEthernet zwireless access point wireless access point wireless laptops router/ firewall cable modem to/from cable headend Ethernet (switched)
Datakom høsten Circuit Switching zDedikert kommunikasjonsvei mellom partene så lenge kommunikasjonen pågår. zEksempel: Telefonnettet
Datakom høsten Circuit Switching: FDMA and TDMA Frequency Division Multiplexing Access frequency time Time Division Multiplexing Access frequency time 4 users Example:
Datakom høsten Packet Switching zDatapakker sendes enkeltvis zDatapakkene behøver ikke ta samme vei gjennom nettet zDatapakkene sendes fra node til node mellom avsender og mottaker zBrukes mellom datamaskiner zEksempel: Datapak basert på X.25
Datakom høsten Pakkesvitsjing A B C 10 Mbs Ethernet 1.5 Mbs 45 Mbs D E statistical multiplexing queue of packets waiting for output link
Datakom høsten Asynchronous Transfer Mode zATM zLittle overhead for error control zFixed packet (called cell) length zAnything from 10Mbps to Gbps zConstant data rate using packet switching technique
Datakom høsten Integrated Services Digital Network zISDN zLaget for å erstatte PSTN, dvs analog telefoni zPrøveprosjekt i Norge høsten 1989 zBle først populært når det kunne benyttes for å koble seg mot Internett
Datakom høsten ISDN kanaler Grunnaksess (Basic Access): 2 B-kanaler 1 D-kanal Utvidet aksess (Primary rate Access): 30 B-kanaler 1 D-kanal
Datakom høsten ADSL – Assymetric Digital Subscriber Line Telenor tilbyr (h astighet inn/ut): y384 / 128 Kb/s laste ned lyd og bilde, samt gjøre flere ting på en gang y 704 / 128 Kb/s laste ned filmklipp, programvare og andre store filer y 1024 / 256 Kb/s laste ned og sende ut store filer raskt og effektivt
Datakom høsten Internet protocol stack zapplication: supporting network applications yftp, smtp, http ztransport: host-host data transfer ytcp, udp znetwork: routing of datagrams from source to destination yip, routing protocols zlink: data transfer between neighboring network elements yppp, ethernet zphysical: bits “on the wire” application transport network link physical
Datakom høsten Internetworking Protocols
Datakom høsten Kommunikasjonslagene (referert til OSI) ApplicationPresentationSession Ethernet IP ARP ICMP TCPUDP NetworkTransportData LinkPhysicalApplicationTransportNetworkData Link PPP FTPHTTP DNS OSI Internet-TCP/IP SMTP
Datakom høsten Sikkerhet zAutentisering (identifikasjon) zAksesskontroll (aksess til ressurser) zKonfidensialitet (informasjon holdes hemmelig) zIntegritetstjeneste (data skal være korrekte) zTilgjengelighet (informasjonen skal være tilgjengelig for de som er autorisert) zCIA – Confidentiality Integrity Availability
Datakom høsten Symmetrisk kryptering Cleartext Cleartext Encryption Algorithm Ciphertext Ciphertext EncipherDecipher Secret Key
Datakom høsten Asymmetrisk kryptering One Key to Encipher Another Key to Encipher Cleartext Cleartext Encryption Algorithm Ciphertext Ciphertext EncipherDecipher
Datakom høsten IPSec – IP Security zSikkerhetsmekanisme for beskyttelse av VPN zVPN – Virtual Private Network zVPN over Internett yMellom avdelingskontorer yMellom hjemmekontor og jobb yMellom leverandør og kunde
Datakom høsten IPSec sikkerhetstjenester zKonfidensialitet yInformasjonen krypteres zIntegritet yEn veis hash funksjon zAutentisering yMAC (hash + hemmelighet) yDigital signatur
Datakom høsten PING ping Pinging with 32 bytes of data: Reply from : bytes=32 time=81ms TTL=127 Reply from : bytes=32 time=48ms TTL=127 Reply from : bytes=32 time=50ms TTL=127 Reply from : bytes=32 time=49ms TTL=127 Ping statistics for : Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 48ms, Maximum = 81ms, Average = 57ms
Datakom høsten Informasjon om IP på maskin ipconfig -all Ethernet adapter Local Area Connection: Connection-specific DNS Suffix. : halden.scandpower.no Description : 3Com EtherLink XL 10/100 PCI or Complete PC Management NIC (3C905C-TX) Physical Address : DA-DD-2E-5E DHCP Enabled : No IP Address : Subnet Mask : Default Gateway : DNS Servers :
Datakom høsten ARP - Address Resolution Protocol (IP til MAC adresse) arp -a Interface: on Interface 0x2 Internet Address Physical Address Type b0-3d dynamic a dynamic da-4f-31-8c dynamic a-48 dynamic a-fe dynamic c-8e dynamic fe-29 dynamic
Datakom høsten Traceroute Address: Time: Seq: Results: <10ms 1 56 bytes received ms 2 56 bytes received ms 3 56 bytes received ms bytes received ms bytes received ms bytes received ms 7 56 bytes received ms 8 56 bytes received ms 9 56 bytes received. [ ] 31ms 9 52 bytes received.
Datakom høsten Standards zRequired to allow for interoperability between equipment zAdvantages yEnsures a large market for equipment and software yAllows products from different vendors to communicate zDisadvantages yFreeze technology yMay be multiple standards for the same thing
Datakom høsten Standards Organizations zInternet Society yInternet Architecture Board (IAB) yInternet Engineering Task Force (IETF) yInternet Engineering Steering Group (IESG) zISO - International Standard for Organization yJTC – Joint Technical Committee zITU-T (tidligere CCITT) yITU- International Telecommunication Union y14 study groups zATM forum
Datakom høsten Network applications: some jargon Process: program running within a host. zwithin same host, two processes communicate using interprocess communication (defined by OS). zprocesses running in different hosts communicate with an application-layer protocol z user agent: software process, interfacing with user “above” and network “below”. yimplements application-level protocol yWeb: browser y mail reader ystreaming audio/video: media player
Datakom høsten Client-server paradigm Typical network app has two pieces: client and server application transport network data link physical application transport network data link physical Client: zinitiates contact with server (“speaks first”) ztypically requests service from server, zWeb: client implemented in browser; in mail reader request reply Server: zprovides requested service to client ze.g., Web server sends requested Web page, mail server delivers
Datakom høsten Application-layer protocols (cont). API: application programming interface zdefines interface between application and transport layers zsocket: Internet API ytwo processes communicate by sending data into socket, reading data out of socket Q: how does a process “identify” the other process with which it wants to communicate? yIP address of host running other process y“port number” - allows receiving host to determine to which local process the message should be delivered
Datakom høsten What transport service does an app need? Data loss zsome apps (e.g., audio) can tolerate some loss zother apps (e.g., file transfer, telnet) require 100% reliable data transfer Timing z some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” Bandwidth zsome apps (e.g., multimedia) require minimum amount of bandwidth to be “effective” zother apps (“elastic apps”) make use of whatever bandwidth they get
Datakom høsten Transport service requirements of common apps Application file transfer Web documents real-time audio/video stored audio/video interactive games financial apps Data loss no loss loss-tolerant no loss Bandwidth elastic audio: 5Kb-1Mb video:10Kb-5Mb same as above few Kbps up elastic Time Sensitive no yes, 100’s msec yes, few secs yes, 100’s msec yes and no
Datakom høsten Internet transport protocols services TCP service: zconnection-oriented: setup required between client, server zreliable transport between sending and receiving process zflow control: sender won’t overwhelm receiver zcongestion control: throttle sender when network overloaded zdoes not providing: timing, minimum bandwidth guarantees UDP service: z unreliable data transfer between sending and receiving process z does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee
Datakom høsten Internet apps: application, transport protocols Application remote terminal access Web file transfer streaming multimedia remote file server Internet telephony Application layer protocol smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g. RealNetworks) NSF proprietary (e.g., Vocaltec) Underlying transport protocol TCP TCP or UDP typically UDP
Datakom høsten ftp: the file transfer protocol ztransfer file to/from remote host zclient/server model yclient: side that initiates transfer (either to/from remote) yserver: remote host zftp: RFC 959 zftp server: port 21 file transfer FTP server FTP user interface FTP client local file system remote file system user at host
Datakom høsten ftp: separate control, data connections zftp client contacts ftp server at port 21, specifying TCP as transport protocol ztwo parallel TCP connections opened: ycontrol: exchange commands, responses between client, server. “out of band control” ydata: file data to/from server zftp server maintains “state”: current directory, earlier authentication FTP client FTP server TCP control connection port 21 TCP data connection port 20
Datakom høsten ftp commands, responses Sample commands: zsent as ASCII text over control channel USER username PASS password LIST return list of file in current directory RETR filename retrieves (gets) file STOR filename stores (puts) file onto remote host Sample return codes z status code and phrase (as in http) z331 Username OK, password required z125 data connection already open; transfer starting z425 Can’t open data connection z452 Error writing file
Datakom høsten DNS: Domain Name System People: many identifiers: ySSN, name, passport # Internet hosts, routers: yIP address (32 bit) - used for addressing datagrams y“name”, e.g., gaia.cs.umass.edu - used by humans Q: map between IP addresses and name ? Domain Name System: z distributed database implemented in hierarchy of many name servers z application-layer protocol host, routers, name servers to communicate to resolve names (address/name translation) ynote: core Internet function, implemented as application- layer protocol ycomplexity at network’s “edge”
Datakom høsten DNS name servers zno server has all name-to- IP address mappings local name servers: yeach ISP, company has local (default) name server yhost DNS query first goes to local name server authoritative name server: yfor a host: stores that host’s IP address, name ycan perform name/address translation for that host’s name Why not centralize DNS? z single point of failure z traffic volume z distant centralized database z maintenance doesn’t scale!
Datakom høsten DNS: Root name servers zcontacted by local name server that can not resolve name zroot name server: ycontacts authoritative name server if name mapping not known ygets mapping yreturns mapping to local name server b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA e NASA Mt View, CA f Internet Software C. Palo Alto, CA i NORDUnet Stockholm k RIPE London m WIDE Tokyo a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA 13 root name servers worldwide
Datakom høsten Simple DNS example host surf.eurecom.fr wants IP address of gaia.cs.umass.edu 1. contacts its local DNS server, dns.eurecom.fr 2. dns.eurecom.fr contacts root name server, if necessary 3. root name server contacts authoritative name server, dns.umass.edu, if necessary requesting host surf.eurecom.fr gaia.cs.umass.edu root name server authorititive name server dns.umass.edu local name server dns.eurecom.fr
Datakom høsten DNS example Root name server: zmay not know authoritative name server zmay know intermediate name server: who to contact to find authoritative name server requesting host surf.eurecom.fr gaia.cs.umass.edu root name server local name server dns.eurecom.fr authoritative name server dns.cs.umass.edu intermediate name server dns.umass.edu 7 8
Datakom høsten DNS: iterated queries recursive query: zputs burden of name resolution on contacted name server zheavy load? iterated query: zcontacted server replies with name of server to contact z“I don’t know this name, but ask this server” requesting host surf.eurecom.fr gaia.cs.umass.edu root name server local name server dns.eurecom.fr authoritative name server dns.cs.umass.edu intermediate name server dns.umass.edu 7 8 iterated query
Datakom høsten DNS: caching and updating records zonce (any) name server learns mapping, it caches mapping ycache entries timeout (disappear) after some time zupdate/notify mechanisms under design by IETF yRFC 2136 yhttp://
Datakom høsten DNS records DNS: distributed db storing resource records (RR) z Type=NS name is domain (e.g. foo.com) value is IP address of authoritative name server for this domain RR format: (name, value, type,ttl) zType=A name is hostname value is IP address zType=CNAME name is alias name for some “cannonical” (the real) name is really servereast.backup2.ibm.com value is cannonical name zType=MX value is name of mailserver associated with name
Datakom høsten The Web: the http protocol http: hypertext transfer protocol zWeb’s application layer protocol zclient/server model yclient: browser that requests, receives, “displays” Web objects yserver: Web server sends objects in response to requests zhttp1.0: RFC 1945 zhttp1.1: RFC 2068 PC running Explorer Server running NCSA Web server Mac running Navigator http request http response
Datakom høsten Hypertext Transfer Protocol HTTP zBenyttes av WWW zProtokoll for overføring av HTML zKan overføre tekst, lyd, bilder osv. zTransaksjonsorienter klient/tjener protokoll zVanligvis mellom en Web browser (klient) og Web server (tjener) zBenytter TCP zTilstandsløs yHver transaksjon behandles separat yEn ny TCP forbindelse for hver transaksjon yTerminerer forbindelsen når transaksjonen er komplett
59 SNMP – Simple Network Management Protocol Request Response Unsolicited trap ManagerAgent Network Management Station Network Management ProtocolManaged Node (Management Information)
60 SNMP protokollen ManagerAgent GetRequest, GetNextRequest, SetRequest GetResponse Trap Port 161 Port 162
61 SNMP innkapsling LLC/MAC header IP header UDP header SNMP melding LLC/MAC trailer Data Link nivåNettverks- nivå Transport- nivå Applikasjons- nivå SNMP innkapsling:
62 SNMPv1 melding En SNMPv1 melding består av 3 deler: Versjons nummer Community string En av de 5 SNMP PDUene
Datakom høsten Internet Mail zUser agent, dvs Outlook, Eudora, Pegasus osv zMail transfer Agent, dvs Microsoft Exchange, Sendmail zSMTP - Simple Mail Transfer Protocol yTCP/IP yKun sending av tekst zMIME - Multi-purpose Internet Mail Extension ySending av bilder, video osv zPOP 3 - Post Office Protocol ver 3 zIMAP - Internet Message Access Protocol zMX-records (Mail Exchange records) Del an DNS (Domain Name System)
Datakom høsten SMTP Mail Flyt
Datakom høsten User Agent (mail program) zLese og sende mail zOpsjoner: yVideresending til andre ySvarsfunksjon yFiltrering av innkommende mail til ulike mail bokser ySignatur fil yAdresslister, aliases
Datakom høsten Mail Transfer Agent (MTA) zAnsvarlig for å sende mailen gjennom nettet zBaseres på SMTP (Simple Mail Transfer Protocol) zSMTP er en enkel ASCII protokoll zBenytter TCP og port 25 for å opprette en forbindelse mellom to MTA-er
Datakom høsten Sammensetning av en mail zEnvelopes yBrukes av Message Transfer Agent zHeaders yBrukes av User Agent zBody yInnholdet i mailen (tekst og vedlegg)
Datakom høsten Envelopes - eksempel Received: from sara.halden.scandpower.no ([ ]) by Received: from sara.halden.scandpower.no ([ ]) by janis.halden.scandpower.no with SMTP (Microsoft Exchange Internet Mail Service Version ) id RCM02KCM; Mon, 20 Aug :41: Received: from fw.scandpower.no (mail.hrp.no [ ]) by sara.halden.scandpower.no (8.9.3/8.9.3) with SMTP id MAA12382 for ; Mon, 20 Aug :43: Received: from mail.hrp.no ([ ]) by fw.scandpower.no via smtpd (for sara.halden.scandpower.com [ ]) with SMTP; 20 Aug :44:06 UT Received: from pcthorbjornb (pc-thorbjornb.hrp.no [ ]) by mail.hrp.no (8.10.1/8.9.0) with SMTP id f7KAlXK14155; Mon, 20 Aug :47: (METDST)
Datakom høsten Header - eksempel zMessage-ID: zFrom: Per Hansen zTo: zSubject: security
Datakom høsten SMTP-kommandoer (RFC 821) zHELO zMAIL FROM: zRCPT TO: zDATA z. zQUIT
Datakom høsten MX-records zBrukes for å fortelle omverdenen om hvem som er mail server zDel av DNS (Domain Name System) zMX-recorden for en domene forteller i prioritert rekkefølge hvor mailen skal sendes
Datakom høsten MX-record eksempel zMX-record for scandpower.no 1. prioritet: bill.halden.scandpower.no 2. prioritet: mail.globalone.no Mail leveres til mail.globalone.no hvis mailserver bill er nede eller forbindelsen til Internett er nede
Datakom høsten POP 3 zPost Office Protocol number 3 zProtokoll for å hente mail fra mail server til en mail klient (f.eks Outlook eller Eudora) zBruker TCP og port 110 zBaserer seg på enkle ASCII kommandoer
Datakom høsten POP3 kommandoer zUSER username zPASS password zSTAT [gir antall uleste meldinger] zLIST (n) 8gir størrelse på melding n] zRETR n [hent melding nr n] zDELE n [slett melding nr n] zQUIT
Datakom høsten Internet Message Access Protocol - IMAP zMail klient zTilsvarende som POP3, men all behandling av mail foregår på mailserveren zPOP3 henter mailen ned til User Agent
Datakom høsten MIME – Multipurpose Internet Mail Extension zUtvidelse av SMTP for å kunne overføre filer som ikke er 7-bit ASCII zMIME informasjon i mail: yMIME-Version yContent-Type yContent-Transfer-Encoding y(Content-Description) y(Content-ID)
Datakom høsten MIME – Content Type zText zImage zAudio zApplication (Word, Postscript, ) zMultipart (Mixed, alternative)
Datakom høsten MIME – Content-transfer encoding zForteller hvordan innholdet av mailen er kodet z Fem forskjellige kode formater er definert y7 bits ASCII yQuoted Printable ybase64 y8 bits som inneholder linjer ybinær koding, 8 bit data uten linjer
Datakom høsten Quoted Printable z7 bit ASCII med alle karakterer 127 kodes som likhetstegn + verdien av tegnet som to hexadecimale tegn zeks. bokstaven ”å” kodes som =E5 zKarakteresettet ISO-8859 gir å=229 desimalt 229= z1110=E z1110=5 z”å” kodes som =E5
Datakom høsten Base 64 Encoding
Datakom høsten Base 64 encoding zTre bytes med data kodes som fire 6 bits karakterer zOrginale data: Hi! H i ! (24 bit) S G k h zDatamengden øker med 25%
Datakom høsten MIME - eksempel zMIME-Version: 1.0 zX-Mailer: Internet Mail Service ( ) zContent-Type: text/plain; zcharset="iso " zContent-Transfer-Encoding: quoted-printable
Datakom høsten MIME eks. Word fil som vedlegg MIME-Version: 1.0 Content-Type: multipart/mixed; Content-Type: text/plain; charset="iso " Content-Type: application/msword; Content-Transfer-Encoding: base64