상세 컨텐츠

본문 제목

TCP/IP illustrate 2

Computer Science/Network

by yellowmarine 2020. 7. 23. 12:38

본문

2. The Inthernet Address Architecture

2.1 Introduction

  • 왜 mac address가 있는데 굳이 새로운 주소인 IP를 쓰는것인가?

    • Mac address의 경우 일정한 규칙이 없이 접속이 됨으로 그룹핑 하는데 매우 어려운 문제가 존재한다. 그렇기 때문에 table의 크기가 매우 커지게되고 이로 인해 효율성이 매우 떨어진다.
    • DHCP를 통해 동적으로 IP를 할당하여 그룹핑하는데 매우 좋은 이점을 가질 수 있다.
  • IPv4 와 IPv6의 등장 배경

    • IPv4의 경우 xxx.xxx.xxx.xxx 총 8비트씩 4개의 그룹으로 표현되어 약 40억개의 ip를 할당 가능하다. 하지만 이 숫자로 현재 모든 인터넷 유저에게 할당하는것은 불가능하다.
    • 임시방편으로 NAT이라는 방법을 쓰고 있지만 라우터의 일을 가중시키고 있다.
    • 이를 해결하기 위해 총 128비트를 쓰는 IPv6가 탄생하였고 IPv4에서 전환이 되가는 추세이다.

2.2 Expressing IP Address

  • IPv4
    • 총 32bit로 binary하게 나타내어진다.
    • 실제 사람들이 알아보기 편하게 10진수로 xxx.xxx.xxx.xxx의 형식으로 8bit(0~255)씩 쪼개 나타낸다.
  • IPv6
    • 총 128bit로 binary하게 나타내어진다.
    • 하나의 block을 16bit으로 쪼개어 16진수로 ffff:ffff:ffff:ffff:ffff:ffff:fffff:ffff의 형식으로 8개의 block으로 쪼개어 나타낸다.
    • 총 8개의 block이 존재하기 때문에 주소를 16진수로 변환할 경우 0의 숫자가 많을 수 있다. 이를 해결하기 위해 중간에 xxxx:0000:xxxx:0abc:~ 의 경우 xxxx::xxxx:abc라고 표기 할 수 있다. 즉, 0으로 표현된 block은 ::으로 표현이 가능하며 각 블럭의 시작이 0으로 채워질 경우 생략가능하다.
    • IPv4의 주소를 담아서 보낼 수 있다.
    • 정말 많은 수의 ip를 나타낼 수 있다.

2.3 IP Address Structure

2.3.1 Classful Addressing

  • 첫번째 비트 부터 4번째 비트 까지 어떻게 표현되어지는가에 따라 아이피를 모두 선점하는 방식으로 심각한 ip고갈을 일으키는 주범이였다.

2.3.2 Subnet Addressing

  • 클래스로 나누어진 네트워크를 규모가 작은 네트워크로 분할 할 필요가 있어지면서 등장하였다.
  • 네트워크를 규모에 맞게 나눌 수 있고 낭비되는 IP주소 자원의 최소화 및 네트워크 내의 브로드 캐스팅 부하를 줄 일 수 있다.

2.3.3 Subnetmask

  • 첫번째 비트 부터 정해진 숫자까지 고정된 ip를 쓸것이라 선언하는 prefix 개념을 사용하여 xxx.xxx.xxx.xxx/24 라는 형식으로 표현한다.
  • prefix를 통해 특정 비트까지 1로 채운 binary bit를 서브넷 마스크라고 한다.
  • 서브넷 마스크를 통해 주소를 라우팅 테이블을 줄여갈 수 있다!

2.3.4 Variable- Length Subnet masks

  • 만약 라우팅 테이블이 192.30.xxx.xxx , 192.30.1.xxx 두개가 있다고 한다면, 192.30.1.123 이라는 주소는 어느 테이블을 참조해서 가게 될것인가??
    • 조금이라도 더 긴 prefix를 따라 192.30.1.xxx의 라우팅 주소를 따라가게 된다.

2.3.5 Broadcast address

  • 서브넷 마스크와 반대로 다른 1은 0, 0은 1로 변환해서 주소를 만들어내면 브로드캐스트 주소가 된다.

2.3.6 IPv6 aderssess and interface identifiers

  • ipv6는 하나의 컴퓨터에서 통신을 위해 사용하는 node-local, 한 인터넷 내에서 사용할 link-local, 외부로 나가는 global scope가 존재한다.
  • ipv6를 사용하기 위해서 mac address도 변환이 되야하는데 이를 위해 48비트에서 64비트로 변환된 주소값을 사용하도록 권장한다.

2.4 CIDR & aggregation

2.4.1 Prefix

  • 기존의 클래스 형식으로 ip 주소를 나누것이 아닌 가변적인 prefix된 값을 사용하여 ip를 나눈다.

2.4.2 Aggregation

  • 위의 그림처럼 prefix를 통해 ip를 그룹핑 할 수 있기때문에 라우팅 테이블 자체가 줄어드는 효과를 볼 수 있다.

개념

Unicast, Multicast, Broadcast

  • unicast
    • 1:1 통신으로 서로의 mac address를 알고 있어서 프레임으로 감싸 통신 하는 방법이다.
    • 의문점
      • 서로의 mac address를 안다는건 브로드캐스트를 무조건적으로 한번 거친거라고 보는게 맞는가?
      • Mac address를 통한 통신 방식이니까 로컬 통신 혹은 GWR까지만 가능한 통신 방법인가? -> 외부에서는 라우팅을 하기위해 ip주소를 참조하니까!?
  • broadcast
    • 불특정 다수의 로컬 연결된 네트워크의 address를 알고자 사용하는 방식이다.
    • ARP , DHCP 등 여러 프로토콜에서 ip, mac 주소를 알고자 사용하는 방법이다.
  • multicast
    • 브로드캐스트의 경우 자원소모가 너무 심하기 때문에 특정 그룹에게 자료를 전송하고자 할때 사용하는 방식이다.
    • class D의 ip들이 할당이 된다.

'Computer Science > Network' 카테고리의 다른 글

Hash & Consistent hasing  (0) 2021.01.11
Naver에 접속 해보자  (0) 2021.01.08
TCP/IP illustrate 1  (0) 2020.07.20
DHCP  (0) 2020.07.09
TLS / SSL  (0) 2020.06.01

관련글 더보기