School / Prep
ENSEIRB-MATMECA
Internal code
ERI5-RESA2
Description
This course is dedicated to the architecture of DoD Internet version 4, also known as the IPv4 protocol family or TCP/IPv4 (Transmission Control Protocol / Internet Protocol version 4).
After an introduction to the historical aspects that led to the TCP/IPv4 protocol family and its original addressing scheme, this course focuses on the protocols of the TCP/IPv4 family up to the transport level and the current addressing scheme. Practical work concludes this module to illustrate the concepts studied in class. They also provide practical skills and enable the deployment of simple networks using this protocol family, as well as the resolution of common construction and configuration errors. The sockets programming interface (API) is also covered, thanks to a tool that lets you manipulate sockets without having to write a single line of code, thus consolidating your understanding of how the UDP and TCP protocols work.
Objectives
- Know and understand the origins of the TCP/IPv4 protocol family, to be aware of its advantages and limitations compared to other protocol families, and the need to implement solutions to overcome these limitations.
- Understand the notion of IPv4 interconnection of low-level communications networks, and learn about, understand and implement the three main mechanisms for adapting these low-level communications networks to IPv4: connected and unconnected modes, and, above all, the ARP protocol and IPv4's fragmentation and reassembly mechanism.
- Know and understand the protocol elements of IPv4, as well as IPv4 addressing and routing mechanisms, to be able to set up simple networks using the TCP/IPv4 protocol family, which can also use a subtle addressing scheme.
- Know and understand the main IPv4 options and ICMPv4 features, not only to use them as such but also to help troubleshoot simple errors in building and configuring networks using the TCP/IPv4 protocol family.
- 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 courses40h
- TDMMachine Tutorial20h
Mandatory prerequisites
- Module ERI5-RESA1 "Introduction to networks".
Syllabus
- Introduction to TCP/IPv4 architecture
- Historical foundations
From ARPANET and NSFNET to the TCP/IPv4 protocol family (DoD Internet) - TCP/IPv4 protocol family standardization organization and associated bodies
- Notion of network interconnection
- Interconnection of heterogeneous low-level communication networks over IPv4 in unconnected mode
- Need for adaptation between IPv4 and the heterogeneous low-level communication networks used
- IPv4 protocol stack and comparison with the OSI (Open Systems Interconnection) model
- General principle of IPv4 data packet routing
- Original IPv4 addressing scheme
- Simplified IPv4 packet routing principle
- Opening up to the evolution of IPv4 addressing and routing to their current forms
- Historical foundations
- TCP/IPv4 architecture link layer: interaction with low-level communication networks
- Need to adapt IPv4 to the transmission of its packets over low-level communication networks with varying characteristics:
- transfer mode, connected or unconnected, of low-level communication networks
- maximum size of packets that can be transmitted by low-level communication networks (maximum payload)
- resolution (conversion) of IPv4 addresses into addresses used by the low-level communication networks used. - Principles of address resolution
- Context
- Purpose
- Main possible methods: advantages and disadvantages - Overview of Ethernet / IEEE 802.3 communication networks
- Address Resolution Protocol (ARP)
- How ARP works
- Protocol elements
- Structure of an ARP packet
- Application to the special case of Ethernet / IEEE 802.3 - IPv4 multicast address resolution (group addresses)
Example of a solution for Ethernet / IEEE 802.3 - Reverse Address Resolution Protocol (RARP)
- Need to adapt IPv4 to the transmission of its packets over low-level communication networks with varying characteristics:
- TCP/IPv4 architecture Internet layer: IPv4 and ICMPv4
- Purpose and main principles of the IPv4 protocol
- An informal overview of IPv4 features
- Structure of an IPv4 packet (datagram)
- Elements of IPv4 protocols
- Quality-of-service management: original "TOS" (Type Of Service) and "DS" (Differenciated Services) operation, retro-inherited from IPv6
- Congestion control: original operation and "ECN" (Explicit Congestion Notification), retro-inherited from IPv6
- Datagram lifetime limitation
- Datagram fragmentation and reassembly: adapting datagram size to the maximum payload of the low-level communication networks used
- Progressive construction of current datagram routing: subaddressing, netmask, variable-length netmask, overaddressing, address and network aggregations, CIDR notation, notion of network prefix and use, notion of default route and use, summary of current general IPv4 routing and possible backward-compatibility problems with older protocols and equipment. - IPv4 options
Main current IPv4 options, protocol elements and roles - ICMPv4 protocol
Main current ICMPv4 messages, protocol elements and roles
- 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 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 the data stream of a TCP connection
- Non-optimized transfer of the data stream of a TCP connection in steady state
- Sliding send and wait window
- Optimized transfer of the data stream of a TCP connection in steady state
- Flow control by taking into account the receive window of the receiver of the data stream
- Network congestion control by adjusting the transmission window or using IP's ECN mechanism
- Forcing the transmission of data transported by TCP by punctually 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
- Link to tools available under most operating systems
- Application to help diagnose problems when two applications dialogue 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 | 120 | 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 | 120 | 1 | Details of examination procedures: documents forbidden, calculator in exam mode authorized, all other computer and communication means forbidden. |