실시간 이더넷에 대한 심층 분석
글: 볼커 골러(Volker Goller) / 아나로그디바이스(
Analog Devices, Inc.)
최근 몇 년 사이에 산업용 이더넷, 즉 실시간 이더넷이 빠르게 성장하고 있다. 고전적인
필드버스 기술이 여전히 많이 사용되고 있긴 하지만 전성기는 지났다. 대중적인 실시간 이더넷 프로토콜들은 실시간 성능에 대한 요구를 충족하도록 이더넷 표준을 확장했다. 여기에
TSN이 등장하면서 실시간 이더넷으로 가는 경로가 하나 더 추가되었다.
실시간 특성과 통신 기능
공장 자동화와 구동 기술에 있어서 실시간이란 수십 밀리초에서부터 짧게는 수 마이크로초에 이르는 사이클 시간을 안전하고도 신뢰할 수 있게 충족하는 것을 말한다. 이러한 실시간 요구를 충족하기 위해 이더넷 역시 실시간 성능을 갖추도록 변화해야 했다.
그림 1: 자동화를 위한 실시간 통신
필드버스보다 훨씬 빠른 이더넷
자동화 분야의 실시간 요구를 충족하려면 전송 대역폭과 전송 지연시간을 둘 다 확실하게 보장해야 한다. 대개 이 대역폭이 아주 작기는 하지만(디바이스당 수십 바이트), 이 전송 채널들은 매
I/O 사이클마다, 요구되는 지연시간 조건으로 사용이 가능해야 한다.
그런데 고전적인 이더넷을 사용해서는 그러한 지연시간과 대역폭을 보장하지 못한다. 이더넷 네트워크는 동작하는데 필요하다면 언제든지 프레임을 버릴 수 있다. 이것이 무엇을 뜻하는지 좀더 자세히 살펴보자.
이더넷은 이른바
브리지형 네트워크이다. 프레임(이더넷 프레임)을 한 지점에서 또 다른 지점으로 전송한다. 어떤 말단에서 스위치(브리지)로 보내고, 여기서 다시 또 다른 브리지로 보내고, 최종적으로 또 다른 말단으로 보낸다. 이 아키텍처는 상당 부분을 스스로 구성한다. 브리지들은 처음에 프레임을 모두 받은 다음에 전달을 한다. 이 때문에 다음과 같은 문제들이 발생할 수 있다:
- 브리지의 버퍼 메모리는 저장할 수 있는 용량보다 더 많은 프레임이 저장돼야 하면 새로 들어오는 프레임을 버릴 수 있다.
- 프레임마다 길이가 다르기 때문에 이 길이에 따라서 지연시간이 발생한다. 그렇기 때문에 지연시간에 차이(
지터)가 생긴다.
- 프레임을 전송하려고 하는 포트를 이미 다른 프레임이 최대 프레임 크기까지 차지하고 있을 수 있다. 그러면 추가적인 지연이 발생할 수 있다. 대형 이더넷 프레임(1522바이트)을 전송하려면 100Mbps 속도로 124ms가 걸린다.
이더넷은 대개는 잘 작동하고 어느 정도 공정하다고 할 수 있다. 하지만 이 말은
하드 실시간(Hard-Real-Time)으로 연결해야 할 때는 의미가 없어진다. 실시간 요건이 오직 일반적인 경우에만 충족된다면 충분하지 않다. 모든 경우에 확실하게 보장되어야 하기 때문이다.
자신이 화학 플랜트나 정유 공장 옆에 살고 있다고 생각해 보라. 특정한 경우가 아닌 모든 경우에 확실하게 자신의 안전을 보장받고 싶지 않을까? 그러니 산업용 통신에 있어서는 제어/폐쇄 루프 제어 애플리케이션이 언제나 최우선으로 처리되어야 한다.
그림 2: ISO 7레이어 모델
프로피넷(PROFINET)과 이더캣(EtherCAT)
이더넷 표준을 책임지고 있는
IEEE에서 이 문제에 대한 해결책을 정의하고 있지 않으므로 업계는 자체적으로 솔루션 개발에 나섰다. 이러한 모든 솔루션들은 각각의 장단점을 갖고 있으며, 각기 다른 측면의 요건들을 충족한다.
그림 3: 다양한 프로토콜
PROFINET: 범용성
PROFINET은 두 가지 보완적인 솔루션을 도입하고 있다. PROFINET RT는 사이클 시간이 최대 1ms에 이르는 공장 자동화 솔루션이다. RT는 표준 이더넷을 기반으로 한다. 이더넷으로 가능한 것들(
QoS, 우선순위)을 활용해서 실시간 트래픽 우선권을 부여할 수 있다. 이것이 어느 정도 도움이 되기는 하지만, QoS가 자원이나 지연시간 문제를 완전히 해결하지는 못한다. 이것이
소프트 실시간(Soft-Real-Time) 특성이 제한적인 이유이다. 이 기술의 확실한 장점은 네트워크에 사용되는 다른 프로토콜들(
HTTP,
SNMP,
TCP/IP 등)과 호환성이 좋다는 것이다.
그림 4: PROFINET IRT
그러므로 PROFINET은 하드 실시간을 위해서
IRT(isochronous real-time, 등시 실시간) 기능을 도입하고 있다. 이는 표준 이더넷 하드웨어 확장을 통해서 이더넷 대역폭의 일부를 전적으로 IRT 트래픽 용으로 할당하는 것을 말한다. 이것은 IRT 노드 들에서 정확한 클록 동기화를 사용함으로써 이루어진다. 이렇게 해서 매 사이클에 정규 트래픽은 사용하지 못하도록 채널(적색 구간)을 차단할 수 있다. 적색 구간에서는 IRT 프레임만이 네트워크에 도달할 수 있다. 또한 네트워크 참가자들이 정확하게 사전에 계산된 시간에 IRT 프레임을 전송함으로써 적색 구간에서 효율을 극대화한다. IRT 프레임은 네트워크를 통해서 거의 슬립을 일으키지 않고 이동한다. 그러므로 모든 다른 트래픽이 기다려야 하는 적색 구간의 길이를 최소한으로 제한할 수 있다. 적색 구간은 이더넷 채널 대역폭의 최대 50%까지 차지할 수 있다.
앞서 설명했듯이 최대 길이(1552바이트) 이더넷 프레임을 전송하는 데에는 약 124ms가 걸린다. 만약 PROFINET IRT가 대역폭의 최대 50%를 차지한다면, 가장 빠른 사이클 시간은 2 x 124ms = 248ms이기 때문에 반올림하면 약 250ms이다. 이런 식으로 다른 프로토콜들(HTTP 등)이 형태를 바꾸지 않고 공존할 수 있다.
PROFINET 2.3에서 도입하고 있는 빠른 포워딩,
동적 프레임 패키징, 쪼개기 같은 IRT 최적화를 사용하면 최저 31.25ms까지 더 빠른 사이클 시간이 가능하다.
EtherCAT: 이더넷 필드버스
EtherCAT은 레이어 1에서 물리적 이더넷을 기반으로 한 필드버스이다. 레이어 2도 필드버스 애플리케이션과 높은 쓰루풋이 가능하도록 최적화하고 있다. EtherCAT은 고전적인 이더넷 브리지를 사용하지 않는다. 통합형 프레임 텔레그램을 사용해서 데이터 전송을 극히 효율적으로 한다. 보통의 이더넷처럼 통신에 관여된 각각의 디바이스가 매번 프레임을 전송하는 것이 아니고, EtherCAT은 사이클 당 하나의 프레임을 전송한다. 하지만 이 프레임에 해당 디바이스를 위한 모든 데이터들이 포함된다. 디바이스가 EtherCAT 프레임을 전송하는 동안에 해당 디바이스로 지정된 데이터를 바로바로 프레임으로 삽입하거나 취한다. 이런 방식으로, 극단적인 예로 31.25ms 미만의 극히 짧은 사이클 시간도 가능하다.
EtherCAT 역시 시간 동기화를 사용한다. PC 상에서 항상 이상적이지만은 않은 이더넷 인터페이스를 EtherCAT의 마스터로 사용하기 위한 많은 노력이 이뤄져왔다.
웹이나 TCP/IP 트래픽 같은 이더넷 트래픽은 작게 쪼개서 EtherCAT 위에 얹어서만 전송할 수 있다. 와이어 상에 직접적으로 공존하는 것은 불가능하다.
기타 프로토콜
파워링크(POWERLINK)는 기본적으로 EtherCAT과 동일한 접근법을 사용한다. 이는 이더넷에 대한 제어를 장악하고 노드들에 얹어서 IP 애플리케이션을 전송한다. POWERLINK는 통합형 프레임 프로토콜을 사용하지 않으면서도 실제 애플리케이션에서 그와 거의 비슷하게 잘 작동한다.
직렬 실시간 통신 시스템을 뜻하는
서코스(SERCOS)는 IRT처럼 대역폭의 일부를 할당하며, 통합형 프레임 프로토콜을 사용한다. SERCOS는 다른 프로토콜과 공존이 가능하다.
TSN의 등장
IEEE는
오디오/비디오 브리징(AVB) 프로토콜과 관련해서 실시간 문제에 접근했다. 이 프로토콜을 향상시키기 위해 좀더 도전적인 실시간 통신을 도입하는 방안을 고려했다. 이에 원래 AVB2였던 표준 규격 명칭을
TSN(time-sensitive networking, 시간 민감형 네트워크)으로 변경했다. 이 표준이 등장함으로써 단일화되고 확정적인 이더넷이 가능하게 되었다.
이 표준이 등장함으로써 많은 것들이 수월해졌다. 예를 들어, 널리 알려진 산업용 네트워크들은 대개 100Mbps로 설계되었다. 그런데 오늘날에는 특정 영역에서 기가비트 이더넷과 10Mbps 이더넷에 대한 관심이 고조되고 있다. TSN 표준은 모든 속도를 지원할 수 있다. TSN을 사용하면 처음부터 새로 개발해야 하는 수고를 줄일 수 있다. TSN이 아니었다면 모든 기존의 표준을 기가비트에 맞게 변경해야 했을 것이며, 그러기 위해서는 하드웨어 개발을 위해서 막대한 비용이 들어가고 시장이 분열되었을 것이다.
그림 5: 이더넷 프레임, 초록색으로 표시된 것들이 TSN 데이터 스트림과 관련된 것들
TSN을 사용한 실시간 달성
TSN은 이더넷의 레이어 2를 확장하여 실시간 동작에 필요한 다음과 같은 메커니즘들을 포함시켰다:
802.1AS/802.1AS-Rev는 이 네트워크에서 지극히 정확한 클럭 동기화가 가능하도록 정의하고 있다.
-
TAS(time-aware shaper) 옵션 기능을 사용해서 이더넷을 하드 스케쥴링으로 실행할 수 있다. 이것은 특정 시점에 QoS 모델의 하나 이상의 큐(queue)를 차단/해제할 수 있는 것이다.
- 선취권(급한 트래픽 심기) 기능을 사용해서 긴 프레임을 작은 부분들로 나눌 수 있다. 그럼으로써 우선순위가 높은 프레임들에 대해서 지연시간을 최소화할 수 있다. 또한 이 기능을 사용해서 100Mbps 이상의 속도일 때 TAS를 위한 보호 대역을 최적화하거나 TAS를 교체할 수 있다.
- 높은 신뢰성을 달성하기 위해, 프레임 복제 및 제거 기능을 사용해서 네트워크로 중복 경로를 정의할 수 있다.
-
소프트웨어 정의 네트워킹(SDN)을 도입함으로써 프레임을 반드시 목적지 노드의 하드웨어
MAC 어드레스를 사용해서 전달할 필요 없이, 특수한 MAC 어드레스(로컬에서 관리되는 멀티캐스트 MAC)와 VLAN ID를 조합한 것을 사용해서 전달할 수 있다. 네트워크를 통한 프레임 전달이 더 이상 자동으로 결정되지 않고 소프트웨어에 의해서 구성된다. 이와 같이 멀티캐스트 MAC과 VLAN ID를 조합한 것을 스트림 ID라고 하며, 스트림 ID가 같은 모든 TSN 프레임을 TSN 스트림이라고 한다. TSN 스트림은 보내는 측은 하나지만 받는 측은 여럿일 수 있다.
또한 TSN 스트림은 기존 자원을 고려해서 더 이상 어떤 프레임도 버려지지 않도록 구성될 수 있다. 브리지들이 자신의 자원을 활용해서 TSN 스트림을 손실 없이 전달할 수 있다.
나머지 자원(메모리/대역폭)을 사용해서 가장 바람직한 트래픽(표준 이더넷, IP, 웹)이 완벽하게 정상적으로 이루어진다.
레이어 2 상단의 레이어들
모든 인터넷 이더넷 프로토콜 뒤에는 그 프로토콜의 표준화와 대중화를 책임지고 있는 표준화 기구들이 자리잡고 있다. 이들 각각의 기구들에서 TSN 전략을 수립하고 있다. 그 결과, 이제는 어떤 형태로든 거의 모든 기존 프로토콜에 TSN이 추가되는 것을 볼 수 있다.
PROFINET의 경우에는 TSN으로 가기 위한 경로가 비교적 짧다. TAS(time-aware shaping)를 사용해서 풍부한 경험을 쌓아왔고(이미 IRT에 거의 가깝게 하고 있음) IT 프로토콜들이 공존하는 것이 항상 가능했기 때문이다. 사용자들 역시 마찬가지로, 익숙한 환경으로 새로운 성능을 경험할 수 있게 되었다.
EtherCAT과 SERCOS는 필드 레벨 상위에서 TSN을 사용할 수 있도록 할 것이다.
EtherCAT 자동화 프로토콜(EAP)은 고전적인 EtherCAT 세그먼트를 낮은 오버헤드로 TSN을 통해서 네트워킹하기에 매우 적합하다.
전혀 새로운 산업용 이더넷 프로토콜을 정의하려는 움직임도 나타나고 있다. OPC UA는 애플리케이션 레이어로 사용되고 있다. TSN을 사용함으로써 이 프로토콜로 실시간이 가능하게 할 수 있다. 다만 그러기 위해서는 해결해야 할 많은 과제들이 존재한다. 전송을 위해서는 OPC UA에 OPC UA PUB/SUB 프로토콜이라고 부르는 새로운 전송 레이어가 필요하다.
그림 6: 하드 실시간(IRT), 소프트 실시간(RT), IT 프로토콜(TCP/IP)의 지연시간 및 지터의 크기
맺음말
오늘날의 산업 자동화에는 100Mbps 이더넷이 사용되고 있으며, 조만간 기가비트 이더넷이 사용될 것이다. 하지만 속도가 빨라진다고 해서 확실한 지연시간이나 확실한 전송이 자동으로 보장되는 것은 아니다. 하드 실시간을 달성하기 위해서는 특수한 메커니즘이 필요하다. 현재 이를 위해 TSN을 활용한 표준화가 이루어지고 있다.
저자 소개
볼커 E. 골러(
volker.goller@analog.com)는 아나로그디바이스의 시스템 애플리케이션 엔지니어이다. 복잡한 모션 제어와 임베디드 센서에서부터 TSN 기술에 이르기까지 산업용 분야에서 30년 넘게 경험을 쌓아왔다. 소프트웨어 개발자로서, 무선 및 유선 애플리케이션용 다양한 통신 프로토콜 및 스택 개발, 표준화 기구들의 새로운 표준 개발에 적극적으로 참여해 왔다.
제품스펙