Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ernstl/osi-stack
ISO OSI (Open Systems Interconnection) Stack
https://github.com/ernstl/osi-stack
edi electronic-data-interchange network-programming network-protocols networking open-systems open-systems-interconnection osi protocols routing-protocols
Last synced: about 1 month ago
JSON representation
ISO OSI (Open Systems Interconnection) Stack
- Host: GitHub
- URL: https://github.com/ernstl/osi-stack
- Owner: ERnsTL
- License: other
- Created: 2023-12-07T18:04:12.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-04T09:41:13.000Z (12 months ago)
- Last Synced: 2024-01-04T14:23:14.320Z (12 months ago)
- Topics: edi, electronic-data-interchange, network-programming, network-protocols, networking, open-systems, open-systems-interconnection, osi, protocols, routing-protocols
- Language: Rust
- Homepage:
- Size: 170 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING.LESSER
Awesome Lists containing this project
README
# osi-stack
ISO/ITU-T/IETF OSI (Open Systems Interconnection) stack implementation with application protocols.
Status: Work in progress.
Currently featuring:
* parts of CLNP over ...
* Ethernet Subnetwork Service
* via Ethernet2 header.
* Ethernet SN:
* PDUs implemented.
* Functions working, but need to check conformance.
* Primitives implemented (SN Unitdata request, SN Unitdata indication).
* CLNP NS:
* Most CLNP NS PDUs implemented (Data PDU, Echo Request, Echo Response).
* Functions partly implemented
* Primitives mostly implemented.
* Echo Request and Echo Response handling and "ping" roundtrip
* Simple static resolving of system-title based NSAP to SNPA address.
* Simple OSI ping applicationWorking on:
* Finishing CLNP primitives (N unitdata request and indication).
* Finishing CLNP functions in detail.
* Finishing SN functions.
* CLNP options part detailed support.
* CLNP non-segmenting subset and then
* CLNP full protocol.Goal:
* Full coverage of the OSI protocols up to CASE (ACSE, RTSE, ROSE).
* Maybe support for connection-oriented Data Link/Subnetwork Service and Connection-oriented Network Service.
* Routing protocols ES-IS, IS-IS and IDRP.
* LLC header support.
* Option to use IP suite of protocols for carrying OSI PDUs
* Carrying IPv4+IPv6 payload in routing protocols and in NLPID.
* Management support.
* Transport Layer Security, Network Layer Security.
* Application-layer protocols FTAM, VT, ...
* X.400
* X.500
* X.509 (note, consider https://en.wikipedia.org/wiki/X.509#Security)
* X.400 EDI
* X.601
* X.605
* X.609
* and others in X-Series
* Linux kernel module for layer 2,3,4
* multi-platform support (Linux, Mac, Windows)Related:
* SS7 support (built on OSI)
* ATN support (built on OSI, transitioning from OSI as base to IP in newer airplanes)
* [OPC UA](https://en.wikipedia.org/wiki/OPC_UA) (running via TCP, but may run via TP4 as well)
* energy exchange protocolsWritten in Rust, with planned binding for C and further, more programming languages.
## License
GNU LGPLv3+
## Contributing
1. open an issue or pick an existing one
2. discuss your idea
3. send pull request
4. quality check
5. merged!