이더넷 통신 개요
데이터 전송하는 여러 가지 방식들 중 현재 전세계적으로 90%이상 사용되는 대표적인 네트워크 형태로, 1976년 제록스(Xerox)사에서 개발되었습니다.
다양한 종류의 컴퓨터를 네트워크로 묶을 수 있기 때문에 LAN(Local Area Network)의 대명사처럼 불려지는 가장 광범위하게 사용되는 네트워크 연결 시스템입니다.
데이터 전송을 위해 CSMA/CD라는 프로토콜을 사용하며, 전송속도는 현재 10~ 1,000Mbps까지 다양하게 존재합니다.
나뉘어 전송되는 데이터 조각을 프레임이라고 합니다.
프레임 구조
이더넷에서 사용하는 MAC(Media Access Control) 주소
전 세계적으로 유일한 이더넷 카드의 고유번호입니다.
이더넷 통신은 IP주소로 하는 것이 아닌 맥주소를 사용합니다.
우리가 흔히 사용하는 IP주로부터 MAC주소를 알아내야 하는데 그것을 ARP(Address Resolution Protocol)라고 합니다.
이더넷통신 구분방식
이더넷 통신 방식에는 유니캐스트, 멀티캐스트, 브로드캐스트 세가지가 있습니다.
유니캐스트
브로드캐스트
멀티캐스트
이더넷 프로토콜
이더넷 프로토콜은 서로 다른 시스템에 있는 두 개체간에 성공적으로 데이터를 전송하는 통신규약으로 대표적으로 사용하는 이더넷 프로토콜은 TCP, UDP 두가지 종류가 있습니다.
구분 | TCP(Transmission control protocol) | UDP(User Datagram Protocol) |
전송형태 | 연결형(Connection-oriented)프로토콜 -연결이 성공해야 통신가능 | 비연결형(Connectionless)프로토콜 -연결없이 통신가능 |
데이터경계를 구분하지 않음 -바이트 스트림(byte-stream)서비스 | 데이터 경계를 구분함 -데이터그램(datagram)서비스 | |
연결방식 | UNICAST(1:1) | UNICAST(1:1),BROADCAST(1:N),MULTICAST(N:N) |
특징 | 신뢰성 있는 데이터 전송 -데이터의 전송순서가 보장됨. -데이터의 수신여부 확인 UDP보다 전송 속도가 느림 | 신뢰성 없는 데이터 전송 -데이터의 전송순서가 바뀔수 있음. -데이터의 손실되어도 알수 없음. TCP보다 전송속도가 빠름. |
용도 | 불안전한 LAN환경이거나 데이터 손실이 일어나면 안되는 현장에서 적용 | 안전한 LAN환경에 연결되어 사용하거나 실시간성의 중요한 정보를 중시할시에 사용함. |
Tip TCP/IP vs. UDP/IP
TCP 프로토콜은 통신을 수행하기 위하여 두 장비간 접속(Connection) 절차를 반드시 거쳐야 하는 프로토콜입니다. 접속을 유지한다는 것은 통신 상대방에 관한 정보와 통신 프레임 전개 과정에 따른 각종 데이터를 관리하기 위한 메모리를 별도로 확보한다는 것을 의미합니다. 따라서, 일반적으로 TCP를 지원하는 서버 장비들은 허용하는 동시 접속 용량에 제한을 두게 됩니다.
TCP 프로토콜은 파일과 같은 대용량의 데이터를 교환하는 용도에 매우 적합합니다. 보통 Ethernet 프레임은 1Kbytes 내외의 크기를 한 단위로 하여 전송됩니다. 수 Mbytes 용량의 파일을 송/수신 하기 위해서는 많은 수의 작은 프레임을 교환하여야 합니다. 이 과정 중 단 한 개의 프레임이라도 오류가 발생되어 전송되지 못한다면 전체 파일의 데이터를 신뢰할 수 없게 됩니다. 이러한 요구에 적합하도록 TCP 프로토콜은 프레임의 순서를 관리하는 방법과 오류 발생시 프레임을 재전송하는 방법 등을 엄격하게 규정하고 있습니다. 그 결과, TCP 프로토콜을 이용하여 송수신 된 파일은 높은 신뢰성을 갖게 된다 할 수 있습니다.
이것은 사무자동화 분야에서는 매우 중요한 장점입니다. 그러나, 고속의 실시간 통신을 필요로 하는 산업자동화 분야에서는 다른 관점으로 볼 수 있습니다. SCADA 또는 HMI 와 PLC간 통신을 산업자동화 분야의 대표적인 예로 들 수 있습니다. 이들 장비 사이의 통신은 여러 개의 분리된 데이터 블록을 끊임 없이 반복하여 송/수신하는 특징을 갖고 있습니다. 파일의 송수신에 적합하도록 설계된 TCP 프로토콜을 이와 같은 산업자동화 통신에 적용하여도 큰 문제는 없습니다. 다만, TCP 프로토콜에 포함되어 있는 많은 기능들이 통신 성능을 다소간 저하시키는 원인으로 작용합니다. 때로는 이 약간의 부담도 산업자동화에서 요구하는 실시간성에 문제를 야기하는 경우가 있어 이를 최적화할 필요가 있습니다. UDP 프로토콜은 이와 같은 요구에 매우 적합합니다. TCP 프로토콜과 비교하여 단순하게 설계되어 있어 보다 빠른 응답을 얻을 수 있습니다. 또한, 접속(Connection) 절차를 필요로 하지 않아 동시 통신 장비의 수에 제약을 둘 필요가 없습니다. (물론, 물리적인 네트워크 용량과 장비 자체의 처리 용량을 초과할 수는 없습니다.) 다만, 오류 발생시 처리 방법이 규정되어 있지 않기 때문에 이것에 대한 보완이 필요합니다.
CIMON 역시 다수의 고유 프로토콜을 용도에 따라 정의하고 있습니다. CICON 프로토콜과 HMI 프로토콜이 그 대표적인 예입니다. CICON 프로토콜은 UDP 상에서 운용됩니다. 이 프로토콜에는 오류 검출 알고리즘과 오류 발생시 처리 수순 및 대용량 데이터의 송수신 방법이 적절하게 규정되어 있어, 최종 통신의 신뢰도는 충분히 높다 할 수 있습니다. HMI 프로토콜은 UDP와 TCP 모두에서 운용될 수 있으며, 이것은 사용자의 선택에 따릅니다. 물론, UDP에서 운용되어도 높은 신뢰도를 확보할 수 있도록 설계되어 있습니다.
시스템 응용 구성도
DHCP를 이용한 SCADA-PLC통신