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클래스 : 예약, 실험용으로 남겨둔 주소
- A 클래스: 첫번째 필드까지 네트워크 대역 구분
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계층에서 다룰 예정
- NAT Table에 없는데 요청 기록이 없는데 응답이 온다면??
- 공인 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, 그 중 쓸 수 있는 가장 낮거나 높은 값 ( 외부로 나가는 문이라는 뜻 )
아래 강의를 정리한 내용입니다.