# End to end principle and connection oriented communication
## Obiettivi di apprendimento

* understand which problems of IP will be solved with the transmition control protocol
* be aware of the limitations of the internet protocol and the internet architecture
* get to know the end to end principle and in which only sender and receiver take care that communication works properly

## Trascrizione

Problems solved by the transport control protocol
Let’s assume that we have a computer connected to the Internet. You have a large file, for example picture or video, which you want to transfer to another computer on the Internet. As we know, the largest possible packages are about 65kB (IP) and even those packages won’t fit into Ethernet frames that have size of 1.5kB. Most our files are much bigger. So what has to happen is that you have to split the file into smaller chunks that will: - Fit into IP packages
- Send independently But if you do so several problems arrive: 1) The receiver has to reassemble the received frames in the correct order. As different packages might take the different routs the order could change and decentralize. Sequence numbers will help to fight this problem (it will be discussed later).
2) While the receiver receives the package from 2 different senders or even 2 different applications from the same sender the packages have to be separately reassembled. Port numbers were introduced to fight this problem (it will be discussed later).
As Internet and Ethernet protocol do not make sure that data is really successfully delivered the TCP informs sender that packages arrive. Acknowledgment flags have been introduced to battle this problem. 3) The sender and the receiver could on networks with different connection speed. So the faster network can easily overload the slower network with data that is delivered through Internet that is delivered to the slower network. Windowing was invented in order to: - Create flow control
- Solve network speed issues For all of these things an important concept of transmission control protocol is End to end principle. While solving all these problems the routers in between and network are just transferring data as they had been told. It’s just the sender and the receiver that negotiate the problem handling.
--Jane Kruch (discuss • contribs) 16:34, 3 November 2013 (UTC)

## Ulteriori letture

* End to end principle
* Connection oriented communication

## Discussioni

* Ethernet
** Communication over a shared Medium
** Ethernet header
** Minimum package length vs maximum cable length
** Collision detection
** Summary, further reading, homework
* Internet Protocol
** Motivation for IP
** Classful IPv4 networks
** IP forwarding algorithm
** IP header
** Summary, further reading, homework
* Transmission Control Protocol
** End to end principle and connection oriented communication
** Three way handshake
** Port numbers
** Sliding window and flow control
** Summary, further reading, homework
* Domain Name System
** Tree structure
** Terminology
** Zones
** Review some facts about DNS
** Delegating DNS queries
** DNS address resolution
** Summary, further reading, homework
* Internet vs World Wide Web
** Summary of the internet architecture
** Motivation and requirements for the World Wide Web
** Design principles of the web
** Uniform Resource Identifier
** Summary, further reading, homework
* Hypertext Transfer Protocol
** Making HTTP requests
** A simple web client
** A simple web server
** HTTP header
** Content negotiation
** Summary, further reading, homework
* Web content
** Problem setting for web content formats
** Working with XML
** HTML for web document structures
** Layout elements in HTML
** Motivating separation of content and layout
** Cascading Style Sheets
** Media content
** Metadata
** Summary, further reading, homework
* Dynamic Web Content
** Basics of server side web programming
** Forms and HTTP post request
** Handling a post request in a Java Servlet
** Client side JavaScript
** Ajax and the XMLHttpRequest class
** Summary, further reading, homework