반응형
TCP 기반 서버/클라이언트
TCP/IP 프로토콜 스택
- 인터넷 기반의 데이터 송수신을 목적으로 설계된 스택
- 큰 문제를 작게 나눠서 계층화 한 결과
- 데이터 송수신ㅇ의 과정을 네 개의 영역으로 계층화 한 결과
- 각 스택 별 영역을 전문화하고 표준화 함
- 7계층으로 세분화가 되며, 4계층으로도 표현함
TCP/UDP 계층의 기능 및 역할
- 실제 데이터의 송수신과 관련 있는 계층
- 전송계층 이라고도 함
- TCP는 데이터의 전송을 보장하는 신뢰성 있는 프로토콜, UDP는 보장하지 않는 프로토콜
- TCP는 신뢰성으르 보장하기 때문에 UDP에 비해 복잡한 프로토콜
APPLICATION 계층
- 응용프로그램의 프로토콜을 구성하는 계층
- 소켓을 기반으로 완성하는 프로토콜
- 소켓을 생성하면, 앞서 보인 LINK,IP,TCP/UDP 계층에 대한 내용은 감춰짐
- 응용 프로그래머는 APPLICATION 계층의 완성에 집중하게 됨
listen함수를 호출하면 서버의 연결요청 대기실에 들어가게 되고 서버소켓이 됨
서버소켓 = 문지기 역할
accept함수를 호출하면 소켓이 하나 생성되어 연결이 완료됨
서버 - 클라이언트 관계
Iterative 서버의 구현
다수의 클라이언트로부터 서비스를 제공할 수 있는 서버
- 반복적으로 accept 함수를 호출하면, 계속해서 클라이언트의 연결요청을 수락할 수 있음
- 동시에 둘 이상의 클라이언트에게 서비스를 제공할 수 있는 모델은 아님
참고 문서 : 윤성우의 열혈 tcp/ip 소켓 프로그래밍
//나는 채팅프로그램을 만들어야하니 Iterative 서버를 구현해야 할 거 같다.
반응형
'CS > 네트워크' 카테고리의 다른 글
[윤성우의 열혈 TCP/IP 소켓 프로그래밍] TCP 기반 서버/클라이언트 2 (0) | 2019.02.08 |
---|---|
[윤성우의 열혈 TCP/IP 소켓 프로그래밍] TCP 기반 서버/클라이언트 (윈도우) (0) | 2019.02.07 |
[윤성우의 열혈 TCP/IP 소켓 프로그래밍] 주소체계 & 데이터 정렬 (0) | 2019.02.02 |
[윤성우의 열혈 TCP/IP 소켓 프로그래밍] 프로토콜 (0) | 2019.02.02 |
[윤성우의 열혈 TCP/IP 소켓 프로그래밍] Chapter 01 내용 확인문제 (0) | 2019.01.31 |
댓글