4.1 네트워크계층 개요 276
4.1.1 포워딩과 라우팅: 데이터 평면과 제어 평면 276
4.1.2 네트워크 서비스 모델 280
네트워크계층 개요
- 트랜스포트 계층이나 애플리케이션 계층과는 달리,각 호스트와 네트워크의 라우터마다 네트워크 계충의 일부가 존재한다.
- 프로토콜 스택 중 가장 복잡한 계층
- 네트워크 계층의 상호작용하는 두 부분
- 데이터 평면
- 라우터별 제어: 한 라우터의 입력 링크에 도착한 데이터그램이 다른 한 목적 라우터의 출력 링크에 어떻게 도착하는지를 결정
- 전통적인 IP 포워딩: 포워딩은 데이터그램의 목적지 주소에 기반
- 일반화된 포워딩 : 데이터그램의 여러 필드값을 사용해서 수행
- IPv4, IPv6 프로토콜과 주소 체계
- 제어 평면 : 데이터그램이 송신 호스트에서 수신 호스트까지의 라우터들을 어떻게 지나갈 것인지를 결정하는 네트워크 전반의 논리
- 라우팅 알고리즘
- OSPF, BFP와 같은 라우팅 프로토콜
- 소프트웨어 정의 네트워크(SDN) : 제어 평면의 기능을 분리된 서비스 처럼 사용하여 데이터 평면과 제어 평면을 뚜렷하게 구분
- 라우터 프로토콜 스택
![](https://velog.velcdn.com/images/yujeongkwon/post/b888598d-e7ac-487a-a1db-b3d5176fb743/image.png)
4.1.1 포워딩과 라우팅: 데이터 평면과 제어 평면
네트워크 계층의 중요한 기능 두 가지
![](https://velog.velcdn.com/images/yujeongkwon/post/b2dd594b-c052-4a7e-bc3b-c6cc0447995d/image.png)
포워딩(전달)
: 패킷이 라우터의 입력 링크에 도달했을 때 라우터는 그 패킷을 적절히 출력 링크로 이동시켜야 함
- 데이터 평면에서 실행
- 패킷이 라우터에서 나갈 때 막힐 수도 있음(예를 들어,패킷이 악의가 있는 호스트로부터지거나 금지된 목적지 호스트로 가고자 할 때)
- 패킷이 복제되어 여러 링크로 전송될 수 있음.
- 매우 짧은 시간(보통 몇 나노초) 단위 -> 대표적으로 하드웨어에서 실행
라우팅
: 송신자가 수신자에게 패킷을 전송할 때 네트워크 계층은 패킷 경로를 결정
- 한 홉(라우터)에서 갈 수 있는 경로를 모두 찾는 거
- 라우팅 알고리즘 : 경로를 계산하는 알고리즘
- 제어 평면에서 실행
- 네트워크 전반에 걸쳐 출발지에서 목적지까지 데이터그램의 종단 간 경로를 결정
- 은 더 긴 시간(보통 초) 단위를 갖기에 소프트웨어에서 보통 실행
포워딩 테이블
- 네트워크 라우터에서 필수 불가결한 요소
- 라우터는 도착하는 패킷 헤더의 필드값을 조사하여 패킷을 전달
- 포워딩 테이블의 내부 색인 : 패킷 헤더의 필드값
- 포워딩 테이블 엔트리에 저장되어 있는 헤더의 값 : 해당 패킷이 전달되어야 할 라우터의 외부 링크 인터페이스
- ㄴ-> 라우터는 자신의 포워딩 테이블을 보고 이 패킷에 대한 출력 링크 인터페이스를 결정
- 네트워크 계층 프로토콜에 따라,헤더의 값은 패킷의 목적지 주소이거나 패킷이 속한 연결의 지시일 수 있음
![](https://velog.velcdn.com/images/yujeongkwon/post/ff027cb9-b420-49ce-bd80-72499a296300/image.png)
- 그림 4.2
- 라우팅 공급업체에 의해 적어도 지금까지는 지속적으로 채택
- 인간이 포워딩 테이블을 수동으로 구성
제어 평면: 전통적인 접근 방법
- 첫 포워딩 테이블이 구성
- 라우팅 알고리즘은 라우터의 포워딩 테이블의 내용을 결정
- 한 라우터의 라우팅 알고리즘 기능은 다른 라우터의 라우팅 알고리즘과 소통하며 포워딩 테이블의 값을 계산
- 라우팅 프로토콜에 따라 라우팅 정보에 포함된 라우팅 메시지를 교환하며 이루어짐.
제어 평면: SDN 접근 방법
- 라우터로부터 물리적으로 분리된 원격 컨트롤러 컴퓨터와 각각의 라우터에 의해 사용될 포워딩 테이블을 분배하는 그림 4.2와 다른 접근법
- 평면 구성요소는 그림 4.2와 그림 4.3이랑 같음
- 그림 4.3은 제어 평면 라우팅 기능이 물리적 라우터와는 다름
- 원격 제어가 포워딩 테이블을 계산/배분하는 동안 라우팅 기기는 포워딩만 수행
- 원격 컨트롤러는 높은 신뢰성과 중복성을 갖춘 원격 데이터 센터에 설치될 수 있음
- ISP 혹은 다른 제3자에 의해 관리될 수 있음.
- 라우터와 원격 컨트롤러 간 소통
- 포워딩 테이블과 그 밖의 라우팅 정보를 포함한 메시지를 교환함으로써 소통
- 아래 그림의 제어 평면적 접근 방법은 SDN의 중심
SDN
(software defined networking): 네트워크가 '소프트웨어적으로 정의되었을 때',포워딩 테이블을 계산하는 컨트롤러는 라우터와 상호작용을 하며 소프트웨어에서 실행
![](https://velog.velcdn.com/images/yujeongkwon/post/8ed565d7-f294-45f1-9e2e-96d77f23b340/image.png)
🎩 4.1.2 네트워크 서비스 모델
- 네트워크 서비스 모델 : 송수신 호스트 간 패킷 전송 특성을 정의
- 보장된 전달: 패킷이 출발지 호스트에서부터 목적지 호스트까지의 도착 보장
- 지연 제한 이내의 보장된 전달: 패킷 전달 보장 + 호스트 간의 특정 지연 제한 안에 전달
- 순서화 패킷 전달: 패킷이 목적지에 송신된 순서대로 도착하는 것을 보장
- 최소 대역폭 보장: 송신과 수신 호스트 사이에 특정한 비트율의 전송 링크를 에물레이트한다.
- 송신 호스트가 비트들(패킷의 구성물)을 특정한 비트율 이하로 전송하는 한,모든 패킷이 목적지 호스트까지 전달
- 보안 서비스: 모든 데이터그램을 출발지 호스트에서는 암호화,목적지 호스트에서는 해독을 할 수 있게 하여 트랜스포트 계층의 모든 세그먼트에 대해 기밀성을 유지
- 등
- 인터넷 네트워크 계층은 최선형 서비스 제공
- 대충 보면 쓸모없어 보임 (순서 보장X 전송 보장X 지연 보장X)
- 더 좋은 서비스 모델 정의하고 구현 중~
- ex) ATM 네트워크 구조 : 순서, 지연, 최소 대역폭 보장 + 혼잡 방지 통신
- DASH 프로토콜처럼 적절한 대역폭 공급 및 대역폭 적응형 애플리케이션 레벨의 프로토콜과 결합된 최선형 서비스 인터넷 모델은 충분히 좋음~