{"id":19732263,"url":"https://github.com/hcarrasc/tcp-ip-protocols","last_synced_at":"2026-03-05T06:01:30.503Z","repository":{"id":147460994,"uuid":"97391051","full_name":"hcarrasc/TCP-IP-Protocols","owner":"hcarrasc","description":"TCP/IP Protocols used in personal projects. Also a guidance to lead to others developers in communication protocols programming","archived":false,"fork":false,"pushed_at":"2018-08-06T00:51:06.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T03:52:27.471Z","etag":null,"topics":["communication-protocol","protocol","tcp","tcp-socket"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hcarrasc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-16T15:04:01.000Z","updated_at":"2018-08-06T00:57:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"4fdca628-b691-4507-a98a-622c4b6cee00","html_url":"https://github.com/hcarrasc/TCP-IP-Protocols","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hcarrasc/TCP-IP-Protocols","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcarrasc%2FTCP-IP-Protocols","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcarrasc%2FTCP-IP-Protocols/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcarrasc%2FTCP-IP-Protocols/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcarrasc%2FTCP-IP-Protocols/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hcarrasc","download_url":"https://codeload.github.com/hcarrasc/TCP-IP-Protocols/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcarrasc%2FTCP-IP-Protocols/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30111779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T03:40:26.266Z","status":"ssl_error","status_checked_at":"2026-03-05T03:39:15.902Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["communication-protocol","protocol","tcp","tcp-socket"],"created_at":"2024-11-12T00:25:29.671Z","updated_at":"2026-03-05T06:01:30.173Z","avatar_url":"https://github.com/hcarrasc.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Communication Protocols\n\n### What is a communication protocol?\nIs a set of rules or sintaxis that allows two or more systems communicate and share data between them.\n\nEach message has a specific meanning, intended to obtain a response from a range of possible predetermined responses for that particular situation.\n\n### What is TCP-IP protocol?\nTCP/IP provides end-to-end connectivity specifying how data should be formatted, addressed, transmitted, routed and received at the destination.\n\n### How a TCP segment looks like?\n\n\u003cimg src=\"http://hcarrasco.cl/apps/protocols/tcp-model-segment.png\" width=\"450\" height=\"208\"/\u003e\n\nWe abstract from the header, using any modern programming language and work directly on the content of the \"data\" section\n\n### My Internet communication protocols:\n\nAs you can see, my protocols are embeded in the TCP-IP protocol in the data section.\n\nI use it in two diferent ways based in a common structure:\n\n##### 1) String based message:\nI use it when data sended in segments will be  of variable length.\n\n\u003cimg src=\"http://hcarrasco.cl/apps/protocols/string-segment.png\" width=\"250\" height=\"422\"/\u003e\n\nfinnal message: ```\u003chc-ptcls;10010;temperature=30;speed=70;color=green;\u003e```\n\n##### 2) Bytes based message:\nI use it when data sended in segments will be always of a constant length.\n\nHow we can't see the bytes, we represent the message as hexadecimal representation. Modern programming lenguajes provides functions to make this transformation (bytes to hex) easely. You can help you with a ascii table :)\n\n\u003cimg src=\"http://hcarrasco.cl/apps/protocols/bytes-segment.png\" width=\"350\" height=\"230\"/\u003e\n\nfinnal message: ```48432D5054434C5331303031313033303730303530391020```\n\n### Bluetooth Protocols\n\nThe wireless data exchange standard Bluetooth uses a variety of protocols. Core protocols are defined by the trade organization Bluetooth SIG. Additional protocols have been adopted from other standards bodies [[wikipedia.org](https://en.wikipedia.org/wiki/List_of_Bluetooth_protocols)]\n\n##### Logical link control and adaptation protocol (L2CAP): \nIt passes packets to either the Host Controller Interface (HCI) or on a hostless system, directly to the Link Manager/ACL link.\n\n\n### Space Communication Protocols\n\nNASA article: [nasa.gov](https://www.nasa.gov/centers/ames/research/technology-onepagers/secure_space_communication.html)\n\nCommunication protocol standards for space data systems: [Proceedings of the IEEE](https://ieeexplore.ieee.org/document/56941/) (Volume: 78, Issue: 7, **Jul 1990**)\n\n##### Disruption Tolerant Networking: \nCommunicating from Earth to any spacecraft is a complex challenge, largely due to the extreme distances involved. When data are transmitted and received across thousands and even millions of miles, the delay and potential for disruption or data loss is significant. Delay/Disruption Tolerant Networking (DTN) is NASA’s solution to reliable internetworking for space missions. [nasa.gov](https://www.nasa.gov/content/dtn)\n\n##### Protocols used by Curiosity land rover\n\nCCSDS.org: [Blue Books](https://public.ccsds.org/publications/BlueBooks.aspx)\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhcarrasc%2Ftcp-ip-protocols","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhcarrasc%2Ftcp-ip-protocols","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhcarrasc%2Ftcp-ip-protocols/lists"}