-
소켓(Socket)EDI 관련 기술 용어 2022. 8. 5. 11:00
소켓은 여러 뜻으로 사용됩니다.
회로 연결을 위한 장치이기도 하고, 통신환경을 이어주기도 합니다.
이번엔 통신에서의 소켓에 대해 알아보도록 하겠습니다.
소켓(Socket)
인터넷은 전용선과 TCP/IP 통신 프로토콜을 이용해 사용하고, 우리가 쉽게 하는 컴퓨터 통신은 전화망, 인터넷 등 다양한 수단을 이용하여 데이터를 주고받는 통신 방식입니다.
이와같이 서로 다른 통신 환경을 이어주는 것이 소켓입니다.
이를 테면 전기선과 전구를 전구 소켓이 이어주는 것과 같은 역할을 한다고 보면 됩니다.
서버와 클라이언트 양방향 연결이 이뤄지는 통신으로 자주 데이터를 주고 받아야 하는 상황에서 유리합니다.
소켓은 기기간 통신에서 포트를 식별하는 종착점(Endpoint)입니다.
Endpoint란 말 그대로 통신의 끝부분을 의미합니다.
여기서 포트는 운영 시스템의 호출에 따라 동작하는 입출력 장치를 의미합니다.
위에서 언급한 포트는 다음을 모두 포함합니다.
1. 운영 시스템에 의해 특정 물리적 장치로 지시된 입출력
2. 운영 시스템에 의해 관리되는 접근 방법이나 경로를 통해서 파일 시스템에 접근하는 것
3. 네트워크 프로토콜에 의해 정의된 기기간 통신 절차
인터넷 망에서의 소켓 예시
인터넷 망에서 소켓은 TCP 레이어에서 데이터가 전달하거나 받아야하는 어플리케이션을 식별하게 해주는 역할을 합니다.
다음은 일반적인 상황의 예입니다.
1. 서버는 포트가 바인딩된 소켓에서 컴퓨터에서 클라이언트의 요청을 계속 기다립니다.
2. 클라이언트는 연결내내 사용할 포트를 소켓으로 만들어 바인딩합니다.
3. 서버가 연결을 수락하면, 데이터 통신을 위한 자신의 로컬 포트에 바인딩된 새로운 소켓을 만듭니다.
4. 이제 새롭게 만든 소켓에 데이터를 읽거나 씀으로써 클라이언트와 서버가 통신할 수 있습니다.
5. 송수신의 모든 처리가 완료되면 소켓을 닫습니다.
소켓 통신의 특징
- 서버와 클라이언트가 특정 포트를 통해 양방향 통신을 하는 방식
- 연결은 종료하기 전까지 유지함
- 실시간 데이터 송수신에 적합
[참고 자료]
'EDI 관련 기술 용어' 카테고리의 다른 글
JSON (JavaScript Object Notation) (0) 2022.08.26 SOA (Service Oriented Architecture) (0) 2022.08.19 Base64 (0) 2022.07.27 UTF-8, UTF-16, UTF-32, 한글 인코딩 (0) 2022.07.20 문자 인코딩(Character Encoding) (0) 2022.07.15