10주차-2

Chooooo·2023년 1월 20일
0

컴퓨터네트워크

목록 보기
3/11
post-thumbnail

컴퓨터네트워크 수업 내용 복습 !


‏‏‎ ‎

이번 시간에는 데이터 평면에 관련된 내용 중에 Generalized Forwarding(SDN)에 대해서 알아볼 것.

  • Match+action

  • OpenFlow : match+action in action

에 대해서 공부할 것.


SDN(Software Defined Network)라는 것이 나오면서

Generalized Forwarding이 등장했다.

Destination-Based Forwarding은 목적지 주소를 가지고 포워딩을 한다.

그와 다르게 SDN에 가서는 목적지 주소만이 아닌 여러가지를 고려할 수 있다.

ex) 중간에 자원들이 어떻게 할당되어 있는가, 얼마나 혼잡이 일어나고 있는가 등


Flow table(플로우 테이블)은 라우팅 테이블과 비슷한데, 좀 더 자세한 추가적인 정보들을 가지고 판단을 하는 테이블이다.

라우팅 테이블을 어떻게 보면 포함한다고 생각하면 된다.

기본적으로 플로우 테이블이라고하면 매치, 어떤것과 매치가 되는지 조건을 나타내는 부분과 ,그 조건에 맞을 때 어떤 액션을 해야할지 나타내는 부분이있다.

어떤 조건을 만족했을 때 어떤 액션을 취할지를 적어 놓은 테이블이다. (플로우 테이블)

결국 플로우라는 것은 헤더에 있는 필드값들에 의해서 결정이된다.

링크레이어(링크계층), 네트워크(네트워크 계층), 트랜스포트 레이어(트랜스포트 계층)에 있는 필드들을 다 고려해서 액션을 취하게 된다.

일반적인 포워딩에서는 몇가지 방법을 사용하는데

일단은 매치,

매치는 헤더의 필드 값을 보고 이 값들이 실제로 패턴이 맞는지 보는 작업을 이야기한다.

액션은 어떤 조건이만족을했을때 드랍을 할것인지, 포워딩할것인지, 패킷의 헤더 일정부분을 수정해서 NAT에서 포트넘버랑 IP 주소를 수정하는 작업을 할 것인지, 패킷을 특정 컨트롤러로 보낼 수도 있다.

그리고 포워딩테이블에는 프라이오리티(priority)등도 표현되어야한다.

패턴이 겹치는 경우에는 어떤게 우선이 되어 실행이 되어야하는지 정의되어 있어야 하고

그리고 카운터

이것은 statistics, 통계정보로 생각을 하면되는데, 어떤 조건에 만족하는 것에 대해서 어떤 액션을 취할 때마다 몇개의 패킷들이 어떤 조건을 만족해서 어떤 액션을 취했고 전체 바이트는 얼마나 되는지를 통계로 남겨두는 카운터들이 있다.

‏‏‎ ‎

‏‏‎ ‎

‏‏‎ ‎

‏‏‎ ‎


‏‏‎ ‎

‏‏‎ ‎

‏‏‎ ‎

10주차 -2 image

OpenFlow는 네트워크를 통해 네트워크 스위치 또는 라우터의 전달 평면에 대한 액세스를 제공하는 통신 프로토콜이다.

--> openFlow에 대해서 위키피디아 내용 따로 공부!



‏‏‎ ‎

Middleboxes에 대해서...

간단히 말하자면 source에서 dest까지의 data path에 있는 IP router에서 수행되는 normal function들(forwaring, routing)을 제외한 다른 기능들을 의미하는 것이다.

사실 이런 middlebox는 어디에나 존재한다.

10주차 -2 image

일전에 다뤘던 NAT는 물론이고 Firewall이나 Load balancer, Web Cache 등 익숙한 서비스들이 보이는데, 이들이 모두 middlebox의 한 종류이다.

사실 처음에는 Middlebox는 hardware에서만 관리되는 독점적인(proprietary) solution이었다가 이후 open API를 구현하는 whitebox hardeware로 이동했다. 그 과정을 통해서 hardware에서 독점하는 solution에서 벗어났으며,match+action을 통해 local action들은 프로그래밍 가능해졌다.

  • 이는 software의 혁신/차별화를 향한 움직임이라고 할 수 있다.SDN은 private/public cloud안에서 관리하는 centralized control 및 configuration이다.Network functions virtualization(NFV)는 whitebox networking, computation, storage를 통한 programming 가능한 서비스이다 ?

10주차 -2 image

위 그림에서 볼 수 있듯 지금까지는 양 끝만 뭔가 많았고, 가운데 network layer에는 단 하나의 protocol만 존재했다. 때문에 모든 internet-connected device는 해당 protocol이 구현되어있어야 했다.

  • 위쪽은 edge에서 사용되는 protocol들이고, 아래쪽은 hop 단위에서 사용되는 기능들이다.
  • IP는 network core에서 사용되는 기능.

10주차 -2 image

‏‏‎ ‎

이제는 middlebox들 덕분에 가운데에도 이렇게 풍부한 protocol들이 생겼다..

  • 사실 network는 simple해야되는데, 점점 더 많은 function들이 추가되고 있다.
  • core는 simple해야되는데...

‏‏‎ ‎


Where's the intelligence?

10주차 -2 image

처음에는 중앙에만 intelligence가 있었다가, 인터넷 초기엔 intelligence가 다시 host로 옮겨졌다/ 이후 지금은 core에도 intelligence들이 추가되고 있다.(SDN)등

그렇다면 이러한 forwarding table, flow table은 어떻게 생성되는 것일까?

--> 제어 평면에서 공부.


‏‏‎ ‎

‏‏‎ ‎

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글