[네트워크] 네트워크계층 복습 및 정리

2023. 4. 28. 15:25CS/네트워크

728x90

//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎

 

 

1. IP 주소

  • IP 주소체계는 동적으로 옮겨갈 수 있는 주소체계를 갖는다.
    • 동일한 IP 주소라도 ISP가 바뀌어 라우팅 체계가 바뀔 수 있기 때문
    • 라우팅 테이블은 전 세계의 IP를 커버해야 하는데 모든 IP를 개별 등록하면 엔트리수가 너무 많아진다.
  • Classless Inter Domain Routing(CIDR)
    • 인터넷상의 데이터 라우팅 효율성을 향상하는 IP 주소 할당 방법
    • IP 주소(32bit)는 subnet part와 host part로 구분된다.
      • 라우팅시 subnet이 동일하지 않은 컴퓨터는 subnet 단위로 routing
      • subnet이 동일한 경우 단말로 routing
      → subnet이 같으면 목적지를 다 찾아갈 수 있고, 다르면 게이트웨이로 가서 전 세계 모든 목적지를 찾아갈 수 있다
          = 라우팅 테이블이 아주 크지 않아도 목적지를 찾아갈 수 있다.
  • subnet의 조각화
    • subnet part와 host part 비트간의 비율을 변경해서 서브넷을 조각화 할 수 있다.
    • IP를 여기저기서 분할해서 쓰는 것이 가능하도록 subnet을 계층화시키고 조각화가 가능하도록 만듦

 

2. 라우팅

  • 네트워크에서 경로를 선택하는 프로세스
    • 컴퓨터 네트워크는 노드라고 하는 여러 시스템과 이러한 노드를 연결하는 경로 또는 링크로 구성됨
    • 라우팅은 미리 정해진 규칙을 사용하여 최상의 경로를 선택하는 프로세스
  • 라우팅은 네트워크가 정체 없이 최대한 많은 용량을 사용할 수 있도록 데이터 트래픽을 관리함으로써, 네트워크 장애를 최소화해 줘서 네트워크 통신의 효율성을 높인다.
  • 라우팅 유형
    • 정적 라우팅: 네트워크 관리자가 정적 테이블을 사용해서 네트워크 경로를 수동으로 구성하고 선택
      • 일반적으로 네트워크의 적응성과 유연성을 저하시켜 네트워크 성능을 제한
    • 동적 라우팅: 실제 네트워크 조건에 따라 런타임에 라우팅 테이블을 만들고 업데이트
      • 소스에서 대상까지 가장 빠른 경로를 찾으려고 시도함
      • 트래픽 볼륨, 대역폭, 네트워크 장애 등 변화하는 네트워크 조건에 대응
  • 라우팅 알고리즘
    • 거리 벡터 라우팅(DV Routing): 주변 정보만을 가지고 라우팅
      • 모든 라우터가 각각 찾은 최상의 경로 정보를 주기적으로 업데이트해주어야 한다.
      • 네트워크의 모든 라우터는 가능한 모든 대상에 대한 최상의 경로에 대한 정보를 찾게 됨
    • 링크 상태 라우팅(LS Routing): 전체 네트워크 정보를 가지고 라우팅
      • 모든 라우터가 네트워크의 다른 모든 라우터를 검색한다.
      • 전체 네트워크의 맵을 만든 다음 데이터 패킷의 최단 경로를 계산

 

3. 라우팅 테이블(= 포워딩 테이블)

  • 목적지, 비용, next hop으로 구성
    • 목적지 주소를 넣으면 다음 hop에 해당하는 노드를 반환받을 수 있음
    • 어떤 IP 주소를 넣더라도 다음 합을 어디로 보내야 할지가 결정되어야 함
      • 대체로 비슷한 곳에 있는 IP는 next hop이 같을 것이라 추측해 묶어서 표현하는 subnet 사용
  • subnet: IP 여러 개를 묶어서 하나의 엔트리로 생각할 수 있는 개념
    • subnet part만 보고 목적지를 판단하겠다.
    • 라우팅 테이블의 엔트리를 줄일 수 있다.
  • subnet을 대표하는 노드의 IP를 정하는 방법: 라우팅 할 때 subnet part가 더 구체적인 쪽, 긴 쪽이 우선적으로 서브넷을 할당받는다.

 

4. IP 헤더

  • 버전, 헤더 길이, 서비스 타임, 전체 Packet 길이(16 bit)
  • 16 bit 패킷 ID, flag, fragment offset
  • TTL, upper layer, header checksum
  • source IP
  • dept IP
  • optional

 

5. IP Fragmentation

  • 큰 IP 패킷을 작은 조각으로 쪼개어 전송하는 방법
  • 라우터: 서로 다른 링크 레이어를 연결해 주는 역할, 위에는 IP 레이어, 아래에는 양단에 서로 다른 링크 레이어가 위치, 서로 다른 링크 간에 패킷을 보내기 위해 IP Fragmentation 해줌
  • IP 헤더 기본 크기: 20 Byte

 

6. IP 할당: DHCP(Dynamic Host Configuration Protocol)

  • UDP 기반 프로토콜, 서버가 네트워크 클라이언트에게 IP 주소를 실시간으로 부여할 수 있도록 하는 것
  • broadcast: 모든 노드(DHCP 서버 포함)가 듣도록 하는 IP 주소 255.255.255.255
    • UDP 기반
    • TTL 세팅해줘야 함
  • 네트워크를 사용하지 않을 때에는 IP에 연결되어 있지 않기 때문에 IP를 유동적으로 사용해서 효율을 높일 수 있다.

 

7. NAT(Network Address Translation)

  • 게이트웨이는 Global IP를 가지고 있고, 그 아래에 있는 IP는 local IP를 가지고 있다.
    • 그렇기 때문에 LAN 안의 local IP는 해당 LAN 안에서만 유니크하다.
    • Global IP를 가진 게이트웨이가 전체 LAN을 대표한다.
    • 외부의 서버에 접속할 때에는 local IP가 Global IP로 보이기 때문에 TCP 포트 번호까지 바꿔야 한다.
      • NAT에 한해서는 Global IP를 담당하는 NAT 게이트웨이를 지날 때 local IP가 자신의 Global IP로 변함
  • Port mapping Table: NAT 영역 밖으로 나갈 때 Port 번호가 변조됨
    • EIM
    • EDM

 

 

 

 


한국항공대학교 김철기 교수님의 [컴퓨터 네트워크] 강의 정리입니다감사합니다.

https://aws.amazon.com/ko/what-is/routing/

 

라우팅이란 무엇인가요? - 네트워크 라우팅 설명 - AWS

라우팅은 네트워크 통신의 효율성을 높입니다. 네트워크 통신 장애가 발생하면 웹 사이트 페이지가 로드될 때까지 사용자가 기다리는 시간이 길어집니다. 또한 웹 사이트 서버에서 많은 수의

aws.amazon.com

 

728x90