Main Content

TCP/IP 통신 개요

TCP(Transmission Control Protocol)는 IP(인터넷 프로토콜) 위에서 동작하는 전송 프로토콜로, 가장 많이 사용되는 네트워킹 프로토콜 중 하나입니다. MATLAB®의 TCP/IP 클라이언트 지원에서는 원시 소켓 통신을 사용하며, 이를 통해 MATLAB에서 원격 호스트에 연결하여 데이터를 읽고 쓸 수 있습니다. 예를 들어 원격 기상 관측소에 연결하여 데이터를 획득하고 플로팅할 수 있습니다.

  • 연결 기반 프로토콜 — 통신 중에 통신 링크의 양끝은 항상 연결된 상태여야 합니다.

  • 스트리밍 프로토콜 — TCP/IP는 연결의 한쪽 끝에서 다른 쪽 끝으로 전송되는 데이터의 긴 스트림과 반대 방향으로 흐르는 데이터의 또 하나의 긴 스트림이 있습니다. 한쪽 끝에 있는 TCP/IP 스택은 데이터 스트림을 패킷으로 분할하고 그 패킷을 전송하는 일을 담당하고, 다른 쪽 끝에 있는 스택은 패킷 헤더의 정보를 사용하여 패킷을 데이터 스트림으로 다시 조합하는 일을 담당합니다.

  • 신뢰성 있는 프로토콜 — TCP/IP에서 전송한 패킷에는 고유 시퀀스 번호가 들어 있습니다. 통신 시작 시 시작 시퀀스 번호가 다른 쪽에 전달됩니다. 수신자가 각 패킷을 승인하면, 어떤 패킷이 승인되었는지 전송자가 알 수 있도록 승인에 해당 시퀀스 번호가 포함됩니다. 각 패킷이 수신되면 전송자가 수신 확인을 얻게 되므로 패킷이 도착하지 않으면 이를 알고 패킷을 다시 전송할 수 있습니다. 또한 잘못된 순서로 도착한 패킷은 수신자가 올바른 순서로 다시 조합할 수 있습니다.

    전송자가 (처음 몇 개의 패킷부터) 패킷의 전송과 승인까지 걸리는 평균 시간을 알기 때문에, 제한 시간을 설정할 수 있습니다.

서버나 하드웨어에 대한 TCP/IP 연결을 만들고 읽기/쓰기 작업을 수행할 수 있습니다. 연결을 설정하려면 tcpclient 함수를 사용하고, 동기식으로 데이터를 읽고 쓰려면 writeread 함수를 사용하십시오.

참고 항목

관련 항목