* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Document
Net neutrality wikipedia , lookup
Net neutrality law wikipedia , lookup
Wake-on-LAN wikipedia , lookup
SIP extensions for the IP Multimedia Subsystem wikipedia , lookup
Computer network wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
TCP congestion control wikipedia , lookup
Deep packet inspection wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Communication protocol wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Networking Theory (part 2) Internet Architecture The Internet is a worldwide collection of smaller networks that share a common suite of communication protocols (TCP/IP). It is an open system, built on common network, transport and application layer protocols, while granting the flexibility to connect a variety of computers, devices and operating systems to it. Design of the Internet The Internet is the result of many decades of innovation and experimentation. The TCP/IP protocols have been carefully designed, tested and improved over the years. Design of the Internet Major design goals: Resource sharing between networks Hardware and software independence Reliability and robustness Fault tolerant protocols - data could be rerouted depending on the state of the network "Good" protocols that are efficient and simple. TCP/IP Protocol Suite Major protocols: Internet Protocol (IP) Internet Control Message Protocol (ICMP) Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Internet Protocol (IP) IP is a Layer 3 protocol (network layer) It is used to transmit data packets over the Internet It is the most widely used networking protocol in the world. IP acts as a bridge between networks of different types Internet Protocol (IP) IP is a packet-switching network protocol. Information is exchanged between two hosts in the form of IP packets (IP datagrams). Each datagram is treated as a discrete unit - there are no "connections" between machines at the network layer. Connection services are provided by the higher-level protocols at the transport layer. Internet Protocol (IP) The IP datagram consists of a header and the actual data being sent. The header contains essential information for controlling how it will be delivered. Refer Figure 1.4 (pg 12). Internet Protocol (IP) Although each machine has its own physical address, each host machine under the Internet Protocol must be assigned a unique IP address. The IP address is a four-byte (32-bit) address. Example: 192.168.1.5 The IP address is not bound to a particular physical machine. Network programming in Java does not require the use of the physical address; only the IP address is used. Internet Protocol (IP) Humans do not find IP addresses easy to remember. An addressing scheme is also used which allows the use of textual names (hostnames) instead of numerical values. Example: java.sun.com Internet Control Message Protocol (ICMP) The Internet Protocol provides absolutely no guarantee of datagram delivery. The Internet Control Message Protocol (ICMP) is a mechanism for error-control. It is used in conjunction with the Internet Protocol to report errors when and if they occur. Internet Control Message Protocol (ICMP) The relationship between IP and ICMP is a strong one. E.g: IP uses ICMP if it needs to notify another host of an error. ICMP requires IP to send the error message. Note that a host cannot rely solely on ICMP to guarantee delivery as there is no guarantee that ICMP messages will be sent or that they will reach their intended destination. Internet Control Message Protocol (ICMP) Five error messages are defined: Destination If a gateway is unable to pass a datagram on to its destination, this message is sent back to the original host. Parameter Unreachable Problem This message is sent to the sending host if a gateway is unable to process the header parameters of an IP datagram. Internet Control Message Protocol (ICMP) Redirect If a shorter path, or alternate route, is available, a gateway may send this message to the router that passed on a datagram Source This message may be sent in an attempt to reduce the number of incoming datagrams when a router, gateway or host becomes overloaded. Time Quench Exceeded Whenever the TTL value of a datagram reaches zero is discarded. This message may be sent if this event occurs. Internet Control Message Protocol (ICMP) ICMP supports several informational messages such as: Echo Request/Echo Reply Used to determine whether a host is alive and can be reached. Address Mask Request/Address Mask Reply Provides the functionality to determine the address mask which controls which bits of an IP address correspond to a host, and which bits determine the network/subnet portion. Transmission Control Protocol (TCP) TCP is a Layer 4 protocol (transport layer) that provides guaranteed delivery and ordering of bytes. TCP uses IP to send TCP segments, which contain additional information that allows it to order packets and resend them if they go astray. Transmission Control Protocol (TCP) TCP uses communication ports to distinguish one application or service from another. A host machine can have many applications connected to one or more ports. Although TCP provides a simpler programming interface, it may reduce network performance. User Datagram Protocol (UDP) UDP is a Layer 4 protocol (transport layer) that applications can use to send packets of data across the Internet (as opposed to TCP, which sends a sequence of bytes). UDP also supports communication ports. UDP does not guarantee delivery packets. It also does not guarantee that they will arrive in the right order. Although unreliable, UDP offers faster communication. Internet Application Protocols Network programmers are more interested in the protocols at the application layer. Examples: Protocols for accessing and sending email Protocols for transferring files Protocols for reading Web pages Telnet A service that allows users to open a remoteterminal session to a specific machine. Uses TCP port 23. File Transfer Protocol (FTP) Allows file transfers Uses TCP port 21 (to control sessions) and TCP port 20 (for the actual transfer). Post Office Protocol version 3 (POP3) Used to access e-mail Allows users to read mail offline. Uses TCP port 110. Internet Message Access Protocol (IMAP) Less popular than POP3 as it requires continual connection to the mail server. Messages are stored on a server and not on the user's system. Uses port 143. Simple Mail Transfer Protocol (SMTP) Allows messages to be delivered over the Internet. Uses port 25. HyperText Transfer Protocol (HTTP) One of the most popular protocols in use on the Internet; it made the World Wide Web possible. Java provides good HTTP support. Uses TCP port 80. TCP/IP Protocol Suite Layers Although there are seven OSI network layers, not all are used in Internet programming. The layers beneath the network layer are encapsulated from the network programmer. TCP/IP Protocol Suite Layers HTTP SMTP FTP TCP UDP Internet Protocol TCP/IP Stack POP3 ICMP TCP/IP Protocol Suite Layers POP3 command: TCP segment: Application layer RETR1 TCP header RETR1 IP datagram: IP header TCP header Transport layer RETR1 Network layer Modem frame: Modem header IP header TCP header Carrier wave: Data link layer RETR1 Physical layer