프로토콜
- 개념적으로 약속
- 컴퓨터 상호간 데이터 송수신에 필요한 통신규약
- 소켓 생성시 기본 프로토콜 지정 필요함
int socket(int domain, int type, int protocol);
- domain, type, protocol 모두 프로토콜 정보와 관련있다.
- 첫번째/두번째로 이미 결정된 경우 protocol 자리에 0을 넣으면 알아서 된다.
domain - 프로토콜 체계 / Protocol family
- 프로토콜을 종류에 따라 부류로 나눈것
- 수업에선 앞의 2개만 거의 사용한다.
- PF로 시작하는것과 AF로 시작하는것은 동일하다!
type - 소켓의 타입
연결 지향형 SOCK_STREAM (TCP)
- 전송 순서대로 데이터 수신
- 데이터 무결성 유지
- 데이터 경계가 없음
- 1대1 소켓 연결
protocol 부분에 IPPROTO_TCP
비 연결 지향형 SOCK_DGRAM (UDP)
- 순서 상관없이 빠른 전송
- 데이터 무결성 유지 못함
- 데이터 경계가 있음
- 1회 전송 가능한 데이터 크기 제한
protocol 부분에 IPPROTO_UDP
윈도우