ํฌ๋ก๋ฏธ์ ์คํ์์ค์ WebRTC ORG์ ๋
ธ๋ ฅ์ผ๋ก ์ฐ๋ฆฐ ํธํ๊ฒ ์น์ ํตํด ์ค์๊ฐ์ผ๋ก ์์๊ณผ ์์ฑ์ ์ก์ถํ ์ ์๋ WebRTC ๋ผ๋ ํ๋กํ ์ฝ์ ์ ํ ์ ์๊ฒ ๋์๋ค.
๋๊ตฌ๋ ์์ฝ๊ฒ ์์ํ์, ํ์์ฑํ
๋ฑ์ ์๋น์ค๋ฅผ ๋น์ผ ๋ฏธ๋์ด ์๋ฒ ์์ด ๋ง๋ค ์ ์๊ฒ ๋์๋ค.
๊ทธ๋ ๋ค๊ณ ๋๊ตฌ๋ ์ ๋ง๋๋ ๊ฑด ์๋๋ค.
IT ๊ด๋ จ๊ธ ๋ณด๋ฌ๊ฐ๊ธฐ
WebRTC๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐฉํ ํ์ค์์ ์๋ํ๋ ์ค์๊ฐ ํต์ ๊ธฐ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋์์, ์์ฑ, ์ผ๋ฐ ๋ฐ์ดํฐ๋ฅผ ํผ์ด ๊ฐ์ ์ ์กํ๋๋ก ์ง์ํ๋ฏ๋ก ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ ฅํ ์์ฑ ๋ฐ ์์ ์ปค๋ฎค๋์ผ์ด์ ์๋ฃจ์ ์ ๋น๋ํ ์ ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ๋ชจ๋ ์ต์ ๋ธ๋ผ์ฐ์ ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์ฃผ์ ํ๋ซํผ์ ๊ธฐ๋ณธ ํด๋ผ์ด์ธํธ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. WebRTC์ ๊ธฐ์ ์ ๊ฐ๋ฐฉํ ์น ํ์ค์ผ๋ก ๊ตฌํ๋๋ฉฐ ๋ชจ๋ ์ฃผ์ ๋ธ๋ผ์ฐ์ ์์ ์ผ๋ฐ JavaScript API๋ก ์ ๊ณต๋ฉ๋๋ค. Android ๋ฐ iOS ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ๋ค์ดํฐ๋ธ ํด๋ผ์ด์ธํธ์ ๊ฒฝ์ฐ ๋์ผํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. WebRTC ํ๋ก์ ํธ๋ ์คํ์์ค์ด๋ฉฐ Apple, Google, Microsoft, Mozilla ๋ฑ์ด ์ง์ํฉ๋๋ค. ์ด ํ์ด์ง๋ Google WebRTCํ์์ ๊ด๋ฆฌํฉ๋๋ค.
MCU, SFU, P2P
WebRTC ๊ธฐ๋ฐ์ ์์ํ์ ์๋น์ค์์ ์ฌ์ฉํ๋ ์ฐ๊ฒฐ ๊ตฌ์กฐ์ ๋ํ ์ด์ผ๊ธฐ์ด๋ค.
- P2P (Peer to Peer)
- SFU (Selective Forwarding Unit)
- MCU (Multipoint Contorol Unit)
P2P
์๋ฒ ๋ฐฉ์์ด ์๋ ํด๋ผ์ด์ธํธ ๊ฐ์ ์ฐ๊ฒฐ ๋ค์ค ์ฐ๊ฒฐ ๋ฐฉ์์ผ๋ก Mesh ๊ตฌ์กฐ๋ฅผ ์๊ฐํ๋ฉด ๋๋ค.
์๋ฒ๋ ๋คํธ์ํฌ์ ๋ํ ์ง์์ด ํ๋ถํ์ง ์์๋ ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ์๊ฐ ์์ํ์ ์๋น์ค๋ฅผ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
4๊ฐ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ๋๋ค๊ณ ํ๋ค๋ฉด, 1๊ฐ์ ํด๋ผ์ด์ธํธ๋ 3๊ฐ์ ํด๋ผ์ด์ธํธ์ 3๊ฐ์ ๊ฐ๋ณ ์ปค๋ฅ์ ์ ๋งบ๊ณ ๋ฏธ๋์ด๋ฅผ ์ก์ถํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ 3๊ฐ ๋ฏธ๋์ด๋ฅผ ์์ ํ์ฌ ๋ด ํ๋ฉด์ ๋์คํ๋ ์ดํ๋ฉด ๋๋ค.
์๋ฒ ์์์ ์ด์ฉํ์ง ์๋ ๋์ ๊ฐ ํด๋ผ์ด์ธํธ์ ๋คํธ์ํฌ I/O ๋ถํ๊ฐ ๋๊ฒ ๋ฐ์ํ๊ณ ์ปดํจํฐ์ HW ๋ฆฌ์์ค ์ฌ์ฉ๋ฅ ๋ ๋ง์ด ์ฆ๊ฐํ๊ฒ ๋๋ค. ๊ทธ๋์ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ ์ ๊ฒฝ์ฐ ๋งค์ฐ ์ ๋ฆฌํ ๊ตฌ์กฐ์ด์ง๋ง ์ฐ๊ฒฐํด์ผ ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ง์ ๊ฒฝ์ฐ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํด์ผ ๋ ๊ฒ์ด๋ค.
์ฃผ์ ํฌ์ธํธ
- ๊ฐ๋จํ๊ณ ๋น ๋ฅด๊ฒ ๊ตฌํํ ์ ์๋ค.
- ์๋ฒ ๋น์ฉ์ด ๋ค์ง ์๋๋ค.
- ์ข ๋จ๊ฐ ์ํธํ๊ฐ ๊ฐ๋ฅํ๋ค.
- ์ฌ์ฉ์ PC์ ๋ง์ ๋ถํ๋ฅผ ์ค๋ค.
SFU
์๋ฒ๋ฅผ ์ด์ฉํ์ฌ ํด๋ผ์ด์ธํธ์ ๋ฏธ๋์ด ์คํธ๋ฆผ์ ์ค๊ณํ๋ ์ญํ ์ ์ํํ๋ฉฐ ์ํฉ์ ๋ฐ๋ผ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ ์ผ๋ถ๋ง ์ค๊ณํ๊ธฐ๋ ํ๋ค. P2P ์์ ๋ค์์ ์ฌ์ฉ์๋ฅผ ๋ค๋ฃจ๊ธฐ ํ๋ ๋ถ๋ถ์ ์ถฉ๋ถํ ์ปค๋ฒํ ์ ์๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ค.
P2P์ ๊ฒฝ์ฐ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ ์๋งํผ์ ์ ๋ก๋ ํธ๋ํฝ์ด ๋ฐ์ํ์ง๋ง SFU๋ ์ ๋ก๋ ์ปค๋ฅ์ ์ 1๊ฐ๋ง ์ ์งํ๋ฉด ๋๋จธ์ง๋ ์๋ฒ์์ ๊ฐ ํด๋ผ์ด์ธํธ๋ก ๋ถ๋ฐฐํ์ฌ ๋ด๋ ค์ฃผ๊ฒ ๋๋ค. ๋ํ์ ์ผ๋ก ZOOM ์ด ์ฌ์ฉํ๊ณ ์๋ ๊ตฌ์กฐ๋ก 1000๋ช ์ด ํ ๋ฒ์ ์ฐ๊ฒฐ๋์ด ํ์๋ฅผ ํ ์ ์๋ ์ ๋๋ก ํจ์จ์ ์ด๋ผ ๋ณผ ์ ์๋ค.
๋จ, ๊ฐ๋ณ ํด๋ผ์ด์ธํธ๋ ์ ์ํ ํด๋ผ์ด์ธํธ ์(๋๋ ๋ด ํ๋ฉด์ด ๋์คํ๋ ์ดํด์ผ ๋๋ ํด๋ผ์ด์ธํธ ์)๋งํผ์ ์์๊ณผ ์์ฑ์ ๋์ฝ๋ฉํด์ผ ํ๋ค. ์ ์ํ ํด๋ผ์ด์ธํธ ์๊ฐ ๋ง์ผ๋ฉด ๋ง์์๋ก PC์ ์์ ์ฌ์ฉ๋์ด ๋ง์์ง๋ฉด์ ํ์๊ฐ ์ด๋ ค์ธ ์ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด SVC ์ฝ๋ฑ์ด๋ Simulcast ๋ฅผ ํ์ฉํด์ผ ํ๋ค. ZOOM ์ ๊ฒฝ์ฐ๋ PC์์ ํ ๋ฒ์ 25๊ฐ์ ํด๋ผ์ด์ธํธ์ ๋ฏธ๋์ด๋ฅผ ๋์ฝ๋ฉํ๋๋ก ์ค๊ณ๋์ด ์๋ค. (์๋ง ๊ทธ ์ด์ ๋์คํ๋ ์ด๋ ์ปดํจํฐ์ ์์ ์๋ชจ๊ฐ ๋งค์ฐ ์ฌํ ๊ฒ์ผ๋ก ์์๋๋ค.) ๋ํ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ ๊ณ ๋ คํ๋ค๋ฉด ๋ชจ๋ฐ์ผ AP์ ๋์ฝ๋ฉ ์ฑ๋ฅ๋ ๊ฐ์ํด์ผ ํ๋ค.
์ฃผ์ ํฌ์ธํธ
- P2P ๋ณด๋ค ๋คํธ์ํฌ ํธ๋ํฝ์ด ์ ๊ฒ ๋ฐ์ํ๋ค.
- ๋๊ท๋ชจ ์ฐ๊ฒฐ์ ์ ํฉํ๋ค.
- ์ํฉ์ ๋ฐ๋ฅธ ๋ฏธ๋์ด ํ์ง ์กฐ์ ์ ํ ์ ์๋ค.
- ๊ฐ๋ณ ๋ ์ด์์ ์กฐ์ ์ด ๊ฐ๋ฅํ๋ค.
MCU
์๋ฒ๋ฅผ ์ด์ฉํ์ฌ ์ ๋ก๋๋ ๋ฏธ๋์ด์คํธ๋ฆผ์ ํ๋๋ก ํฉ์ณ(Mixing)์ ํด๋ผ์ด์ธํธ์ 1๊ฐ์ ๋ฏธ๋์ด์คํธ๋ฆผ์ ๋ด๋ ค์ฃผ๋ ๊ตฌ์กฐ์ด๋ค. P2P ์ SFU ์์ ๋ฐ์ํ๋ ํธ๋ํฝ์ ์ค์ผ ์ ์์ผ๋ ๋ฏธ๋์ด์คํธ๋ฆผ์ ํฉ์น๋ ๋์์์ ์๋ฒ์ ์์์ ๋ง์ด ์๋ชจํ๊ฒ ๋๋ค.
MCU ๋ฐฉ์์ ์๋ฒ ์์์ ํ์ฉํ์ฌ ๊ฐ ํด๋ผ์ด์ธํธ์ ๋ถ๋ด์ ์ค์ด๋ ์ฐ๊ฒฐ ๋ฐฉ์์ด๋ค. ๋ณดํต ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ์ ์์์ 1๊ฐ๋ก Mixing ํ๋ ํํ๊ฐ ์ผ๋ฐ์ ์ด์ง๋ง ์ฌ์ฉ์๊ฐ ๋ง์ ๊ฒฝ์ฐ 2-3๊ฐ ๊ทธ๋ฃน ํํ๋ก Mixing ํ์ฌ ๋ถ์ํ ์ ๋ฑ ๋๊ท๋ชจ ์ ์์ ์ฒ๋ฆฌํ ์๋ ์๋ค.
MCU ๋ฐฉ์์ ์ํธํ๋ ๋ฏธ๋์ด ์คํธ๋ฆผ์ด ์๋ฒ ํ ๋ฒ ๋ณตํธํ๋๊ณ ๋ค์ ์ํธํ๋๋ ํํ๋ก ์๋ฒฝํ ์ข ๋จ๊ฐ ์ํธํ๋ผ ๋ณด๊ธฐ ์ด๋ ต๋ค.
ํ๋๋ก Mixing ๋ ์์์ ์ฉ๋์ด๋ ํด์๋๊ฐ ๋์ ์ ์๊ธฐ ๋๋ฌธ์ ์ํํ ์๋น์ค๋ฅผ ์ํด์๋ ํธ๋์ค์ฝ๋ฉ์ด๋ ๋ณ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํด์ผ ํ๋ค.
์ฃผ์ ํฌ์ธํธ
- ํด๋ผ์ด์ธํธ ํธ๋ํฝ์ ์ค์ผ ์ ์๋ค.
- ์๋ฒ์ ์์์ ๋ง์ด ์ฌ์ฉํ๋ค.
- ์ํฉ์ ๋ฐ๋ผ ๋ฏธ๋์ด ํ์ง์ ์กฐ์ ํด์ผ ํ๋ค.
์ ๋ฆฌ
์ฝ๋ก๋19๋ก ์ธํด ์๊ฒฉ๊ทผ๋ฌด๊ฐ ๋ด๋ ธ๋ฉ๋ก ์๋ฆฌ ์ก์๊ฐ์ ๋ฐ๋ผ ์์ํ์์ ๋ํ ์์๊ฐ ์ฆ๊ฐํ๊ณ ์๋ค. ์ด๋ก ์ธํด ํ์ ํด์ ์ ๊ณตํ๋ ์๋น์ค ์ ๊ณต์๋ค์ด ์ ๊ทผ์ฑ์ด ์ฉ์ดํ WebRTC ๊ธฐ๋ฐ์ ์์ํตํ๋ ์์ํ์ ์๋น์ค๋ฅผ ์ถ์ํ๊ณ ์๋ค. ํ์ง๋ง ์๋น์ค ํ์ง ์ ์ง๋ฅผ ์ํ ๋ ธํ์ฐ๊ฐ ์๋ค๋ฉด ์ด์์ ๋ง์ ์ ๋ก ์ฌํญ๋ค์ ๊ฒช์ ์๋ฐ์ ์๋ค. ์ธ์ ๋ ์ฐ๋ฆฌ ๊ณ ๊ฐ๋ค์ ์๊ฐ์ง๋ ๋ชปํ ๋ค์ํ ํ๊ฒฝ์์ ์๋น์ค๋ฅผ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค.
SFU, MCU, P2P ์ฐ๊ฒฐ ๋ฐฉ์ ์ค 1๊ฐ ๋ง์ ์ง์คํ์ฌ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ๋ณด๋ค๋ ์ํฉ์ด๋ ๋๋ฉ์ธ ํน์ฑ์ ๋ง๊ฒ ์ตํฉ๋ ํํ๋ก ์ ๊ณตํ๋ ๋ฐฉ์์ ๊ฒํ ํด๋ณด๋ ๊ฒ์ด ์ข์ ๊ฒ์ด๋ค.
Google Meet ๋ ZOOM ์ SFU ์ฐ๊ฒฐ ๋ฐฉ์์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ํ์ ์ธ ๊ธฐ์ ์ด๋ค.
์ ํต์ ์ธ HW ๊ธฐ๋ฐ ์์ํ์ ์ ์ฒด๋ MCU ์ฐ๊ฒฐ๋ฐฉ์์ ๊ธฐ๋ณธ์ผ๋ก ํ๋ฉฐ ์์ฆ์ SFU๋ ๋ณํํ๋ ํํ์ด๋ค.
๊ฐํน ์์ ๋ฏธํ ์ด๋ ์๊ฒฉ ์ง๋ฃ์ P2P ํํ๋ก ์ฐ๊ฒฐ๋๋ ์๋น์ค๋ค์ด ์๊ธฐ๋ ํ๋ค.
'๋์งํธ ๊ฟํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๋ง์ ์์๋ ์์ฑํ๊ธฐ (feat, ๋ฒ๋ก & SW๊ธฐํ์) (0) | 2022.04.24 |
---|---|
WebRTC ๊ฐ๋ ์๋ฆฌ > ๋น๋์ค ์ฝ๋ฑ (0) | 2022.04.22 |
ํํ์ ํ ์คํ (exploratory testing), ์ ์์ผ ์ํํธ์จ์ด ๊ฐ๋ฐ (0) | 2022.04.18 |
๋๊ธ