DHCP과 NAT 대해 살펴보고 어떻게 주소가 매핑이 되는지, 대표 프로토콜인 ARP와 IP프로토콜의 한계점을 보완하기 위한 에러보고에 대해 학습한다.

DHCP와 NAT

DHCP의 필요성과 DHCP의 개념에 대해 살펴보고, NAT의 필요성과 NAT의 개념에 대해 학습한다.

DHCP의 필요성

Dynamic Host Configuration Protocol

스마트폰이나 컴퓨터를 사용할 때 IP 주소가 있어야 한다.

IP주소의 역할은 인터넷에 붙어 있는 수많은 컴퓨터들 중에서 어느 하나를 식별하기 위한 식별자 역할을 한다. 그래서 반드시 IP 주소가 필요하다.

그런데 IP 주소를 일일이 설정하는 것이 아니라 자동으로 누군가 할당해주는 것을 DHCP라고 부른다.

  • 소규모의 네트워크의 경우 각각의 IP주소를 직접 분배 및 관리 가능
  • 그러나, 대규모의 네트워크의 경우 직접 분배와 관리가 어려움
    • DHCP가 부재 시 네트워크 관리자는 모든 클라이언트의 통신에 필요한 정보를 직접 입력 및 관리해야 함
  • IP를 보다 효율적으로 할당하고 관리하기 위해 필요
  • IP주소만 할당받는 건 아니고 네트워크 마스크, DNS서버 주소, 기타 관련된 정보를 받음

DHCP의 정적, 동적 할당

  • DHCP는 정적 및 동적 할당 제공
  • 동적 주소 할당
    • DHCP 클라이언트가 DHCP 서버에 요청, 서버는 먼저 정적 데이터베이스를 검사
    • 요청된 실제 주소가 정적 데이터베이스에 존재하면 클라이언트의 영구 IP주소가 반환
    • 없으면 서버는 사용 가능한 풀에서 IP주소를 선택
    • DHCP는 제한된 시간 동안 임시 IP주소를 제공
  • 정적 주소 할당
    • DHCP 서버에는 물리적 주소(MAC주소)를 IP주소에 정적으로 바인드(주소 매핑)하는 데이터베이스가 존재
    • DHCP는 서버 측은 67/UDP, 클라이언트 측은 68/UDP 포트 사용

NAT의 필요

  • Network Address Translation
  • 공인 IP주소의 수 부족(클래스풀 구현에도 불구하고)
  • -> 내부 IP(비공인주소)와 외부 IP(공인주소)를 분리하는 것
    • 중복이 되도 상관없으니 학교, 회사 내부 IP 따로 외부 인터넷으로 나가는 주소를 따로 사용
    • 내부 IP와 외부 IP를 번역하기 위해서 필요한 기술, 장치가 NAT
  • 외부로부터 내부망을 보호
    • 내부를 사설 IP로 구성하여 외부 공격으로부터 보호
    • 외부에선 내부 어떤 컴퓨터에 어떤 IP가 할당되었는지 모름
  • ISP변경에 따른 내부 IP변경 최소화

NAT 특징

NAT는 그룹내에서는 고유한 주소를 갖으며, 외부인터넷에서는 고유한 주소를 갖지 않는다. -> 이해 안 됨

NAT IP 주소 범위

  • 3개의 주소 세트를 개인 주소로 정해놓음
  • 외부 인터넷에 존재 하지 않는다.

IP 주소 사용 방식

단일주소사용

  • 단일주소를 사용하기 위해서는 항상 사설 네트워크에서 시작되야 함
  • 하나의 비공인주소를 하나의 공인주소와 매핑하여 사용하기 때문에 여러 비공인주소(컴퓨터)를 사용하는데 불편함이 있었음

여러 IP주소 사용

  • 단일주소사용의 불편함을 개선시킴
  • 사설 네트워크 호스트의 경우, 각 주소를 한 쌍으로 연결
    • 동일한 외부 호스트와 동시에 통신 가능
  • 정적 NAT
    • 사설IP주소와 전역IP주소 사이에 정적 맵핑
    • 기관 내에서 시스템의 실제IP주소를 은신 가능
  • 동적 NAT
    • pool에서 IP주소 할당
    • 대부분 동적으로 할당

IP주소와 포트 모두 사용

  • 최근에 사용하는 방식
  • 공인 IP주소가 하나더라도 여러 비공인주소가 치고 들어와도 모두 공인으로 변환되어 나갈 수 있게 됨
  • 바깥에서 봤을 땐 하나의 컴퓨터가 여러 프로그램을 접속한 것처럼 보임

NAT 장비

  • NAT은 그룹 내에서 고유한 주소를 갖음
  • 데이터를 주고 받는 경우, 모든 데이터는 NAT 라우터를 통과
    • 출입구 쪽에 대부분 라우터가 존재하기 때문에 NAT 기능을 넣어서 사용함
    • 그래서 IP공유기가 대표적은 NAT라우터
    • 공인 주소는 하나만 사용하는데 내부에서는 여러 컴퓨터를 사용하고 있음
  • 단일 주소 사용

주소 매핑과 에러보고

주소 매핑에 대해 알아본다. 대표적으로 ARP에 대해 살펴보며 필요성과 동작에 대해 공부한다.
그리고 IP프로토콜의 한계점을 보완하기 위한 에러보고(ICMP)에 대해 학습한다.

주소 매핑

  • 데이터를 전달할 때, IP주소는 내 컴퓨터, 상대방 IP주소는 우리가 줬고, 내 MAC 주소는 내 컴퓨터에서 가져오면 된다. 그런데 상대방 MAC주소는 알 수 있나?
    • MAC주소 = 하드웨어 주소=물리 주소 = 이더넷 주소
    • 상대방 MAC주소를 모르면 메시지를 보낼 수 없다.
    • 이더넷 프레임 포맷을 보더라도 제일 앞 필드에 목적지 주소, 송신자 주소가 있고 MAC주소에 목적지 주소가 들어가야 한다.
    • 이를 해결하기 위한 것이 주소 매핑이다.
    • IP주소와 MAC주소를 연결하는 것(내IP-내MAC, 상대IP-상대MAC)
  • IP주소는 논리적인 주소로, 인터넷에 접속된 컴퓨터를 구분
    • 인터넷 전체에서는 IP주소로 식별
  • Ethernet 주소는 물리적인 주소로, 해당 LAN에서 접속된 컴퓨터를 구분
    • MAC주소는 LAN에서만 유일하게 식별
    • MAC주소는 LAN에서 각 장치 구분

주소 매핑 방식

  1. 정적 매핑
    • IP주소와 MAC주소를 연결시키는 테이블을 고정적으로 생성하는 방법
      • 수작업으로 직접 입력도 가능
    • 이 방법에는 문제점이 존재
      • 컴퓨터의 NIC를 교환 가능(LAN카드를 바꾸면 MAC주소가 바뀜)
      • 이동이 가능한 컴퓨터는 하나의 네트워크에서 다른 네트워크로 이동 가능(IP주소 변경 가능성)
  2. 동적 매핑
    • 컴퓨터가 매번 IP주소와 MAC주소의 관계를 프로토콜을 이용하여 구함
    • ARP(Address Resolution Protocol)
      • IP주소에 대응하는 MAC주소를 구하는 프로토콜
      • IP주소에 해당하는 MAC 주소를 묻는 브로드 캐스팅을 수행
      • 해당되는 컴퓨터는 송신자에게 유니캐스트로 응답합
      • 이것을 받아 로컬 캐시에 주소매핑을 해놓음
    • RARP(Reverse Address Resolution Protocol)
      • MAC 주소에 대응한 IP주소를 구하는 프로토콜
      • 현재는 DHCP가 사용
      • 현재 많이 사용하지 않음

에러 보고(ICMP)

  • The Internet Control Message Protocol(ICMP)
  • IP의 단점을 보완하기 위해서 제공 - 에러제어, 흐름제어가 없기 때문에
    • IP프로토콜은 에러제어와 관리기능이 부족
      • 에러보고 메시지(Error-reporting messages) - 에러제어 관련
      • 질의응답 메시지(Query messages) - 관리기능 관련. 상대 정상 동작하는지
      • ICMP는 에러를 정정하지는 않고 단순히 보고만 수행
에러 보고 기능
  • 5가지
  1. 목적지 도달 불가
    • IP패킷을 전달할 수 없을 때, 해당 패킷은 폐기
    • 목적지 도달불가 메시지를 송신지로 전송
  2. 송신자 조절
    • 라우터나 컴퓨터는 혼잡이 발생하면 해당 패킷은 폐기
    • 송신자로 송신자 조절 메시지를 전송
  3. 시간 초과(Time exceeded)
    • 라우터는 TTL필드의 값이 0인 패킷은 폐기
    • 송신자로 시간초과 메시지가 발생
    • 단편화된 메시지가 모두 도착하지 못해 완전한 하나의 패킷을 조절할 수 없을 때 시간 초과 메시지가 발생
  4. 파라미터 문제
    • IP패킷 헤더의 정보 중에서 처리할 수 없는 부분을 발견 시
      • ex) 알 수 없는 버전 정보
  5. 경로 재설정
    • 잘못된 라우터로 패킷을 전달하는 경우
    • ex) 다음부터 목적지가 B로 가는 것은 R1인 나한테 보내지 말고 R2로 보내줘. 그러면 그것을 받은 송신자는 다음부터 B로보낼 때 R2 라우터로 패킷 전송
질의응답(Query)

  • ICMP는 네트워크 문제를 진단하기 위한 행위를 할 수 있음
    • 에코 요청 및 응답(Echo request and reply)
      • 가장 많이 사용함
      • 네트워크 생존 여부 질문
      • PING이 이것에 해당
    • 타임 스탬프 요청 및 응답(Timestamp request and reply)
      • 시간 질문
    • 주소 마스크 요청 및 응답(Address-mask request and reply)
      • 마스크 값 요청
    • 라우터 요청 및 응답(Router solicitation request and reply)
      • 라우터 정보 요청

이동전화의 발전과정에 대해 살펴보고 GPS, 네비게이션 등 위성네트워크에 대해 살펴본다. 그리고 인터넷 프로토콜인 IP프로토콜에 대해 살펴본다.

이동 통신

  • 이동전화, 기지국, MSC로 구성된다.
  • 이동전화와 기지국간에는 무선 통신으로 기지국간, 기지국과 MSC간에는 유선으로 통신한다.(부산으로 통신한다면, 모든 구간을 무선으로 통신하는게 아니라 이동전화와 기지국간에만 무선통신하고 부산까지는 유선으로 통신하게 된다.)
  • 그래서 유선의 비율이 더 높다.
  • 이동전화 서비스 영역인 동시에 한 기지국이 관할하는 영역을 cell이라 한다. 그 cell 영역 안에서 기지국의 관리를 받으면 전화하게 된다.
  • 각 기지국은 MSC(Mobile Switching Center)로 제어
  • MSC는 전화연결, 과금 정보를 기록한다.
  • 이동전화는 우리가 이동을 하면 신호가 한 셀에서 약해진다. 이때 통신하기에 적절한 cell을 찾게 되는데, 그러한 기지국간 이동을 handoff라 한다.
  • 기지국을 탐색하는 작업은 무작위 접근(random access)으로 탐색하게 된다.
  • 기지국을 연결하는 방식에는 2가지가 있다.
    • Hard handoff - 먼저 기존의 연결을 끊고 새로운 cell에 연결한다.
    • Soft handoff - 먼저 새로운 cell에 연결시키고 기존의 연결을 끊는다. 이동 단말이 동시에 두 기지국을 연결

이동 전화 계보

  • 아날로그에서 디지털로, 이후 속도의 발전에 따라 계보가 구분된다.

1G

  • 아날로그 신호를 사용한 음성 통신
  • AMPS(Advanced Mobile Phone System)라고 불리기 시작함 - 위치가 고정된 전화 방식에서 이동식 전화가 가능해진 시스템
    • FDMA를 사용하여 각 채널당 주파수를 단말에 할당
    • 순방향(base station to mobile station), 역방향(mobile station to base station) 채널 2개의 아날로그 채널을 사용

2G

  • 디지털화된 음성신호를 위해 설계
  • 0, 1 간단한 체계
    • 복구에 용이(아날로그는 잡음도 같이 증폭됨)
    • 잡음X
    • 채널 용량 증가
  • 우리나라는 CDMA 채택
    • GPS, SMS, 인터넷 사용이 가능해짐
  • GSM(Global System for Mobile Communication)은 유럽 표준

3G

  • 음성과 데이터 통합 단계
  • 데이터 전송속도가 2Mbps까지 빨라짐
  • 인터넷 접속이 원활
  • CDMA 발전(WCDMA, CDMA2000)

4G

  • ALL IP로 디지털 데이터와 음성통신을 통합
  • 데이터 전송속도가 100Mbps까지 빨라짐
  • 인터넷접속 및 멀티미디어 통신이 원활
  • WCDMA에서 확장된 LTE와 CDMA2000에서 확장된 Wibro로 나뉨
  •  

위성 네트워크

  • 인공위성을 이용한 통신 형태
  • 2개의 Van Allen 벨트로 인해 위치가 나뉨
    • Van Allen는 하전입자를 갖는 계층을 의미
    • Van Allen 벨트에 인공위성이 위치할 경우 하전입자에 의해 파괴될 수 있음
    • 따라서 이 공간에 위성이 위치할 수 없음
  • 벨트를 기준으로 공간을 나누면 LEO, MEO, GEO
  • GEO
    • 정지궤도 위성으로서 지구의 자전속도와 동일하게 움직임(고정된 것처럼 보임)
    • 북극에서 봤을 때, 각 위성이 120도 차이로 존재
  • MEO
    • 2개의 Van Allen 벨트 사이에 위치
    • 6~8시간에 한번 씩 지구를 돌며, gps로 주로 사용
      • 6개의 궤도로 24개 위성이 돌고 있음
    • GPS에서는 4개의 위성으로부터 정보를 받아야 위치 계산이 가능
      • 평면에서는 3개의 점으로부터 거리를 알면 위치 추적이 가능하나, 공간에선 4개가 필요
  • LEO
    • 지구와 가장 가까이 인접해 있기 때문에, 전파지연이 적어서 음성 통신에 주로 사용
      • 왕복 전파지연시간 20ms 이내
    • 이리듐 위성 사용
    • 90~120분에 한번씩 지구를 돌고 있음
    • 6개의 궤도에서 각 궤도 당 11개의 위성(총 66개의 위성)

네트워크 프로토콜의 연결형, 비연결형 프로토콜에 대해 소개하며,
네트워크 계층의 대표 프로토콜인 인터넷 프로토콜의 패킷의 형태패킷의 내부, 단편화에 대해 학습한다.

네트워크 프로토콜의 구분- 연결형, 비연결형 네트워크

  • 연결형 네트워크: 연결 설정을 먼저 한 다음에 데이터를 보냄
  • 비연결형 네트워크: 데이터가 생기면 바로 보내버림(연결설정 과정 없음) Unit Data Transfer

IP(인터넷 프로토콜) = 대표 비연결형 네트워크

IP 특징

  • 비신뢰성(패킷을 보내면 이게 목적지에 잘 갈 수도 중간에 없어질 수도 있다.)
    • 만약에 없어진다고 하더라도 IP에서 하지는 않지만 다른 계층에서 재전송을 하여 복구한다.
  • 비연결형
  • Best-effort 전달 서비스
  • 에러 제어X(사용자 데이터가 에러가 있는지 없는지 확인 안 한다. 헤더만 확인)
    • 헤더에 에러나면 바로 버린다.
  • 흐름 제어X(송신자 쪽에서 패킷을 보내고 수신 측에서 수용 능력에 따라 조절하는 것)
  • 효율성이 좋다(매 패킷마다 가장 좋은 길로 전달)

IP 패킷의 형태

  • IP 패킷 또는 IP 데이터그램
  1. 버전
    • IPv4 또는 IPv6
    • IPv6는 오래 전에 개발했지만 오늘날 와서 사용하게 됨
  2. 헤더 크기(Header length: HLEN)
    • 헤더의 크기를 나타내는 것으로 4바이트 단위로 나타낸 크기
    • 헤더의 크기는 20~60 바이트로 가변적
  3. 서비스
    • ip 패킷의 서비스의 형태
    • 응용서비스마다 주요하게 다루어야 할 특성을 명시
      • 지연시간, 신뢰성, 처리량 등
  4. 전체 길이
    • IP 데이터그램을 바이트단위로 나타낸 전체 길이
  5. 생존시간(Time to live: TTL)
    • IP 데이터그램이 지나가는 최대 홉(hop)의 수
    • 각 라우터를 지나갈 때마다 1씩 감소
    • 값이 0이 되면 라우터는 해당 데이터그램을 폐기
    • 무한 사이클을 방지함
  6. 프로토콜
    • IP 계층 위에 존재하는 상위 프로토콜이 무엇인지 명시
    • TCP/ UDP/ ICMP/ SCTP 등
  7. 체크섬
    • IP패킷의 헤더에 대한 오류 검사를 위해 사용(데이터는 체크 X)
    • 계산 방법
      • 처음에 체크섬의 값을 0으로 설정
      • 전체 헤더를 16비트 단위로 구분하여 1의 보수 연산을 수행
      • 결과 값을 보수로 만들어서 체크섬 필드에 저장
      • 즉, 헤더 부분을 16비트 워드로 보고 쭉 덧셈해서 나온 결과를 보수 취해서 보내면 모두 합했을 때 0이 됨. 그러면 에러 없다고 판단 안되면 어딘지는 모르겠지만 에러가 있다고 판단하여 폐기
  8. 송신자 주소와 목적지 주소
    • 송신자와 수신자의 IP주소를 의미

단편화(Fragmentation)

  • IP패킷을 네트워크가 수용할 수 있는 크기로 맞춰서 잘라내는 것
  • 프레임의 크기와 형태는 네트워크에 따라서 다름
  • IP패킷은 여러 네트워크를 경유하기 때문에 다양한 데이터링크 프로토콜을 거쳐감
  • IP패킷은 네트워크가 수용할 수 있는 크기로 분할, 이를 단편화라 함
  • MTU(Maximum Transfer Unit)가 정해져 있음
  • 압축할 수 있는 것도 아니고 줄일 수 있는 방법은 자르는 것. MTU 사이즈로 자름

단편화 옵션

플래그

  1. 3비트로 구성되며 첫 번째 비트는 사용하지 않음
  2. 두 번째 비트는 단편화 금지를 의미(D: Do not fragment)
  3. 값이 1이면 단편화 하지 말라는 의미
    • 만약 안 자르고는 못 보내면 그 패킷은 폐기
    • 세 번째 비트는 "단편이 더 있음"을 의미(M: More fragments)
    • 값이 1이면 "단편이 더 있음"을 의미
    • 값이 0이면 마지막 단편을 의미
  4. 단편화 위치 값(Fragmentation offset)
    • IP는 비연결형이기 때문에 단편화된 데이터의 순서가 항상 정렬된 상태가 아님
    • 그 순서를 명시한게 offset-처음 위치에서 얼마나 떨어져 있느냐를 나타냄
    • 8로 나눠서 바이트 순서를 명시함(1, 2, 3, 4 이렇게 명시 하는 게 아니라)
  5. 옵션
    • 옵션은 최대 40바이트까지 가능
 1. Record route
    - ip패킷이 어떤 장치들을 지나가는지 ip 주소를 저장할 수 있음
 2. Strict source route
 3. Loose source route
 4. Timestamp
    - 통신 장치를 거칠 때마다 몇 초대에 지나갔는지 명시할 수 있음

+ Recent posts