TCP-IP Web Technologiespiero.email@example.com
Outline• ISO-OSI• TCP-IP – The TCP-IP suite – New features of IPv6• HTTP 1.0 e 1.1 – actors – request & response – security – server and client architecture – multi-tier architecture• References
ISO/OSI• International Standard Organization• Open System Interconnection• Standardization of the concepts of multi-level protocol for network communicaiton• 7 levels stack• Each stack level uses services from the inferior level and offers services to the superior level• Reference model, not fully implemented
TCP-IP• The protocol suite of the Internet packet switching network• Focus on heterogeneous inter- networking• Compacts the upper levels of the ISO-OSI model http://tools.ietf.org/html/rfc1122 Requirements for Internet Hosts -- Communication Layers
TCP-IP stackStack ISO/OSI vs TCP-IP• Application layer : where applications create data and communicate to other processes on another or the same host ( peer). SMTP, FTP, SSH, HTTP are examples of protocols at this level• Transport layer: hides the topology (layout) of the underlying network connections. Provides flow-control, error-correction, and connection protocols (e.g., TCP, UDP). Deals with opening and maintaining connections between hosts.• Internet layer (internetworking): masters the exchange of datagrams across networks. Defines the addressing and routing structures. The primary protocol is IP, which defines IP addresses.• Link layer: defines the networking methods within the scope of the local network link on which hosts communicate without intervening routers. Defines the protocols used to describe the local network topology and the interfaces needed to transmit datagrams to neighboring hosts.
Internet Protocol • Primary protocol in the Internet layer of the Internet protocol suite • Addresses how packets are delivered from the source host to the destination host • Defines – datagram structures that encapsulate the data to be delivered IPv4 Datagram Format – addressing methods used to label the datagram source and destinationhttp://www.tcpipguide.com/free/t_IPDatagramGeneralFormat.htm
Transport over IP• Motivation: IP is connectionless, unreliable and unacknowledged• Applications may havve different transport requirements (reliability vs space-time tradeoff)• Transmission Control Protocol (TCP): allows a pair of devices to establish a virtual connection and then pass data bidirectionally. Transmissions are managed using a special sliding window system, with unacknowledged transmissions detected and automatically retransmitted. – Examples applications: (HTTP) used by the World Wide Web (WWW), File Transfer Protocol (FTP); Simple Mail Transfer Protocol (SMTP).• User Datagram Protocol (UDP): A very simple transport protocol that acting as a “wrapper” around IP. No connection is established, transmissions are unreliable, and data can be lost. • Examples applications: multimedia streaming, multicast applications
TCP functions• Addressing/Multiplexing: multiplexes the data received from these different applications (processes) identified using TCP ports.• Connection Establishment, Management and Termination: establishes procedures to negotiate and establish a TCP connection. Plus logic for managing connections and handling problems. When a device is done with a TCP connection, a special process is followed to terminate it.• Data Handling and Packaging: defines how applications send data from higher layers. This data is then packaged into messages to be sent to the destination. The destination software unpackages the data and gives it to the application on the destination machine.• Data Transfer: this is done by passing the data packets to the underlying network-layer protocol, normally IP.• Reliability and Transmission Quality Services: includes features that allow an application to consider the sending of data using the protocol to be “reliable”.• Flow Control and Congestion Avoidance : allows the flow of data between two devices to be controlled and managed and deals with congestion.
TCP essential features• Connection-Oriented: devices must establish a connection with each other before they send data.• Bidirectional: Once a connection is established, TCP devices send data bi-directionally. Both devices on the connection can send and receive, regardless of which of them initiated the connection.• Multiply-Connected and Endpoint-Identified: TCP connections are identified by the pair of sockets used by the two devices in the connection. Each device can have multiple connections opened, either to the same IP device or different IP devices, and can handle each connection independently.• Reliable: TCP keeps track of data sent and received to ensure it all gets to its destination.• Acknowledged: all transmissions are acknowledged (at the TCP layer—TCP cannot guarantee reception by the remote application).• Stream-Oriented: TCP allows applications to send a continuous stream of data and chunks it for transmission.• Data-Unstructured: there are no TCP divisions between data elements in the data stream. Applications must differentiate one message (data element, record, etc.) from the next.• Data-Flow-Managed: A TCP connection ensures that data flows evenly and smoothly, with means to deal with errors.
Internet Protocol v 6REFERENCE DESIGN GOALS• First major change since • Larger Address Space IPv4 was formalized in 1981. • Better Management of• Relevant RFCs Address Space – RFC 2460 (Internet • Elimination of NAT Protocol, Version 6 (IPv6) • Easier TCP/IP Administration Specification) • Modern Design For Routing • RFC 2461, IPv6 Neighbor Discovery Protocol • Better Support For • RFC 2463, ICMP version 6 Multicasting (ICMPv6) for IPv6 • Better Support For Security • Better Support For Mobility
IPv6 major changes• Larger Address Space: IPv6 addresses are 128 bits long instead of 32 bits. From around 4 billion to over 300 trillion trillion trillion addresses.• Hierarchical Address Space: to provide a large number of addresses for each class• Hierarchical Assignment of Unicast Addresses: the unicast address structure reflects the overall topology of the Internet. It allows for multiple levels of network and subnetwork hierarchies both at the ISP and organizational level. It also permits generating IP addresses based on underlying hardware interface device IDs such as Ethernet MAC addresses.• Better Support for Non-Unicast Addressing: multicasting improved, a new type of addressing: anycast addressing ( “deliver this message to the easiest-to-reach member of this group”)• Autoconfiguration and Renumbering: easier autoconfiguration of hosts and renumbering of the IP addresses in networks and subnetworks.• New Datagram Format: The main header of each IP datagram has been streamlined, and support added for extending the header for datagrams requiring more control information.• Support for Quality of Service: IPv6 datagrams include QoS features, for multimedia and other applications requiring quality of service.• Security Support: Security support is designed into IPv6 using the authentication and encryption extension headers and other features.• Updated Fragmentation and Reassembly Procedures: to improve efficiency of routing.• Modernized Routing Support: to support modern routing systems and to allow expansion.• Transition Capabilities: plan for interoperating IPv4 and IPv6 networks, mapping between IPv4 and IPv6 addresses, etc.