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 -
   814   815   816   817   818   819   820   821   822   823   824