Lecture # 35 Internet Organization Internet Networking • Communicating between two or more computers • Bits -> voltage ->wire->voltage->Bits Network • More than two computers Network switch • More than two computers Switch Network • Who is talking to who? Switch Network • Who is talking to who? • Give each computer an address (integer) 1 0 2 Switch 75 43 42 Network • Who is talking to who? • Give each computer an address (integer) • Add the address to the message 1 0 – Computer with that address takes the message – All others ignore the message address 2 Switch 75 message 43 42 Internet net net net address message net Internet net net net net ID address host ID message net Internet and WWW Internet • A way to send an array of bytes from any machine to any other machine Internet How to identify the machine to send to • By address (IP Address - 4 bytes) 233.21.1.45 128.78.22.32 Internet 117.211.23.22 233.12.32.111 How to identify the machine to send to • By name (domain name) Icie.cs.byu.edu Croatian.cs.byu.edu Internet Myhome.isp.com Yahoo.com Domain Name a pathname in a tree BYU CS WWW MIT EE Utah Microsoft research ICIE GOV COM EDU Yahoo whitehouse LOC Icie.cs.byu.edu BYU CS WWW MIT EE Utah Microsoft research ICIE GOV COM EDU Yahoo whitehouse LOC Servers • Computers that store information or services Icie.cs.byu.edu Internet Yahoo.com Clients • Programs that help users get access to info Netscape Internet Instant messenger Protocol • Language for computers to talk with each other Netscape HTTP IRC Instant messenger Internet Review • Internet – Array of bytes between computers – By address 128.23.12.1 – By name icie.cs.byu.edu • Server - delivers info on request • Client - helps user access server info • Protocol - language for computers to talk with each other URL (Uniform Resource Locator) • http://www.yahoo.com/ • http://www.espn.com/nba • http://icie.cs.byu.edu/cs100/schedule.html URL - Protocol • http://icie.cs.byu.edu/cs100/schedule.html • ftp://netscape.com/downloads/msng.exe • mailto:george.w.bush@whitehouse.gov URL - Domain Name name of the server to access • http://icie.cs.byu.edu/cs100/schedule.html • ftp://netscape.com/downloads/msng.exe URL - page name • http://icie.cs.byu.edu/cs100/schedule.html • ftp://netscape.com/downloads/msng.exe URL - page name • • • • • http://icie.cs.byu.edu/cs100/schedule.html http://icie.cs.byu.edu/cs100/Lectures/server.gif http://icie.cs.byu.edu/cs100/Lectures/L1.ppt http://icie.cs.byu.edu/cs456/Homework/Program1 http://icie.cs.byu.edu/cs456/Homework/Program2 – - URL - page name • • • • • http://icie.cs.byu.edu/cs100/schedule.html http://icie.cs.byu.edu/cs100/Lectures/server.gif http://icie.cs.byu.edu/cs100/Lectures/L1.ppt http://icie.cs.byu.edu/cs456/Homework/Program1 http://icie.cs.byu.edu/cs456/Homework/Program2 – Page names are pathnames in a tree URL - page name • • • • • cs100/schedule.html cs100/Lectures/ server.gif cs100/Lectures/L1.ppt cs456/Homework/Program1 cs456/Homework/Program2 cs456 cs100 Homework Lectures schedule.html Program1 Program2 server.gif L1.ppt Hypertext • How to link together many documents so that users can get whatever information they want. IP address 128.187.172.236 a computer BYU Computer Science net ID address host ID message Internet Protocol (IP) • Computer sends an IP “packet” • Other computers (routers) send it on until it reaches the destination computer – (IP address) • Each packet might get lost, may arrive in any order, may get delayed IP Address 32 bits - 4 bytes message TCP/IP • Uses IP to send packets • Keeps track of which packets have been sent – Resends packets that get lost • Keeps track of the correct order of packets – Reorders packets when they come in the wrong order Domain names vs. IP address • • • • • • students.cs.byu.edu www.byu.edu ee.utah.edu yahoo.com software.microsoft.com research.microsoft.com Domain names • • • • • • students.cs.byu.edu www.byu.edu ee.utah.edu yahoo.com software.microsoft.com research.microsoft.com com edu byu cs yahoo utah www ee microsoft students software research Domain names • If you have a domain name, how do you find the IP address of that computer? • Maybe one computer has a list of all domain names and their IP addresses – – – – – If there are millions of computers Who enters the data? Who fixes the data? Millions of requests will swamp that computer If that computer goes down nothing works • How do we get this to scale? Domain names - scale • Use a tree! • Every node knows IP address of its parent byu cs • Every node knows the IP/domain name of its direct children com edu yahoo utah www ee microsoft students software research DNS - domain name service • If a node doesn’t know the IP address of some domain name: – If the domain name is one of its own, ask the correct child – If the name is not one of its own, ask the parent com edu byu cs yahoo utah www ee microsoft students software research DNS - domain name service • If the domain name is one of its own, ask the correct child byu • If the name is not one of its own, ask the parent com edu cs yahoo utah www ee microsoft students students.cs.byu.edu wants software software.microsoft.com research DNS - domain name service • If the domain name is one of its own, ask the correct child byu • If the name is not one of its own, ask the parent com edu cs yahoo utah www ee microsoft students students.cs.byu.edu wants students asks cs software software.microsoft.com research DNS - domain name service • If the domain name is one of its own, ask the correct child byu • If the name is not one of its own, ask the parent com edu cs yahoo utah www ee microsoft students students.cs.byu.edu wants cs asks byu software software.microsoft.com research DNS - domain name service • If the domain name is one of its own, ask the correct child byu • If the name is not one of its own, ask the parent com edu cs yahoo utah www ee microsoft students students.cs.byu.edu wants BYU asks edu software software.microsoft.com research DNS - domain name service • If the domain name is one of its own, ask the correct child byu • If the name is not one of its own, ask the parent com edu cs yahoo utah www ee microsoft students students.cs.byu.edu wants edu asks com software software.microsoft.com research DNS - domain name service • If the domain name is one of its own, ask the correct child byu • If the name is not one of its own, ask the parent com edu cs yahoo utah www ee microsoft students students.cs.byu.edu wants software software.microsoft.com com asks microsoft research DNS - domain name service • If the domain name is one of its own, ask the correct child byu • If the name is not one of its own, ask the parent com edu cs yahoo utah www ee microsoft students students.cs.byu.edu wants software software.microsoft.com microsoft knows and gives the answer research DNS - making it fast • Each node remembers the most common requests for a day or two • Doesn’t need to ask again com edu byu cs yahoo utah www ee microsoft students software • Called “caching” research DNS - managing the data • Each node can manage and change its own children without consulting anyone else • Within 2 days of the changes, everyone’s cache has been updated com edu byu cs yahoo utah www ee microsoft students software research Other protocols • Use TCP/IP – – – – WWW Email Instant messenger FTP WWW • URL - “students.cs.byu.edu/index.html” – Send a message to DNS - “what is students.cs.byu.edu?” – Use IP address to send a message to “students.cs.byu.edu” • “GET index.html” Email - uses TCP/IP • send a message to “bill_gates@microsoft.com” • find my mail server “mail.cs.byu.edu” • message to “mail.cs.byu.edu” to: bill_gates@microsoft.com from: olsen@cs.byu.edu subject: Hi there • mail server forwards the message to “microsoft.com” – if no answer it will keep trying for about a week Networking Review • Sending bytes between computers • IP - sends a packet to a particular IP address • TCP - guarantees that packets are in correct order and not lost • DNS - uses a tree to convert domain names into IP addresses • WWW - uses TCP/IP • Email - uses TCP/IP