πŸ”₯ Computer Science/πŸ“‘ λ„€νŠΈμ›Œν¬

3. 데이터링크 κ³„μΈ΅μ—μ„œλŠ” μ–΄λ–€ 일을 ν• κΉŒ? (TCP/IP 2 Layer)

iseunghan 2023. 11. 1. 22:01
λ°˜μ‘ν˜•

μ΄λ”λ„·μ΄λž€?

μœˆλ„μš°λ₯Ό μ‚¬μš©ν•΄λ³΄μ…¨λ‹€λ©΄, 인터넷 μ—°κ²° 확인을 μœ„ν•΄ ν•œλ²ˆμ―€μ€ 봀을 λ²•ν•œ ν™”λ©΄μž…λ‹ˆλ‹€.

 

μœ„μ—μ„œ λ§ν•˜λŠ” μ΄λ”λ„·μ΄λž€ λ¬΄μ—‡μΌκΉŒμš”?

 

일단 데이터 링크 κ³„μΈ΅μ˜ μ€‘μš”ν•œ 역할은 λ„€νŠΈμ›Œν¬ μž₯비간에 μ‹ λ’°λ₯Ό μ£Όκ³  λ°›λŠ” κ·œμΉ™μ„ μ •ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. λžœμ—μ„œ 데이터λ₯Ό μ •μƒμ μœΌλ‘œ λ°›κΈ°μœ„ν•΄ ν•„μš”ν•œ κ³„μΈ΅μΈλ°μš”. 데이터λ₯Ό μ£Όκ³  λ°›κΈ°μœ„ν•΄ 정해진 κ·œμΉ™λ“€ 쀑 ν˜„μž¬λŠ” μ΄λ”λ„·μ΄λΌλŠ” 방식을 μ±„νƒν•΄μ„œ μ‚¬μš©μ€‘μž…λ‹ˆλ‹€.

 

그럼 μš°λ¦¬λŠ” 이제 이더넷이 데이터λ₯Ό μ£Όκ³  λ°›κΈ° μœ„ν•œ κ·œμΉ™μ΄λΌκ³  이해할 수 μžˆκ² λ„€μš”!

 

μ™œ 이런 κ·œμΉ™λ“€μ΄ λ§Œλ“€μ–΄μ‘Œμ„κΉŒμš”? μ•„λž˜μ™€ 같은 상황을 μ‚΄νŽ΄λ΄…μ‹œλ‹€!

μœ„μ™€ 같이 λ™μ‹œμ— 데이터λ₯Ό μ†‘μ‹ ν•œλ‹€λ©΄ μ–΄λ–»κ²Œ λ κΉŒμš”?

λ„€! λ°”λ‘œ 데이터 κ°„ 좩돌이 μΌμ–΄λ‚˜κ²Œ λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν˜„μƒμ„ 이더넷은 μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆμ„κΉŒμš”?

CSMA/CD

λ°˜μ†‘νŒŒ 감지 닀쀑 접속 및 좩돌 탐지(Carrier Sense Multiple Access Collision Detection)의 μ•½μžμΈλ°μš” λ„ˆλ¬΄ κΈΈμ£ .. κ°„λ‹¨ν•˜κ²Œ μ„€λͺ…ν•˜μžλ©΄,

  • CSMA/CD
    • CS: 데이터λ₯Ό λ³΄λ‚΄λ €λŠ” μ»΄ν“¨ν„°μ˜ 케이블에 μ‹ ν˜Έκ°€ 흐λ₯΄κ³  μžˆλŠ”μ§€ 확인!
    • MA: 케이블에 데이터가 흐λ₯΄μ§€ μ•Šλ‹€λ©΄ 보내도 μ’‹λ‹€!
    • CD: 좩돌이 λ°œμƒν•˜κ³  μžˆλŠ”μ§€λ₯Ό ν™•μΈν•œλ‹€!

μ΄λŸ¬ν•œ κ·œμΉ™μ„ ν†΅ν•΄μ„œ 데이터λ₯Ό μ£Όκ³  λ°›μœΌλ©΄ 데이터가 μΆ©λŒν•˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€.

 

μœ„ κ·œμΉ™μ„ μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ©΄ 케이블에 이미 데이터가 μ†‘μ‹ λ˜κ³  μžˆλ‹€λ©΄, λ‹€λ₯Έ 데이터λ₯Ό 보내기 μœ„ν•΄μ„œλŠ” λŒ€κΈ°λ₯Ό ν•΄μ•Όν•΄μš”. μ΄λŸ¬ν•œ νš¨μœ¨μ„± λ•Œλ¬Έμ— ν˜„μž¬λ‘œμ„  CSMA/CDλ₯Ό 거의 μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 더 쒋은 λŒ€μ•ˆμœΌλ‘œλŠ” μŠ€μœ„μΉ˜(Switch)κ°€ μžˆμŠ΅λ‹ˆλ‹€.(λ§ˆμ§€λ§‰μ— λ°°μšΈκ±°μ—μš”!)

MAC μ£Όμ†Œ

λ§₯ μ£Όμ†Œλž€ μ•„λž˜μ™€ 같이 μƒκ²ΌμŠ΅λ‹ˆλ‹€. (총 48λΉ„νŠΈ)

AE:01:3D:9A:7B:C3
|______| |______|
λžœμΉ΄λ“œ      μ œμ‘°μ‚¬κ°€ 뢙인 일련번호
μ œμ‘°μ‚¬ 번호

λ§₯μ£Όμ†ŒλŠ” 쀑볡될 κ°€λŠ₯성이 μ—„μ²­λ‚˜κ²Œ ν¬λ°•ν•˜κΈ° λ•Œλ¬Έμ— μ „ μ„Έκ³„μ—μ„œ μœ μΌν•œ 번호라고 ν•©λ‹ˆλ‹€.

OSI 7κ³„μΈ΅μ˜ 데이터링크(TCP/IP λͺ¨λΈμ—μ„œλŠ” λ„€νŠΈμ›Œν¬ 계측에 ν•΄λ‹Ή) 계측을 거치게 되면, 이더넷 ν”„λ ˆμž„μ΄λΌλŠ” 것이 λ©λ‹ˆλ‹€. 이더넷 ν”„λ ˆμž„μ€ 이더넷 헀더+ 데이터 + 트레일러 λΆ™μ΄κ²Œ λ©λ‹ˆλ‹€.

 

이더넷 헀더

λͺ©μ μ§€ MAC μ£Όμ†Œ, μΆœλ°œμ§€ MAC μ£Όμ†Œ, μœ ν˜• μ΄λ ‡κ²Œ 3가지 정보가 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

  • μœ ν˜•: μƒμœ„ 계측 ν”„λ‘œν† μ½œμ˜ μ’…λ₯˜λ₯Ό λ§ν•©λ‹ˆλ‹€.
    • ex) μœ ν˜•λ²ˆν˜Έ: 0800 → ν”„λ‘œν† μ½œ: IPv4
    • 즉, ν”„λ‘œν† μ½œ μ’…λ₯˜λ₯Ό μ‹λ³„ν•˜λŠ” 번호
  • μ–΄λ””μ„œ λ³΄λƒˆκ³  μ–΄λ””λ‘œ λ³΄λ‚΄λŠ”μ§€μ— λŒ€ν•œ 정보(λͺ©μ μ§€, μΆœλ°œμ§€ MAC μ£Όμ†Œ)λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

 

트레일러

FCS(Frame Check Sequence)라고도 ν•˜λŠ”λ°, 데이터 전솑도쀑에 였λ₯˜κ°€ λ°œμƒν–ˆλŠ”μ§€ ν™•μΈν•˜λŠ” μš©λ„λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.

ν—ˆλΈŒμ˜ 단점을 보완 ν•  μŠ€μœ„μΉ˜!

μ•„κΉŒ CSMA/CD λ°©μ‹μ˜ λŒ€μ•ˆμœΌλ‘œ μŠ€μœ„μΉ˜κ°€ μžˆλ‹€κ³  λ§μ”€λ“œλ Έμ—ˆμ£ ? κ·Έ μŠ€μœ„μΉ˜κ°€ 무엇인지 μ•Œμ•„λ΄…μ‹œλ‹€!

μŠ€μœ„μΉ˜λŠ” 데이터 링크 κ³„μΈ΅μ—μ„œ λ™μž‘ν•©λ‹ˆλ‹€. L2 μŠ€μœ„μΉ˜ λ˜λŠ” μŠ€μœ„μΉ­ ν—ˆλΈŒλΌκ³ λ„ λΆ€λ¦…λ‹ˆλ‹€. μŠ€μœ„μΉ˜μ™€ ν—ˆλΈŒμ˜ κ°€μž₯ 큰 차이점은 νŠΉμ • μ»΄ν“¨ν„°λ‘œ 데이터λ₯Ό 솑신할 수 μžˆλŠ”μ§€μ— μ°¨μ΄μž…λ‹ˆλ‹€.

ν—ˆλΈŒλŠ” λͺ¨λ“  μ»΄ν“¨ν„°λ‘œ μ†‘μ‹ ν•˜μ§€λ§Œ, μŠ€μœ„μΉ˜λŠ” νŠΉμ • μ»΄ν“¨ν„°μ—κ²Œλ§Œ 데이터λ₯Ό 보낼 수 μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ–»κ²Œ 이게 κ°€λŠ₯ν• κΉŒμš”?

 

MAC μ£Όμ†Œ ν…Œμ΄λΈ”

μŠ€μœ„μΉ˜λŠ” MAC μ£Όμ†Œ ν…Œμ΄λΈ”μ„ 가지고 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 과정을 톡해 MAC μ£Όμ†Œ ν…Œμ΄λΈ”μ„ ν™œμš©ν•©λ‹ˆλ‹€.

  1. 데이터λ₯Ό 솑신할 λ•Œ 이더넷 헀더λ₯Ό μ—΄μ–΄λ³Έ λ’€ λͺ©μ μ§€ MAC μ£Όμ†Œκ³Ό μΌμΉ˜ν•˜λŠ”μ§€ ν…Œμ΄λΈ”μ„ μ‘°νšŒν•©λ‹ˆλ‹€.
  2. λ§Œμ•½ μΌμΉ˜ν•˜λŠ” MAC μ£Όμ†Œκ°€ μ—†λ‹€λ©΄, λͺ¨λ“  포트둜 ν”ŒλŸ¬λ”©μ΄λΌλŠ” μž‘μ—…μ„ 톡해 λͺ©μ μ§€ MAC μ£Όμ†Œμ™€ μΌμΉ˜ν•˜λŠ” ν¬νŠΈμ—μ„œ 응닡이 였면 ν•΄λ‹Ή ν¬νŠΈλ²ˆν˜Έμ™€ MAC μ£Όμ†Œλ₯Ό ν…Œμ΄λΈ”μ— μ €μž₯μ‹œν‚΅λ‹ˆλ‹€.
  3. MAC μ£Όμ†Œ ν…Œμ΄λΈ”μ˜ λͺ©μ μ§€ MAC μ£Όμ†Œμ™€ μΌμΉ˜ν•˜λŠ” 포트번호λ₯Ό μ°Ύμ•˜λ‹€λ©΄ ν•΄λ‹Ή 포트둜 데이터λ₯Ό μ†‘μ‹ ν•©λ‹ˆλ‹€. (MAC μ£Όμ†Œ 필터링)

이전에 λ°°μ› λ˜ ν—ˆλΈŒλŠ” λͺ¨λ“  포트둜 데이터λ₯Ό μ†‘μ‹ ν•˜λŠ” λΆˆν•„μš”ν•œ μž‘μ—…κ³Ό λ³΄μ•ˆμ— μœ„ν—˜μ΄ μžˆμ—ˆλŠ”λ°, μ΄λ²ˆμ— 배운 μŠ€μœ„μΉ˜λ₯Ό 톡해 νŠΉμ • ν¬νŠΈμ—κ²Œλ§Œ 보낼 수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

 

λ§Œμ•½ μΈν„°λ„·μœΌλ‘œ λ‚˜κ°”μ„ λ•ŒλŠ” λͺ©μ μ§€λ₯Ό μ–΄λ–»κ²Œ μ°Ύμ•„κ°ˆκΉŒμš”? MAC μ£Όμ†Œλ§ŒμœΌλ‘œ μ°Ύμ•„κ°ˆ 수 μžˆμ„κΉŒμš”? μ–΄λ–»κ²Œ ν•˜λ©΄ μš°λ¦¬κ°€ μ™ΈλΆ€ PC둜 μ°Ύμ•„ 갈 수 μžˆλŠ”μ§€, 이λ₯Ό λ‹΄λ‹Ήν•˜λŠ” λ„€νŠΈμ›Œν¬ 계측을 λ‹€μŒ μ‹œκ°„μ— λ°°μ›Œλ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€!

 

[λͺ©μ°¨] λ„€νŠΈμ›Œν¬ 기초 μ‹œλ¦¬μ¦ˆ (μ•žμœΌλ‘œ μ­‰ ν¬μŠ€νŒ…ν•  μ˜ˆμ •!)

  1. λ„€νŠΈμ›Œν¬λ₯Ό λ“€μ–΄κ°€κΈ° μ•žμ„œ (OSI 7 Layer, TCP/IP 5 Layer, μΊ‘μŠν™”λž€?)
  2. 물리 κ³„μΈ΅μ—μ„œλŠ” μ–΄λ–€ 일을 ν• κΉŒ? (TCP/IP 1 Layer)
  3. 데이터 링크 κ³„μΈ΅μ—μ„œλŠ” μ–΄λ–€ 일을 ν• κΉŒ? (TCP/IP 2 Layer)
  4. λ„€νŠΈμ›Œν¬ κ³„μΈ΅μ—μ„œλŠ” μ–΄λ–€ 일을 ν• κΉŒ? (TCP/IP 3 Layer)
  5. 전솑 κ³„μΈ΅μ—μ„œλŠ” μ–΄λ–€ 일을 ν• κΉŒ? (TCP/IP 4 Layer)
  6. μ‘μš© κ³„μΈ΅μ—μ„œλŠ” μ–΄λ–€ 일을 ν• κΉŒ? (TCP/IP 5 Layer

 

κΈ€ μ½μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

 

λ°˜μ‘ν˜•