Per ardua ad astra !
I'm On My Way
Per ardua ad astra !
전체 방문자
오늘
어제
  • 분류 전체보기 (126)
    • Algorithm (50)
      • 백준 (30)
      • SWEA (3)
      • JUNGOL (3)
      • Programmers (5)
      • LeetCode (2)
    • 안드로이드 개발 (6)
      • Java로 개발 (0)
      • Kotlin으로 개발 (3)
    • Spring (41)
      • Spring기본 (17)
      • JPA기본 (15)
      • JPA활용 SpringBoot 기본 (9)
      • API 개발 기본 (0)
    • 네트워크 (3)
    • 운영체제 (0)
    • Life (3)
      • 책 (0)
      • 자기계발 (1)
      • 일상 (2)
    • 노마드코더 (3)
      • python으로 웹 스크래퍼 만들기 (3)
    • 프로그래밍 언어 (17)
      • Java 기본 (2)
      • 코틀린 기본 (15)

블로그 메뉴

  • 홈
  • 방명록

인기 글

hELLO · Designed By 정상우.
Per ardua ad astra !

I'm On My Way

Network Layer - 1. 주요기능과 일반적인 라우터 구조
네트워크

Network Layer - 1. 주요기능과 일반적인 라우터 구조

2020. 12. 10. 16:52

Transport Layer가 한 host의 특정한 process가 다른 host의 특정한 process에 데이터를 전달할 수 있도록 하는 것. 

이였다면 ! 

Network Layer는 Transport Layer가 저런 기능을 할 수 있도록, 인터넷같은 네트워크로 연결되어 있는 host들 간에 실제 데이터를 전달할 수 있게 해주는 것. Sender Host -> Receiver Host 를 가능하게 해준다. 

 

- encapsulate를 통해 Segments -> datagrams로 만듬

- Receiving side(받는쪽이라면)에서는 전달된 segments를 transport layer로 전달

 

주요 기능 

1. forwarding

패킷을 라우터의 input에서 적절한 라우터의 output으로 이동시킴 

ex) 예를들면 좌회전, 우회전, 직진 지시 등과 같다. 

   inputLink  ->  rounter ->  적절한 output Link

 

2. routing

 source -> destination의 route를 결정한다. 

ex) 경로찾기, 최단경로 찾기 등으로 이해

 

 

Data plane과 Control plane

 

Data plane

- local, per-router function

- 라우터로 들어온 datagram이 어떤 router output port로 나갈 것인지 결정해줌

 

Control plane

- network-wide logic 전체 네트워크 관정

- end-end path의 source host와 destination host까지의 라우터들이 있으면 그 라우터들을 어떻게 선택하고 경로를 설정할 것인지 결정하는 것

 

control plane과 data plane (출처: COMPUTER NETWORKING)

 

 

아래는 Data plane의 전반적인 내용이 시작된다.

 

Router architecture overview

일반적인 라우터의 구조

라우터의 구조 (출처: COMPUTER NETWORKING)
라우터의 구조 (출처: COMPUTER NETWORKING)

여기서의 port는 TCP의 논리적인 port와 구별되는 진짜 물리적인 port이다.

아래의 공유기에 꼽는 port처럼 이 port도 라우터와 연결되는 물리적인 link로 이해하면 된다.  

ex) 공유기 

 

decentralized switching 방법은 2가지 

 

1) destination-based forwarding 방법

   전통적인 방법, destination IP address를 기반으로 한다.

2) generalized forwarding 방법

   set of header field values를 기반으로 한다.

 

1)방법에는 Longest prefix matching이 대표적인 방법인데

이는 도착지 IP주소가 주어진 상황에서 forwarding table을 찾을 때 도착지 주소와 일치하는 Longest address prefix를 활용하는 것을 의미한다. 

prefix는 접두사 혹은 앞부분을 의미하는 단어인데, 즉 prefix와 IP주소의 앞부분이 가장 일치하는 Interface를 찾아전달됨. 

 

Longest prefix matching예제

Longest prefix matching

router가 longest-prefix matching을 활용하고 있고, forwarding table이 다음과 같다고 가정.

 

문제1

대상 주소가 10111010인 데이터그램이 라우터에 도착. 이 데이터그램은 Longest-prefix matching을 사용하여 어떤 인터페이스로 전달이 됩니까?

 

문제2

문제1과 환경은 같다.  대상 주소가 11010100 때는?

 

문제3

문제1과 환경은 같다.  대상 주소가 10010000 때는?

 

 

답

1. 6

  101, 10 등의 prefix가 없으므로 otherwise를 선택하여 인터페이스 6이 매칭된다.

2. 1 

3. 5

 

다음 포스트에서는

위의 라우터구조의 참조자료에 등장한 switching fabric과 Queuing과 Scheduling을 공부해보자.

    '네트워크' 카테고리의 다른 글
    • Network Layer - 2. Switching fabrics, Queuing, Scheduling
    • Transport Layer 전송계층 - TCP Retransmissions 문제
    Per ardua ad astra !
    Per ardua ad astra !
    개발자 지망생이며 열심히 공부하고 기억하기 위한 블로그입니다.

    티스토리툴바