하나의 네트워크 대역(같은 LAN 대역)에서 존재하는 여러 장비(노드)들 중에서 어떤 장비가 어떤 장비에게 보내는 데이터를 전달
LAN에서 통신할 때 사용하는 주소
실제로 컴퓨터들끼리 IP주소로 통신한다고 봐도 무방
-> MAC 주소는 사용자가 입력하기에 복잡
=> IP주소가 간단한 주소체계이기 때문
3계층에서 주로 쓰는 주소체계
=> IP주소는 더 복잡
3계층은 서로 다른 네트워크 대역
멀리 떨어진 곳에 존재하는 네트워크까지 어떻게 데이터를 전달할지 제어하는 일을 담당
발신에서 착신까지 패킷의 경로 제어
LAN-LAN 연결
서로 다른 네트워크를 연결하려면(멀리 있는 곳으로 가기 위해서는) 라우터와 같은 3계층 장비가 필요
휴대폰, 노트북, 데스크탑 등은 MAC주소를 가지고 있음
멀리 있는 장치들과 통신하기 위해서는 MAC주소 뿐만 아니라 IP주소도 가지고 있어야 함
IP주소는 ipconfig를 통해 알 수 있음
all 넣으면 mac주소도 나온다
ipv4같은 경우에는 멀리있는 곳이랑 통신할 때 ip주소 뿐만 아니라 서브넷마스크, 게이트웨이도 추가적으로 필요
=> 멀리 있는 곳과 통신하기 위한 최소한의 설정
인터넷은 도메인주소로 통신
3계층 프로토콜
ARP프로토콜
IPv4프로토콜
ICMP프로토콜
주로 IPv4를 얘기한다
맨 처음에 만들었을 때에는 Classful(클래스에 맞게 나누어)하게 사용
MAC주소처럼 필드를 나눔
"."/4개로 나누어 구분
10진수로 나누어 사용
8bit-> 2진수 8개=> 2의8승: 256
0~256개의 숫자
하나의 필드가 1바이트. 2진수 8개로 표현할 수 있는 수만 들어갈 수 있음
=> 0~255 까지밖에 못쓴다
이 범위를 각각 클래스 범위로 나누어서 클래스에 맞게 사용하던것이 초창기의 IPv4주소
=> 2의 24승,,,하나의 네트워크 대역으로 16777216개의 PC를 구분할 수 있다. 첫 번째 필드만 네트워크 구분하는데 쓰고 나머지 3바이트만 다른 컴퓨터들을 구분하는데 쓴다.
=> 컴퓨터가 보급되고 인터넷이 시작되면서 IP주소가 부족해지기 시작 - 낭비되는게 많아서!
"Classless하게 사용하자!"
점이 찍혀있는 부분이 아니라 아무데서나 잘라서 쓰는 구간으로
원하는건 어디서든 잘라서 쓸 수 있도록 하자!
IP주소를 사용할 때 서브넷 마스크와 함께 쓴다
=> 네트워크 대역을 보조단위로 잘게 쪼개는 값
네트워크 대역을 어디서부터 구분할것인지 지정
IP 주소에서 첫비트부터 어디까지가 네트워크 부분인가 알려주는 역할
-> IP 주소에 마스크를 씌워서 어디까지가 네트워크 부분인가 표시하는 것
서브네팅
서브넷마스크는 어떻게 네트워크 대역을 중간 지점에서 구분할까?
서브넷 마스크에는 몇 가지 특징이 있다!
=> 네트워크를 구분하는데 쓰는 값: 1과 0이 바뀌는 부분!
=> IP주소로서 2진수를 사용하는 것은 같다
앞에는 네트워크 대역을 구분-> 이후는 하나의 네트워크 안의 컴퓨터 구분하는데 사용
https://www.youtube.com/watch?v=s5kIGnaNFvM&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=6