문제5) 소켓(Socket) 통신과 관련하여 다음을 설명하시오.
가. 소켓 통신 정의
나. 소켓 통신 방식 개념도 및 유형
다. TCP 소캣 및 Web 소켓 흐름 설명
라. 소켓 통신 방식과 HTTP 통신 방식 비교
답)
1. 서버와 클라이언트의 양방향 통신방식, 소켓 통신의 개념
가. 소켓 통신의 정의
- 웹서버와 웹브라우저간 양방향 통신이 가능한 TCP/IP 프로토콜 기반의 통신 규약
나. 소켓 통신의 특징
양방향 통신
|
|
|
다양한 데이터 처리
|
|
|
실시간 통신
|
|
|
|
2. 소켓 통신 방식 개념도 및 유형
가. 소켓 통신 방식 개념도
|
||
|
나. 소켓 통신 방식의 유형
유형
|
핵심요소
|
설명
|
TCP 통신
|
연결 지향
|
|
신뢰성
|
|
|
순서 보장
|
|
|
느린 전송
|
|
|
UDP 통신
|
비연결 지향
|
|
신속한 전송
|
|
|
신뢰성 감소
|
|
|
순서 미보장
|
|
|
|
3. TCP 소켓 및 Web 소켓 흐름 설명
가. TCP 소켓 흐름 개념
|
||
개념
|
|
|
서버 측면
|
|
socket() 함수를 이용하여 소켓을 생성
|
2. IP,Port 번호 설정
|
bind() 함수로 IP와 Port 번호를 설정
|
|
3.클라이언트 대기 결정
|
listen() 함수로 클라이언트의 접근 요청에 수신 대기열을 구성함
(몇 개의 클라이언트를 대기시킬 지 결정) |
|
4.클라이언트 연결 대기
|
accept() 함수를 사용하여 클라이언트와의 연결을 기다림
|
|
클라이언트 측면
|
|
socket() 함수 이용하여 소켓을 Open
|
2. IP, Port 번호에 통신
|
connect() 함수를 이용하여 통신 할 서버의 설정되 IP와 Port 번호에 통신을 시도
|
|
3. 소켓 Descriptor 반환
|
통신 시도 시 서버가 accept() 함수를 이용하여 클라이언트의 socket descriptor 를 반환
|
|
4. 서버와 통신
|
클라이언트와 서버사 서로 read(), write() 를 하며 통신
|
|
|
나. 웹소캣 흐름 개념
|
||
개념
|
클라이언트 Client 와 서버 Server 간 지속적으로 연결된 TCP 를 통해 실시간 양방향 전이중 데이터 통신하는 기술
|
|
클라이언트 측면
|
|
연결 대상에 대한 정보가 들어있지 않은 소켓을 생성
|
2. 연결요청
|
IP, 포트 번호로 연결하고 싶은 대상을 특정
|
|
3. 데이터의 송수신
|
요청에 대한 결과를 수신(Send, Receive)
|
|
4. 소켓 Close
|
데이터 송수신 필요 없어지게 되면 소켓 Close
|
|
서버 측면
|
|
연결 대상에 대한 정보가 들어있지 않은 소켓 생성
|
2. 서버 소켓 바인딩
|
소켁과 포트 번호를 바인딩
|
|
3. 클라이언트 연결요청 대기
|
포트번호와 바인딩 작업 마친 후 클라이언트 요청 대기
|
|
4. 클라이언트 연결 수립
|
최종 요청을 받아들이면서(accept) 다른 연결 처리 위해 listen 이나 close
|
|
|
4. 소켓 통신 방식과 HTTP 통신 방식 비교
가. 소켓 통신 방식과 HTTP 통신 방식 개념 비교
구분
|
소켓통신
|
HTTP통신
|
개념
|
클라이언트와 서버 양쪽에서 서로에게 데이터 전달을 하는 방식의 양방향 통신
|
클라이언트의 요청이 있을때 서버사 응답하는 단방향 통신
|
개념도
|
|
|
|
나. 소켓 통신 방식과 HTTP 통신 방식 상세 비교
구분
|
소켓 통신
|
HTTP 통신
|
연결상태
|
실시간 데이터 송수신에 적합
|
일괄적인 요청과 응답에 적합
|
사용용도
|
바이트 단위의 데이터를 처리
|
웹 리소스를 요청하는 용도로 사용
|
속도
|
상대적 빠름
|
상대적 저하
|
방화벽 및 보안
|
방화벽 등 추가적 보안 설정 필요
|
HTTPS 사용하여 암호화된 통신 지원
|
단점
|
Statefu한 연결 상태 유지하므로 부하발생
|
실시간성 데이터 부적합
|
|
- Stateful : (컴퓨터 보안 장치가) 네트워크 연결 상태를 추적할 수 있는 (TCP 연결 등)
공감과 댓글은 아이티신비에게 큰 힘이 됩니다.
블로그 글이 유용하다면 블로그를 구독해주세요.♥
'정보관리기술 > 네트워크' 카테고리의 다른 글
프레임릴레이(Frame Relay) / ① (3) | 2024.01.15 |
---|---|
WebRTC(Web Real Time Communication) / ① (1) | 2024.01.15 |
네트워크 서브네팅(Subnetting) (2) | 2024.01.15 |
QoS(Quality of Service) (1) | 2024.01.15 |
OSI 7 Layer (2) | 2024.01.14 |