[네트워크] 혼자 공부하는 네트워크 3주차

gunny·2024년 7월 21일
0

[CS] OS, Network

목록 보기
4/5
post-thumbnail

서론

일요일 아침에 일어나서 밥먹고 월~금에 쫌쫌따리 읽고 공부 했던거 슬쩍 보면서 정리하면서 업로드하는 나란 사람 제법 멋지다

혼공학습단 12기 3주차

혼자 공부하는 네트워크

2024.07.15 ~ 2024. 07.21

  • 진도: Chapter 03
  • 기본 숙제(필수): Ch.03(03-1) 확인 문제 1번(p.147), (03-3) 확인 문제 2번(p.187) 풀고 설명하기
  • 추가 숙제(선택): 본인 컴퓨터의 IP 주소와 MAC 주소 파악해 보기

숙제(과제)

기본숙제(필수)

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

(03-1) 확인 문제 1번

-> IP는 IP 주소 지정과 IP 단편화를 수행하는 프로토콜임

(03-3) 확인 문제 2번

-> 라우팅 프로토콜은 AS 내부에서 수행되는 IGP와 AS 외부에서 수행되는 EGP로 나뉨
RIP은 대표적인 거리 벡터 라우팅 프로토콜이고 OSPF는 대표적인 링크 상태 라우팅 프로토콜임

추가숙제

  • 추가 숙제(선택): 본인 컴퓨터의 IP 주소와 MAC 주소 파악해 보기

컴퓨터 주소 ip 주소 파악하는 방법
맥 기준 터미널에 아래 코드 입력

ipconfig getifaddr en0

mac 주소 파악하는 방법
맥 기준 터미널에 아래 코드 입력

ipconfig en0 | grep ether

정리

03 네트워크 계층

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

다른 네트워크와 통신하기 위한 네트워크 계층

  • 네트워크 계층에서는 IP 주소를 이용해 송수신지 대상을 지정하고, 다른 네트워크에 이르는 경로를 결정하는 라우팅을 통해 다른 네트워크와 통신함

데이터 링크 계층의 한계

물리 계층과 데이터 링크 계층만으로는 LAN을 넘어서 통신하기 어려움

[1] 물리 계층과 데이터 링크 계층만으로는 다른 네트워크까지의 도달 경로를 파악하기 어려움'

  • 물리 계층과 데이터 링크 계층은 기본적으로 LAN을 다루는 계층임
    LAN A에 속한 호스트가 LAN B에 속한 호스트에게 전송하는 패킷은 다양한 경로를 통해 이동할 수 있는데, 통신을 빠르게 주고받으려면 최적의 경로로 패킷이 이동해야함
    -> 패킷이 이동할 최적의 경로를 결정하는 것을 라우팅(routing)
    물리 계층과 데이터 링크 계층의 장비로는 라우팅을 수행할 수 없지만, 네트워크 계층의 장비로는 가능
    -> 라우팅을 수행하는 장비 라우터(router)

[2] MAC 주소만으로는 모든 네트워크에 속한 호스트의 위치를 특정하기 어려움

  • 현실적으로 모든 호스트가 모든 네트워크에 속한 호스트의 MAC 주소를 서로 알고 있기 어려워 MAC 주소만으로는 모든 호스트를 특정하기 어려움
    네트워크를 통해 정보를 주고받는 과정은 택배를 송수신하는 과정과 같고 MAC 주소는 네트워크 인터페이스(NIC)마다 할당된 일종의 개인 정보와 같음. 택배의 수신인 역할을 하는 정보가 MAC 주소라면 수신지 역할을 하는 정보는 네트워크 계층의 ip 주소
  • 네트워크에서 MAC 주소와 IP 주소를 함께 사용하고 IP 주소를 우선으로 사용함.

MAC 주소 : 물리 주소, NIC마다 할당되는 고정된 주소
IP 주소 : 논리 주소, 호스트에 직접할당 가능.
DHCP(Dynamic Host Configuration Protocol)라는 특정 프로토콜을 통해 자동으로 할당받거나 사용자가 직접 할당할 수 있고, 한 호스트가 복수의 IP 주소를 가질 수 있음

-> 즉 물리 계층과 데이터 링크 계층만으로는 네트워크 간의 통신이 어렵고 네트워크 계층이 다른 네트워크와의 통신을 가능하게 함.
그 이유는 IP 주소를 통해 수신지 주소를 설정하거나 해당 수신지까지의 최적의 경로를 결정하는 라우팅이 네트워크 계층에서 이루어지기 때문

인터넷 프로토콜

  • 네트워크 계층의 가장 핵심적인 프로토콜은 인터넷 프로토콜(IP : Internet Protocol)
  • IP에는 두 가지 버전인 IPv4, IPv6가 있고, 일반적으로 IP 주소를 이야기할 때는 주로 IPv4를 의미함
  • IP 주소는 4바이트(32비트)로 주소를 표현할 수 있고, 숫자당 8비트로 표현되어 0~244 범위 안에 있는 네 개의 10진수로 표현됨
  • IP의 기능은 크게 IP 주소 지정IP 단편화 가 있음

IP 주소 지정 : IP 주소를 바탕으로 송수신 대상을 지정하는 것
IP 단편화 : 전송하고자 하는 패킷의 크기가 MTU라는 최대 전송 단위보다 클 경우 이를 MTU 크기 이하의 복수의 패킷으로 나눔

MTU(Maximum Transmission Unit) : 한 번에 전송 가능한 IP 패킷의 최대 크기

ARP(Address Resolution Protocol)

IP 주소를 통해 MAC 주소를 알아내는 프로토콜
동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아냄

ARP의 동작 과정
(1) ARP 요청
(2) ARP 응답
(3) ARP 테이블 갱신

03-2. IP 주소

하나의 IP 주소는 크게 네트워크 주소와 호스트 주소로 이루어짐
네트워크를 표현하는 부분과 호스트를 표현하는 부분으로 이루어져 있다고 생각해도 좋음

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

네트워크 주소는 네트워크 ID, 네트워크 식별자 등으로 부르기도 하고
호스트 주소는 호스트 ID, 호스트 식별자 등으로 부름

  • IP 주소에서 네트워크 주소와 호스트 주소를 구분하는 범위는 유동적일 수 있는데, 호스트 주소 공간을 크게 할당하면 호스트가 할당되지 않는 다수의 IP 주소가 낭비될 수 있음, 여기서 나온 개념이 IP 주소의 클래스

클래스풀 주소 체계

클래스는 네트워크 크기에 따라 IP 주소를 분류하는 기준
클래스를 이용하면 필요한 호스트 IP 개수에 따라 네트워크 크기를 가변적으로 조정해 네트워크 주소와 호스트 주소를 구획할 수 있음
클래스를 기반으로 IP 주소를 관리하는 주소 체계를 클래스풀 주소 체계(classful addressing)

클래스리스 주소 체계

클래스풀 주소 체계를 이용하면 네트워크의 영역을 이용하고 할당 가능한 호스트의 주소 공간을 유동적으로 관리할 수 있지만 한계가 발생함
클래스별 네트워크 크기가 고정되어 있어 다수의 IP 주소가 낭비될 가능성이 큼
즉, 클래스풀 주소 체계보다 더 유동적이고 정교하게 네트워크를 구획할 수 있는 클래스리스 주소 체계(classless addressing) 등장
-> 클래스 개념 없이(classless) 클래스에 구애받지 않고 네트워크 영역을 나누어 호스트에게 ip 주소 공간을 할당하는 방식

서브넷 마스크

IP 주소상에서 네트워크 주소는 1, 호스트 주소는 0으로 표기한 비트열 의미

  • 네트워크 내의 부분적인 네트워크(서브네트워크)를 구분 짓는(마스크) 비트열
  • 서브넷 마스크를 이용해 클래스를 원하는 크기로 더 잘게 쪼개어 사용하는 것을 서브네팅(subnetting)

클래스풀 주소 체계에서 A 클래스의 네트워크는 8비트,B 클래스의 네트워크 주소는 16비트, C 클래스의 네트워크 주소는 24비트로 이루어져 있음.

  • A 클래스:255.0.0.0
  • B 클래스:255.255.0.0
  • C 클래스: 255.255.255.0

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

서브넷 마스크를 표기하는 방법은
(1) 서브넷 마스크를 '255.255.255.0', '255.255.255.252' 처럼 10빈수로 직접 표기하는 방법
(2) IP 주소/서브넷 마스크상의 1의 개수 형식으로 표기하는 방법
: CIDR 표기법 (Classless Inter-Domain Routing notation)

공인 IP 주소와 사설 IP 주소

  • 공인 IP 주소(public IP address) : 전 세계에서 고유한 IP 주소
  • 사설 IP 주소(private IP address) : 사설 네트워크에서 사용하기 위한 IP 주소
    사설 IP 주소의 할당 주체는 라우터
    -> 사설 IP 주소를 사용하는 호스트가 외부 네트워크와 통신하려면 이때 NAT(Networdk Address Translation) 으로 IP 주소를 변환하는 기술 사용

정적 IP 주소와 동적 IP 주소

호스트에 IP 주소를 할당하는 방법에는 [1] 정적 할당, [2] 동적 할당이 있음. 정적 할당은 수작업으로 동적 활당은 DHCP 프로토콜을 통해 이루어짐

[1] 정적 할당

  • 호스트에 직접 수작업으로 IP 주소를 부여하는 방식으로 이렇게 하당된 IP 주소를 정적 IP 주소라고 함

[2] 동적 할당

  • 정적 할당과는 달리 IP 주소를 직접 일일히 입력하지 않아도 호스트에 IP 주소가 동적으로 할당되는 방식. 이렇게 할당된 IP 주소를 동적 IP 주소(dynamic IP address)
    -> IP 동적 할당에 사용되는 대표적인 프로토콜이 `DHCP(Dynamic Host Configuration Protocol)

DHCP를 통한 IP 주소 할당은 IP 주소를 할당받고자 하는 호스트와 해당 호스트에게 IP 주소를 제공하는 'DHCP 서버' 간에 메시지를 주고받음으로써 이루어짐

IP 주소를 할당받는 과정에서 클라이언트와 DHCP 서버간에 주고 받는 메시지의 종류는 크게 네 가지가 있음
(1) DHCP Discover
(2) DHCP Offer
(3) DHCP Request
(4) DHCP Acknowledgment (DHCP ACK)

03-3. 라우팅

라우터의 핵심 기능은 패킷이 이동할 최적의 경로를 설정한 뒤 해당 경로로 패킷을 이동시키는 것 -> 라우팅

라우터

네트워크 계층의 핵심 기능을 담당

  • 멀리 떨어져 있는 호스트 간의 통신 과저에서 패킷은 서로에게 도달하기까지 여러 라우터를 거쳐서 다양한 경로로 이동할 수 있음
    라우팅 도중 패킷이 호스트와 라우터 간에, 혹은 라우터와 라우트 간에 이동하는 하나의 과정을 홉(hop). dlfkrh gka
    즉, 패킷은 '여러 홉을 거쳐' 라우팅될 수 있음

라우팅 테이블

라우팅 테이블의 핵심은 라우터가 저장하고 관리하는 라우팅 테이블임

  • 라우팅 테이블(routing table)은 특정 수신지까지 도달하기 위한 정보를 명시한 일종의 표와 같은 정보로, 라우팅 테이블을 참고해 수시지까지의 도달 경로를 판단함

라우팅 테이블에 포함된 정보는 라우팅 방식에 따라 호스트이 환경에 따라 달라질 수 있음

  • 수신지 IP 주소와 서브넷 마스크 : 최종적으로 패킷을 전달할 대상
  • 다음 홉 : 최종 수신지까지 가기 위해 다음으로 거쳐야 할 호스트의 IP 주소나 인터페이스 의미. 게이트웨이라고 명시되기도 함
  • 네트워크 인터페이스 : 패킷을 내보낼 통로
  • 메트릭 : 해당 경로로 이동하는데 드는 비용

정적 라우팅과 동적 라우팅

[1] 정적 라우팅 (static routing) : 사용자가 수동으로 직접 채워 넣은 라우팅 테이블의 항목을 토대로 라우팅 되는 바식

[2] 동적 라우팅 (dynamic routing) : 자동으로 라우팅 테이블을 만들고 이를 이용해 라우팅하는 방식

라우팅 프로토콜

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

  • 라우팅 프로토콜은 크게 AS 내부에서 수행되느냐에 따라 IGP(Interior Gateway Protocol) AS 외부에서 수행되느냐에 EGP(Exterior Gateway Protocol) 으로 종류를 나눌 수 있음
  • 대표적인 IGP에는 RIP, OSPF가 있고 EGP로는 BGP가 있음

IGP: RIP와 OSPF

  • 대표적인 IGP로는 RIP(Routing Information Protocol) 와 OSPF(Open Shortest Path First)가 있음
    최적의 경로를 선택하는 과정에서 거리 벡터가 사용되느냐 링크 상태가 사용되느냐로 구분하는데, 거리 벡터를 사용하면 RIP, 링크 상태를 사용하면 OSPF

EGP : BGP

  • AS 간의 통신에서 사용되는 대표적인 프로토콜로 AS 간의 통신이 '가능한' 프로토콜
    BGP로 AS 내 라우터간 통신이 가능하고, AS 간의 통신을 위한 BGP는 eBGP, AS 내의 통신을 위한 BGP는 iBGP 라고 함
  • BGP 메시지를 주고받을 수 있도록 연결된 BGP 라우터를 피어(peer)로 정의하고, 이러한 피어 관계가 되도록 연결하는 과정을 피어링(peering) 이라고 함
  • BGP의 속성은 경로에 대한 일종의 부가 정보로 대표적인 속성으로 AS-PATH, NEXT-HOP, LOCAL-PREF가 있음

마무리

상상 속 정리하는 나 :

현실 :

profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글