본문 바로가기
네트워크

소켓, 소켓통신

by Lee_Mc 2024. 3. 21.

소켓

소켓은 전송 계층과 응용 프로그램 계층 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트를 연결해 준다.
클라이언트 소켓과 서버 소켓으로 구분되며, 소켓 간 통신을 위해서는 네트워크상에서 클라이언트와 서버에 해당하는 컴퓨터를 식별하기 위한 IP주소와 해당 컴퓨터 내에서 현재 통신에 사용되는 응용프로그램을 식별하기 위한 포트번호가 사용된다.

소켓의 구성요소

소켓의 구성 요소로는 프로토콜, IP주소, 포트번호가 있다

● 프로토콜

프로토콜은 데이터 전송을 위한 표준집합규칙이다
주로 TCP/IP, UDP/IP프로토콜을 사용한다.

● TCP/IP

연결 설정 후 통신이 가능한 연결형 프로토콜이다.
신뢰성 있는 데이터 전송의 특징을 가지고 있다.

필요할 경우 데이터를 재전송한다.
데이터 경계의 구분이 없는 바이트 스트림(Byte-Stream) 서비스이다.

TCP통신 과정

 


1. 소켓생성
2. 서비스소켓에서 네트워크에 액세스 가능한 이름을 바인드
3. 클라이언트의 접근 요청에 수신 대기열을 만들어 몇 개의 클라이언트를 대기시킬지 결정
4. 클라이언트 연결 승인
5. 서버와 클라이언트 간 연결이 이루어지면서 데이터 전송
6. 서버와 클라이언트의 연결을 종료

● UDP/IP

연결 설정 없이 통신이 가능한 비연결형 프로토콜이다.
TCP에 비해 신뢰성이 떨어지는 데이터 전송의 특징을 가지고 있다.
데이터 경계를 구분하는 데이터그램(Datagram) 서비스이다.

UDP통신과정

 


1. 소켓생성
2. 서비스소켓에서 네트워크에 액세스 가능한 이름을 바인드
3. 서버와 클라이언트 간 연결이 이루어지면서 데이터 전송
4. 서버와 클라이언트의 연결 종료


● IP주소

서버장비 또는 네트워크 장비를 주소로 표현한 것이다.

 

포트(Port)

네트워크 프로토콜에서 프로세스를 식별하기 위해 사용되는 번호로 실행 중인 여러 프로세스가 네트워크 통신을 위해 구분되는 논리적인 식별자이다. IP주소와 결합하여 송신 및 수신 측의 프로세스 간의 통신을 가능하게 한다.

0부터 65535까지의 범위에서 사용되며 이 중에서 0~1023번까지의 포트번호는 주요 통신을 위한 규약에 따라 이미 정해져 있다

HTTP통신은 일반적으로 80번 포트를 사용하며, FTP는 21번 포트를 사용한다.

 

 

 

 

[자료] 해당 사이트를 참고하였습니다

 

4장 TCP 서버/클라이언트 구조

TCP 서버/클라이언트 구조 PC에서 사용하는 대표적인 웹 클라이언트인 인터넷 익스플로러는 사용자가 입력한 주소를 참조하여 접속 대기 중인 웹 서버에 접속한 후, HTTP를 이용하여 요청 메시지

dbehdrhs.tistory.com

 

 

6장 UDP 서버/클라이언트

UDP 서버/클라이언트 구조 TCP와 UDP 프로토콜은 전송 계층 프로톸ㄹ이라는 점에서 다음과 같은 공통점을 지닌다 포트 번호를 이용하여 주소를 지정한다 두 애플리케이션이 통신하기 위해 반드시

dbehdrhs.tistory.com

 

'네트워크' 카테고리의 다른 글

서브넷, 서브넷 마스크  (0) 2024.03.21
NAT, 게이트 웨이  (0) 2024.03.14
ARP, RARP  (1) 2024.03.06