본문 바로가기
IT/Network

Socket, TCP/IP, UDP

by FreeYourMind 2022. 2. 13.

Socket

- 두 호스트를 서로 연결하기 위한 각 프로그램의 엔드 포인트로 인터페이스의 역할

- 프로토콜 + IP 주소 + Port 번호로 구성됨

 

연결 과정

TCP/IP (Transmission Control Protocol / Internet Protocol)

- 3 way handshake 과정을 통해 신뢰성 확보

Client

1. socket() : socket 생성

2. connect() : ip와 port 번호를 통해 통신할 서버로 연결 시도

3. write(), read() : 데이터 송수신

4. close() : 연결 종료

 

Server

1. socket() : socket 생성

2. bind() : socket에 ip와 port 번호 설정

3. listen() : 클라이언트의 접근 요청에 수신 대기열(Queue)을 생성하여 대기시킴

4. accept() : 클라이언트의 연결을 기다림

5. write(), read() : 데이터 송수신

6. close() : 연결 종료

 

UDP (User Datagram Protocol)

- 신뢰성을 확보하는 과정이 없어 속도가 빠름

Client

1. socket() : socket 생성

2. sendto(), recvfrom() : 데이터 송수신 (TCP와 달리 3개의 arguments가 더 필요함)

3. close() : 연결 종료

 

Server

1. socket() : socket 생성

2. bind() : ip와 port 번호 설정

3. sendto(), recvfrom() : 데이터 송수신 (TCP와 달리 3개의 arguments가 더 필요함)

 

 

 

 

 

출처

https://soonysoon.tistory.com/65

https://helloworld-88.tistory.com/215

https://www.cs.dartmouth.edu/~campbell/cs60/socketprogramming.html

 

 

 

'IT > Network' 카테고리의 다른 글

IPv4  (0) 2022.03.01
Port forwarding이란?  (0) 2022.02.26
DNS, Name Server  (0) 2022.02.17
DHCP 란?  (0) 2022.02.17
OSI 7 계층 (OSI 7 Layer)  (0) 2022.02.11

댓글