Computer Science/네트워크

OSI 3계층 ( Network Layer )

starter 2023. 10. 23. 18:42

3계층의 기능

  • 다른 네트워크 대역( 서로 다른 LAN )에 존재하는 네트워크까지 어떻게 데이터를 전달할지 제어하는 일을 담당
  • 발신에서 착신까지 패킷의 경로를 제어
  • IP 주소를 사용 ( cmd :: ipconfig 명령어로 확인 가능)
    • IPv4 주소 : 현재 PC에 할당된 IP주소
    • 서브넷 마스크 : IP 주소에 대한 네트워크의 대역을 규정하는 것
      :: 네트워크 대역을 어디서부터 할 지 지정하는 역할  
    • 게이트웨이 : 외부와 통신할 때 사용하는 네트워크의 출입
  •  3계층 프로토콜
    • ARP 프로토콜 : IP주소를 이용해 MAC주소를 알아오는 프로토콜
    • IPv4 프로토콜 : WAN에서 통신할 때 사용하는 프로토콜
    • ICMP 프로토콜 : 서로가 통신되는지 확인할 때 사용하는 프로토콜

일반적인 IP 주소

  • 4Byte, 10진수로 씀 ( 범위 : 0 ~ 255 )
  • 필드가 총 4개로 1Byte씩 나누어져 있으며 '.'으로 구분 

Classful IP 주소

  • 필드 단위로(classful) 네트워크를 구분하였기 때문에 주소의 낭비가 심한 방법
  • A클래스 : 0.0.0.0 ~ 127.255.255.255  
    0 0000000.00000000.00000000.00000000 ~ 01111111.11111111.11111111.11111111
  • B클래스 : 128.0.0.0 ~ 191.255.255.255
    10 000000.00000000.00000000.00000000 ~ 10 111111.11111111.11111111.11111111
  • C클래스 : 192.0.0.0 ~ 223.255.255.255
    110 00000.00000000.00000000.00000000 ~ 110 11111.11111111.11111111.11111111
  • D클래스 : 224.0.0.0 ~ 239.255.255.255
    1110 0000.00000000.00000000.00000000 ~ 1110 1111.11111111.11111111.11111111
  • E클래스 : 240.0.0.0 ~ 255.255.255.255
    1111 0000.00000000.00000000.00000000 ~ 1111 1111.11111111.11111111.11111111
  • 클래스에는 여러 개의 네트워크 대역이 존재함 ( A-1 네트워크 대역, A-2 네트워크 대역 등 ) 
    • A 클래스: 첫번째 필드까지 네트워크 대역 구분 
      0. 0.0.0 ~ 127.255.255.255 => 맨 앞 필드(1Byte)로 대역을 구분함 ( 총 128개 ) 
      : 여러 개의 네트워크 대역을 구분하는 것보단 하나의 내역많은 pc를 구분할 수 있음 ( 약 1670개 )
    • B 클래스 : 두번째 필드까지 네트워크 대역 구분
      128.0. 0.0 ~ 191.255. 255.255 
    • C클래스 : 세번째 필드까지 네트워크 대역 구분
      매우 많은 네트워크 대역, 256개의 pc 구분하므로 일반 pc에 많이 사용
    • D클래스 : 멀티캐스트를 위해 남겨둔 주소
    • E클래스 : 예약, 실험용으로 남겨둔 주소

Classfulless IP 주소

  • 필드 단위로 구분하지 않고, 서브넷 마스크를 사용하여 네트워크 대역을 구분하도록 변경
  • 서브넷 마스크로 어떻게 구분??
    • 서브넷 마스크4Byte이고 2진수로 표기했을 때 1로 시작하며, 1과 1사이에는 0이 올 수 없다는 규칙을 가지고 있다.  ( 0이 나오면 그 이후는 계속 0 ) ex:: 255.255.255.192 -> 11111111.11111111.11111111.11000000
    • 서브넷 마스크 1이 있는 곳까지 네트워크 대역 구분, 0인 부분에서부터 각 네트워크 내역의 pc를 구분
      ex:: 11111111.11111111.11111111.11000000인 경우 pc는 2^6 = 64대 구분 가능
      -> 낭비되는 주소가 줄어듦 

Classless IP 주소

  • 현재 사용하는 IPv4로 사설 IP공인 IP와 함께 사용
  • 공인 IP : 인터넷 네트워크 통신망이랑 통신할 때 사용하는 IP 주소
  • 사설 IP : 같은 네트워크 대역에서 사용하는 IP 주소
  • 사설 IP를 사용하는 장비들은 외부와 통신할 때 공인 IP로 바꿔서 통신하여 부족한 현상 해결
  • 외부에서는 사설 IP 대역의 pc를 구분할 수 없다. 공유기에게 데이터 전달하고 공유기가 그 역할을 수행
    ( NAT : Network Address Translation , 사설 IP 주소를 공인 IP 주소로 바꾸는 기술 )  

사설 IP와 공인 IP의 특징

  • 인터넷 세상에서는 공인 IP로만 통신, 외부 네트워크 대역에서는 사설 IP 대역이 보이지 않음
  • 공유기NAT Table에 어떤 대상이 요청했는지 전달하고 응답이 오면 그 대상 pc에게 전달하는 것
    • NAT Table에 없는데 요청 기록이 없는데 응답이 온다면??
      : 공유기가 받고 끝남, 이러면 만약 사설 IP에 있는 서버에게 요청이 전달되지 않을 수 있음 
        그래서 서버는 보통 공인 IP를 사용하거나 추가적인 설정을 해줘야함
        그 추가적인 설정이 바로 포트 포워딩( Port Forwarding ) // Port 는 4계층에서 다룰 예정
  • 공인 IP 1개당 2^32개의 사설 IP

 

특수한 IP 주소

  • 0.0.0.0 : wildcard, 나머지 모든 IP
  • 127.0.0.1, 127.0.0.2 등 : 127.0.0.으로 시작하는 IP들, 자신의 pc 
  • 게이트웨이 주소 : 일반적으로 공유기의 IP, 그 중 쓸 수 있는 가장 낮거나 높은 값 ( 외부로 나가는 문이라는 뜻 ) 

아래 강의를 정리한 내용입니다.

https://www.youtube.com/watch?v=s5kIGnaNFvM&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=6&ab_channel=%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B4%EC%84%9C%EB%B0%B0%EC%9A%B0%EB%8A%94IT