본문으로 바로가기

[기타] HOL 블로킹(Head-Of-Line Blocking)

category 네트워크/기타 2018. 7. 29. 21:48
728x90
반응형

안녕하세요. 오늘은 HOL 블로킹에 대해 알아보겠습니다.


HOL 블로킹은 처음 들어보신 분이 많을겁니다.


저도 최근에 HTTP/2.0을 공부하다가 알게 된 용어입니다.


HOL(Head-Of-Line) 블로킹 이란 네트워크에서 같은 큐에 있는 패킷이 첫번째 패킷에 의해 지연될 때 발생하는 성능 저하 현상입니다.


이것 때문에 패킷의 처리 속도는 지연이 되고, 최악의 경우 드랍까지 발생할 수 있습니다.


 

 

 



HOL(Head-Of-Line) 블로킹에 대해 조금더 자세히 알아보겠습니다.


아래의 그림은 위키피디아(https://en.wikipedia.org/wiki/Main_Page)에서 가져온 그림입니다.



보통의 스위치는 패킷을 받는 input, input을 지난 후의 Switching fabric, Switching fabric을 지난 후의 output, 총 세 부분으로 나누어져 있습니다.


패킷이 input에 들어오면 Switching fabric을 거쳐 output에 도달하게 됩니다.


위의 그림에서는 HOL(Head-Of-Line) 블로킹의 예시를 나타낸 것입니다.


첫번째 input과 세번째 input은 동일한 인터페이스(output 4)로 패킷을 보내려고 합니다.


만약 이 경우에 Switching fabric에서 세번째 input의 패킷을 먼저 처리를 해버리면, 첫번째 input의 패킷을 인터페이스(output 4)로 보내지 못합니다.


이것이 HOL(Head-Of-Line) 블로킹입니다.


 

 

 



조금더 간단히 설명해 드리겠습니다.

만약 도로에서 직진 우회선 차선이 있습니다.


앞의 차는 직진을 하고, 저는 우회전을 해야 됩니다.


앞의 차가 신호에 걸렸습니다. 앞의 차 때문에 나는 우회전을 못하고 있습니다.


 

 



이것이 바로 HOL(Head-Of-Line) 블로킹입니다.

728x90
반응형