[Computer Network] Chap13. Make: Networking

2023. 12. 19. 13:34ใ†ComputerScience/ComputerNetwork

 

 

 

 

 

13. Make: Networking 

- Internet of Things - 2009๋…„์— ์“ด ๋…ผ๋ฌธ์—์„œ IoT๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋งŒ๋“ฆ / ์•ž์œผ๋กœ ์ •๋ง ์ž‘์€ ์ปดํ“จํ„ฐ๋“ค์ด ์ƒ๊ธธ ๊ฒƒ

- 10๋…„ ์ „์— ๋น„ํ•ด ํฌ๊ฒŒ ๋ฐœ์ „ or ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ  X

- ์• ํ”Œ ๊ตฌ๊ธ€ ์‚ผ์„ฑ / Apple HomeKit API ๊ณต๊ฐœ - Apple ์•„์ดํฐ๊ณผ ์—ฐ๋™ํ•  ๊ฐ€์ „์ œํ’ˆ / ๊ตฌ๊ธ€์ด Nest ์ธ์ˆ˜

- IoT์˜ ๋ชฉํ‘œ Home Automation์ด ๋Œ€๋ถ€๋ถ„ / ์ •์ˆ˜๊ธฐ, ๋ƒ‰์žฅ๊ณ  + ๋ณดํ—˜ ํšŒ์‚ฌ (์„ผ์„œ๋ฅผ ํ†ตํ•œ ํ™”์žฌ ์˜ˆ๋ฐฉ ๋“ฑ)

 

* Physical Computing 

- Make: IoT์˜ ๋ฐ˜๋Œ€

์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ์•„๋‚ ๋กœ๊ทธ to ์•„๋‚ ๋กœ๊ทธ (real world, ์‹ค์„ธ๊ณ„)

- ๋…ธํŠธ๋ถ์ด๋‚˜ ์Šค๋งˆํŠธํฐ ์†์˜ ํ”„๋กœ๊ทธ๋žจ X -> real world, physical ์„ธ์ƒ์„ ๋Œ€์ƒ์œผ๋กœ ํ•œ๋‹ค 

 

ex) ์˜จ๋„, ์Šต๋„, ๋ฏธ์„ธ๋จผ์ง€, ๋‚ ์”จ, ํ™”์žฌ, ์ ์™ธ์„  ๋“ฑ๋“ฑ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋ฅผ ์„ผ์„œ๋กœ๋ถ€ํ„ฐ input

์ถœ๋ ฅ์€ ์—์–ด์ปจ์„ ํ‚ฌ๊นŒ? ์„ ํ’๊ธฐ๋ฅผ ํ‹€๊นŒ? ์ „๊ตฌ๋ฅผ ๋ช‡ ๊ฐœ ์ผœ์•ผ ํ•˜๋‚˜? ๋“ฑ๋“ฑ

-> ์„ผ์„œ๊ฐ€ detectํ•˜๋ฉด motor or ํ•˜๋“œ์›จ์–ด๋กœ ์ œ์–ด -> ์‚ฌ๋žŒ์ด ํ•˜๋˜ ์ผ์„ ์ž๋™ํ™”

 

- ์ž…๋ ฅ์„ ๋ฐ›์•„ ์ถœ๋ ฅ์„ ๋‚ด๋Š” ์ปดํ“จํ„ฐ / ์ธ๊ฐ„์ด ์ฃผ๋Š” ์ž…๋ ฅ X, ์‹ค์„ธ๊ณ„๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์„ ๋ฐ›์Œ (by sensor)

- output์ด actuator -> ๊ฐ€๋™๊ธฐ (๋ชจํ„ฐ ๋“ฑ๋“ฑ ๊ตฌ๋™) / 0 ~ 255 ๊ฐ’์„ ๋ฐ›์•„์„œ (์–‘์žํ™”), 0 or 1์„ or 0 ~ 255 ์ถœ๋ ฅ

- ์‚ฌ๋žŒ์ด ์ง์ ‘ ํ•˜๋˜ ์ผ์„ ์ค„์—ฌ์คŒ by ์•„๋‘์ด๋…ธ / physical computing -> CPS

 

** CPS, Cyber Physical System 

- 4์ฐจ ์‚ฐ์—… ํ˜๋ช…์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ , ์ธ๊ณต์ง€๋Šฅ๊ณผ Physical computing์˜ ๋งŒ๋‚จ / IoT๋„ ์ข‹์•„ํ•˜๋Š” ๋‹จ์–ด CPS

- Controlled by computer-based algorithms, tightly integrated with the internet.

 

* digital twin - physical ์„ธ์ƒ์˜ ๊ฒƒ์„ ๋˜‘๊ฐ™์ด cyber์— ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ

computation์€ cyber ์„ธ์ƒ์—์„œ ์ฒ˜๋ฆฌ / real world, physical world์— communication์„ ํ†ตํ•ด control

 

 

 

 

 

 

https://techcommunity.microsoft.com/t5/microsoft-defender-for-iot-blog/understanding-cyber-physical-system-and-iot-ot-risk-featuring/ba-p/3030164

 

 

 

 

 

+ physical computing๊ณผ CPS ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€?

- ๊ฐœ์ธ์˜ ์ œ์ž‘๋ฌผ X -> CPS๋Š” ๊ทœ๋ชจ๊ฐ€ ์ปค์ง (ํšŒ์‚ฌ ๊ณต์žฅ ๋‹จ์œ„)

- ๋ชจ๋‘ ํ˜‘์—…์„ ํ•˜์—ฌ ์›€์ง์ž„ by network / ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์™€ processing power, ์ €์žฅํ•  ๋””์Šคํฌ์˜ ๊ทœ๋ชจ๋„ ํผ

- ์‚ฌ์ด๋ฒ„ ์ƒ์—์„œ๋„ SW๋กœ ๋Œ€๋“ฑํ•˜๊ฒŒ ์กด์žฌํ•ด์•ผ ํ•จ -> digital twin์˜ ๊ฐœ๋… 

 

- 4์ฐจ ์‚ฐ์—… ํ˜๋ช…์€ concept์ด๊ณ , ๊ธฐ์ˆ ์€ CPS (๊ณต์žฅ ์ž๋™ํ™” by CPS)

- ๋งˆ์Œ๋Œ€๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ํ•˜๋“œ์›จ์–ด, ์†Œํ”„ํŠธ์›จ์–ด + ์ด๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š” network

 

- OpenSource DIY Networking 

1. ์•„๋‘์ด๋…ธ - IoT์— ์ ํ•ฉํ•œ ๊ธฐ๊ธฐ / ์•„๋‚ ๋กœ๊ทธ์™€ ๋””์ง€ํ„ธ ์ž…๋ ฅ์„ ๋ฐ›์•„, ์ถœ๋ ฅ์„ ๋‚ด๋ณด๋‚ธ๋‹ค (OS ์—†์Œ)

2. ๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด - ๋„คํŠธ์›Œํฌ๋„ ํ•  ์ˆ˜ ์žˆ๊ณ , OS(๋ฆฌ๋ˆ…์Šค)๋„ ์žˆ๊ณ , ARM ํ”„๋กœ์„ธ์„œ -> ๋งค์šฐ ๋ง‰๊ฐ•

 

OpenWRT - ์ „์„ธ๊ณ„ ์œ ๋ฌด์„ ๊ณต์œ ๊ธฐ ๋Œ€๋ถ€๋ถ„ / WiFi router - SW๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด์„œ ์œ ๋ฌด์„ ๊ณต์œ ๊ธฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘

- Pirate Box - ์›”๊ฐ€, ๋Œ€๊ธฐ์—… ํ†ต์‹ ์‚ฌ์™€ SNS ์‚ฌ์šฉ X ์ž์ฒด ๋„คํŠธ์›Œํฌ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ

- ์˜คํ”„๋ผ์ธ์œผ๋กœ ํŒŒ์ผ ๊ณต์œ  ๊ฐ€๋Šฅ / ๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด๋กœ ์œ ๋ฌด์„ ๊ณต์œ ๊ธฐ - ์šฐ๋ฆฌ๋ผ๋ฆฌ mesh net -> ํฐ ์ปค๋ฒ„๋ฆฌ์ง€ 

- Open Mesh, BATMAN 

-> mesh networking ์„ฑ๋Šฅ์ด ๋„ˆ๋ฌด ์•ˆ ๋‚˜์˜ด 

- ad-hoc networking - ๋ณธ์ธ๋“ค๋ผ๋ฆฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“ฆ 

 

- SDN ์ง์ ‘ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด OpenFlow / OpenWRT -> ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์— OpenWRT๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์œ ๋ฌด์„  ๊ณต์œ ๊ธฐ๊ฐ€ ๋จ

 

- Serval Mesh

- ๋‰ด์งˆ๋žœ๋“œ ์ ์‹ญ์ž์‚ฌ -> ์žฌ๋‚œ ์‹œ ํ†ต์‹  ์žฅ๋น„๊ฐ€ ์“ธ๋ชจ๊ฐ€ ์—†์–ด์ง

- ์•ˆ๋“œ๋กœ์ด๋“œ ํœด๋Œ€ํฐ(๋ฆฌ๋ˆ…์Šค+ARM)๋ผ๋ฆฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“ฆ / ๊ตฌ๊ธ€์€ ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฉ”์‰ฌ ํ”„๋กœ์ ํŠธ ๊พธ์ค€ํžˆ ํ•จ

+ apple์€ ์ด๋ฏธ ๋‚ด๋ถ€์— ์žˆ์Œ - ํœด๋Œ€ํฐ๋ผ๋ฆฌ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ธฐ๋Šฅ / Apple ๋””๋ฐ”์ด์Šค ๊ฐ„ mesh net (์—์–ด๋“œ๋ž) 

 

- TOX - P2P ์†Œํ”„ํŠธ์›จ์–ด (์„œ๋ฒ„ X) / ๊ทผ๊ฑฐ๋ฆฌ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์— ์žˆ์„ ๋•Œ๋งŒ ๊ฐ€๋Šฅ (๊ฐ™์€ ํ•™๊ต, ํšŒ์‚ฌ ์•ˆ์—์„œ)

- Radical networks -> ๋„ˆ๋ฌด ์ƒ์šฉํ™”์— ์ง‘์ค‘ํ•œ ๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ  

-> ๊ณตํ•™๊ณผ ๋””์ž์ด๋„ˆ๋“ค์ด ๋ชจ์ž„ by free and open soft/hardware -> open network

 

* OpenBTS

- ์™€์ดํŒŒ์ด๋Š” ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ ์ž‘๋‹ค -> ์ด๋™ ํ†ต์‹  ๊ธฐ์ง€๊ตญ์„ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณผ๊นŒ? basestation -> openBTS

- ์›๋ž˜ ์˜คํ”ˆ์†Œ์Šค๋ž‘ ์ด๋™ํ†ต์‹ ์€ ์นœํ•˜์ง€ X -> 2/3์„ธ๋Œ€ ์ด๋™ํ†ต์‹  ๊ฐ€๋Šฅ / ์ด๋™ํ†ต์‹ ๋งˆ์ € ๋šœ๊ป‘์ด ์—ด๋ฆผ

- 2/3์„ธ๋Œ€ ๋ฌด์„  ๋””๋ฐ”์ด์Šค๋ฅผ ๋ฐ›์•„์„œ, ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋ฐ–์œผ๋กœ ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค (KT/SKT X) + SIP ๊ฐ€๋Šฅ

+ VoLTE - 4์„ธ๋Œ€ ์ด๋™ํ†ต์‹  (๋ณด์ด์Šค๊ฐ€ IP๋ฅผ ํƒ€๊ณ  ๋‚ ์•„๊ฐ -> ์Œ์„ฑ ํ’ˆ์งˆ ํ–ฅ์ƒ)

 

+ ์œ ๋Ÿฝ - 4์„ธ๋Œ€ ์ด๋™ํ†ต์‹ ์„ ์˜คํ”ˆ์†Œ์Šค๋กœ / ํ•œ๊ตญ/๋ฏธ๊ตญ - ๊ธฐ์—… ์™ธ ์ด๋™ํ†ต์‹  ์ ‘๊ทผ X

- ์™ธ์ง„ ์ง€์—ญ์— ์˜คํ”ˆ์†Œ์Šค ์žฅ์น˜ ์„ค๋น„ ์„ค์น˜ + ๊ทน์ง€๋ฐฉ ์—ฐ๊ตฌ์†Œ, 2์„ธ๋Œ€ ์ด๋™ํ†ต์‹ ์„ ํŽญ๊ท„๋“ค ํŒ”๋ชฉ์— ์ฑ„์›Œ์„œ ์œ„์น˜ ์ถ”์  

- 2010๋…„๋Œ€ cloud computing / open source ๊ด‘ํ’

- ์•„ํ”„๋ฆฌ์นด ์ปจํ…์ธ  ์ƒ์‚ฐ ์ œ์กฐ์™€ IT / ์•Œ๋ฆฌ express - ํ† ์† ์ œํ’ˆ, ๊ณต์—ฐ ์ˆ˜์ถœ / ์•„ํ”„๋ฆฌ์นด์— ์ด๋™ํ†ต์‹ ์‚ฌ๋“ค์ด ์„ค๋ฆฝ๋จ

- ์ธ๋„ IIT / ๋ฒ ํŠธ๋‚จ / ์•„ํ”„๋ฆฌ์นด // ์•„ํ”„๋ฆฌ์นด์—์„œ OpenBTS๋ฅผ ํ†ตํ•ด ํ†ต์‹ ์‚ฌ ์„ค๋ฆฝ

 

- IoT๋ฅผ ์œ„ํ•œ OS, Zephyr 

- ์„ธ์ƒ์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์šด์˜์ฒด์ œ by Linux foundation / ์ž‘์€ ๊ฒƒ๋“ค ๋‹ค๋ฃจ๋Š” OS ๋“ฑ์žฅ

- 8kB ~ 512kB ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋„ ๋Œ์•„๊ฐ, ๊ทผ๋ฐ ์žฅ๋‚œ๊ฐ์€ ์•„๋‹ˆ์•ผ // Apple2 ๋žจ ๋ฉ”๋ชจ๋ฆฌ 64kB์˜€์Œ 

- ๋„คํŠธ์›Œํฌ ๋ฌด์„ ํ†ต์‹  TCP, ์›ฌ๋งŒํ•œ ํ†ต์‹  ๊ธฐ์ˆ  ์ง€์› O / ๋ณด์•ˆ๊นŒ์ง€ ๋จ / ๊ฐ€์žฅ ์ž‘๊ณ  ํฅ๋ฏธ๋กœ์›€ / IoT ๊ฐœ๋ฐœ ํ”Œ๋žซํผ

 

- OCP – Telecom Infra Project -> TIP

- ํŽ˜์ด์Šค๋ถ์˜ ์˜คํ”ˆ ์ปดํ“จํ„ฐ ํ”„๋กœ์ ํŠธ OCP - ํ•˜๋“œ์›จ์–ด๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ์„ผํ„ฐ 

- ์ •๋ถ€ ํ—ˆ๊ฐ€๋ฅผ ๋ฐ›๊ณ  ํ•˜๋Š” ๊ณต๊ณต ํ†ต์‹  ์‚ฌ์—…์ž, KT/SKT ๊ฐ™์€ ๊ธฐ์—…์ด ์“ฐ๋Š” ์ธํ”„๋ผ๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ์ ํŠธ

- AI๋กœ ํŠธ๋ž˜ํ”ฝ ๋ถ„์„, ์šด์šฉ ์ž๋™ํ™”, SDN, OpenRAN - radio access network -> ์ด๋™ํ†ต์‹  ๋„คํŠธ์›Œํฌ

- ์ดˆ๊ณ ์† ์œ ์„  ์ธํ„ฐ๋„ท Mesh Net -> ์œ ์„ ์„ ๋Œ€์ฒดํ•˜๋Š” ๋ฌด์„  ํ†ต์‹  ๊ธฐ์ˆ  / facebook์˜ Terragraph

 

- Open/R - mesh networking์„ ์œ„ํ•œ routing / ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฉ”์„ธ์ง€๋Š” ๋งŒ๋“ค์–ด, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ง์ ‘ ๊ตฌํ˜„

- SDN๋„ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์•„ - ํ†ต์‹  ์žฅ์น˜๋“ค์ด mesh network์—์„œ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋Š” ์ •์˜, ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ •์˜ X 

+ zeroMQ๋ฅผ ์จ์„œ ์ฃผ๋ณ€ ์• ๋“ค๊ณผ ํ†ต์‹ ์„ ํ•จ / application layer์—์„œ ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ (thrift, zeromq)

- ์›ฌ๋งŒํ•œ ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด๋Š” ์˜คํ”ˆ / ๊ฒฐ๊ตญ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์•„์ด๋””์–ด

 

 

 

 

 

* iOS Mesh net์ด ๊ถ๊ธˆํ•ด์„œ ์ฐพ์•„๋ณธ ๊ฒƒ๋“ค

 

 

1. Apple documentation

https://developer.apple.com/documentation/multipeerconnectivity

 

Multipeer Connectivity | Apple Developer Documentation

Support peer-to-peer connectivity and the discovery of nearby devices.

developer.apple.com

 

 

 

2. Serval Chat for iOS 

https://github.com/servalproject/Serval-Chat-iOS

 

GitHub - servalproject/Serval-Chat-iOS: iOS port for serval chat app

iOS port for serval chat app . Contribute to servalproject/Serval-Chat-iOS development by creating an account on GitHub.

github.com

 

 

 

3. MultiPeer OpenSource

https://github.com/dingwilson/MultiPeer 

 

GitHub - dingwilson/MultiPeer: ๐Ÿ“ฑ๐Ÿ“ฒ A wrapper for the MultipeerConnectivity framework for automatic offline data transmissio

๐Ÿ“ฑ๐Ÿ“ฒ A wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices - GitHub - dingwilson/MultiPeer: ๐Ÿ“ฑ๐Ÿ“ฒ A wrapper for the MultipeerConnectivity framework fo...

github.com

https://github.com/dingwilson/MultiPeer_Sample (Sample App)

offline communication between multiple iOS devices 

 

 

 

4. Mesh Apps 

https://medium.com/@xenovandestra/best-mesh-wifi-chat-messaging-apps-without-internet-for-emergency-chaos-earthquake-other-16468017a342 

 

Best Mesh Wifi Chat Messaging Apps Without Internet For Emergency, Chaos, Earthquake & Other…

Mesh Network System

medium.com

 

 

 

5. Bridgefy Apps & SDK

https://bridgefy.me 

https://bridgefy.me/sdk/ 

https://github.com/bridgefy/sdk-ios 

 

GitHub - bridgefy/sdk-ios

Contribute to bridgefy/sdk-ios development by creating an account on GitHub.

github.com

 

 

 

6. Bridgefy ๊ด€๋ จ ๊ธฐ์‚ฌ (Bluetooth Mesh Net)

https://www.forbes.com/sites/johnkoetsier/2019/09/02/hong-kong-protestors-using-mesh-messaging-app-china-cant-block-usage-up-3685/?sh=316fc423135a

 

 

 

7. Bluetooth

https://www.mokoblue.com/ko/what-is-bluetooth-mesh/

https://www.mokoblue.com/ko/bluetooth-vs-wifi-which-is-better/

 

Bluetooth vs WiFi: The Better Technology for IoT Connectivity

Bluetooth and WiFi are both short-range wireless technologies for IoT trend settles, but they differ in certain features and applications.

www.mokoblue.com

 

 

 

+ ๊ต์ˆ˜๋‹˜์ด ์•Œ๋ ค์ฃผ์‹  Bonjure 

https://developer.apple.com/bonjour/

 

Bonjour - Apple Developer

Bonjour, also known as zero-configuration networking, enables automatic discovery of devices and services on a local network using industry standard IP protocols. Bonjour makes it easy to discover, publish, and resolve network services with a sophisticated

developer.apple.com

 

 

 

 

 

'ComputerScience > ComputerNetwork' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Computer Network] Chap12. Game Networking  (0) 2023.12.19
[Computer Network] Chap11. Cloud Computing  (0) 2023.12.19
[Computer Network] Chap10. HTTP & SIP  (1) 2023.12.19
[Computer Network] Chap9. Transport layer (2)  (0) 2023.12.19
[Computer Network] Chap8. Transport layer (1)  (0) 2023.12.19