물리 계층과 데이터 링크 계층만으로는 다른 네트워크와의 통신을 할 수 없다.
물리 계층의 허브, 데이터 링크 계층의 스위치는 LAN 내에서 (동일 네트워크 내에서) 통신을 가능하게 한다.
이를 위해 네트워크 계층의 라우터를 사용한다. 다른 네트워크에 속한 특정 목적지로 가기 위한 최적의 경로를 구하는 과정을 라우팅이라고 한다.
현실적으로, 모든 호스트가 모든 네트워크의 MAC 주소를 파악하고 있는 건 불가능하다.
보통 네트워크에서 통신을 할 때, MAC 주소와 IP 주소를 함께 사용하되, IP 주소를 우선해서 확인한다.
MAC 주소 : 물리주소, IP 주소 : 논리주소
MAC 주소는 일반적으로 NIC에 할당되는 고정된 주소이나, IP 주소는 사용자가 직접 할당할 수도 있고, 하나의 호스트가 여러 개의 IP 주소를 가질 수도 있다.
네트워크 계층의 가장 핵심적인 프로토콜
IP의 두 가지 버전 : IPv4, IPv6
( 우선 흔히 쓰이는 IPv4를 기준으로 IP에 대해 설명하고, IPv6을 설명하려한다.)
송/수신지를 IP의 형태로서 표기한다.
사진 출처 : https://ko.wikipedia.org/wiki/IP_%EC%A3%BC%EC%86%8C
4바이트(32비트)로 표현
숫자 당 8비트로 표현되고, 이를 구분하기 위해 '.'을 찍는다.
'.'으로 구분된 8비트을 옥텟이라고 한다.
패킷의 크기가 MTU보다 크다면, 이를 여러 개의 패킷으로 나누어 전송한다.
MTU (Maximum Transimission Unit)
: 한 번에 전송 가능한 IP 패킷의 최대 크기
: IP 패킷에서 헤더도 포함한 크기
: 일반적으로 1500바이트이다. (이더넷 프레임의 페이로드 최대 크기가 1500바이트이고, 이더넷 프레임의 페이로드는 IP 패킷이다.)
: 수신지에 도착하면 다시 재조합됨.
⭐ 경로 MTU
: 패킷이 목적지까지 도달하기까지 거치는 모든 노드의 MTU 이하 크기의 MTU
: 경로 MTU 발견을 통해 알아낼 수 있다.
(전부다 설명하지는 않았고, 헤더에서 주요 정보들만을 뽑아서 설명하였다.)
식별자
: 패킷을 구분하기 위해 할당된 번호
: 수신지에서 재조합 시 사용된다. (어떤 메세지로부터 쪼개어진 패킷인지를 판단하기 위함)
플래그
: 3비트로 구성
위치 | 플래그 이름 | 설명 |
---|---|---|
1번째 | 0으로 예약된 비트 | 사용하지 않는다. |
2번째 | DF (Don't Fragment) | 1 : 단편화 X / 0 : 단편화 O |
3번째 | MF (More Fragment) | 1 : 아직 도착하지 않은 패킷 O / 0 : 마지막 패킷 |
단편화 오프셋
: 메세지가 여러 패킷으로 단편화 되었을 경우, 초기 데이터에서 얼마나 떨어져 있는가를 나타내는 필드
: 수신지에서 재조합 시, 패킷을 순서에 맞게 재조합하기 위해 사용
TTL
: Time To Live의 약자
: 패킷의 수명을 의미
: 홉마다 1씩 감소
: 네트워크 상에서 무의미한 패킷이 남아있지 않도록 하기 위함
프로토콜
: 상위 프로토콜을 나타내는 필드
: 이더넷 프레임의 타입/길이 필드와 유사
송/수신지 IP 주소
: 이름 그대로, 송/수신지의 IP 주소를 나타내는 필드
사진 출처 : https://en.wikipedia.org/wiki/IPv6_address
16바이트 (128비트)로 주소를 표현
콜론(:)으로 구분된 8개의 그룹, 16진수로 표현.
이론적으로 2^128개, 사실상 무한에 가까운 개수를 할당할 수 있다.
사진 출처 : https://ko.wikipedia.org/wiki/IPv6
다음 헤더
: 상위 계층의 프로토콜을 가리키거나,
: 확장 헤더를 가리킨다.
홉 제한
: IPv4의 TTL 필드와 유사
: 패킷의 수명을 나타냄
송/수신지 IP 주소
: 이름 그대로 송/수신지의 IP 주소를 나타냄
- ARP 요청
- ARP 응답
- ARP 테이블 갱신
의 순서로 이루어진다.
ARP 요청
: 수신지 IP 주소를 담은 ARP 패킷을 전송
: 브로드캐스트 메시지의 형태로 전송
ARP 응답
: 해당 IP 주소를 가진 호스트가 자신의 MAC 주소를 담은 ARP 패킷을 전송
: 유니캐스트 메세지의 형태로 전송
ARP 테이블 갱신
: ARP 응답을 받은 호스트는 ARP 테이블을 갱신한다.
사진 출처 : http://www.ktword.co.kr/test/view/view.php?no=2188
오퍼레이션
: ARP 패킷의 종류를 의미. 1이면 요청, 2면 응답
송/수신지 하드웨어 주소
: 송/수신지의 MAC 주소 명시
: ARP 요청시 송신지 주소 00:00:00:00:00:00
, 수신지 주소 ff:ff:ff:ff:ff:ff
송/수신지 프로토콜 주소
: 송/수신지의 IP 주소 명시
MAC 주소 - IP 주소간 대응관계를 저장한 테이블
각 항목은 시간이 지나면 삭제된다. (임의 삭제도 가능)
사진 출처 : https://www.networkstraining.com/classful-vs-classless-ip-addressing/
0
으로 시작10
으로 시작110
으로 시작호스트 주소가 모두 0
: 네트워크 자체를 의미하는 주소
호스트 주소가 모두 1
: 브로드캐스트 주소
따라서 각 클래스의 호스트 주소 가짓수에서 위 2개를 빼주어야한다.
[IP주소] /[1의 개수]
로 표기
- DHCP Discover
- DHCP Offer
- DHCP Request
- DHCP ACK
의 과정으로 IP 주소를 할당받을 수 있다.
DHCP Discover
: 클라이언트 -> DHCP 서버
: DHCP 서버를 찾는다.
: 브로드캐스트 메세지의 형태로 전송
: 송신지 IP 주소 : 0.0.0.0
DHCP Offer
: DHCP 서버 -> 클라이언트
: 할당해줄 IP 주소와 부가정보 등을 전송
DHCP Request
: 클라이언트 -> DHCP 서버
: 해당 IP 주소 사용 권한을 요청
DHCP ACK
: DHCP 서버 -> 클라이언트
: 해당 메세지를 받으면 클라이언트는 임대 기간동안 IP 주소를 사용
사진 출처 : https://www.techtarget.com/searchnetworking/definition/routing-table
수신지 IP 주소 / 서브넷 마스크
다음 홉 (=게이트웨이)
: 최종 수신까지 가기 위해 다음으로 거쳐야하는 주소나 인터페이스
네트워크 인터페이스
: 패킷을 내보낼 통로
메트릭
: 해당 경로로 이동하는데 드는 비용
: 작을 수록 최적의 경로
사진 출처 : https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/asInfo.jsp
147p 1번
IPv4의 대표적인 기능 IP 단편화
, IP 주소 변환
187p 2번
라우팅 프로토콜은 AS 내부에서 수행되는 IGP
, AS 외부에서 수행되는 EGP
로 나뉜다.
RIP
는 대표적인 거리 벡터 라우팅 프로토콜, OSPF
는 대표적인 링크 상태 라우팅 프로토콜
ipconfig /all
명령어 입력
Physical Address
가 MAC 주소를 의미하고, IPv4 Adrress
가 IP 주소를 의미한다.