네트워크 (4) | 3계층 프로토콜(IP 주소)

Jihun Kim·2021년 10월 18일
0

네트워크

목록 보기
4/13
post-thumbnail

IP주소

  • 3계층에서 쓰는 주소 체계
    👉 2계층의 경우 MAC 주소를 사용한다.

3계층의 기능

  • 서로 다른 네트워크 대역을 연결하는 역할
    👉 LAN과 LAN을 연결하여 WAN을 만드는 역할
  • 3계층의 대표적인 장비는 '라우터'
    👉 LAN끼리 연결하기 위해서는 '라우터'가 필요하다.

3계층에서 쓰는 주소 : IP 주소

  • 멀리 있는 곳이랑 통신할 때 IP 주소만 있는 것이 아니라, '서브넷 마스크', '게이트웨이'와 같은 것이 추가적으로 필요하다.

3계층 프로토콜

👉 대표적인 3가지가 있다.

  • ARP 프로토콜
  • IPv4 프로토콜
  • ICMP 프로토콜

일반적인 IP 주소(IPv4 주소)

  • 필드가 총 4개로 이루어져 있다.
  • '.' 으로 구분되어 있다.
  • 4byte이며 10진수를 사용한다.
    👉 각 자리가 1byte로 이루어져 있으며 8bit로 표현할 수 있는 값까지 사용할 수 있다.(0~255)
    👉 0.0.0.0 ~ 255.255.255.255 의 범위의 값을 가질 수 있다.

⚡ 1 byte = 8bit(이진수 8개)이다.

Classful IP주소

  • 초기에 만들어진 규칙
  1. A Class 네트워크 대역
  • 첫번째 필드를 네트워크 대역을 구분하는 데 사용한다.
  • 나머지 필드들은 컴퓨터를 구분하는 데 사용한다.
  • 범위 : 0.0.0.0~ 127.255.255.255
    👉 가장 왼쪽의 0과 127을 네트워크 대역 구분에 사용한다.
  1. B Class 네트워크 대역
  • 두 번째 필드까지 네트워크 대역을 구분하는 데 사용한다.
  • 나머지 필드들은 컴퓨터를 구분하는 데 사용한다.
  • 범위 :128.0.0.0~ 191.255.255.255
  1. C Class 네트워크 대역
  • 일반적으로 C Class를 가장 많이 사용했음
  • 마지막 필드만 컴퓨터를 구분하는 데 사용함
  • 범위: 192.0.0.0~ 191.255.255.255
  1. D Class 네트워크 대역
  • 멀티캐스트를 위해 남겨놓은 주소
    👉 일반 PC를 위한 용도가 아니다.
  1. E Class 네트워크 대역
  • 네트워크 대역을 연구하기 위해 실험용으로 남긴 네트워크 대역

Classless IP 주소

  • 만약, 컴퓨터가 적은 곳에 A Class 네트워크 대역을 사용할 경우 나머지 주소를 사용하고 싶으면 해당 네트워크 대역에 꽂아 사용해야 했다.(예를 들어, 100.0.0.1~ 100.0.0.31 을 사용했을 경우 끝자리 1~ 31만 사용하면 나머지 주소는 남는 것이 된다.) 이처럼, 클래스에 딱 맞게 쓰니까 IP 주소가 보급되고 나서 낭비되는 주소들이 매우 많다는 문제가 생겼다.
  • 이러한 문제를 해결하기 위해 등장한 것이 'Classless IP 주소'이다.

👉 Classless IP 주소는 낭비를 줄이기 위해 IP 주소의 필드들 중 원하는곳 어디서든 잘라서 컴퓨터를 구분하는 데 쓸 수 있도록 만든 것이다. 이를 보조하기 위해 '서브넷 마스크'가 나왔다.(즉, IP 주소는 서브넷 마스크를 이용해 네트워크 대역을 구분하게 되는데 Classful IP 주소는 자연스레 Classless IP 주소에 포함되게 된다.)

1. 서브넷 마스크

  • 클래스풀한 네트워크 대역을 나눠주는 데 사용하는 값
  • 2진수로 표기했을 때 1로 시작하며 1과 1 사이에는 0이 올 수 없다는 규칙을 가지고 있다.
    👉 즉, 0이 한 번 나오면 그 뒤는 전부 다 0이 되어야 한다.
    👉 따라서, 1이 나오다가 0이 나오기 시작하면 1까지가 네트워크 대역을 구분하기 위해 사용하는 것이다.
  • 예를 들어, '255.255.255.192' 일 경우
    👉 2진수로 나타내면 '11111111.11111111.11111111.11000000'이 되는데 이는 가장 뒤의 0들은 컴퓨터를 구분하기 위해, 그 앞의 1들은 네트워크 대역을 구분하기 위해 사용된다는 의미이다.
    👉 이 경우 해당 네트워크 대역에 들어갈 수 있는 컴퓨터의 수는 11000000에서 보면 0~63까지 가능하므로(이진수 6자리까지 가능하다.) 총 64대가 된다. 따라서, 낭비되는 IP주소가 많이 줄어든다.
  • 서브넷 마스크는 네트워크 대역을 어디서부터 구분할 지 지정한 값을 의미한다.
    👉 즉, 어디까지가 네트워크 대역이고 어디까지 컴퓨터를 구분하는 것인 지를 나타내는 역할을 한다.
  • IP 주소는 항상 서브넷 마스크와 같이 사용한다.

2. 사설 IP와 공인 IP(IPv4의 개념)

  • 서브넷 마스크를 이용해도 낭비되는 부분이 있어 IP 주소가 부족한 경우가 생기기 시작했으며 이 때문에 IPv6(16byte이기 때문에 표현할 수 있는 숫자가 훨씬 많아짐)로 넘어가자는 이야기가 나오게 됨
  • 이러한 문제를 해결하기 위해 사설 IP와 공인 IP 개념 등장!
    👉 실제로는 Classless IP와 같이 쓰고 있음
  • 사설 IP를 사용하면 공인 IP + 사설 IP(0.0.0.0~255.255.255.255) 형태가 되어 IP 부족 현상이 많이 해결된다.(즉, 추가 IP가 생기는 것)

1. 공인 IP : 인터넷

  • 실제 인터넷 세상에서는 공인 IP로만 통신하며 외부 네트워크 대역에서는 사설 IP 대역이 보이지 않는다.

2. 사설 IP : 같은 네트워크 대역에서 공유하는 IP

  • 사설 IP를 사용하고 있는 장비들은 네트워크 통신을 할 때 무조건 공인 IP로 바꾸어 외부와 통신함
    👉 즉, 우리 네트워크 대역에 속하지 않은 다른 네트워크 대역으로 갈 때(예를 들면 네이버) 공인 IP 하나로 바꾸어 가게 됨
    👉 이 때문에 같은 네트워크 대역에 있는 장비들에서 '내 IP 주소'를 치면 전부 같은 IP 주소를 받게 됨(실제 장비들의 IP 주소와는 다르게 나온다.) 즉, 네이버에서 공유기로 할당된 사설 IP 대역을 볼 때는 IP 주소가 하나이다.
    👉 '내 컴퓨터'에서 확인한 것은 '사설IP 주소'이고 네이버에서 검색한 내 IP 주소는 '공인 IP 주소'이다.
    👉 만약 네이버가 웹툰을 보내주면 어떤 기기인 지는 공인 IP를 받아온 '공유기'가 찾아준다. 다시 말해 내가 '웹툰'을 보고 싶다고 하면 공유기한테 요청을 전달하게 되고 네이버로부터 공유기가 데이터를 받아와 내 기기로 전달해 주게 되는 것

  • 네트워크 주소를 '사설 IP'에서 '공인 IP'로 바꾸어 주는 것을 NAT(Network Address Translation)라 한다
    👉 사실 NAT는 공인 <-> 공인, 사설 <-> 사설 IP로 바꾸어 주기도 한다. 즉, 'IP주소를 바꾸어 주는' 기술인 것이다.
    👉 NAT table에는 어떤 사설 IP가 공유기로 요청을 시도 했는지를 기록한다. 그런데 만약 외부로 나간 적이 없는데 공유기한테 무언가 요청을 보낸 것이 있다면 공유기가 받고 끝나며 외부로 내보내지 않는다. 즉, 외부 서버에 전달 되지 않는다.

  • 만약 바깥에서 사설 IP를 보고 싶다면 '포트 포워딩'이라는 설정을 해주어야 한다.

우리가 집에서 인터넷 신청하는 것은 공인 IP를 신청하는 것이다.

특수한 IP 주소

  • Wildcard : 0.0.0.0
  • 나 자신 : 127.0.0.1(마지막 숫자가 2, 3 등이 되어도 상관 없음)
  • 게이트웨이 주소: IP 주소, 서브넷 마스크와 함께 사용함
    👉 네트워크 대역에서 쓸 수 있는 IP중 가장 작거나 가장 큰 IP를 쓴다. 일반적으로 공유기의 IP를 의미한다. 즉, 외부와 통신하기 위한 IP 주소이다.
    👉 인터넷을 하기 위해서는 따라서 'IP주소 + 서브넷 마스크 + 기본 게이트웨이' 세 가지가 설정되어야 한다.
profile
쿄쿄

0개의 댓글