Both sides previous revisionPrevious revisionNext revision | Previous revision |
существующие_решения_для_организации_связи [2022/06/13 13:48] – sss | существующие_решения_для_организации_связи [2022/06/14 20:05] (current) – [User<>Server (Centralized Model)] sss |
---|
====== User<>Server (Centralized Model)====== | ====== User<>Server (Centralized Model)====== |
This is a classic and still the most common model: | This is a classic and still the most common model: |
* **User1** wants to send data to **user2** | - **User1** wants to send data to **user2** |
* **User1** connects to a **[[https://en.wikipedia.org/wiki/Server_(computing)|server]]** and sends data to it. | - **User1** connects to a **[[https://en.wikipedia.org/wiki/Server_(computing)|server]]** and sends data to it. |
* **User2** receives the data from the **[[https://en.wikipedia.org/wiki/Server_(computing)|server]].** This model has a number of serious problems with both security and [[https://en.wikipedia.org/wiki/Fault_tolerance|fault-tolerance]]: | - **User2** receives the data from the **[[https://en.wikipedia.org/wiki/Server_(computing)|server]].** This model has a number of serious problems with both security and [[https://en.wikipedia.org/wiki/Fault_tolerance|fault-tolerance]]: |
- The server is controlled by a third party, which results in: | The server is controlled by a third party, which results in: |
- The server owner having full access to all transmitted data, which leads to: | - The server owner having full access to all transmitted data, which leads to: |
- Data leakage. | * Data leakage. |
- [[https://en.wikipedia.org/wiki/Metadata|Metadata]] leakage. | * [[https://en.wikipedia.org/wiki/Metadata|Metadata]] leakage. |
- Data distortion/substitution. (This problem can be partially solved by [[https://en.wikipedia.org/wiki/Cryptography|cryptography]]) | * Data distortion/substitution. (This problem can be partially solved by [[https://en.wikipedia.org/wiki/Cryptography|cryptography]]) |
- Server dependency. | - Server dependency. |
- Server failure renders communication impossible for all server users. | - Server failure renders communication impossible for all server users. |
* All social networks (any [[https://en.wikipedia.org/wiki/Web_server|web]] service). | * All social networks (any [[https://en.wikipedia.org/wiki/Web_server|web]] service). |
* Classic [[https://en.wikipedia.org/wiki/Email|email]] ( [[https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol|SMTP]] ) | * Classic [[https://en.wikipedia.org/wiki/Email|email]] ( [[https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol|SMTP]] ) |
* Most [[https://en.wikipedia.org/wiki/Instant_messaging|IM]]/[https://en.wikipedia.org/wiki/Voice_over_IP VOIP] solutions ( [[https://en.wikipedia.org/wiki/Viber|Viber]], [[https://en.wikipedia.org/wiki/WhatsApp|WhatsApp]], [[https://en.wikipedia.org/wiki/Telegram|Telegram]], [[https://en.wikipedia.org/wiki/Discord|Discord]], RaidCall, ....., the messaging/video/voice chat program that you use most likely works exactly according to this scheme ) | * Most [[https://en.wikipedia.org/wiki/Instant_messaging|IM]] ([[https://en.wikipedia.org/wiki/Voice_over_IP VOIP] solutions ( [[https://en.wikipedia.org/wiki/Viber|Viber]], [[https://en.wikipedia.org/wiki/WhatsApp|WhatsApp]], [[https://en.wikipedia.org/wiki/Telegram|Telegram]], [[https://en.wikipedia.org/wiki/Discord|Discord]], RaidCall, .....), the messaging/video/voice chat program that you use most likely works exactly according to this scheme ) |
| |
| ====== User<>User (Decentralized Model) ====== |
| [[https://en.wikipedia.org/wiki/Peer-to-peer|Decentralized Model]] |
| |
====== User<>User ([[https://en.wikipedia.org/wiki/Peer-to-peer|P2P]] Decentralized Model) ====== | |
There is no division into user and server in this system, each data exchange participant often acts as both simultaneously. This approach, when used correctly, allows for a high level of privacy and security, but it also has its drawbacks: | There is no division into user and server in this system, each data exchange participant often acts as both simultaneously. This approach, when used correctly, allows for a high level of privacy and security, but it also has its drawbacks: |
- Requires an external ip address for at least one of the participants. [[https://en.wikipedia.org/wiki/Network_address_translation|NAT]] problems Can be partially solved with [[https://en.wikipedia.org/wiki/Universal_Plug_and_Play|UPnP]], [[https://en.wikipedia.org/wiki/NAT_Port_Mapping_Protocol|NAT-PMP]], [[https://en.wikipedia.org/wiki/STUN|stun]]. [[https://en.wikipedia.org/wiki/IPv6|IPv6]] completely solves this problem. | - Requires an external ip address for at least one of the participants. [[https://en.wikipedia.org/wiki/Network_address_translation|NAT]] problems Can be partially solved with [[https://en.wikipedia.org/wiki/Universal_Plug_and_Play|UPnP]], [[https://en.wikipedia.org/wiki/NAT_Port_Mapping_Protocol|NAT-PMP]], [[https://en.wikipedia.org/wiki/STUN|stun]]. [[https://en.wikipedia.org/wiki/IPv6|IPv6]] completely solves this problem. |