Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(cell): model header sizes for messages transmitted by cell #369

Merged
merged 9 commits into from
Feb 16, 2024

Conversation

kschrab
Copy link
Contributor

@kschrab kschrab commented Nov 30, 2023

Description

Introduces a simplified modelling of headers added to payload of messages sent trough the cellular stack.

  • Adding a 20-byte sized TCP or 8-byte sized UDP header to each message, according to its transport mode.
  • Always adding a 20-byte sized IP header to each message.
  • When adding the message to the cellular part of the network (e.g. sent from a vehicle), additional bytes are added to represent the headers of the cellular stack. Since the actual cellular stack may change and depend on the simulation scenario, we named it cellularHeader (and is configurable). In the default case, we assume an LTE stack adding another 26 bytes to each message (PDCP (6 bytes) + RLC (4 bytes) + MAC (10 bytes) + PHY (6 bytes) ).
  • When the receiver or sender is a server, it is assumed that it is connected directly to the core network and therefore, an Ethernet header is added. Again, the technology used here can vary, thus the size can be configured and is set to 38 bytes in the default case.
  • Any additional headers which may be added within the transmission trough the network are not considered, as this is out of scope of the simplified model mosaic-cell provides.
  • All header sizes can be configured in the cell_config.json:
{
    "networkConfigurationFile": "network.json",
    "regionConfigurationFile": "regions.json",
    "headerLengths": {
        "udpHeader": "8 Bytes",
        "tcpHeader": "20 Bytes",
        "ipHeader": "20 Bytes",
        "cellularHeader": "26 Bytes",
        "ethernetHeader": "38 Bytes"
     }
}

Open issues:

  • Fix tests
  • Fix documentation

Issue(s) related to this PR

  • Resolves internal issue 567

Affected parts of the online documentation

Changes in the documentation required?

Yes, must be done.

Definition of Done

Prerequisites

  • You have read CONTRIBUTING.md carefully.
  • You have signed the Contributor License Agreement.
  • Your GitHub user id is linked with your Eclipse Account.

Required

  • The title of this merge request follows the scheme type(scope): description (in the style of Conventional Commits)
  • You have assigned a suitable label to this pull request (e.g., enhancement, or bugfix)
  • origin/main has been merged into your Fork.
  • Coding guidelines have been followed (see CONTRIBUTING.md).
  • All checks on GitHub pass.
  • All tests on Jenkins pass.

Requested (can be enforced by maintainers)

  • New functionality is covered by unit tests or integration tests. Code coverage must not decrease.
  • If a bug has been fixed, a new unit test has been written (beforehand) to prove misbehavior
  • There are no new SpotBugs warnings.

Special notes to reviewer

@kschrab kschrab added the enhancement New feature or request label Nov 30, 2023
@kschrab kschrab marked this pull request as ready for review December 1, 2023 16:14
# Conflicts:
#	fed/mosaic-cell/src/main/java/org/eclipse/mosaic/fed/cell/utility/CapacityUtility.java
@rprotzmann rprotzmann merged commit 2767799 into main Feb 16, 2024
6 checks passed
@rprotzmann rprotzmann deleted the 567-cell-header-size branch February 16, 2024 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants