* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Document
Survey
Document related concepts
Server Message Block wikipedia , lookup
Dynamic Host Configuration Protocol wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Network tap wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Airborne Networking wikipedia , lookup
Distributed firewall wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Transcript
Departamento de Tecnología Electrónica Some of these slides are copyrighted by: Chapter 2 Network Services Network services Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. 1 Chapter 2: Network Services Chapter goals: understand most common data services in networks: File transfer services e-mail services Domain Name Servers (DNS) Network services 2 Chapter 2: Network Services 1.1 Introduction 1.2 File transfer services TFTP FTP 1.3 e-mail services SMTP POP3 1.4 Domain Name Server (DNS) Network services 3 Chapter 2: Network Services 1.1 Introduction 1.2 File transfer services TFTP FTP 1.3 e-mail services SMTP POP3 1.4 Domain Name Server (DNS) Network services 4 Introduction Network Services -> key in companies and organizations Work based in shared network resources & distributed services Great diversity of services Network services 5 Types of Network Services Configuration and management Management of hosts. e.g. DHCP. Remote Access Remote hosts are allowed to access to a network. e.g. SSH File management File transfer, storage and management e.g. FTP. Print services Printer share. Information Information sharing and querying e.g. WWW, video sharing, IPTV Communication User communication by means of text, audio and/or video messages e.g. e-mail, chat, videoconference, IP telephony, games online. Network services 6 Architecture of Network Services Approaches Client-server Peer-to-peer (P2P) Hybrid of client-server and P2P Network services 7 Client/Server architecture server: always-on host permanent IP address server farms for scaling clients: client/server communicate with server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other Network services 8 P2P architecture no always-on server arbitrary end systems directly communicate peer-peer peers are intermittently connected and change IP addresses Highly scalable but difficult to manage Network services 9 Hybrid of client-server and P2P Skype voice-over-IP P2P application centralized server: finding address of remote party: client-client connection: direct (not through server) Instant messaging chatting between two users is P2P centralized service: client presence detection/location • user registers its IP address with central server when it comes online • user contacts central server to find IP addresses of buddies Network services 10 Chapter 2: Network Services 1.1 Introduction 1.2 File transfer services TFTP FTP 1.3 e-mail services SMTP POP3 1.4 Domain Name Server (DNS) Network services 11 File Transfer Services File transfer between remote hosts Aims: Remote hosts may share files Client & server file systems are independent Efficient data transfer Two main protocols FTP (File Transfer Protocol): uses TCP -> reliable • RFC 959 TFTP (Trivial File Transfer Protocol): uses UDP -> more simple • RFC 1350 Network services 12 TFTP Trivial File Transfer Protocol File transfer Very simple protocol Non reliable -> UDP (port 69) No folders; no encryptation For transfering small files Network services 13 TFTP TFTP messages Opcode (2 bytes) Opcode: type of message • • • • • Variable length data 01: RRQ (Read Request) 02: WRQ (Write Request) 03: DATA 04: ACK 05: Error message Variable length data: depend on the opcode Network services 14 TFTP TFTP messages -> RRQ & WRQ Opcode = 01 File name 00 Transmission mode 00 Option N 00 Value N 00 N options RRQ is the first msg the client sends to server’s port 69 when getting a file After RRQ -> DATA or Error Transmission mode: ‘netascii’ or ‘octet’ (binary files) N possible options with N values (one for each option) WRQ message format is the same as RRQ -> but opcode value = 02 After WRQ -> ACK (server must give permission) or Error Network services 15 TFTP TFTP messages -> DATA & ACK Opcode = 03 # block (2 bytes) Data block of the transmitted file 0-512 bytes # block -> 1-65535 (guarantees order of data -> UDP can’t!) Last block is recognised as its size < 512 bytes (what happens if total file lenght is a multiple of 512 bytes?) Problem: long files -> a lost msg means a complete retx. ACK message format is the same as DATA -> but opcode value = 04 & there are no data blocks Network services 16 TFTP TFTP messages -> Error Opcode = 05 Error code Error description 00 Error code: cause of the error. Examples • • • • … • 0 -> Not defined. See error description 1 -> File not found 2 -> Access violation 3 -> Disk full 6 -> File already exists Network services 17 FTP: the file transfer protocol user at host file transfer FTP FTP user client interface local file system FTP server remote file system transfer file to/from remote host client/server model client: side that initiates transfer (either to/from remote) server: remote host ftp: RFC 959 Uses TCP: ports 20, 21 -> reliable transfer Network services 18 FTP Two TCP connections Data: transferred data (port 20) Control: allows the user moving through the directory structure and downloading & uploading files (port 21) FTP Client Data transfer FTP Server Control dialogue Control dialogue Data transfer TCP protocol Network services 19 FTP Client/Server model FTP Client initiates connection (server’s port 21) Connection parameters are negotiated in handshake Data port Connection mode: active/pasive Transfer mode: ASCII/binary FTP Client Data transfer FTP Server Control dialogue Control dialogue Data transfer TCP protocol Network services 20 Active connection mode Standard mode 2 TCP connections Control: Client’s random port (>1024) to server’s port 21 Data: when server ACK -> from server’s port 20 to client’s port (indicated in first control command) FTP Client FTP Server Control port (e.g. 1033) Data port (e.g. 1034) Control port (21) Data port (20) Command PORT 1034 Command ACK DATA Comando ACK Data connection is initiated from the server Network services 21 Pasive connection mode 2 TCP connections Control: Client’s random port (>1024) to server’s port 21 -> PASV command. Server indicates a random port for data connection (>1024) Data: client establishes connection FTP Client FTP Server Control port (e.g. 1033) Data port (e.g. 1034) Control port (21) Data port (e.g. 1820) Data port (20) PASV command Connection establishment PORT 1820 command ACK command Network services 22 FTP Servers Configuration parameters Control port (default: port 21) Max # of connections to server & max # of connections per IP Connection timeout Welcome & goodbye msgs Passive mode port numbers Users & groups Authenticated users: have login & passwd -> registered in server Anonymous users Groups: share the same properties in FTP server Network services 23 FTP Servers Permissions Read, write, execution (rwx) Permissions for the owner, for groups & for the rest of users Bandwidth limit Server may limit transfer rate for the users Logs Register data or any other info about user connections & errors Network services 24 FTP Clients ftp <ip_addr> Commands cd get put mkdir exit … Do not mistake FTP commands typed by client for FTP control commands Network services 25 FTP commands, responses Sample control commands: sent as ASCII text over control channel USER username PASS password LIST return list of file in Sample return codes status code and phrase (as current directory RETR filename retrieves STOR filename stores (gets) file (puts) file onto remote host in HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can’t open data connection 452 Error writing file Network services 26 Chapter 2: Network Services 1.1 Introduction 1.2 File transfer services TFTP FTP 1.3 e-mail services SMTP POP3 1.4 Domain Name Server (DNS) Network services 27 E-mail services Main features: One of the most important services on the Internet Allows users to exchange mails in an easy, fast and cheap way Multiple receivers Client-server scheme Types of client apps Graphic interfaces (Microsoft Outlook, Mozilla Thunderbird, Apple Mail) Text (pine, elm, mail) Web (Gmail, Hotmail, SquirrelMail) Network services 28 E-mail services Related concepts: Mail account Associated to user name & passwd [email protected] Mailbox Mail alias Mail list Network services 29 E-mail services Standards: SMTP (Simple Mail Transfer Protocol) IMF (Internet Mail Format) MIME (Multipurpose Internet Mail Extensions) POP (Post Office Protocol) IMAP (Internet Message Access Protocol) Network services 30 E-mail services Components: SMTP Mail User Agent (MUA) Mail Transfer Agent (MTA) MTA Mail Delivery Agent (MDA) POP IMAP SMTP Mail User Agents (MUA) MUA MUA MTA MUA Mail client Compose, edit, read mail messages Use two mail servers: Outgoing mail server (SMTP) Incoming mail server (POP or IMAP) MTA SMTP MUA MUA Network services MUA Outgoing mail queue User mailbox 31 E-mail services Mail Agent Transfer (MTA) Mail server SMTP MTA Stores sender’s mails for Mail Delivery Agent (MDA) POP IMAP SMTP delivery (outgoing queue) Stores incoming mails for their users MTA MUA SMTP MUA MTA MUA MUA In charge of copying incoming messages to user mailbox MUA MUA Network services Outgoing mail queue User mailbox 32 Scenario: Alice sends message to Bob 4) SMTP client sends Alice’s message over the TCP connection 5) Bob’s mail server places the message in Bob’s mailbox 6) Bob invokes his user agent to read message 1) Alice uses UA to compose message and “to” [email protected] 2) Alice’s UA sends message to her mail server; message placed in message queue 3) Client side of SMTP opens TCP connection with Bob’s mail server 1 user agent 2 mail server 3 mail server 4 6 user agent 5 Network services 33 Message format IMF (RFC 5322) Headers To: From: Subject: Date: Body Headers Blank line Body Simple text messages (no extended ASCII ) up to 998 characters(no CRLF) Network services 34 Message format MIME extensions: Add funcionality Attached files Extended ASCII New headers Mime-Version: Content-Type: Default -> text/plain Attachments -> Multipart Types de encoding 7 bits 8 bits & binary quoted-printable & base64. Example quoted-printable F3 = ó & F1 = ñ Transmisión de ñ Transmisi=F3n de =F1 Content-Description: Content-TransferEncoding: Network services 35 SMTP [RFC 5321] Features: Simple functioning: client – server Used in communication between MUA –> MTA & MTA -> MTA Uses TCP connection -> port 25 Three phases handshaking Message transfer (may be several ones) Connection closure Messages encoded in 7-bit ASCII Binary -> ASCII (delivery) ASCII -> Binary (reception) Network services 36 SMTP [RFC 5321] Features: command/response response: free text & state code (3 figures): First figure shows command success/fail 4xx -> Temporary error 5xx -> Permanent error commands: ASCII text HELO: handshake after TCP connection MAIL FROM: identifes sender RCPT TO: identifies receiver DATA: message init End of line message -> ‘.’ QUIT: Closes SMTP session Network services 37 Sample SMTP interaction S: C: S: C: S: C: S: C: S: C: C: C: S: C: S: 220 hamburger.edu HELO crepes.fr 250 Hello crepes.fr, pleased to meet you MAIL FROM: <[email protected]> 250 [email protected]... Sender ok RCPT TO: <[email protected]> 250 [email protected] ... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Do you like ketchup? How about pickles? . 250 Message accepted for delivery QUIT 221 hamburger.edu closing connection Network services 38 POP [RFC 1939] Features: Very simple Allows the access to the incoming messages in mailbox Default -> Delete accessed msgs, but allows saving them Uses TCP connection -> port 110 Requires user authentication Three phases authorization transaction Update Network services 39 POP [RFC 1939] authorization phase client commands: user: declare username pass: password server responses +OK -ERR transaction phase, client: list: list message numbers retr: retrieve message by number dele: delete quit S: C: S: C: S: +OK POP3 server ready user bob +OK pass hungry +OK user successfully logged C: S: S: S: C: S: S: C: C: S: S: C: C: S: list 1 498 2 912 . retr 1 <message 1 contents> . dele 1 retr 2 <message 1 contents> . dele 2 quit +OK POP3 server signing off Network services 40 on IMAP [RFC 3501] Features More complex than POP Allows the access to the incoming messages in mailbox Allows msg organization in folders in the server When receiving a new mail ->INBOX folder in user mailbox Allows the access to single components of a msg Keeps information about the state between IMAP sessions Network services 41 Web access Features: A browser is used instead of a mail client MUA is integrated in a web page Host uses HTTP to communicate with web server Web server habitually uses IMPA for the access to the incoming msgs in the mail server Network services 42 Problems Main problems: Unencrypted msgs are transmitted Use mechanisms of security (PGP, PEM, s/MIME) Bad uses SPAM Network services 43 SPAM Contact with many -> low cost Non-requested massive mail Types Commercial Nigerian (fraud) Phishing Others Origin Personal Computer Bad configured mail servers Bad configured proxy servers Network services 44 SPAM How are destination e-mail addresses obtained? guessing web page infected PC Mail headers falsification (FROM) How to stop them stop/make difficult to obtain mail addresses Identify them efficiently Measures Do not disclose our mail address When publishing our mail address -> protected data use alternative addresses Care about our PC security Network services 45 Chapter 2: Network Services 1.1 Introduction 1.2 File transfer services TFTP FTP 1.3 e-mail services SMTP POP3 1.4 Domain Name Server (DNS) Network services 46 DNS: Domain Name System Problem: Web browsing Resource holder’s host Internet User’s host Network services 47 DNS: Domain Name System Approach: From the user’s point of view o Identifies resource holder by means of an address (www.dte.us.es) Network services 48 DNS: Domain Name System Approach: May www.dte.us.es be used as an identifier of the queried resource? www.dte.us.es Internet User’s host Resource holder’s host Network services 49 DNS: Domain Name System Approach: From the network’s point of view o IP addresses are used (routing & addressing) IP Internet User’s host Resource holder’s host Network services 50 DNS: Domain Name System Approach: A mechanism to translate names into IP addresses is necessary www.dte.us.es DNS IP Internet User’s host Resource holder’s host Network services 51 DNS: Domain Name System Hosts, routers: IP address (32 bits) – used to address datagrama “name”, e.g.: www.google.es – used by human beings How is the name generated? Resource holder’s host 130.213.40.3 Myserver.dte.us.es Network services 52 DNS: Domain Name System Name systems: Plain o Non-hierarchic o No location info o E.g: ID card Hierarchic o Structured o Location info o E.g: ZIP code Network services 53 DNS: Domain Name System Name Systems: Plain: simple -> centralized management Hierarchic -> distributed management (easier) - DNS PLAIN Hierarchic Company X Company Y Company X Company Y pc1 pc1 pc1 pc1 Network services 54 DNS: Domain Name System Name space: Inverted tree structure Every node is labelled with a name (max 63 characters) Start of the tree -> root (empty label) Variable depth (max 127 levels) Structure is similar to OS directories. To build a name : (root -> leave) com.google.www · Reading: www.google.com org es com arpa fake rediris rediris google mail www www cont info www my_pc www my_pc serv1 Network services www smtp 55 DNS: Domain Name System Name Space: Important Root is not labelled Each domain is a subtree Domains organized in levels Top-level domains (TLD) The same label may be assigned to two different hosts unless they are brothers (in the tree) · org es com arpa fake rediris rediris google mail www www cont info www my_pc www my_pc serv1 Network services www smtp 56 DNS: Domain Name System Name space: my-pc.cont.fake.es. Host name domain Network services 57 DNS: Domain Name System Space name: my-pc.cont.fake.es. Host name domain FQDN Network services 58 DNS: Domain Name System IP Address 4 bytes in decimal format (69.146.202.8) Hierarchical structure -> precise information about host location Name No host location information except maybe the country Q: map between IP addresses and name ? Network services 59 DNS: Domain Name System Domain Name System: distributed database DNS services hostname to IP address translation host aliasing implemented in hierarchy of many name servers application-layer protocol Canonical, alias names host, routers, name servers to communicate to resolve names mail server aliasing (address/name translation) load distribution DNS uses UDP services replicated Web servers: set of IP addresses for one canonical name Network services 60 DNS: Domain Name System Basic foundations 1. 2. 3. 4. 5. Why not centralize DNS? single point of failure traffic volume distant centralized database maintenance App needs to know a remote IP address associated to a name App requests IP address to DNS client DNS client sends a request to the network doesn’t scale! DNS client rcvs a reply including IP addr DNS client gives IP address to app Network services 61 Distributed, Hierarchical Database Big number of DNS servers hierarchically organised and distributed all around the world Database is also distributed by those servers Three types of servers: o Root name servers o Top-Level Domain (TLD) servers o Authoritative servers Network services 62 Distributed, Hierarchical Database · org es com arpa fake rediris rediris google mail www www cont info www my_pc www my_pc serv1 www smtp Client wants IP for www.google.com; 1st approx: client queries a root server to find com DNS server client queries com DNS server to get google.com DNS server client queries google.com DNS server to get IP address for www.google.com Network services 63 DNS: Root name servers contacted by local name server that can not resolve name root name server: contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server a Verisign, Dulles, VA c Cogent, Herndon, VA (also LA) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 21 locations) e NASA Mt View, CA f Internet Software C. Palo Alto, k RIPE London (also 16 other locations) i Autonomica, Stockholm (plus 28 other locations) m WIDE Tokyo (also Seoul, Paris, SF) CA (and 36 other locations) 13 root name servers worldwide b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA Network services 64 TLD and Authoritative Servers Top-level domain (TLD) servers: responsible for com, org, net, edu, etc, and all top-level country domains uk, fr, es, jp. Network Solutions maintains servers for com TLD Educause for edu TLD Types Generic (gTLD) ≥ 3 characters Sponsored Unsponsored Network services 65 TLD and Authoritative Servers (Top-level domain, TLD) : o Types o Geographic 2 characters Represent countries (managed by the country authorities) ICANN -> IANA o .arpa o Reserved .test -> DNS tests .example -> documents .invalid -> installation & DNS tests for new servers .localhost -> loopback Network services 66 TLD and Authoritative Servers Authoritative DNS servers: organization’s DNS servers, providing authoritative hostname to IP mappings for organization’s servers (e.g., Web, mail). can be maintained by organization or service provider Network services 67 Local Name Server does not strictly belong to hierarchy each ISP (residential ISP, company, university) has one. also called “default name server” when host makes DNS query, query is sent to its local DNS server acts as proxy, forwards query into hierarchy Network services 68 DNS Zone vs. DNS Domain DNS Domain: includes all the hosts and subdomains in the domain. DNS Zone: only includes the hosts in the domain. · org es com arpa fake rediris rediris google mail www DNS Zone www cont info www my_pc www my_pc serv1 www smtp DNS Domain Network services 69 DNS name resolution example root DNS server Host at cis.poly.edu wants IP address for gaia.cs.umass.edu TLD DNS server iterated query: contacted server replies with name of server to contact “I don’t know this name, but ask this server” recursive query: puts burden of name resolution on contacted name server local DNS server dns.poly.edu authoritative DNS server dns.cs.umass.edu requesting host cis.poly.edu gaia.cs.umass.edu Network services 70 DNS name resolution example iterative query recursive query root DNS server root DNS server 2 3 2 4 3 6 7 5 TLD DNS server TLD DNS server 6 1 8 local DNS server 7 dns.poly.edu authoritative DNS server dns.cs.umass.edu 1 5 4 8 requesting host authoritative DNS server dns.cs.umass.edu cis.poly.edu requesting host cis.poly.edu gaia.cs.umass.edu gaia.cs.umass.edu Network services 71 DNS: caching and updating records once (any) name server learns mapping, it caches mapping cache entries timeout (disappear) after some time TLD servers typically cached in local name servers • Thus root name servers not often visited update/notify mechanisms under design by IETF RFC 2136 http://www.ietf.org/html.charters/dnsind-charter.html Network services 72 DNS records DNS: distributed db storing resource records (RR) RR format: (name, Type=A name is hostname value is IP address Type=NS name is domain (e.g. foo.com) value is hostname of authoritative name server for this domain value, type, ttl) Type=CNAME name is alias name for some “canonical” (the real) name www.ibm.com is really servereast.backup2.ibm.com value is canonical name Type=MX value is name of mailserver associated with name Network services 73 DNS protocol, messages Name, type fields for a query RRs in response to query records for authoritative servers additional “helpful” info that may be used Network services 74 DNS protocol, messages Header, 6 fields, 2 bytes each Network services 75 Inserting records into DNS example: new startup “Network Utopia” register name networkuptopia.com at DNS registrar (e.g., Network Solutions) provide names, IP addresses of authoritative name server (primary and secondary) registrar inserts two RRs into com TLD server: (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A) create authoritative server Type A record for www.networkuptopia.com; Type MX record for networkutopia.com How do people get IP address of your Web site? Network services 76 Inverse DNS Given an IP addr -> Domain name Special domain .arpa o Subdomain .in-addr.arpa -> Translates IPv4 addr o Subdomain ip6.arpa -> Translates IPv6 addr Domain in-addr.arpa o 4 label -> addr digits… backwards! Example: 196.141.214.150.in-addr.arpa obtains the domain corresponding to 150.214.141.196 An inverse DNS query causes a PTR type RR Nslookup tool Network services 77 Primary and secondary DNS servers Primary server o Main server (master). o Original data from the DNS Zone o The administrator manages admissions and unsuscriptions in it. Secondary server o They are a copy of the DNS zone, gerally obtained from the primary server. o They act as backups of the primary servers. Network services 78