네트워크 계층

이선우·2024년 7월 26일
0

CS 공부

목록 보기
2/10

네트워크 계층


IP

  • 물리 계층과 데이터 링크 계층 > LAN에 국한된 통신
  • LAN을 넘어서기 위한 계층
  • 네트워크 간 통신이 가능한 계층 > 라우팅
    ex) 같은 스위치에 있는 VLAN1과 VLAN2가 통신하기 위해 필요한 계층
  • 단편화 가 이루어지는 계층
    cf) 패킷 교환에서 2GB의 파일을 타인에게 전송할 때 2GB 파일이 쪼개졌다가 타인에게 도착하기 전에 다시 합쳐지는데 여기에서 파일이 쪼개지는 것을 단편화라고 한다.

cf) 네트워크 간 통신에서는 MAC 주소가 아닌 IP 주소를 사용한다. 그 이유는 도달 경로를 파악하기 어렵고, 임의의 네트워크에 속한 호스트의 MAC 주소를 기억하기 어렵다.(MAC 주소는 마치 주민등록번호. 주민등록번호 말고는 택배를 보낼 수 없다. IP 주소는 마치 발신 주소, 수신 주소와 같다)

MAC 주소는 NIC라고 하는 네트워크 주소마다 고유하다. 반 하드웨어적으로 주소를 만드는데 반면 IP 주소는 본인이 직접 할당할 수 있다.(DHCP를 이용해 자동 할당 가능)

IP의 두 가지 주요 기능

  • IP 주소 지정
  • 단편화: 패킷의 크기를 MTU(Maximum Transmission Unit) 이하로 유지, MTU 크기 이하로 단편화된 패킷들은 목적지에서 재조합

IPv4 헤더

  • 송신지, 목적지 IP 주소
  • 식별자, 플래그, 단편화 오프셋
    식별자 : 패킷에 할당된 번호(재조합 시 사용)
    플래그 : 부가 정보(미사용, Don't Fragment, More Fragement 비트)
    단편화 오프셋 : 단편화되기 전 데이터가 얼마나 떨어져 있는가
    ex) 단편화 오프셋 1480 : 첫 데이터로부터 1480만큼 떨어진 패킷
  • TTL, 프로토콜
    TTL(Time to Live) : 패킷의 수명, 라우터를 거칠 때마다 1감소(패킷이 무한히 순환되는 것을 막기 위해 존재)
    프로토콜 : 상위 계층의 프로토콜

IPv4 주소

  • 4바이트(32비트)로 표현 가능
  • 한 옥텟은 0~255 범위의 네 개의 십진수로 표기
  • 이론적으로 할당 가능한 IPv4 주소 개수 == 2^32개 > IP 주소 부족 문제

IPv6 주소

  • 16바이트(128비트)로 표현 가능
  • 이론적으로 할당 가능한 IPv4주소 개수 == 2^128개 > 사실상 무한

cf) 그러나 아직까지도 NAT기술로 인해 IPv4 주소는 고갈되지 않았고 현재 IPv4주소를 주로 사용하고 있다.

  • 더 단순한 헤더를 가지고 있으며, 확장 헤더를 사용할 수 있다

ARP

기본적으로 MAC 주소 이전에 IP 주소를 사용

  • MAC 주소 = 수취인 개인 정보(주민등록번호) > 물리 주소
  • IP 주소 = 수취인 주소 > 논리 주소

IP 주소를 사용해서 MAC 주소를 알기 위한 프로토콜 > ARP
cf) 동일 네트워크 내의 호스트의 MAC 주소만 알아낼 수 있다

ARP 동작 과정

  1. ARP 요청
  2. ARP 응답
  3. ARP 테이블(ARP 캐시) 갱신

1. ARP 요청(브로드캐스트 메세지)

특정 IP 주소를 가진 호스트의 MAC 주소를 알아내기 위해 보내는 브로드캐스트 메세지. 해당 호스트의 MAC 주소를 모르기 때문에 브로드캐스트 메시지로 전송
cf) 브로드캐스트 메세지: 동일 네트워크 상에 있는 모든 호스트에 메세지 전송

2. ARP 응답

ARP 요청에 대한 응답. 자신의 MAC 주소 포함(ARP 패킷을 주고받는다)

3. ARP 테이블 갱신

  • ARP 테이블(ARP 캐시): Mac 주소와 IP 주소가 매핑된 표 형태의 데이터
  • 일정 시간이 지나면 삭제
  • ARP 테이블에 추가된 호스트는 브로드캐스트로 ARP 요청 보낼 필요 없음

다른 네트워크에 속한 호스트의 MAC 주소 알아내기 > 라우터를 통해 ARP 패킷 전송


ICMP

IP의 한계

  • 비신뢰성(최선형 전달)(best-effort delivery)(최선을 다했지만 그 후는 어떠한 책임도 지지 않습니다,,): 패킷이 목적지까지 제대로 전송한다는 보장이 없는 특성
  • 비연결형: 호스트 간의 사전 연결 수립이 없는 특성

TCP : 신뢰성 프로토콜 + 연결형 프로토콜을 제공하는 계층

ICMP

IP의 비신뢰성과 비연결형 특성을 보완하기 위한 네트워크 계층 프로토콜
IP 패킷의 전송 과정에 대한 피드백 메세지 제공

  • 오류 보고
  • 네트워크 진단 정보

cf) ICMP 메시지는 타입과 코드로 정의

ICMP는 IP의 한계를 보완할 뿐 완전히 해결하는 것은 아니다.
근본적인 해결은 전송 계층에서 이루어짐!


IP 주소

IP 주소의 구성: 네트워크 주소, 호스트 주소(유동적)

MAC 주소의 구성: 제조사 번호, 일련 번호(비트 수 24/24비트 고정)

클래스풀 주소 체계: class의 개념을 바탕으로 네트워크 주소와 호스트 주소를 나누어서 관리하겠다

ex) A는 B와 C에 비해 적은 네트워크 구분을 하고 많은 호스트 주소에 할당 가능.

IP주소낭비가 매우 크다

네트워크 주소와 호스트 주소가 미리 분리되어 있어 호스트 주소를 다 용하지 못해 비효율적이다.

클래스리스 주소체계

  • 클래스풀 주소 체계보다 더 정교히 네트워크를 나누는 방법
  • 오늘날 주로 사용하는 방식
  • 네트워크와 호스트를 구분하기 위해 서브넷 마스크 이용

서브넷 마스크

  • IP 주소 상에서 네트워크 주소는 1, 호스트 주소는 0으로 이루어진 비트열
  • 클래스 A: 255.0.0.0
  • 클래스 B: 255.255.0.0
  • 클래스 C: 255.255.255.0

서브넷 마스크와 IP 주소의 비트 AND 연산 > 네트워크 주소

CIDR 표기

  • 서브넷 마스크 상의 1의 개수를 IP주소/숫자로 표기
  • 29.168.100.103/30

표기된 주소를 보고 할당 가능한 호스트의 개수를 알 수 있어야 한다.

정처기 실기 공부할 때 배웠던 내용인데 조금 헷갈리는 것 같다.


IP 주소의 분류

IP 주소는 전세계 고유한 주소?

그렇기도 하고, 아니기도 하다.

공인 IP 주소와 사설 IP 주소

  • 공인 IP 주소: 인터넷을 사용할 때 사용하는 고유한 주소
  • 사설 IP 주소: 사설 네트워크 내에서 사용하는 고유하지 않은 주소

추가로 적어야 할듯하다

내 컴퓨터가 Naver와 연결을 할때 LAN 밖으로 나가야 하기 때문에 공인 IP 주소를 사용한다.

NAT : 공인 IP 주소와 사설 IP 주소 간의 변환 기능

  • 하나의 공인 IP 주소를 여러 사설 IP 주소가 공유 가능
  • IP 주소 부족 문제 해결

정적 IP 주소와 동적 IP 주소

  • IP 주소의 할당 방법 : 정적 할당과 동적 할당
  • 정적 IP 주소 : 정적 할당된 IP 주소(고정)
  • 동적 IP 주소 : 동적 할당된 IP 주소(유동적)

DHCP(라우터, 공유기 ,,,)

  • 동적 IP 주소를 할당하기 위한 프로토콜
  • DHCP 서버에 의해 동적으로 IP 주소 할당( == IP 주소 임대)
  • 정해진 임대 시간이 끝날 경우 임대 갱신(자동 수행, 수동 수행)

DHCP Discover : 호스트가 IP주소 요청을 브로드캐스트 메시지로 DHCP 서버에게 전송

DHCP Offer : DHCP의 답변

DHCP Request : 나 이 IP 주소 이 만큼 쓸래 DHCP에게 요청

DHCP Acknowledgement : IP 주소 할당

IP 주소의 분류 추가

공인IP

  1. 인터넷 업체가 사용자에게 할당해 공유기가 인터넷과 통신하도록 하는 역할을 수행하며 인터넷 사용자를 식별 가능
  2. 전 세계에서 단 하나만 존재
  3. 동일한 인터넷 연결을 사용하는 장치의 IP 주소를 공유하므로 공용 IP 라고 부르기도 한다.

사설IP

  1. 한 네트워크 안에서 내부적으로 사용되는 고유한 주소
  2. 노트북, 스마트 TV 같은 로컬 네트워크 기기에 해당.
  3. 사설 IP는 하나의 네트워크 안에서 유일하다. 같은 사설 네트워크로 연결된 장치들의 IP는 중복되어서는 안된다.
  4. 사설 IP주소로는 인터넷 통신을 할 수 없고 내부 네트워크에서만 사용이 가능하다. 이는 인터넷에 노출이 되지 않는다. 공인 IP를 통해 인터넷 통신이 가능하며, 이는 NAT를 이용한다.

사설망이란 공유기를 사용한 인터넷 접속 환경일 경우 공유기까지는 공인 IP할당을 하지만, 공유기에 연결되어 있는 가정이나 회사의 각 네트워크 기기에는 사설 IP를 할당하여 그룹으로 묶는 방법

라우팅

네트워크 계층 장비, 라우터

  • 라우팅 : 패킷이 이동할 최적 경로 설정, 해당 경로로 패킷 이동

  • 라우팅 프로토콜 : 라우팅을 수행하는 방법

  • 홉: 라우터와 라우터 간의 패킷 이동 과정

  • 홉 바이 홉 라우팅

라우팅 테이블 (routing table)

  • 특정 목적지까지 도달하기 위한 정보를 명시하는 표와 같은 정보
  • 대표적인 정보 : 목적지 주소, 서브넷 마스크, 게이트웨이(라우터와 라우터끼리 패킷을 주고 받을 떄 다음 라우터), 인터페이스, 메트릭(다양한 경로 중에서 이 경로를 선택했을 떄의 비용)

롱기스트 프리픽스 매치(longest prefix match)

  • 여러 라우팅 테이블 항목과 일치할 경우, 가장 길게 일치하는 항목 선택 후 패킷 전송

라우팅 테이블이 만들어지는 방법

  • 정적 라우팅: 수동으로 라우팅 테이블 항목 채워넣기

    라우터의 부하가 적다. BUT 경로가 유동적이지 않다.

  • 동적 라우팅: 자동으로 라우팅 테이블 항목 채워넣기(라우팅 프로토콜)

    경로 우회 가능

라우팅 프로토콜

  • AS 내부 라우팅 프로토콜(IGP): RIP(거리 벡터 활용), OSPF(링크 상태 활용)
  • AS 외부 라우팅 프로토콜(EGP): BGP

** AS = 동일한 라우팅 정책으로 운영되는 라우터들의 집단 네트워크

profile
백엔드 개발자 준비생

0개의 댓글