1. 소켓의 프로토콜과 그에 따른 데이터 전송 특성
* 프로토콜(Protocol)이란 무엇인가?
: 컴퓨터 상호간의 대화에 필요한 통신규약
* 소켓의 생성
* 프로토콜 체계 (Protocol Family)
: 생성되는 소켓이 사용할 프로토콜 부류정보를 프로토콜 체계라고 한다.
: IPv4 인터넷 프로토콜 체계가 이 책에서 주로 설명하는 프로토콜 체계이다.
* 소켓의 타입(Type)
: 소켓의 데이터 전송 방식을 뜻한다. 프로토콜 체계에도 둘 이상의 전송 방식이 있기 때문에 결정해야 한다.
: 대표적인 타입
1. 연결 지향형 소켓(SOCK_SREAM) : 신뢰성 있는 순차적인 바이트 기반의 연결지향 데이터 전송방식의 소켓
: 중간에 데이터가 소멸되지 않고 목적지로 전송된다.
: 전송 순서대로 데이터가 수신된다
: 전송되는 데이터의 경계가 존재하지 않는다.(여러번에 걸쳐 보낸걸 한번에 받거나, 한번에 보낸걸 여러번에 걸쳐 받을 수 있다.)
: 소켓대 소켓의 연결을 반드시 1대 1이어야 한다.
Tip 소켓에 존재하는 버퍼가 꽉차면 데이터가 소멸되나요?
: 버퍼가 꽉 찰경우 데이터를 전송하는 소켓이 더이상 데이터를 전송하지 않기 때문에 데이터 손실은 특별한 경우가 아니면 발생하지 않는다.
: 뿐만아니라 소켓은 상대 소켓의 상태까지 파악하면서 데이터를 전송하기 때문에 데이터 전송이 제대로 되지 않으면 재전송하기도 한다.
2. 비 연결 지향형 소켓(SOCK_DGRAM) : 신뢰성과 순차적 데이터 전송을 보장하지 않는, 고속의 데이터 전송을 목적으로 하는 소켓
: 전송 순서에 상관없이 가장 빠른 전송을 지향한다.
: 전송된 데이터는 손실의 우려가 있고, 파손의 우려가 있다.
: 전송되는 데이터 경계가 존재한다
: 한번에 전송할 수 있는 데이터의 크기가 제한된다.
* 프로토콜의 최종 선택
: 하나의 프로토콜 체계 안에 데이터의 전송방식이 동일한 프로토콜이 둘 이상 존재하는 경우 사용한다.
: IPPROTO_TCP(연결지향형 TCP 소켓) 이나 IPPROTO_UDP(비 연결지향형 UDP 소켓)을 정한다.
|
'독후감 > 소켓프로그래밍' 카테고리의 다른 글
1. 네트워크 프로그래밍과 소켓의 이해 - Part1 네트워크 프로그래밍의 시작 (1) | 2017.03.15 |
---|