์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ์ฝ๋ฉํ ์คํธ์ค๋น
- ๊ฐ๋ฐ์์ทจ์
- mariadb
- git merge
- i-type
- ์ค๋ฅ์ ์ด
- ํ๋ ์ ๊ตฌ์กฐ
- ์์๋ฒํธ
- reducible
- leetcode
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ฐ๋ถํฌdb
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- ๋ฐ์ดํฐ ์ ์ก
- tcp ํ๋กํ ์ฝ
- ์ค๋ ๋
- ์ค๋ฅ๊ฒ์ถ
- xv6
- til
- ํ ํฐ ๋ฒ์ค
- ํญํด99
- ์ฃผ๊ธฐ์ ํธ
- tcp ์ธ๊ทธ๋จผํธ
- ์ค๋ธ์
- ๋น์ฃผ๊ธฐ์ ํธ
- well known ํฌํธ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- IEEE 802
- 99ํด๋ฝ
- ํ๋ก์ด๋์์
- Today
- Total
Unfazedโ๏ธ๐ฏ
๋ฐ์ดํฐ ์ ์ก - ์ค๋ฅ ๊ฒ์ถ ๊ธฐ๋ฒ ๋ณธ๋ฌธ
๋ฐ์ดํฐ ์ ์ก - ์ค๋ฅ ๊ฒ์ถ ๊ธฐ๋ฒ
9taetae9 2024. 11. 13. 13:47ํ๋ ์ ์ ์ก ๊ณผ์ ์ ์ค๋ฅ๋ฅผ ๊ทน๋ณตํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ
1) ์ ์ก ํ๋ ์์ ์ค๋ฅ ๊ฒ์ถ ์ฝ๋๋ฅผ ๋ฃ์ด ํธ์คํธ๊ฐ ์ ์ก ๊ณผ์ ์ ์ค๋ฅ๋ฅผ ๊ฒ์ถ
์ฃผ๋ก ์ฌ์ ์ก์ผ๋ก ์ด๋ฃจ์ด์ง. ex) ํจ๋ฆฌํฐ ๋นํธ, ๋คํญ ์ฝ๋ ๋ฐฉ์
๋คํธ์ํฌ์์๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ ์ก ๋ฐฉ์์ ์ด์ฉํด ์ค๋ฅ๋ฅผ ๋ณต๊ตฌํ๋ ์ญ๋ฐฉํฅ ์ค๋ฅ ๋ณต๊ตฌ(BEC, Backward Error Correction), ARQ(Automatic Repeat reQuest)๋ฐฉ์์ ์ด์ฉํ๋ค.
2) ์ ์ก ํ๋ ์์ ์ค๋ฅ ๋ณต๊ตฌ ์ฝ๋๋ฅผ ๋ฃ์ด ์์ ํธ์คํธ๊ฐ ์ค๋ฅ ๊ฒ์ถ๊ณผ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ๋ชจ๋ ์ํ
์ค๋ฅ ๋ณต๊ตฌ ์ฝ๋๋ฅผ ์ฌ์ฉํด ์์ ํธ์คํธ๊ฐ ์ค๋ฅ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ์ํํ๋ ๋ฐฉ์์ ์๋ฐฉํฅ ์ค๋ฅ ๋ณต๊ตฌ(FEC, Forward Error Correction)๋ผ ํจ
ex) ํด๋ฐ ์ฝ๋(Hamming Code)์๋ 1 ๋นํธ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๊ณ ๋ณต๊ตฌํ๋ ๊ธฐ๋ฅ์ด ์์
์ค๋ฅ ๊ฒ์ถ
๋คํธ์ํฌ์์ ์ผ๋ฐ์ ์ผ๋ก ์ด์ฉํ๋ ์ญ๋ฐฉํฅ ์ค๋ฅ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ์ํํ๋ ค๋ฉด ์์ ํ ํ๋ ์์ ์ค๋ฅ๊ฐ ์๋์ง ํ๋จํ ์ ์์ด์ผ ํ๋ค.
์ด๋ฅผ ์ํด์ ์ก์ ํธ์คํธ๋ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๊ธฐ ์ํ ์ฝ๋๋ฅผ ์ ์ก ๋ฐ์ดํฐ์ ํจ๊ป ์ก์ ํด์ผ ํ๋ค.
์ค๋ฅ ๊ฒ์ถ ์ฝ๋๋ ํจ๋ฆฌํฐ ๋นํธ, ๋ธ๋ก ๊ฒ์ฌ, ๋คํญ ์ฝ๋ ๋ฑ์ ์ด์ฉํด ์์ฑ ๊ฐ๋ฅํ๋ค.
ํจ๋ฆฌํฐ ๋นํธ(Parity bit)
1๋ฐ์ดํธ ๊ตฌ์กฐ์์ ํจ๋ฆฌํฐ ๋นํธ๋ 7๋นํธ์ ASCII ์ฝ๋๋ฅผ ์ ์ธํ ๋๋จธ์ง 1 ๋นํธ์ด๋ค. ํจ๋ฆฌํฐ ๋นํธ๋ ์ ์ก ๊ณผ์ ์์ 1๋นํธ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๊ธฐ ์ํ ๊ฒ์ผ๋ก ํจ๋ฆฌํฐ ๋นํธ๋ฅผ ํฌํจํด 1์ ๊ฐ์๊ฐ ์ง์๋ ํ์ ๊ฐ๊ฐ ๋๋๋ก ํ๋ค.
ex) 1101001 ์ด๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํจ๋ฆฌํฐ(even parity)๋ฐฉ์์ ์ฌ์ฉํด ์ ์กํ๋ ค๋ฉด 11010010์ ํํ๋ก ๋ง๋ค์ด ์ ์กํ๋ค. ์ฆ, ์ง์ ํจ๋ฆฌํฐ ๋ฐฉ์์์๋ ๋ฐ์ดํฐ ๋์ ํจ๋ฆฌํฐ ๋นํธ๋ฅผ ์ถ๊ฐํด ์ ์ฒด 1์ ๊ฐ์๋ฅผ ์ง์๋ก ๋ง๋ ๋ค. ์์ ํธ์คํธ๋ 1์ ๊ฐ์๋ฅผ ํ๋จํ์ฌ ํ์์ผ ๊ฒฝ์ฐ ์ ์ก ์ค๋ฅ๋ก ํ๋จํ์ฌ ์ก์ ํธ์คํธ์๊ฒ ์ฌ์ ์ก์ ์๊ตฌํ๋ค.
ํ์ ํจ๋ฆฌํฐ(odd parity) ๋ฐฉ์์ 1์ ๊ฐ์๋ฅผ ํ์๋ก ๋ง๋๋ ๊ฒ์ด๊ณ ์์ ํธ์คํธ๋ 1์ด ํ์ ๊ฐ์ธ์ง ํ๋จํ๋ค.
์ก์ ํธ์คํธ์ ์์ ํธ์คํธ๋ ์ง์ ํจ๋ฆฌํฐ๋ ํ์ ํจ๋ฆฌํฐ ์ค ๋์ผํ ํ๊ฐ์ง ๋ฐฉ์์ ์ฌ์ฉํด์ผ ํ๋ค.
ํจ๋ฆฌํฐ ๋ฐฉ์์ 1 ๋นํธ ์ค๋ฅ์ ๊ฐ๋จํ ์ ์ฉํ ์ ์๋ ์ฅ์ ์ด ์์ง๋ง, ์ง์๊ฐ์ ๋นํธ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๊ฒ์ถ๋์ง ์๋๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค.
๋ธ๋ก ๊ฒ์ฌ(Block Sum Check)
๋ค์์ ๋นํธ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๋ ๋ฐฉ๋ฒ
์ด ๋ฐฉ์์์๋ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํธ๋ฅผ ํ๋์ ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑํ ํ ๊ต์ฐจ ๊ฒ์ฌ๋ฅผ ํ๋ค. ์ฆ, ๋ธ๋ก ๋ฐ์ดํฐ์ ์ํ๊ณผ ์์ง ๋ฐฉํฅ์ ๋ชจ๋ ํจ๋ฆฌํฐ ๋นํธ๋ฅผ ๋ ์ผ๋ก์จ ์ง์ ๊ฐ์ ์ค๋ฅ ๊ฒ์ถ์ด ๊ฐ๋ฅํด์ง๋ค.
์์ ๊ทธ๋ฆผ์์ ์ค๋ฅธ์ชฝ์ ํ์ํ ํจ๋ฆฌํฐ ๋นํธ๋ ์ํ ๋ฐฉํฅ์ผ๋ก ์ง์ ํจ๋ฆฌํฐ๋ฅผ, ์๋์ชฝ์ ๋ธ๋ก ๊ฒ์ฌ ๋นํธ๋ก ํ์ํ ๋ฐ์ดํฐ๋ ์์ง ๋ฐฉํฅ์ผ๋ก ์ง์ ํจ๋ฆฌํฐ ๋นํธ๋ฅผ ์ ์ฉํ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ํ ๋ฐฉํฅ์ผ๋ก ์ง์ ๊ฐ์ ๋นํธ๊ฐ ๊นจ์ง๋ฉด ์์ง ๋ฐฉํฅ์ ๋ธ๋ก ๊ฒ์ฌ ๋นํธ๋ก ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๊ณ , ์์ง ๋ฐฉํฅ์ผ๋ก ์ง์ ๊ฐ์ ๋นํธ๊ฐ ๊นจ์ง๋ฉด ์ํ ๋ฐฉํฅ์ ํจ๋ฆฌํฐ ๋นํธ๋ก ์ค๋ฅ๋ฅผ ๊ฒ์ถ์ด ๊ฐ๋ฅํ๋ค.
๋ธ๋ก ๊ฒ์ฌ์ ๋ฌธ์ ์ ์ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ์๊ณผ ๋น๊ตํด ์ค๋ฅ ๊ฒ์ถ์ ์ํ ์ค๋ฒํค๋๊ฐ ํฌ๋ค๋ ๊ฒ์ด๋ค.
๋ํ, ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ํ ์์ง ๋ฐฉํฅ์์ ๋ชจ๋ ์ฌ๊ฐํ ํํ๋ก ์ง์ ๊ฐ์ ๋ฐ์ดํฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ค๋ฅ๋ฅผ ๊ฒ์ถํ์ง ๋ชปํ๋ค.
๋คํญ ์ฝ๋(Polynomial Code),(CRC, Cyclic Redundancy Code)
๋คํธ์ํฌ ํ๋กํ ์ฝ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์ค๋ฅ ๊ฒ์ถ ๊ธฐ๋ฒ์ผ๋ก ๋คํธ์ํฌ์์ ๋ฐ์ํ๋ ์ค๋ฅ๋ ํน์ ์์น์์ ์ง์ค์ ์ผ๋ก ๋ฐ์ํ๋ ๋ฒ์คํธ ์๋ฌ(Burst Error) ํํ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ๋คํญ ์ฝ๋ ๋ฐฉ์์ ์ด๋ฐ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ ํ๋ฅ ์ด ๋๋ค.
์์ฑ ๋คํญ์
๋คํญ ์ฝ๋ ๋ฐฉ์์ ๊ณ์๊ฐ 0๊ณผ 1์ธ ๋คํญ์ ํํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํจ
- ์ด์ง์ ๋ฐ์ดํฐ๋ฅผ ๋คํญ์์ผ๋ก ํํํ์ฌ ์ฐ์ฐ์ ์ํ
- ์: 101101 → xโต + x³ + x² + 1 (๊ฐ 1์ด ์๋ ์์น๋ฅผ ์ง์๋ก ํํ)
์ฃผ์ ๊ตฌ์ฑ ์์
- M(x): m๋นํธ ๊ธธ์ด์ ์๋ ๋ฐ์ดํฐ
- G(x): n+1๋นํธ ๊ธธ์ด์ ์์ฑ ๋คํญ์
- ์ฒดํฌ์ฌ: n๋นํธ ๊ธธ์ด์ ์ค๋ฅ ๊ฒ์ถ ์ฝ๋
์ฒดํฌ์ฌ ๊ณ์ฐ ๊ณผ์ (์ก์ ์ธก)
Step 1) ๋ฐ์ดํฐ ์ค๋น
- ์๋ณธ ๋ฐ์ดํฐ M(x) ๋ค์ n๋นํธ์ 0์ ์ถ๊ฐ
- n์ ์์ฑ ๋คํญ์์ ์ฐจ์
Step 2) ๋ชจ๋๋ก-2 ๋๋์ ์ํ
- ํ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ G(x)๋ก ๋๋
- ๋๋จธ์ง๊ฐ ์ฒดํฌ์ฌ์ด ๋จ
Step 3) ์ ์ก ๋ฐ์ดํฐ ์์ฑ
- ์๋ณธ ๋ฐ์ดํฐ + ์ฒดํฌ์ฌ
๋ชจ๋๋ก-2 ์ฐ์ฐ์ ํน์ง
- ๋ง์ /๋บ์ ์ ์๋ฆฌ์ฌ๋ฆผ/์๋ฆฌ๋น๋ฆผ ์์
- XOR ์ฐ์ฐ๊ณผ ๋์ผํ ๊ฒฐ๊ณผ
- 1 ⊕ 1 = 0
- 1 ⊕ 0 = 1
- 0 ⊕ 1 = 1
- 0 ⊕ 0 = 0
์)
์์ฑ ๋คํญ์ G(x) = xโต + x² + 1 (100101) => 6๋นํธ ์์ฑ ๋คํญ์
์๋ ๋ฐ์ดํฐ = 101101001
๊ณ์ฐ ๊ณผ์
1) ์๋ณธ ๋ฐ์ดํฐ์ 0 ์ถ๊ฐ (5๋นํธ) 101101001 00000
2) ๋ชจ๋๋ก-2 ๋๋์ ์ํ 101101001 00000 ÷ 100101 => XOR ์ฐ์ฐ๊ณผ ๋์ผ
3) ๋๋จธ์ง(์ฒดํฌ์ฌ) = 00010
4) ์ต์ข ์ ์ก ๋ฐ์ดํฐ 101101001 00010
์์ ์ธก ๊ฒ์ฆ ๊ณผ์
Step 1) ์์ ๋ฐ์ดํฐ ๊ฒ์ฆ
- ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ G(x)๋ก ๋๋
Step 2) ๊ฒฐ๊ณผ ํ๋จ
- ๋๋จธ์ง = 0 → ์ค๋ฅ ์์
- ๋๋จธ์ง ≠ 0 → ์ค๋ฅ ๋ฐ์
Step 3-A) ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ
- ์ฒดํฌ์ฌ ์ ๊ฑฐ
- ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์์ ๊ณ์ธต์ผ๋ก ์ ๋ฌ
Step 3-B) ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ
- ๋ถ์ ์๋ต(NAK) ์ ์ก
- ์ฌ์ ์ก ์์ฒญ
์ฒดํฌ์ฌ์ ์ค๋ฅ ๊ฒ์ถ๋ง ๊ฐ๋ฅ (์ค๋ฅ ์์ ์ ๋ถ๊ฐ)
์ฐธ๊ณ ์๋ฃ :
์ฝ๊ฒ ๋ฐฐ์ฐ๋ ๋ฐ์ดํฐ ํต์ ๊ณผ ์ปดํจํฐ ๋คํธ์ํฌ 3ํ - ๋ฐ๊ธฐํ ์ง์