240910 CS세션 - OSI 7 Layer L3 네트워크 계층 [IP, 서브넷마스크, 동적 IP, 라우팅]

LIHA·2024년 9월 9일
0

내일배움캠프

목록 보기
41/117
post-thumbnail

네트워크 계층

  • 네트워크 계층은 상위 계층에서 가져온 데이터에 IP 헤더를 붙인다. 이 IP 헤더를 붙여 만든 데이터를 IP 패킷이라고 한다.

IP의 개념

참고1
참고2

Internet Protocol의 약자. 네트워크 통신 시 데이터 전송경로 설정, 주소 지정 등을 담당하는 프로토콜. 어떤 네트워크의 컴퓨터인지 구분할 수 있는 일종의 주소이다.

-> IP는 데이터를 '패킷'이라는 작은 단위로 분할해 전송한다.

-> IP는 ISP(인터넷 서비스 제공자) 에게서 받을 수 있고, IPv4와 IPv6가 있다.

-> 공인 IP와 사설 IP가 있다. IP주소 부족에 따라 인터넷에 직접 연결되는 라우터나 컴퓨터에 공인 IP를 할당하고, 회사나 가정의 컴퓨터에는 사설 IP를 할당한다.

-> IP는 데이터를 패킷으로 보내는 데에만 충실할 뿐이고 데이터를 어떻게 보낼 지는 관여하지 않는다. 손실율이나 전송속도를 고려하는 계층이 아니다.


서브넷 마스크

참고1
참고2

예전에는 클래스 기반의 IP 주소체계를 사용해 클래스풀(Classful) 이라고 했었고, 현재는 클래스 개념을 버린 클래스리스(Classless) 기반의 주소체계를 사용한다.

클래스 기반 IP는 맨 앞 숫자를 보고 네트워크 주소와 호스트 주소를 구분할 수 있었는데, 클래스리스는 이런 특징이 없어서 구분자가 필요하다. 이 구분자를 '서브넷마스크' 라고 한다.

  • 참고 - 큰 네트워크를 소규모로 분할하는 것을 서브넷팅(subnetting)이라 한다.

-> 서브넷 마스크는 IP주소와 네트워크 주소를 구분할 때 사용한다. 2진수 숫자 1은 네트워크 주소, 0은 호스트 주소로 표기한다.

이런 식으로 표기한다.
IP가 180.192.64.55인데 서브넷 마스크가 255.255.0.0이라면 네트워크 주소는 180.192.0.0이고 호스트 주소는 0.0.64.55 인 셈.

  • 네트워크 주소는 뭐고 호스트 주소는 뭘까? 이게 뭐가 중요한걸까?
    참고 블로그

-> 하나의 네트워크(브로드캐스트 도메인) 안에 있는 IP들끼리 통신하기 위해서는 네트워크 영역이 같아야 하며, 호스트 IP는 달라야 한다. 그래서 이걸 따지는 것!

-> 물론 네트워크가 달라도 라우터나 게이트웨이 같은 장비를 통해 통신할 수 있다. 브로드캐스트 도메인이란 것은 네트워크 장비 없이 통신할 수 있는 영역을 의미한다. (같은 네트워크 상에 있는 경우)

  • 클래스를 불문하고 호스트 부의 모든 비트가 0인 번호는 네트워크 주소로, 그 네트워크를 대표하는 주소가 된다. 전체 네트워크에서 작은 네트워크를 식별할 때 사용한다.

  • 모든 번호가 1인 주소는 브로드캐스트 주소로 하나의 네트워크에 있는 모든 호스트에 동시에 데이터를 보낼 때 사용되는 전용 IP 주소를 말한다.

그래서 위의 두 IP는 호스트와 라우터에 할당하지 않는다.
->그래서 항상 할당 가능한 IP주소 중 2개가 빠진다!


동적 IP 주소

레드햇
하드리셋
동적 IP는 HardReset.info: DHCP(Dynamic Host Configuration Protocol) 라는 것에 의해 할당된다. 고정 IP보다 유연하고, 고정 IP에 필요한 번거로운 작업들이 거의 필요하지 않다.

<동적 IP의 장점>

  • DHCP - 컴퓨터 네트워크 장치에 IP주소를 자동으로 할당하는 기술로, 선택할 수 있는 IP 범위가 존재한다.

  • 보안 - IP주소의 변경이 잦으면 DDoS 등의 공격으로 인한 피해 가능성이 줄어든다.

  • 무제한 - 40억개 이상의 IPv4 주소가 필요한 것이 아니라면 지금 바로 할당받아 사용할 수 있다.


라우팅

참고1
참고2
참고3

  • 네트워크 라우팅은 하나 이상의 네트워크에서 경로를 선택하는 프로세스이다. 전화나 대중교통 등 모든 유형의 네트워크에 적용될 수 있다. 라우팅 결정은 '라우터' 라는 특수한 네트워크 하드웨어에 의해 이루어진다.

-> 서로 다른 네트워크와 통신하면서 패킷 전달을 위해 최적의 통신경로를 찾는 것을 말한다. '전달한다'는 것만 놓고 보면 라우팅 또한 일종의 스위칭이지만, 최적경로를 고른다는 점에서는 다르다.
-> 스위치는 모든 계층에 있을 수 있지만 대표적으로 L2 데이터링크 계층의 장비이다. 참고 블로그를 읽어보자.

-> 라우트와 라우팅은 구분할 수 있어야 한다. 라우트는 경로, 라우팅은 경로를 찾아가게 하는 과정. 찾아주는 규칙을 사용하는 프로토콜이 라우팅 프로토콜. 그래서 라우팅에 의한 결과가 라우트이다.

-> '라우터는 L3에서 동작하기 때문에 IPv4와 CIDR에 대해 완벽하게 이해하고 있어야 한다'는 말이 있다. CIDR?

-> CIDR이 위에서 본 Classless Inter-Domain Routing 으로, 클래스 없는 도메인 간 라우팅 기법이다.


수업내용 추가

호스트들끼리 연결할때 허브라는걸로 하고, 허브는 정보를 보내기만 하고 판단은 하지 않는다. 통신은 반이중 통신(무전기 처럼)으로 하기 때문에 여러 호스트가 다중 접근하여 동시에 송신할 경우 충돌이 발생한다. (컬리전 도메인)

L3 네트워크 계층은 이더넷 이라는 통신규약이 있다

이더넷 볼때마다 인터넷도 아니고 저건뭐야? 싶었는데 일종의 통신규약이라고. 얘도 프로토콜인 셈.

허브는 물리계층에 있다 -> 그래서 내가 랜선으로 연결한 것!

물리계층에 허브가 있는데 허브는 주소 모른다 -> L2 데이터링크 계층 와야 알수 있다 -> 스위치는 맥 주소 학습이란걸 통해 맥 주소 테이블이 만들어져서 기억하고 있다.

L2 스위치 - 스위치는 데이터 링크 계층의 장비!

전이중통신을 도와주는 장비.
스위치는 허브와 달리 MAC Address(물리적 주소)를 학습하고 있기 때문에 특정 주소의 호스트에만 프레임을 전달할 수 있고, 전이중 모드를 지원한다.

  • 스위치의 맥주소 테이블 연결법
    호스트 A B C D가 있고 포트 1, 2, 3, 4에 연결되어 있다고 하자.
    아직 어떤 포트에 어떤 MAC 주소를 가진 호스트가 있는지는 알 수 없다. (몇번 포트가 누구꺼인지는 모름)

맥주소 테이블 작성할 때, A가 B에게 보낸다고 해도 누가 누군지 모르니 모두에게 보낸다 (like 전단지)


241001 면접질문 대비 정리

240910 CS세션 정리
참고 블로그 - 서브넷팅

IP, IP 주소 체계, 서브넷 마스크

  1. IP의 개념과 IP 주소 체계, 서브넷 마스크에 대해 설명해주세요.
  • IP의 개념: 네트워크 통신 시 경로 설정, 주소 지정 등을 담당하는 프로토콜. 데이터 패킷이 올바른 목적지로 전달되도록 라우팅하고 주소를 지정하기 위한 규칙의 집합.

  • IP 주소 체계: 32비트인 IPv4, 128비트인 IPv6 존재. 일반적으로 IPv4 사용. 0.0.0.0 ~ 255.255.255.255 범위이고 점(.)으로 구분된다. 갯수는 약 43억개.
    -> '서브넷 마스크'라는 것을 통해 여러 식별 정보로 숫자가 구성된다.
    -> 8bit 4개라 32bit이다. 8bit = 1byte 이므로 1byte만큼을 '옥텟' 이라는 단위로 부른다.

  • 서브넷 마스크 : 예전에는 IP를 용도별로 구분하는 클래스 개념이 있었는데 이 방식이 IP가 낭비됨. 이를 해결하기 위해 클래스 대신 새로 도입된 IP 주소 구분법.
    -> 클래스 없이 라우팅하는 방법이라서 CIDR(Classless Inter-Domain Routing) 이라고 한다.
    -> IP를 네트워크 영역/호스트 영역으로 분할한다. (서브넷팅 한다고 한다) 비트 기준으로 분할하여 2진수로 식별한 IP를 10진수로 표기해준다.

클라이언트 요청 처리의 네트워크 상 과정

  1. 브라우저에 네이버 주소를 입력했을 때 네트워크 상에서 발생하는 과정을 설명해주세요.
  • GET 방식의 요청이 request로 전송되면 '도메인 네임 풀이' 과정에 들어간다. 성공하면 요청에 따른 응답을 반환한다.
    -> IP를 알아야 접근할 수 있는데 도메인만 알고 IP를 모르기 때문에, 이 도메인에 대응되는 IP를 찾아야 함.
    -> 이 IP를 찾는 과정에서 재귀적 질의반복적 질의 라고 상위계층 네임서버에 물어보는게 있는데, 이 과정이 너무 길고 부하가 많이 걸리기 때문에 우리는 이전에 방문했던 기록을 저장했다가 재탕하기로 함. 이게 바로 DNS 캐시임😎

-> 이거 241001 CS세션 글 에 정리되어 있다.

  • 브라우저 캐시
    방금 다녀온 사이트 주소를 또 묻지 않도록 브라우저가 도메인의 IP 주소를 자체 캐시에 저장하는 것.
  • 운영체제(OS) 캐시
    브라우저 캐시에 IP주소가 없다면 운영체제의 DNS 캐시를 조회함. OS도 최근에 조회된 IP 주소를 일정 기간 캐시에 저장하기 때문!
  • 라우터 캐시
    OS 캐시에서도 IP 주소를 찾을 수 없으면 네트워크 라우터로 요청이 넘어간다. 라우터들은 대부분 자체적으로 DNS 캐시를 관리하기 때문.
  • ISP 캐시
    라우터에서도 IP 주소를 못 찾으면 DNS 조회는 ISP의 DNS 서버로 넘어간다. ISP는 대규모의 DNS 서버를 운영하고 많은 도메인의 IP 주소를 캐시에 저장해두기 때문.
  • 위의 그 어느 캐시애도 DNS가 없는 경우 - 재귀적 DNS 조회
    이제는 더이상 갈 곳이 없으므로, 로컬-루트-TDL-책임 네임서버까지 다시 재귀적으로 물어봐야 한다. (으으 귀찮아)

-> 이렇게 해서 드디어 IP를 찾으면 그 IP가 브라우저로 전달되고, 각 단계의 캐시도 업데이트 된다!

라우터와 라우팅

  1. 라우터와 라우팅(동적 라우팅, 정적 라우팅)에 대해 설명해주세요.
  • 라우터: L3 계층에서 '하나 이상의 네트워크에서 경로를 선택하는 프로세스'인 라우팅을 도와주는 특수한 네트워크 하드웨어.

  • 라우팅: 라우팅은 서로 다른 네트워크와 통신하면서 패킷 전달을 위해 최적의 통신경로를 찾는 것.
    -> 라우팅은 일종의 길찾기이므로 주소가 필요하다. 이 주소를 표로 만든 '라우팅 테이블'이 있다. 라우팅 테이블 보고 찾아가는 것.

  • 이 라우팅 테이블을 사람이 수작업으로 추가하는 것이 '정적 라우팅', 라우팅 프로토콜을 통해 경로를 자동으로 탐색하는 것이 '동적 라우팅' 이다.

profile
갑자기 왜 춤춰?

0개의 댓글