• Home
  • About
    • Ara Jo photo

      Ara Jo

      Aspiring Backend Developer :)

    • Learn More
    • Email
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

Book/성공과 실패를 결정하는 1% 네트워크 원리/3장

02 Sep 2021

Reading time ~2 minutes

1. 케이블의 앞은 LAN 기기였다

케이블과 리피터, 허브 속을 신호가 흘러간다

  • 패킷의 헤더에 기록된 제어 정보로 목적지를 판단해 목적지로 패킷을 중계
  • 내부의 데이터 부분은 보지 않고 목적지 주소만 보고 패킷을 중계

⇒ 모든 패킷은 아무 관련도 없는 별개의 것으로 간주하고 목적지를 향해 중계됨

라우터의 패킷 중계 동작

  • 라우터 = 중계 부분 + 포트 부분
    1. 중계 부분 : 패킷의 중계 대상을 판단하는 동작을 담당 (like IP 담당 부분)
    2. 포트 부분 : 패킷을 송수신하는 동작을 담당 (like LAN 어댑터)
  • 라우터의 각 포트에는 MAC 주소와 IP 주소가 할당되어 있음
    1. IP주소
      • 라우터는 IP 주소로 중계 대상을 판단
      • 라우팅 테이블 (경로표) : 라우팅 테이블의 수신처의 정보(IP주소)와 수신한 패킷의 수신처 IP 주소를 비교하여 패킷을 중계
    2. MAC주소
      • 라우터는 자신의 MAC주소에 해당하는 패킷만 수신하고 해당하지 않는 패킷은 폐기
      • 수신이 끝나면 맨 앞의 MAC 헤더를 제거
  • 라우터의 경로표에서 넷마스크 항목이 0.0.0.0인 행은 기본 경로를 나타냄

통신 상대까지 패킷을 전달하는 전체의 동작은 IP(라우터)가 담당하고, 이 동작을 할 때 다음 라우터까지 패킷을 운반하는 부분은 이더넷(스위칭 허브)가 담당

2. 라우터의 부가 기능

  • 라우터의 주요 두 가지 기능 : 주소 변환, 패킷 필터링

1. 주소 변환

  • 주소 변환 : 패킷을 중계할 때 IP헤더에 기재된 IP주소와 포트번호를 바꿔쓰는 것
  1. private IP : 어떤 그룹 내에서만 사용하는 IP 주소
    • 특별한 구조를 가진 것이 아니라 원래 퍼블릭 주소에서 사용하던 것 중 범위를 정해서 그룹 내에서만 사용하기로 약속한 것
    • 일원화하여 관리하지 않으므로 신청할 필요가 없고 누구나 자유롭게 사용 가능
    • 단, 그룹 내에서 중복은 안 됨
  2. public IP ⇒ IP 부족 문제를 해결하기 위해
  • 내부에서 외부로 액세스하는 경우
  1. 최초로 흐르는 패킷을 중계할 때 송신처의 IP 주소를 private IP에서 public IP(주소변환장치의 인터넷측에 있는 포트에 할당된 주소)로 바꿈과 동시에 포트번호(미사용 번호를 적당히 선택하여 사용)도 바꿈
  2. 바꿔쓰기 전의 private IP 주소와 포트 번호, 바꿔쓴 후의 public IP 주소와 포트번호를 한 세트로 하여 주소 변환 장치 내부의 대응표에 기록
  3. 해당 패킷을 송신 후 회신 패킷이 돌아오면 회신 패킷의 수신처에서 바꿔쓴 public IP와 포트번호를 가지고 대응표에서 private IP와 포트 번호를 찾아 바꿔씀
  4. 모든 데이터 송수신이 끝나고 연결 끊기 동작을 해 접속 동작이 끝나면 대응표에 등록해둔 것 삭제
  • 포트 번호를 바꿔쓰는 이유
    • 포트 번호를 바꿔쓰지 않으면 private IP와 public IP가 1대 1로 대응해서 인터넷에 접속하는 대수만큼 public IP가 필요 ⇒ 이 점을 개선하기 위해 포트 번호 바꿔쓰기가 고안됨
    • 클라이언트 측의 포트 번호는 원래 비어있는 것이어서 무작위로 선택해도 문제 발생 X
    • 포트번호를 바꿔쓰면 한 개의 public IP를 수만 개의 private IP에 대응시킬 수 있으므로 훨씬 이용 효율이 높아짐
  • 외부에서 내부로 액세스하는 경우
  • 내부에서 외부로 액세스하는 경우와는 다르게 private IP와 포트 번호가 대응표에 등록되어 있지 않아 중계를 할 수 없음 ⇒ 내부에서 의도적으로 외부에 액세스하지 않는 한 외부에서 내부에 패킷을 보낼 수 없음(부정 침입 방지 효과)
  • 외부에서 내부로 액세스하려면 사전에 수동으로 대응표에 등록해두어야 함

2. 패킷 필터링

  • 패킷을 중계할 때 MAC 헤더, IP 헤더, TCP 헤더에 기록되어 있는 내용을 조사하여 그것이 사전에 설정한 조건에 합치되면 패킷을 중계하거나 폐기되는 동작을 실행
  • 대부분의 방화벽이나 소프트웨어는 이 원리를 이용하여 부정 침입을 방지함


csstudynetworkbook Share Tweet +1