3-1 LAN을 넘어서는 네트워크 계층
네트워크 계층 이동방식
- 라우팅: 패킷 이동 최적의 경로 결정
- 네트워크 계층이 존재해야 네트워크 간 라우팅 가능
- 라우터: 라우팅을 수행하는 대표적인 장비
IP주소와 MAC주소
- IP주소: 수신지와 같은 존재
- MAC주소: 수신인과 같은 존재
패킷
- 이더넷 헤더(14바이트)
- 목적지, 출발지 MAC주소: 각 6바이트
- IP헤더(20바이트)
- 식별자: 패킷 식별, 어떤 메시지에서 쪼개졌는지
- 플래그(2바이트)
- Don’t Framgent → IP단편화 진행 1이면 불가능, 0이면 가능
- MF: 0이면 마지막 패킷, 1이면 패킷 더 존재
- 단편화 오프셋: 몇번째 데이터에 해당하는 패킷인지
- ex. 오프셋 1480이면 첫 데이터로 부터 1480떨어짐
- TTL(Time To Live): 홉 지나갈때마다 -1, 0도달시 폐기
- 프로토콜: 상위 계층 프로토콜
- TCP 헤더(20바이트)
- 포트 등등
MTU
- MTU: 한번에 전송가능한 IP패킷의 크기, 일반적으로 1500바이트
- VPN 터널(새로운 헤더를 붙여야해서 제한 MTU가 작다), MPLS 네트워크 같은 특수한 환경
IPv6
- 한정된 IPv4를 대체하기 위8개의 그룹 16진수, 2^128 표현 가능
- 가능한 IPv4의 개수: 256^4 = 약 43억
- 헤더 길이 고정, 기본 40바이트
- IPv4는 고정x
ARP
- IP주소를 통해 MAC주소를 알아내는 프로토콜
- 방식: 동일 네트워크 내에서만 동작, IP주소를 통해 MAC주소 알아내기
- 과정
- A는 B의 MAC주소를 몰라서 브로드캐스트로 ARP요청을 한다
- B가 자신의 MAC주소를 담은 ARP 응답을 A에게 보낸다
- 이후부터 평소와 같이 패킷 전송
IP단편화
- 많이 수행 → 좋지않음
- 여러 패킷 생성, 즉 보내야할 헤더들이 많아짐 → 불필요한 트래픽 증가와 대역폭 낭비 → 다시 합치는 과정에서 성능저하 야기
- 최대 효율: 최대 크기만큼 전송, 경로 MTU의 크기를 알아야함 → 요즘은 균일
3-2 IP 주소
네트워크 주소와 호스트 주소
- 네트워크 주소와 호스트 주소 구분범위 유동적(32비트를 어떻게 나눌지)
- 클래스풀 주소 체계
- IP 주소 관리 체계
- 네트워크 주소 8배수 비트크기에 따라서 A클, B클, C클
- 비트의 시작을 토대로 판단
- A: 0으로 시작
- B: 10로시작
- C: 110로 시작
- A클래스 이론상 2^24승 주소 할당 가능
- 클래스리스 주소 체계
- 클래스 개념없이 더 유동적이고 정교한 네트워크 구획
- 네트워크 영역을 나눠서 호스트에게 IP주소 공간 할당
- 서브넷 마스크
- 네트워크 주소는 1, 호스트는 0으로 표기한 비트열
- A클: (11111111, 00000000, 00000000, 00000000)
- 주소 사이 구분 및 판단: IP주소와 서브넷 마스크 AND연산
- 두숫자가 모드 1이면 1, 아니면 0
공인 IP주소와 사설 IP주소
- 공인 IP주소
- 고유한 IP주소
- 네트워크 간의 통신, 인터넷 이용시에 사용하는 IP주소
- ISP나 공인 IP주소 할당기관 통해서 할당
- 사설 IP주소
- 사설 네트워크(외부에 공개되지않은) 사용
- IP주소의 할당 주체는 라우터
- 사설 네트워크 상에서만 유효한 주소, 즉 다른 네트워크상의 IP주소와 중복 가능
- NAT
- IP주소를 변환하는 기술
- 대부분의 라우터는 NAT기능을 내장
- 패킷 이동간에 사설 IP주소를 공인 IP로 변환 및 전달, 포트와 포트사이를 변환해서 통신해주는 nginx와 비슷
정적 IP 주소와 동적 IP주소
- 정적 IP
- 호스트에 직접 수작업으로 IP주소 부여
- 동적 IP
- 정적으로 넣는 과정에서 발생하는 문제점 해결
- 라우터가 할당하고 이후 회수하는 방식
- ipconfig/all을통해 임대시작, 만료 확인 가능
- DHCP서버간에 메시지 주고받기(라우터와 호스트)
3-3 라우팅
라우터
- 패킷은 서로에게 도달하기까지 여러 라우터를 거쳐 이동, 하나의 과정을 홉(hop)이라고 부름
라우팅 테이블
- 수신지와 도달지 정보가 명시된 표, 정확히는 네트워크상의 특정 수신지까지 도달하기 위한 정보가 담겨있다
- 다음홉: 다음으로 거쳐야 할 호스트의 IP주소 또는 인터페이스 의미, 게이트웨이로 명시
- 네트워크 인터페이스: 패킷을 내보낼 통로
- 메트릭: 해당 경로로 이동하는데 드는 비용
동적 라우팅과 정적 라우팅
정적 라우팅
- 수동으로 직접 채워넣은 라우팅 테이블의 항목을 토대로 라우팅, 다루는 명령어가 존재함
동적 라우팅
- 자동으로 라우팅 테이블 항목을 만들고, 이를 이용하여 라우팅하는 방식
- 규모가 커지고 관리해야할 라우터가 늘었을때 유용
- 중간에 거쳐야할 라우터에 문제가 있을때 다른 라우터를 탐색, 이와 같은 방식이 동적 라우팅
- (동적)라우팅 프로토콜: 라우터끼리 서로의 정보교환하는 프로토콜
범위에 따른 분류
- AS 내외부에 따른 분류
- IGP: AS내부
- EGP: AS외부
- 최적의 경로 선정 과정 방식에 따른 분류
- RIP: 거리 벡터 활용, 거리 기반 최적의 경로(홉 수가 가정 적은 경로)
- 정보 교환시 주기적 테이블 갱신
- OSPF: 링크 상태 활용, 연결 비용&연결 관계등을 기반으로 경로 선택
- 대역폭을 기반으로 메트릭 계산
- 갱신안하다가 네트워크 구성 변경시에만 테이블 갱신
- RIP: 거리 벡터 활용, 거리 기반 최적의 경로(홉 수가 가정 적은 경로)
- AS외부 내용
- BGP: 대표적인 EGP로 AS간의 통신에 사용되는 프로토콜
- AS내에서도 통신이 가능하지만 그 과정이 너무 복잡하고 일정하지 않은 경우가 존재
- AS-PATH: 메시지가 수신지에 이르는 과정에 통과한 AS들의 목록을 의미
- BGP: 대표적인 EGP로 AS간의 통신에 사용되는 프로토콜
출처
- 혼자 공부하는 네트워크(저자: 강민철, 출판사: 한빛미디어)
'CS' 카테고리의 다른 글
[운영체제] OS(조르디 CS강의) (0) | 2023.10.29 |
---|---|
[REST API]REST API란 무엇인가 (0) | 2023.08.04 |