Page 819 - 3-2
P. 819
나 라즈베리파이를 이용한 소켓통신.
1) 소켓통신이란?
가 한 시스템 또는 네트워크상에서 통신을 가능하게 해주는 통신 인터페이스라고 한다) .
나 한 쪽에서 보낸 신호를 다른 쪽에서 받으면 서로 연결이 성립되고 그 후 데이터를 주고 받는)
통신이다.
다 네트워크상에서 서버와 클라이언트 두 개의 프로그램이 특정 포트를 통해 양방향 통신이) 가
능하도록 만들어주는 소프트웨어 장치라한다.
라) IP address 랑 Port 넘버가 합쳐진 네트워크상에서 서버 프로그램과 클라이언트 프로그램이 통
신할 수 있도록 해주는 소프트웨어 장치이다.
마 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에 생성되는 링크의 단자)
이다.
바) 소켓통신은 크게 두 가지로 나뉘게 되는데 TCP(Transmission Control Protocol) 과
UDP(User Datagram Protocol) 로 나뉘게 된다.
2) 소켓의 정의
소켓(socket) 은 1982 년 BSD(Berkeley Software Distribution) UNIX 4.1 에서 처음 소개됐으며
현재 널리 사용되는 것은 1986 년의 BSD UNIX 4.3 에서 개정된 것입니다 소켓은 소프트. 웨어로
작성된 추상적인 개념의 통신 접속점이라고 할 수 있는데 네트워크 응용 프로그램은 소켓을 통하여
통신망으로 데이터를 송수신하게 된다 소켓은 응용 프로그램에서. TCP/IP 를 이용하는 창구 역할을
하며 응용 프로그램과 소켓 사이의 인터페이스 역할을 하고 있다.
3) 소켓의 구조
클라이언트 어플리케이션은 서버와 통신을 하기 위해 어떠한 메시지 또는 데이터를 서버에게 보내
려 할 것이다 그러기위해서는 네트워크에 연결하여 서버에 접속하여야 한다 그리고 소켓을 통하여. .
네트워크에 접속하여야 한다 소켓은 이렇게 어플리케이션에게 네트워크 접속을 위한 연결 장치 인. ,
터페이스 역할을 하는 것이다 네트워크 어플리케이션이 보낸 데이터를 소켓을 거쳐 운영체제상에.
존재하는 TCP/IP 소프트웨어에게 전달하게 된다 다시 하드웨어 상인 랜카드를 거쳐 네트워크에 전.
달하게 된다 서버의 경우는 클라이언트와 정 반대되는 개념이다 네트워크는 서버에게 보낸 데이터. .
를 서버의 랜카드에게 보내지게 한다 다시 운영체제의. TCP/IP 소프트웨어를 거쳐 어플리케이션과
연결개념인 소켓을 통해 최종적으로 서버 어플리케이션에게 전달되는 것이다 소켓은 이렇게 어플리.
케이션과 TCP/IP 사이에 존재 하고 있다.
4) 소켓의 종류
가 스트림)
스트림 소켓은 양방향으로 바이트 스트림을 전송 할 수 있는 연결 지향형 소켓으로 양쪽 어플리
케이션이 모두 데이터를 주고받을 수 있다는 것을 의미한다 스트림소켓은 오류수정 전송처리 흐. , ,
름제어 등을 보장해 주며 송신된 순서에 따른 중복되지 않은 데이터를 수신하게 된다 이 소켓은.
각 메세지를 보내기 위해 별도의 연결을 맺는 행위를 하므로 약간의 오버헤드가 존재한다 그러므.
로 소량의 데이터보다는 대량의 데이터를 보내는 경우에 적당하다 스트림소켓은 이러한 품질의.
통신을 수행하기 위해서 TCP 를 사용한다.
다 데이터그램.
명시적으로 연결을 맺지 않으므로 비 연결형 소켓이라고 한다 메세지는 대상 소켓으로 전송되며 대.
상 소켓은 메세지를 적절히 수신한다 스트림소켓을 사용하는 것이 데이터그램 소켓을 사용하는 것보.
다 더 신뢰성이 높은 방법이지만 연결을 수립하는데 드는 오버헤드는 무시할 수 없다 데이터그램 소.
- 819 -