* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Internet as the Infrastructure for E
Remote Desktop Services wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Net neutrality law wikipedia , lookup
Airborne Networking wikipedia , lookup
Computer network wikipedia , lookup
Distributed firewall wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Deep packet inspection wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Internet as the Infrastructure for E-Commerce CSI 5389 1 Outline • • • • • • Development of the Internet Design Principles of the Internet Core Network Protocols The World Wide Web Intranets and Extranets The Future of the Internet CSI 5389 2 Introduction • The first 3 lectures were primarily about business issues for Internet commerce. • From this lecture on we shall be discussing the technologies of Internet commerce. • The core principles underlying the technology provide some guidance for making design decisions. • The current technology components provide some understanding of how to put them to work, and demonstrate how the core principles can be applied. CSI 5389 3 Development of the Internet • The Internet grew out of a research network. • The development began in 1969 and was funded by ARPA (Advanced Research Project Agency), which is a major research arm of the US Department of Defense. • This network grew over time as universities, agencies and companies joined the network. • It was used for applications beyond research such as electronic mail. • In the early 1980s, the core network protocols, TCP and IP, were introduced. • Shortly after, ARPA reduced its role in supporting the network. • The term Internet came as the name for the now global network. CSI 5389 4 Design Principles of the Internet • The Internet has been successful because of some good fundamental design decisions. • These decisions are often invisible to the end users, and even to the application developers. • Understanding them provides insight into why the Internet is the way it is today. • Such insight can help us in making choices when we build new applications for Internet commerce. • Those applications that match the spirit of the Internet are more likely to succeed than those that do not. • Let us look at some main design principles. CSI 5389 5 Design Principles: Interoperability • Independent implementation of the Internet protocols actually work together. • It may seem obvious today, but it took significant work in the early days of the Internet to make that happen. • Interoperability means that systems can be assembled using computers and software from different vendors. • In the context of Internet commerce, interoperability also means that buyers and sellers do not have to buy and upgrade software simultaneously from the same vendor to conduct business. CSI 5389 6 Design Principles: Layering • Internet protocols are designed to work in layers. • Each layer builds on the facilities provided by lower layers. • TCP builds on IP to create reliable byte streams. • Application layers (e.g., email or those for the Web) build on the capabilities of TCP. CSI 5389 Application Layer (HTTP, SMTP) Transport Layer (TCP, UDP) Network Layer (IP) Physical Layer (e.g., Ethernet) 7 Design Principles: Simplicity • IP is very simple, providing only the addressing, routing, and formatting of packets. • Below IP layer, there is the complexity of many different kinds of network hardware and topologies such as Ethernet, dialup connections etc. • IP hides that complexity from applications. • Above IP, the higher layer TCP offers abstractions that are easy for programmers to understand and use. • Hence, both users and programmers are insulated from the complexities of different network devices and low-level network protocols. CSI 5389 8 Design Principles: Uniform Naming and Addressing • The IP layer offers a uniform addressing structure that assigns a 32-bit address to each computer connected to the network. • These addresses are commonly written in dotted quad form, e.g., 16.11.0.1 • Numeric addresses are hard for people to remember, so the Domain Name System (DNS) offers a uniform way to translate humanreadable names of computer (such as www.serissa.com) to the numeric IP address for that computer. • The IP layer is also evolving: The newer version IPv6 uses 128-bit addresses, enabling many more systems and networks to be interconnected. CSI 5389 9 Design Principles: End-to-End Protocols • The Internet is designed around end-to-end protocols: • The interpretation of the data happens on the sending and receiving systems. • The network only looks at the destination address and a few other control bits for delivering the packet. • This is similar to our mailing of a letter. • Advantages of end-to-end protocols: • Hiding the internal structure of the network from users. • Providing simple abstractions to programmers. • Transferring to the end systems the responsibility of error recovery, hence making the network much simpler. CSI 5389 10 Core Network Protocols • We will look at • • • • • Physical layer Domain Name System (DNS) Internet Protocol (IP) Unreliable Datagram Protocol (UDP) Transmission Control Protocol (TCP) CSI 5389 11 Physical Layer • The Internet is a network of networks. • Various parts of the Internet run over local area networks (LANs) using different technologies: Ethernet, token ring, fiber distributed data interconnect (FDDI), asynchronous transfer mode (ATM) etc. • These technologies are used to transport and route Internet traffic. • Within each technology, routing is handled by whatever means are built into that technology. Sometimes, even the addressing is different from the Internet addressing • Ethernet uses 48-bit universal identifiers for addressing and routing. • When an IP network is built using Ethernet, the end systems must use a special protocol known as the Address Resolution Protocol (ARP), to translate 32-bit IP addresses into 48-bit Ethernet addresses. CSI 5389 12 Physical Layer (cont.) • Internet routers are used to connect these constituent networks. • These routers forward packets from network to network until they reach the network connected to the destination system. • Each router has a local map of the network that tells it where to forward a packet next, based on the destination address in the IP header. • Routers are often used as the first line of defense against network attacks. • Routers can be configured as part of a network firewall to separate “suspect” traffic that originates outside an organization from authorized traffic that originates on the inside. • We shall talk more about firewalls when we discuss about the issue of Internet security later on. CSI 5389 13 Domain Name System (DNS) • The Internet uses 32-bit numeric addresses, which are perfectly suited for routers to identify hosts, but are hard for humans to remember (i.e., not user friendly). • The Domain Name System (DNS) offers a uniform way to translate human-readable names to numeric addresses. • Generally speaking, a domain refers to an organization that assigns names to computers and services in that organization. • DNS names are structured in a hierarchy in which names are processed from right to left and use periods as the separator. CSI 5389 14 DNS: Domain Hierarchy com edu mit serissa arizona cs opt gov mil org net ca uk ibm ece che CSI 5389 15 DNS: Name Servers • DNS implements the domain hierarchy by partitioning them into sub-trees called zones. • The information contained in each zone is implemented in two or more name servers. • A name server is a program that can be accessed over the Internet and that knows how to resolve names. • Clients send queries (regarding name resolution) to name servers. • Name servers respond with the requested information. • Each zone has two or more name servers for the sake of redundancy: If one name server fails, the information is still available. CSI 5389 16 DNS: Name Servers (cont.) Root Name Server com gov mil org edu Arizona arizona Name Server CS csName Server opt net ca uk IBM ibm Name Server ece che CSI 5389 17 DNS: Name Servers (cont.) • Each name server implements the zone information as a collection of records. • A record is a 5-tuple: <Name, Value, Type, Class, TTL) • Name and Value are exactly what we would expect. • Type can be one of the following: • “Type = A” indicates that Value is an IP address of the host Name. • “Type = NS” indicates that Value is the domain name of the host that is running the name server to resolve names within the domain Name. • “Type = MX” indicates that Value is the domain name for a host that is running the mail server to accept messages for the domain Name. • “Type = CNAME” indicates that Value is the canonical name for the host Name, which is defined as an alias. • To date, the only Class is the one used by the Internet. It is denoted by IN. However, the Class field was defined to accommodate entities other than the one used by the Internet. • The TTL field indicates how long this record is valid. CSI 5389 18 DNS: Example of Name Servers • The root name server contains an NS record for each second-level name server. • It also has an A record that translates that name into the corresponding IP address. • These two records effectively implement a pointer from the root name server to each of the second-level name servers. • • • • • <arizona.edu, telcom.arizona.edu, NS, IN> <telcom.arizona.edu, 128.196.128.233, A, IN> <ibm.com, thumper.ibm.com, NS, IN> <thumper.ibm.com, 128.96.32.20, A, IN> Etc. CSI 5389 19 DNS: Example of Name Servers (cont.) • At the second level, the domain arizona.edu has a name server running on host telcom.arizona.edu. • That name server contains the following records: • • • • • <cs.arizona.edu, optima.cs.arizona.edu, NS, IN> <optima.cs.arizona.edu, 192.12.69.5, A, IN> <ece.arizona.edu, helios.ece.arizona.edu, NS, IN> <helios.ece.arizona.edu, 128.196.28.166, A, IN> Etc. CSI 5389 20 DNS: Example of Name Servers (cont.) • At the third level, the domain cs.arizona.edu contains A records for all of its hosts. • It also defines a mail server (MX record) for the domain; and maybe a set of aliases (CNAME records): • <cs.arizona.edu, optima.cs.arizona.edu, MX, IN> • <optima.cs.arizona.edu, 192.12.69.5, A, IN> • <opt.cs.arizona.edu, optima.cs.arizona.edu, CNAME, IN> • <cheltenham.cs.arizona.edu, 192.12.69.60, A, IN> • <che.cs.arizona.edu, cheltenham.cs.arizona.edu, CNAME, IN> • Etc. CSI 5389 21 DNS: Name Resolution 1. cheltenham.cs.arizona.edu 2. cheltenham.cs.arizona.edu 3 3. arizona.edu, 128.196.128.233 Root Name Server 4. cheltenham.cs.arizona.edu 2 client 1 8 Local Name Server 4 5 6 Arizona Name Server 5. cs.arizona.edu, 192.12.69.5 6. cheltenham.cs.arizona.edu 7. cheltenham.cs.arizona.edu, 192.12.69.60 8. 192.12.69.60 CSI 5389 7 CS Name Server 22 Internet Protocol (IP) • IP deals only with small packets of data, which are labeled with the network addresses of the source and destination computers. • The network is responsible for trying to deliver packets to their destination, but does not guarantee that it will do so. • Packets may be lost or duplicated, and they may arrive out of order. • Other protocols can be built on the foundation of IP to meet the needs of different kinds of applications • Such protocols are identified in an IP packet by a protocol identifier, which allows a destination system to select the correct protocol for processing at the next higher layer. CSI 5389 23 Internet Protocol (cont.) • IP does not offer any security services. • In theory, attackers can listen to packets going by, introduce forged packets etc. • It is the responsibility of higher level protocols to manage the security problems. • In practice, network layer techniques such as firewalls are used to create protected network environments in which applications do not have to worry about attacks. • IETF has recently defined IPv6 with many improvements: • Larger address space (128-bit addresses as opposed to the 32-bit ones used by the current IPv4) • Better packet format (i.e., simpler header format) • Auto-configuration (plug-and-play operation), etc. CSI 5389 24 Transmission Control Protocol (TCP) • TCP is the most common transport protocol built on the packet-oriented foundation of IP. • TCP provides the abstraction of a reliable byte stream. • An application sends data, and the receiver gets it in the order it was sent. • Each packet contains a sequence number, so the receiver can put them into the right order. • TCP also provides a flow control mechanism so that the receiver is not overwhelmed by a sender transmitting data so fast. • TCP works by having the receiver send back an acknowledgement for the packet it receives. • If the sender does not get the acknowledgement within a certain period of time, it transmits the packet again. • Hence, TCP creates an illusion of a continuous ordered stream of data for application programmers, who need not worry about the details of how the data get through the network. CSI 5389 25 The World Wide Web (WWW) • The WWW is a global hypertext network of millions of Web servers and Web browsers connected by the Hypertext Transfer Protocol (HTTP). • Web servers supply (and Web browsers display) pages of multimedia information. • These pages are usually defined by the HyperText Markup Language (HTML). • Web pages can contain text, graphics, audio, video, and even pieces of software called applets. • Applets are automatically downloaded from the server and run on the client desktop. • The most important elements of Web pages are hypertext links to other pages on the same or different servers. • Hyperlinks can be represented by text or images. CSI 5389 26 The World Wide Web: Uniform Resource Locator (URL) • The target of a hyperlink is described by a Uniform Resource Locator (URL). • A URL is composed of several parts. Consider http://www.w3.org/example/path/index.html • Protocol designator (http://): • This tells the browser what protocol to use in connecting to the Web server. • Web browsers can also use other protocols (e.g., FTP for file transfer or SMTP for electronic mail). • Server name (www.w3.org): • The browser will use the DNS to translate this server name into an IP network address • Path name (/example/path/index.html): • This is the full name of a file on the Web server CSI 5389 27 The World Wide Web: Uniform Resource Locator (cont.) • The above URL refers to a static HTML page. • Pages can also be constructed dynamically by application software, and information can flow in both directions. • The Web server can pass the path portion of the URL to an application program, which can return an HTML page or other content constructed on the fly by the application itself. • HTML pages can contain forms to be filled out by the user, and the input data for the forms can be sent back to the Web server. • The Web can also be used by programs to pass information to other programs and return the result. • These are called Web services in which information is encoded in XML rather than HTML (to be discussed in a later lecture). CSI 5389 28 The World Wide Web: HyperText Transfer Protocol (HTTP) • With HTTP, the client opens a TCP connection to the Web server and transmits an HTTP header. • The header contains an HTTP command such as GET, PUT or POST, and the path portion of the URL. • The GET command is used to retrieve documents, and the PUT to upload files to the server. • The POST command is used to send the results of a form filled out by the user. • When the Web server has finished processing the request, it sends a reply header back to the client followed by a page to be displayed. • One of the header fields specifies the format of the data being returned. • This allows the client to locate the proper application for the data. CSI 5389 29 Intranets and Extranets • The term “intranet” refers to an internal network of a company. • Internet commerce applications can be deployed for internal use, making it possible to use the same applications for ordering, transaction processing, and customer service etc. for internal customers. • The term “extranet” refers to a network connecting a company with its partners, suppliers, and close customers. • Typical applications include sharing of information for joint projects, direct connections to a supplier’s ordering system, direct access to customer service and support etc. • An extranet can provide an exterior security boundary that protects the company and its partners from the open network, while providing lower security boundaries for greater sharing of information between the partners. CSI 5389 30 The Future of the Internet • TCP/IP is evolving with the development of IPv6. • IPv6 is built on the experience with IPv4 and provides improvements on scalability, security, and support for real-time media. • Since the Internet is already very large and decentralized, it will be quite some time before the entire Internet is running IPv6 (although many IPv6 products are available on the market today). • From a system design view point, IPv6 has little effect on Internet commerce: Due to the layered architecture, applications for commerce are insulated from the lower layers. • The Web is also changing: New versions of HTTP promise better performance and more flexible interactions between clients and servers. • Changes in HTTP may affect applications more than IPv6 does, because HTTP provides capabilities closer to the application’s logic. CSI 5389 31 The Future of the Internet (cont.) • The development of the Extensible Markup Language (XML) has been gaining wide acceptance. • XML allows applications to define their own markup extensions. • This enables them to include application-specific tags for data items as well as rules for displaying them. • Example: A commerce application can use XML to define an order form, where prices, item descriptions, quantities etc. are tagged appropriately. This enables browsers to show a nicely formatted form, while the application can easily parse the order form to extract the information needed to process the order. • Although changes in Internet technologies are inevitable, it is not necessary to adopt a change immediately after it becomes available. • Adoption of changes must be evaluated in terms of how it will affect the value delivered to customers by the commerce application, and in terms of the cost of implementing the change. • There is also some risk that such changes will not become common in the marketplace, leaving the application at a dead end. CSI 5389 32 References • Treece Book Ch. 8 • Dr Thomas Tran Slides CSI 5389 33