버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

  • Load Balancing 
    • 로드 밸런싱(Load Balancing)이란? - 수 많은 트래픽들을 처리하기 위해서 균등하게 모든 사용자에게 트래픽을 배분하여 제공해서 네트워크 과부하를 막는 기능.

    • 코드 블럭
      titleLoad Balancing
      //5 tuple에 hash알고리즘을 적용하고, 결과를 mata.ecmp_select에 저장하는 행동,
        ecmp_nhop 테이블은 이를 이용하여 전송 //
      action set_ecmp_select(bit<16> ecmp_base, bit<32> ecmp_count) {
      	hash(meta.ecmp_select,
      		HashAlgorithm.crc16,
      		ecmp_base,
      		{ hdr.ipv4.srcAddr,
      		  hdr.ipv4.dstAddr,
      		  hdr.ipv4.protocol,
      		  hdr.tcp.srcPort,
      	 	  hdr.tcp.dstPort },
      		ecmp_count);
      }
      
      // ipv4가 유효하고, ttl이 0에 도달하지 않았을 경우 전송을 실시한다. //
      apply {
      	if (hdr.ipv4.isValid() && hdr.ipv4.ttl > 0) {
      		ecmp_group.apply();
      		ecmp_nhop.apply();
      		}
      	}
      


2/22

2/23

2/24


Memo

P4를 이용하기 전  무조건 알아두면 좋은 점 및 소개