혼자 공부하는 네트워크(3)

Erdos·2025년 2월 11일
0

혼공단

목록 보기
15/17
post-thumbnail

chpater03 네트워크 계층

3주차

  • chapter3
  • Ch.03(03-1) 확인 문제 1번(p.147), (03-3) 확인 문제 2번(p.187) 풀고 설명하기
  • 본인 컴퓨터의 IP 주소와 MAC 주소 파악해 보기

03-1 LAN을 넘어서는 네트워크 계층

데이트 링크 계층의 한계

  1. 물리 계층과 데이터 링크 계층만으로는 다른 네트워크까지의 도달 경로를 파악하기 어렵다.
  2. MAC 주소 만으로는 모든 네트워크에 속한 호스트의 위치를 특정하기 어렵다.

인터넷 프로토콜

IP의 기능

  • IP 주소 지정(IP addressing)
    • IP 주소를 바탕으로 송수신 대상을 지정하는 것
    • IP 단편화(IP fragmentation): 전송하고자 하는 패킷의 크기가 MTU보다 클 경우, 이 크기 이하의 복수의 패킷으로 나누는 것
    • MTU(Maximum Transmission Unit): 한 번에 전송 가능한 IP 패킷의 최대 크기
  • MTU(Maximum Transmition Unit)

IPv4

위키백과

주소가 32비트로 이루어져 있음
할당된 주소가 거의 소진되었다는 한계점

1.식별자(identifier): 패킷에 할당된 번호. 메시지 전송과정에서 패킷이 여러 조각으로 쪼개져 보내졌다면 이를 인식하기 위해서 사용
2.플래그(flag): DF, MF, 항상 0 / 총 세 개의 비트로 구성된 필드
3.단편화 오프셋(fragment offset): 패킷이 단편화되기 전에 패킷의 초기 데이터에서 몇 번째로 떨어진 패킷인지 나타냄
4.TTL(Time To Live): 패킷의 수명. 패킷이 하나의 라우터를 거칠 때마다 TTL이 1씩 감소. 0이 되면 폐기된다. 무의미한 패킷이 네트워크상에 지속적으로 남아있는 것을 방지하기 위함.

  • hop홉: 패킷이 호스트 또는 라우터에 한 번 전달되는 것

5.프로토콜
6.송신지 IP주소와 수신지 IP주소

IPv6

128비트 주소 체계(2^128)
현재 휴대폰 및 컴퓨터에 할당

위키백과

1.다음 헤더(next header)
2.홉 제한(hop limit)

ARP(Address Resolution Protocol)

IP 주소를 통해 MAC 주소를 알아내는 프로토콜

  1. ARP 요청
  2. ARP 응답
  3. ARP 테이블 갱신

03-2 IP 주소

네트워크 주소와 호스트 주소

  • 네트워크 주소: 네트워크 ID, 네트워크 식별자(network identifier)
  • 호스트 주소: 호스트 ID, 호스트 식별자(host identifier)
  • Ipv4 주소를 기준으로 32비트에서 네트워크 주소와 호스트 주소를 어떻게 할당하는 게 좋은가를 해결하기 위해 생긴 것이 IP 주소의 클래스다.

클래스풀 주소 체계(classful addressing)

  • 클래스: 네트워크 크기에 따라 IP 주소를 분류하는 기준. 클래스를 이용하면 필요한 호스트 IP 개수에 따라 네트워크 크기를 가변적으로 조정해 네트워크 주소와 호스트 주소를 구획할 수 있다.

클래스리스 주소 체계(classless addressing)

  • 클래스별 네트워크의 크기가 고정되어 있기에 여전히 다수의 IP 주소가 낭비될 가능성이 크다
  • 클래스 개념 없이 클래스에 구애받지 않고 네트워크 영역을 나누어 호스트에게 IP 주소 공간을 할당하는 방식
  • 서브넷 마스크를 이용해 네크워크 주소와 호스트 주소를 구분하는 IP 주소 체계

서브넷 마스크(subnet mask)

  • IP 주소상에서 네트워크 주소는 1, 호스트 주소는 0으로 표기한 비트열
  • 서브네팅(subnetting): 서브넷 마스크를 이용해 클래스를 원하는 크기로 더 잘게 쪼개어 사용하는 것

서브네팅: 비트 AND 연산

  • bitwise AND operation
  • 서브넷 마스크와 IP 주소 간에 비트 AND 연산을 수행하면 IP 주소 내의 네트워크 주소를 알아낼 수 있다.

서브넷 마스크 표기: CIDR 표기법

  • Classless Inter-Domain Routing notation

공인 IP 주소와 사설 IP 주소

공인 IP 주소(public IP address)

  • public IP address: 전 세계에서 고유한 IP 주소
  • ISP, 공인 IP 주소 할당 기관을 통해 할당 받을 수 있음

사설 IP 주소와 NAT

  • private IP address: 인터넷, 외부 네트워크에 공개되지 않은 네트워크에서 사용하기 위한 IP 주소
  • Network Address Translation: IP 주소를 변환하는 기술

정적 IP 주소와 동적 IP 주소

정적 할당

  • 호스트에서 직접 수작업으로 IP 주소를 부여하는 방식
  • Static IP address
  • 참고) gateway: 다른 네트워크를 연결해주는 장치
    - default gateway: 호스트가 속한 네트워크 외부로 나가기 위한 기본적인 첫 경로. 네트워크 외부와 연결된 라우터(공유기) 주소를 의미하는 경우가 많다.

동적 할당과 DHCP

  • IP 주소를 일일이 입력하지 않아도 호스트 IP 주소가 동적으로 할당되는 방식

DHCP: Dynamic Host configuration Protocol: IP 주소를 자동으로 할당해주는 프로토콜

  • IP 주소 재사용이 가능한데, 임대 방식이다

1.DHCP Discover(클라이언트 -> DHCP 서버) : 클라이언트는 아직 IP 주소를 할당받지 못했으므로 0.0.0.0 설정
2.DHCP Offer(DHCP 서버 -> 클라이언트) : 클라이언트에게 할당해 줄 IP 주소를 제안(서브넷 마스크, 임대 기간 등의 정보 포함)
3.DHCP Request(클라이언트 -> DHCP 서버) : DHCP offer 메시지에 대한 응답
4.DHCP ACK(DHCP 서버 -> 클라이언트) : 이제 할당받은 IP 주소를 자신의 IP 주소로 설정한 뒤 임대 기간 동안 IP 주소 사용

03-3 라우팅

라우터

  • 네트워크 계층의 장비
  • 홉(hop): 라우팅 도중 패킷이 호스트와 라우터 간에 혹은 라우터와 라우터 간에 이동하는 하나의 과정. 패킷은 여러 홉을 거쳐 라우팅 될 수 있다.

라우팅 테이블

  • routing table: 특정 수신지까지 도달하기 위한 정보를 명시한 일종의 표와 같은 정보
  • 라우터는 라우팅 테이블을 참고하여 수신지까지 도달 경로를 판단함
ip route show table all
  • 사용 중인 컴퓨터가 ubuntu라 위와 같은 명령어로 확인했다.
  • 라우팅 테이블을 공개해도 되나?
    • IP 범위, 게이트웨이, 서브넷 정보가 드러나므로 위험
    • VPN, 내부망 정보 노출
    • 특정 트래픽이 어떤 경로로 전달되는지 알 수 있으므로 라우팅 우회 공격에 취약해질 수 있음

정적 라우팅과 동적 라우팅

정적 라우팅(static routing)

  • 사용자가 수동으로 직접 채워 넣은 라우팅 테이블의 항목을 토대로 라우팅 되는 방식

동적 라우팅

  • 자동으로 라우팅 테이블 항목을 만들고, 이를 이용하여 라우팅하는 방식

라우팅 프로토콜(routing protocol)

라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적의 경로를 찾기 위한 프로토콜

  • AG: Autonomous System

IGP: RIP와 OSPF

  • IGP(Interior Gateway Protocol): AS 내부에서 수행
  • RIP(Routing Information Protocol): 최적의 경로를 선정하는 과정에서 거리 벡터 사용
    • 벨만 포드 알고리즘 이용
    • 거리 기준: 패킷이 경유한 라우터의 수, 홉의 수
  • OSPF(Open Shortest Path First): 최적의 경로를 선정하는 과정에서 링크 상태를 사용.
    • 다익스트라 알고리즘 이용(wow)
    • LSDB(Link State DataBase): 현재 네트워크의 상태를 그래프의 형태로 저장. 라우터들의 연결 관계, 연결 비용 등 현재 네트워크 상태를 그래프로 표현하기 위한 데이터가 저장되어 있음.
    • area 영역 구조: area 0을 중심으로 여러 개의 서브 영역 존재. 위와 같이 함으로써 라우팅 테이블 크기를 줄이고 성능 최적화

EGP: BGP

  • EGP(Exterior Gateway Protocol): AS 외부에서 수행
  • BGP(Border Gateway Protocol): AS 간의 통신이 가능한 프로토콜. 경로 결정 과정에서 수신지 주소와 함께 속성과 정책이 고려됨
    1.AG-PATH 속성: 메시지가 수신지에 이르는 과정에서 통과하는 AS들의 목록
    - BGP는 AS 간 라우팅을 할 때 거치게 될 '라우터'의 수가 아닌 'AS'의 수를 고려한다.
    - RIP처럼 단순히 수신지에 이르는 거리가 아닌, 메시지가 어디로 거쳐 어디로 이동하는지를 나타내는 경로를 고려한다. / 일종에 벡터 라우팅 프로토콜
    2.NEXT-HOP 속성
    - 홉 다음으로 거칠 라우터의 IP 주소
    3.LOCAL-PREF 속성
    - LOCAL PREFerence: AS 외부 경로에 있어 AS내부(local)에서 어떤 경로를 선호할지에 대한 척도를 나타내는 속성

기본 숙제

Ch.03(03-1) 확인 문제 1번(p.147), (03-3) 확인 문제 2번(p.187) 풀고 설명하기

  1. IPv4의 대표적인 기능 2가지
    2) IP 주소 지정
    3) IP 단편화
  1. 라우팅 프로토콜에 대한 설명
    라우팅 프로토콜은 AS 내부에서 수행되는 IGP와 AS 외부에서 수행되는 EGP로 나뉩니다. RIP는 대표적인 거리 벡터 라우팅 프로토콜이고, OSPF는 대표적인 링크 상태 라우팅 프로토콜입니다.

추가 숙제

본인 컴퓨터의 IP 주소와 MAC 주소 파악해 보기

ip addr show

  • enp0s31f6: 유선 LAN 인터페이스. 사설 IP 주소
  • virbr0: 가상 네트워크 인터페이스: VM용
  • docker0: Docker 컨테이너 네트워크를 위한 가상 브리지
  • 내용을 들여다보면 ip주소 외에 MAC주소, IPv4주소, 브로드캐스트 주소도 보인다.
  • 보안을 위해 blur 처리

가까이 있음에도 이해가기 어려운 게 네트워크인가 보다..
내용을 이해하지 못하고 글씨를 시각적으로 보았는데, 지금은 이해가 잘되지 않지만 계속 보다 보면 조금 이해가 되겠거니.. 그럼에도 다익스트라/벨만 포드 알고리즘이 활용된 점과 내 컴퓨터의 ip/mac 주소는 이렇구나는 볼 수 있어서 흥미로웠다.
그건 그렇고 너무 어렵!!

profile
수학을 사랑하는 애독자📚 Stop dreaming. Start living. - 'The Secret Life of Walter Mitty'

0개의 댓글

관련 채용 정보