✏️기본 미션
Ch.03(03-1) 확인 문제 1번(p.147), (03-3) 확인 문제 2번(p.187) 풀고 설명하기
Ch.03(03-1) 확인 문제 1번(p.147)
- IP 주소 지정(IP addressing) : IP주소를 바탕으로 송수신 대상으로 지정하는 것
- IP 단편화(IP fragmentation) : 전송하고자 하는 패킷의 크기가 MTU보다 클 경우 패킷을 나눈다.
Ch.03 (03-3) 확인 문제 2번(p.187)
✏️선택 미션
본인 컴퓨터의 IP 주소와 MAC 주소 파악해 보기
📜내용 정리
Chap03. 네트워크 계층
3.1 LAN을 넘어서는 네트워크 계층
1) 데이터 링크 계층의 한계
- 물리 계층과 데이터 링크 계층만으로는 타 네트워크까지의 도달 경로를 파악하기 어렵다.
- 라우팅(routing) : 패킷이 이동할 최적의 경로를 결정
- 믈리 계층과 데이터 링크 계층의 장비로는 라우팅을 수행할 수 없다.
- MAC 주소만으로는 모든 네트워크에 속한 호스트의 위치를 특정하기 어렵다.
- 모든 호스트가 모든 네트워크에 속한 모든 호스트의 MAC 주소를 알고 있기 어렵다.
- 논리 주소인 IP 주소가 필요하다.
2) 인터넷 프로토콜(Internet Protocol : IP)
- 네트워크 계층의 핵심 프로토콜
- IPv4, IPv6 두 가지 버전이 있다.
(1) IP 주소 형태 (IPv4)
- 4바이트(32비트)로 주소를 표현할 수 있고 숫자당 8비트로 표현되므로 0~255 범위의 10진수(옥텟) 4개로 표현된다.
(2) IP의 기능
- IP 주소 지정(IP addressing) : IP주소를 바탕으로 송수신 대상으로 지정하는 것
- IP 단편화(IP fragmentation) : 전송하고자 하는 패킷의 크기가 MTU보다 클 경우 패킷을 나눈다.
- MTU(Maximum Transmission Unit) : 한 번에 전송 가능한 패킷의 최대 크기
- IP 패킷의 헤더도 MTU 크기에 포함된다.
📍 경로 MTU 발견(Path MTU discovery)
: 경로 MTU(IP 단편화 없이 주고받을 수 있는 최대 크기)를 구하고 해당 크기만큼만 송수신해 IP 단편화를 회피하는 기술
(3) IPv4
- 식별자(identifier) : 패킷의 할당 번호
- 플래그 (flag)
- 3개의 비트로 구성된 필드
- 첫 번째 필드(예약된 비트로 현재 미사용) : 0
- DF : 1일 경우 IP 단편화를 수행하지 않고, 0일 경우 IP 단편화 수행 가능
- MF : 1일 경우 쪼개진 패킷이 더 있다는 뜻이고, 0일 경우 마지막 패킷
- 단편화 오프셋 (fragment offset)
- 패킷이 단편화되기 전에 패킷의 초기 데이터에서 몇 번째로 떨어진 패캣인지를 나타낸다.
- 수신지가 패킷들을 순서대로 조합하기 위해 필요하다.
- TTL (Time To Live)
- 패킷이 하나의 라우터를 거칠 때마다(홉) TTL이 1씩 감소한다.
- TTL 값이 0이 되면 해당 패킷은 폐기된다.
- 프로토콜 (protocol) :상위 계층의 프로토콜이 무엇인지를 나타내는 필드
(4) IPv6
- 16바이트로 주소를 표현할 수 있고, 콜론(:)으로 구분된 8개 그룹의 16진수로 표기된다.
- 다음 헤더 (next header)
- 상위 계층의 프로토콜이나 확장 헤더를 가리킨다.
- IPv6의 헤더는 기본 헤더
- 추가적인 헤더 정보가 필요할 경우 기본 헤더와 더불어 확장 헤더(extension header)라는 추가 헤더를 가리킬 수 있다.
- 확장 헤더는 기본 헤더와 페이로드 데이터 사이에 위치한다.
- IPv6은 단편화 확장 헤더를 통해 단편화가 이루어진다.
3) ARP (Address Resolution Protocol)
- IP주소를 통해 MAC 주소를 알아내는 프로토콜
- 동작 과정 (A에서 B로 패킷을 보내며, IP주소만 아는 경우)
(1) ARP 요청 (ARP Request)
- A는 네트워크 내의 모든 호스트에 브로드캐스트 메시지를 보낸다.
(2) ARP 응답 (ARP Reply)
- 네트워크 내의 모든 호스트는 ARP 요청 메시지를 수신한다.
- 본인이 아닐 경우 무시하고, 본인일 경우 본인의 MAC 주소를 유니캐스트 메시지로 A에게 전송한다.
(3) ARP 테이블 갱신
- ARP 테이블(ARP Table) : ARP를 활용할 수 있는 모든 호스트가 가진 표로 IP주소와 MAC주소를 대응해서 기록
- 다른 네트워크에 속한 호스트에게 패킷을 보내야 할 경우 라우터의 MAC 주소를 알아내서 패킷을 전송한다.
3.2 IP 주소
1) 네트워크 주소와 호스트 주소
- 네트워크 주소 : 호스트가 속한 특정 네트워크를 식별
- 호스트 주소 : 네트워크 내에서 특정 호스트를 식별
2) 클래스풀 주소 체계
- 클래스 : 네트워크 크기에 따라 IP주소를 분류하는 기준
- 클래스풀 주소 체계 : 클래스를 기반으로 IP주소를 관리한다.
- A 클래스
- 네트워크 주소는 비트 0으로 시작하고 1옥텟으로 구성
- 호스트 주소는 3옥텟으로 구성
- 0.0.0.0. ~ 127.255.255.255.
- B 클래스
- 네트워크 주소는 비트 10으로 시작하고 2옥텟으로 구상
- 호스트 주소는 2옥텟으로 구성
- 128.0.0.0. ~ 191.255.255.255
- C 클래스
- 네트워크 주소는 비트 110으로 시작하고 3옥텟으로 구상
- 호스트 주소는 1옥텟으로 구성
- 192.0.0.0. ~ 223.255.255.255.
- 호스트 주소가 모두 0인 IP주소는 해당 네트워크 자체를 의미하는 네트워크 주소로 사용된다.
- 호스트 주소가 모두 1인 IP주소는 브로드캐스를 위한 주소로 사용된다.
- 따라서 실제로 할당 가능한 주소의 개수는 이론상 가능한 주소 개수 - 2이다.
- 클래스별 네트워크의 크기가 고정되어 있기 때문에 다수의 IP주소가 낭비될 가능성이 크다.
3) 클래스리스 주소 체계
- 클래스 개념 없이 클래스에 구애받지 않고 네트워크의 영역을 나눠 호스트에게 IP주소 공간을 할당하는 방식
(1) 서브넷 마스크
- 클래스리스 주소 체계에서 네트워크와 호스트를 구분 짓는 수단
- 서브넷 마스크 : IP주소 상에서 네트워크 주소는 1, 호스트 주소는 0으로 표기한 비트열
- 서브네팅 : 서브넷 마스크를 이용해서 클래스를 원하는 크기로 더 잘게 쪼개어 사용하는 것
- A, B, C 클래스의 기본 서브넷 마스크
- A 클래스 : 255.0.0.0
- B 클래스 : 255.255.0.0
- C 클래스 : 255.255.255.0
(2) 서브네팅 : 비트 AND 연산
- 서브넷 마스크를 이용하여 네트워크와 호스트 주소를 구분짓기 위해 IP 주소와 서브넷 마스크를 비트 AND 연산한다.
- 서브넷 마스크 표기 : CIDF 표기법
- IP주소/서브넷 마스크 상의 1의 개수 형식으로 표기
4) 공인 IP주소와 사설 IP주소
- 공인 IP주소 : 전 세계에서 고유한 IP주소
- 사설 IP주소 : 사설 네트워크에서 사용하기 위한 IP주소
- 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
- 사설 IP주소의 할당 주체는 일반적으로 라우터
- 사설 IP주소를 사용하는 호스트가 외부 네트워크와 통신하기 위해서는 NAT 기술을 이용한다.
- NAT(Network Address Translation) : IP 주소를 변환하는 기
5) 정적 IP주소와 동적 IP주소
- 정적 할당
- 호스트에 직접 수작업으로 IP주소를 부여한다.
- 동적 할당
- 호스트에 IP주소가 동적으로 할당
- 동적 IP 주소는 사용되지 않을 경우 회수된다.
- DHCP : IP 동적 할당에 사용되는 대표적인 프로토콜
- DHCP를 통한 IP 주소 할당은 IP주소를 할당받고자 하는 호스트와 해당 호스트에게 IP주소를 제공하는 DHCP 서버 간 메시지를 주고받으며 이루어진다.
- DHCP Discover
- 클라이언트 -> DHCP 서버
- 클라이언트는 DHCP Discover 메시지를 통해 DHCP 서버를 찾는다.
- 송신지 IP 주소는 0.0.0.0으로 설정
- DHCP Offer
- DHCP 서버 -> 클라이언트
- DHCP 서버는 DHCP Discover 메시지를 받은 뒤 클라이언트에게 DHCP Offer 메시지를 보낸다.
- 클라이언트에게 할당해 줄 IP주소를 제안하는 메시지
- DHCP Request
- 클라이언트 -> DHCP 서버
- DHCP Offer 메시지애 대한 응답으로, 브로드캐스트로 전송된다.
- DHCP ACK
- DHCP 서버 -> 클라이언트
- 해당 메시지를 받은 클라이언트는 할당받은 IP주소를 자신의 IP주소로 설정한 뒤 임대 기간 동안 IP주소를 이용한다.
- DHCP Discover
3.3 라우팅
1) 라우터
- 라우팅 : 패킷이 이동할 최적의 경로를 설정한 뒤 해당 경로로 패킷을 이동시킨다.
2) 라우팅 테이블
- 라우팅 테이블 : 특정 수신지까지 도달하기 위한 정보를 명시한 일종의 표
- 라우터는 라우팅 테이블을 참고해서 수신지까지의 도달 경로를 판단한다.
- 주요 정보
- 수신지 IP주소와 서브넷 마스크 : 최종적으로 패킷을 전달할 대상
- 다음 홉 (게이트웨이) : 최종 수신지까지 가기 위해 다음으로 거쳐야 할 호스트의 IP주소나 인터페이스
- 네트워크 인터페이스 : 패킷을 내보낼 통로
- 메트릭 : 해당 경로로 이동하는 데 드는 비용
- 디폴트 라우트
- 라우팅 테이블에 없는 경로로 패킷을 전송해야 할 경우에 기본적으로 패킷을 내보낼 경로
- 모든 IP주소를 의미하는 0.0.0.0/0으로 명시
3) 정적 라우팅과 동적 라우팅
- 정적 라우팅
- 사용자가 수동으로 직접 채운 라우팅 테이블의 항목을 토대로 라우팅하는 방식
- 동적 라우팅
- 자동으로 라우팅 테이블 항목을 만들고 이를 이용해 라우팅
4) 라우팅 프로토콜
- 라우터끼리 자신의 정보를 교환하여 패킷이 이동할 최적의 경로를 찾기 위한 프로토콜
- AS : 한 회사나 단체에서 관리하는 라우터 집단
- AS 내부에서 수행되는 라우팅 프로토콜 : IGP
- AS 외부에서 수행되는 라우팅 프로토콜 : EGP
(1) IGP (Interior Gateway Protocol)
- RIP (Routing Information Protocol)
- 최적의 경로를 선정하는 과정에서 거리 벡터를 사용한다.
- 거리는 패킷이 경유한 라우터의 수, 즉 홉의 수
- 주기적으로 라우팅 테이블 갱신
- OSPF (Open Shortest Path First)
- 최적의 경로를 선정하는 과정에서 링크 상태를 사용한다.
- 현재 네트워크의 상태를 그래플의 형태로 링크 상태 데이터베이스(LSDB)에 저장한다.
- 대역폭이 높은 링크일수록 메트릭이 낮은 경로로 인식
- 네트워크의 구성이 변경되었을 떄 라우팅 테이블 갱신
- AS를 에어리어라는 단위로 나누고, 에어리어 내에서만 링크 상태를 공유
- 에어리어 경계에 있는 ABR이라는 라우터가 에어리어 간의 연결을 담당한다.
(2) EGP (Exterior Gateway Protocol)
- BGP (Border Gateway Protocol)
- AS 간의 통신이 가능한 대표적인 프로토콜
- eBGP : AS 간의 통신을 위한 BGP
- iBGP : AS 내의 통신을 위한 BGP
- 피어링 : 다른 AS와의 BGP 연결을 유지하기 위해 BGP 라우터끼리 피어 관계가 되도록 연결되는 과정
- BGP 속성
- AS-PATH :메시지가 수신지에 이르는 과정에서 통과하는 AS의 목록
- NEXT-HOP : 다음으로 거칠 라우터의 IP주소
- LOCAL-PREF : 지역 선호도
🤔느낀 점
이번 주도 그림이 많아서 내용을 이해하기 쉬웠습니다! 벌써 절반이 지났네요. 끝까지 힘내보겠습니다.
'독학 > [책] 네트워크' 카테고리의 다른 글
[혼공학습단 12기 혼공네트🌐] 혼자 공부하는 네트워크 week5 (0) | 2024.08.08 |
---|---|
[혼공학습단 12기 혼공네트🌐] 혼자 공부하는 네트워크 week4 (4) | 2024.07.23 |
[혼공학습단 12기 혼공네트🌐] 혼자 공부하는 네트워크 week2 (1) | 2024.07.13 |
[혼공학습단 12기 혼공네트🌐] 혼자 공부하는 네트워크 week1 (0) | 2024.07.01 |
[도서 리뷰 📝] 혼자 공부하는 네트워크 (0) | 2024.04.29 |