1. TCP-IP
Web Technologies
piero.fraternali@polimi.it
2. 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
3. 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
7. 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
8. TCP-IP stack
Stack 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.
9. 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 destination
http://www.tcpipguide.com/free/t_IPDatagramGeneralFormat.htm
10. 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
11. 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.
12. 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.
13. Internet Protocol v 6
REFERENCE 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
14. 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.