λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’» DEV/Network

[Network] μŠ€μœ„μΉ˜μ˜ λ™μž‘ 방식

by vodkassi 2021. 9. 27.
728x90

✨  μŠ€μœ„μΉ˜

λ„€νŠΈμ›Œν¬μ˜ 핡심μž₯λΉ„ 쀑 ν•˜λ‚˜μΈ μŠ€μœ„μΉ˜λŠ” OSI 2계측 (Data Link Layer) 의 μž₯치둜, MAC μ£Όμ†Œ 기반으둜 λ™μž‘ν•œλ‹€. 

 

 

 

πŸ“ μ£Όμš” μ—­ν• 

 

μŠ€μœ„μΉ˜μ˜ μ£Όμš” 역할은 λ‹€μŒκ³Ό κ°™λ‹€.

- λ™μ‹œμ— μ—¬λŸ¬ 단말이 톡신할 수 μžˆλ„λ‘ 함

- νŒ¨ν‚· κ°„μ˜ 좩돌 문제 방지

- λ‹€λ₯Έ νŒ¨ν‚·μ˜ 전달이 λλ‚ λ•ŒκΉŒμ§€ λŒ€κΈ°ν•˜λŠ” λ¬Έμ œ ν•΄κ²°

 

즉, μŠ€μœ„μΉ˜λŠ” νŒ¨ν‚·μ˜ 데이터λ₯Ό μΊ‘μŠν™” λ˜λŠ” λ””μΊ‘μŠν™”ν•˜λŠ” 것이 λͺ©μ μ΄ μ•„λ‹ˆλΌ, νŒ¨ν‚·μ„ 효율적으둜 μ „μ†‘ν•˜μ—¬ μ›ν™œν•œ λ„€νŠΈμ›Œν¬ 톡신이 이루어지도둝 ν•˜λŠ” 것이닀. 

 

❗ OSI 2계측간 μ „λ‹¬λ˜λŠ” 데이터 μœ λ‹›μ€ ν”„λ ˆμž„μ΄λ‹€. 3계측 (Network Layer) μ—μ„œ 각 μ„Έκ·Έλ¨ΌνŠΈμ— IP μ£Όμ†Œλ₯Ό 달아 2κ³„μΈ΅μœΌλ‘œ λ„˜κ²¨μ£ΌλŠ”λ°, 2κ³„μΈ΅μ—μ„œλŠ” 각 μ„Έκ·Έλ¨ΌνŠΈμ— μΆœλ°œμ§€ / λͺ©μ μ§€ MAC μ£Όμ†Œ 헀더λ₯Ό μΆ”κ°€ν•΄ 'ν”„λ ˆμž„'을 κ΅¬μ„±ν•œλ‹€. ν•˜μ§€λ§Œ ν†΅μƒμ μœΌλ‘œ λ„€νŠΈμ›Œν¬μ—μ„œ μ „λ‹¬λ˜λŠ” μœ λ‹›μ„ νŒ¨ν‚·μ΄λΌκ³  μΉ­ν•˜κΈ° λ•Œλ¬Έμ—, μŠ€μœ„μΉ˜μ—μ„œλ„ "νŒ¨ν‚·μ„ μ „λ‹¬ν•œλ‹€" λŠ” ν‘œν˜„μ„ μ‚¬μš©ν•˜κΈ°λ„ ν•œλ‹€.

 

 

✨  MAC ν…Œμ΄λΈ”

μŠ€μœ„μΉ˜λŠ” MAC ν…Œμ΄λΈ” 가지고 μžˆλ‹€. 이 MAC ν…Œμ΄λΈ”μ„ μ΄μš©ν•΄ νŒ¨ν‚·μ„ λͺ©μ μ§€κΉŒμ§€ 잘 전달될 수 μžˆλ„λ‘ ν•˜λŠ” 것이닀. 

 

 

MAC ν…Œμ΄λΈ”μ—λŠ” MAC μ£Όμ†Œμ™€, 단말이 μœ„μΉ˜ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€ (포트) 정보가 λ§€ν•‘λ˜μ–΄ μžˆλ‹€. 즉, μ–΄λŠ ν¬νŠΈμ— μ–΄λ–€ MAC μ£Όμ†Œκ°€ μ—°κ²°λ˜μ—ˆλŠ”μ§€μ— λŒ€ν•œ 정보가 담겨 μžˆλ‹€. λ”°λΌμ„œ μŠ€μœ„μΉ˜κ°€ νŒ¨ν‚·μ„ λ°›μœΌλ©΄ MAC μ£Όμ†Œ ν…Œμ΄λΈ”μ„ ν™œμš©ν•΄ μžμ‹ μ΄ μ•Œκ³  μžˆλŠ” μœ„μΉ˜λ‘œ νŒ¨ν‚·μ„ 전달할 수 μžˆλŠ” 것이닀. 

 

✨  νŒ¨ν‚· 전솑 방식

μŠ€μœ„μΉ˜λŠ” 기본적으둜 MAC ν…Œμ΄λΈ”μ— μ‘΄μž¬ν•˜λŠ” 도착지 μ£Όμ†Œ 가진 νŒ¨ν‚·μ΄ λ“€μ–΄μ˜€λ©΄ λ§€ν•‘λœ 포트둜만 νŒ¨ν‚·μ„ μ „μ†‘ν•˜κ³ , ν…Œμ΄λΈ”에 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 도착지 μ£Όμ†Œλ₯Ό 가진 νŒ¨ν‚·μ΄ λ“€μ–΄μ˜€λ©΄ 전체 포트둜 νŒ¨ν‚·μ„ μ „μ†‘ν•œλ‹€. μ΄λŸ° λ°©μ‹μ˜ μŠ€μœ„μΉ˜ λ™μž‘ 방식은 3κ°€μ§€λ‘œ 정리할 수 μžˆλ‹€. 

 

πŸ“ ν”ŒλŸ¬λ”©

μŠ€μœ„μΉ˜λŠ” μ΄ˆκΈ°μ— 아무 정보가 μ—†μœΌλ©°, MAC ν…Œμ΄λΈ” μ—­μ‹œ λΉ„μ–΄ μžˆλŠ” μƒνƒœμ΄λ‹€. 이 λ•ŒλŠ” νŒ¨ν‚·μ΄ λ“€μ–΄μ˜¨ 포트λ₯Ό μ œμ™Έν•œ λͺ¨λ“  포트둜 νŒ¨ν‚· μ „λ‹¬ν•œλ‹€. 이 μž‘μ—…μ„ ν”ŒλŸ¬λ”©μ΄λΌκ³  ν•œλ‹€. ν”ŒλŸ¬λ”©μ΄ λ§Žμ•„μ§€λ©΄ μŠ€μœ„μΉ˜κ°€ 제 μ—­ν•  λͺ»ν•˜κ²Œ 되기 λ•Œλ¬Έμ—, μŠ€μœ„μΉ˜λŠ” νŒ¨ν‚· 톡신이 μ΄λ£¨μ–΄μ§ˆ λ•Œλ§ˆλ‹€ MAC μ£Όμ†Œλ₯Ό ν•™μŠ΅ν•΄μ„œ MAC μ£Όμ†Œ ν…Œμ΄λΈ”μ„ λ§Œλ“ λ‹€.

 

 * μŠ€μœ„μΉ˜ κ°„ 톡신을 μœ„ν•΄ 각 μŠ€μœ„μΉ˜μ˜ MAC 정보가 사전에 섀정도기도 ν•œλ‹€.

 

TCP/IP μ—μ„œ ARP λΈŒλ‘œλ“œμΊμŠ€νŠΈλ₯Ό 미리 주고받은 λ’€ 데이터 μ „λ‹¬λ˜μ–΄ μ‹€μ œ 데이터 보내고 받을 λ•ŒλŠ” ν”ŒλŸ¬λ”©μ΄ λ°œμƒν•˜μ§€ μ•ŠμœΌλ©°, ν•„μš”ν•œ κ³³μ—λ§Œ νŒ¨ν‚·μ„ ν¬μ›Œλ”©ν•˜κ²Œ λœλ‹€. 그런데 이런 κΈ°λŠ₯을 무λ ₯ν™”ν•˜μ—¬ μΌλΆ€λŸ¬ μŠ€μœ„μΉ˜μ— μ—‰λš±ν•œ MAC μ£Όμ†Œλ₯Ό μž…λ ₯ν•˜κ±°λ‚˜ MAC ν…Œμ΄λΈ”μ„ 꽉 차게 ν•΄ ν”ŒλŸ¬λ”©μ„ μœ λ„ν•˜λŠ” 곡격 μˆ˜λ²•μ΄ μžˆλ‹€. μ΄λŸ¬ν•œ 곡격으둜 인해 λ°œμƒν•˜λŠ” ν”ŒλŸ¬λ”©μ„ 비정상적인 ν”ŒλŸ¬λ”©μ΄λΌκ³  ν•œλ‹€. 

 

πŸ“ μ–΄λ“œλ ˆμŠ€ λŸ¬λ‹

μ–΄λ“œλ ˆμŠ€ λŸ¬λ‹μ€ MAC ν…Œμ΄λΈ”μ„ λ§Œλ“€κ³ , μœ μ§€ν•˜λŠ” μž‘μ—…μ΄λ‹€. μŠ€μœ„μΉ˜λŠ” 일단 νŒ¨ν‚·μ„ λ°›μœΌλ©΄ 받은 νŒ¨ν‚·κ³Ό 포트 번호λ₯Ό MAC ν…Œμ΄λΈ”μ— μž‘μ„±ν•œλ‹€. 

 

πŸ“ ν¬μ›Œλ”©/필터링

μŠ€μœ„μΉ˜λŠ” νŒ¨ν‚·μ΄ λ“€μ–΄μ˜¨ ν›„ 도착지 MAC μ£Όμ†Œλ₯Ό ν™•μΈν•˜κ³  μžμ‹ μ΄ 가진 MAC ν…Œμ΄λΈ”κ³Ό 비ꡐ해 λ§žλŠ” 정보가 있으면 λ§€μΉ­λ˜λŠ” ν•΄λ‹Ή 포트둜 νŒ¨ν‚·μ„ 보낸닀. 이 과정이 ν¬μ›Œλ”©μ΄λ‹€. λ°˜λ©΄ 필터링은, λ§€μΉ­λ˜μ§€ μ•ŠλŠ” λ‚˜λ¨Έμ§€ ν¬νŠΈλ‘œλŠ” νŒ¨ν‚·μ„ 보내지 μ•ŠλŠ” μž‘μ—…μ΄λ‹€. 

 

일반적인 μœ λ‹ˆμΊμŠ€νŠΈ (1:1) ν†΅μ‹ μ—μ„œλ§Œ ν¬μ›Œλ”©κ³Ό 필터링 μž‘μ—…μ΄ λͺ¨λ‘ μˆ˜ν–‰λ˜λ©°, λ©€ν‹°/λΈŒλ‘œλ“œμΊμŠ€νŠΈλŠ” μΆœλ°œμ§€κ°€ μ‚¬μš©λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ „λΆ€ ν”ŒλŸ¬λ”© λœλ‹€. 

 

 

 

✨ 참고자료

λŒ“κΈ€