School / Prep
ENSEIRB-MATMECA
Internal code
ER6RE113
Description
This module concludes the "TCP/IP Architecture" course and follows on from module ER5RE108. It focuses on the main transport protocols, UDP (User Datagram Protocol) and TCP (Transmission Control Protocol), in the TCP/IP family. It includes practical work on the transport protocols studied, giving a better understanding of how they actually work, as well as an introduction to the sockets programming interface (API), with a tool for manipulating sockets without having to write a single line of code.
Objectives
- Understand the role of transport protocols in a protocol stack and, in particular, those of UDP and TCP in the TCP/IP architecture. Know and understand the usefulness of the notion of transport-level communication endpoints and, in the case of UDP and TCP, the concrete parameters that enable them to be identified in order, among other things, to target and examine a particular information flow.
- To know and understand the UDP protocol in order to use it wisely and to be able to detect certain relatively simple errors when it is used by applications. To do this, you need to know and understand, to a fairly detailed degree:
- the services provided by UDP to the applications that use it;
- information transfer in unconnected mode;
- multiplexing and demultiplexing of messages by destination port. - To know and understand the TCP protocol so as to use it wisely and be able to detect certain relatively simple errors when it is used by applications. To do this, you need to know and understand, to a fairly detailed degree :
- the services provided by TCP to the applications that use it;
- the transfer of information in connected mode;
- the notions of connection and connection identification;
- the multiplexing and demultiplexing of messages per connection;
- the mechanisms for opening and closing connections, and the measures taken to make them reliable;
- steady-state data transmission and reception, and the mechanisms used to make information transfer more reliable;
- the use of transmission, congestion and reception windows to make information flows more reliable and to regulate them;
- the principle of TCP's simplified finite-state machine (FSM), to be able, among other things, to detect malfunctions in applications using TCP.
Teaching hours
- CIIntegrated Courses14h
- TDMMachine Tutorial10h
Mandatory prerequisites
- Module ER5RE112 "Introduction to networks".
- Module ER5RE108 "TCP/IP Architecture".
Syllabus
- Introduction to the transport layer of TCP/IP architecture
- General roles of the transport layer
- End-to-end data transfer and characteristics.
- Communication multiplexing and demultiplexing. - Notion of TSAP (Transport Service Access Point) in the OSI model
- Notion of transport-level communication port in the case of the UDP (User Datagram Protocol) and TCP (Transfer Control Protocol) protocols
- Standardized subdivision of port numbers.
- Static and dynamic allocation of port numbers according to their role.
- Unambiguous identification of a transport-level communication endpoint.
- Relationship between the OSI model's TSAP notion and the TCP/IP architecture's port notion.
- General roles of the transport layer
- UDP transport protocol - User Datagram Protocol
- General
- Type of service provided by UDP.
- Multiplexing and demultiplexing of UDP messages by destination port number and implications for applications using the sockets API. - Protocol elements
- How to use source and destination port numbers.
- Optional checksum protection of UDP messages and the need to use a pseudo-header. - Structure of a UDP message
Justification and feedback on certain protocol elements. - Examples of application protocols using UDP.
- General
- TCP - Transmission Control Protocol
- General
- Type of service provided by TCP.
- Multiplexing and demultiplexing TCP messages (segments) per connection and implications for applications using the sockets API. - Protocol elements
- Unambiguous identification of a TCP connection.
- Basic characteristics of TCP segments (size, individual protection, lifetime limitation and optimized use of network resources).
- Reliable transport of a TCP connection's data flow.
- Non-optimized transfer of a TCP connection's data flow in steady state. Non-optimized transfer of a TCP connection's data flow in steady state.
- Slipping window of transmission and anticipation.
- Optimized transfer of a TCP connection's data flow in steady state.
- Flow control by taking into account the data flow receiver's reception window.
- Network congestion control by adjusting the transmission window or using IP's ECN mechanism.
- Forcing the transmission of data transported by TCP by occasionally overriding certain optimization mechanisms.
- Transmission of urgent data (known as "out-of-band").
- Opening a TCP connection and making it reliable.
- Closing a TCP connection and making it reliable.
- Resetting a TCP connection. - Simplified TCP finite state machine (FSM)
- Introduction to the semi-formal description of a network protocol.
- Links to tools available on most operating systems.
- Application to help diagnose problems when two applications are communicating via TCP. - TCP segment structure
Justification and review of certain protocol elements. - Main TCP options
- Using IPv4 to route TCP segments
- Examples of application protocols using TCP
- General
Bibliography
- Official DoD documentation Internet: https: //www.rfc-editor.org
- D. E. Comer, "Internetworking With TCP/IP Volume 1: Principles, Protocols, and Architecture - 6th edition", Pearson, 2014.
- Non-exhaustive course handouts (note-taking compulsory) and practical texts.
Assessment of knowledge
Initial assessment / Main session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Final inspection | Written | 60 | 1 | Details of examination procedures: documents forbidden, calculator in exam mode authorized, all other computer and communication means forbidden. |
Second chance / Catch-up session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Final test | Written | 60 | 1 | Details of examination procedures: documents forbidden, calculator in exam mode authorized, all other computer and communication means forbidden. |