1. 소켓의 프로토콜과 그에 따른 데이터 전송 특성

* 프로토콜(Protocol)이란 무엇인가?

: 컴퓨터 상호간의 대화에 필요한 통신규약

* 소켓의 생성

* 프로토콜 체계 (Protocol Family)

: 생성되는 소켓이 사용할 프로토콜 부류정보를 프로토콜 체계라고 한다.

: IPv4 인터넷 프로토콜 체계가 이 책에서 주로 설명하는 프로토콜 체계이다. 

* 소켓의 타입(Type)

: 소켓의 데이터 전송 방식을 뜻한다. 프로토콜 체계에도 둘 이상의 전송 방식이 있기 때문에 결정해야 한다.

: 대표적인 타입

1. 연결 지향형 소켓(SOCK_SREAM) : 신뢰성 있는 순차적인 바이트 기반의 연결지향 데이터 전송방식의 소켓

: 중간에 데이터가 소멸되지 않고 목적지로 전송된다.

: 전송 순서대로 데이터가 수신된다

: 전송되는 데이터의 경계가 존재하지 않는다.(여러번에 걸쳐 보낸걸 한번에 받거나, 한번에 보낸걸 여러번에 걸쳐 받을 수 있다.)

: 소켓대 소켓의 연결을 반드시 1대 1이어야 한다.

Tip 소켓에 존재하는 버퍼가 꽉차면 데이터가 소멸되나요?

: 버퍼가 꽉 찰경우 데이터를 전송하는 소켓이 더이상 데이터를 전송하지 않기 때문에 데이터 손실은 특별한 경우가 아니면 발생하지 않는다.

: 뿐만아니라 소켓은 상대 소켓의 상태까지 파악하면서 데이터를 전송하기 때문에 데이터 전송이 제대로 되지 않으면 재전송하기도 한다.

2. 비 연결 지향형 소켓(SOCK_DGRAM) : 신뢰성과 순차적 데이터 전송을 보장하지 않는, 고속의 데이터 전송을 목적으로 하는 소켓

: 전송 순서에 상관없이 가장 빠른 전송을 지향한다.

: 전송된 데이터는 손실의 우려가 있고, 파손의 우려가 있다.

: 전송되는 데이터 경계가 존재한다

: 한번에 전송할 수 있는 데이터의 크기가 제한된다.

* 프로토콜의 최종 선택

: 하나의 프로토콜 체계 안에 데이터의 전송방식이 동일한 프로토콜이 둘 이상 존재하는 경우 사용한다.

: IPPROTO_TCP(연결지향형 TCP 소켓) 이나 IPPROTO_UDP(비 연결지향형 UDP 소켓)을 정한다.

윤성우의 열혈 TCP/IP 소켓 프로그래밍
국내도서
저자 : 윤성우
출판 : 오렌지미디어 2009.12.01
상세보기


+ Recent posts