다섯 살도 알 수 있게 · 네트워크

소켓이 뭐예요?

소켓 통신을, 집주소와 호실번호로 만든 전용 우편함 구멍 이야기로 풀어봤어요.

행복빌라행복빌라로!한 집에 여러 사람이 살아요, 편지가 오면 누구 것인지 몰라요집 주소만으론 몇 호에 사는 누구인지 구분이 안 돼요

한 집에 여러 사람이 살아요.집 주소만으론 몇 호에 사는 누구인지 구분이 안 돼요.

여러 프로그램이 동시에 주고받으면 편지가 뒤섞여요

여러 프로그램이 동시에 통신하면 편지가 뒤섞여요.집 주소만으론 어느 편지가 어느 프로그램의 대화인지 알 수 없어요.

IP: 1.2.3.4IP: 5.6.7.8:51234:443소켓 = 집주소(IP)+호실번호(포트)로 만든, 대화의 한쪽 끝 구멍TCP에선 연결된 소켓 구멍 하나가 그 대화를 끝까지 맡아요

소켓은 집주소와 호실번호로 만든 전용 구멍이에요.TCP에선 연결된 소켓 구멍 하나가 그 대화를 처음부터 끝까지 맡아요.

IP 주소어느 집인지 알려줘요
포트 번호몇 호실인지 알려줘요
전용 구멍TCP에선 연결마다 따로 생겨요
열고 닫기통신 시작할 때 만들고 끝나면 치워요
보내는 쪽 소켓IP: 1.2.3.4포트: 51234받는 쪽 소켓IP: 5.6.7.8포트: 443

소켓은 양쪽 끝에 하나씩 있어요.보내는 쪽 IP+포트, 받는 쪽 IP+포트가 한 쌍으로 연결을 이뤄요.

소켓을 열 때 등기봉투(TCP)용을 고르거나일반봉투(UDP)용을 골라요소켓은 구멍이고, 어떤 봉투를 쓸지는 구멍을 만들 때 따로 골라요

소켓은 구멍이고, 봉투 종류는 만들 때 따로 골라요.소켓을 열 때 등기봉투(TCP)용으로 할지 일반봉투(UDP)용으로 할지 정해요.

한 줄로

소켓은 IP 주소(어느 집)와 포트 번호(몇 호실)로 만든, 대화의 한쪽 끝을 맡는 전용 우편함 구멍이에요.

소켓은 운영체제가 네트워크 통신을 위해 제공하는 종단점(endpoint)으로, IP 주소+포트 번호의 조합(소켓 주소)으로 식별돼요. 프로그램은 소켓을 만들어 주소를 붙이거나(bind) 상대와 이은(connect) 뒤 데이터를 읽고 쓰며, TCP 소켓이면 연결 지향, UDP 소켓이면 비연결형으로 동작해요. 한 호스트 안의 여러 프로그램이 같은 IP를 쓰더라도 포트 번호가 다르면 서로 다른 소켓으로 구분돼요.

어른들은 이렇게 불러요

소켓
Socket
집주소+호실번호로 만든 전용 구멍. 연결의 한쪽 끝이 돼요.
IP 주소
IP address
집 주소. 어느 컴퓨터인지를 가리켜요.
포트 번호
Port number
집 안의 호실 번호. 어느 프로그램인지를 가리켜요.
TCP/UDP
TCP/UDP
등기봉투와 일반봉투. 소켓이라는 구멍으로 어떤 봉투를 쓸지 고르는 거예요. → 등기봉투와 일반봉투
bind/connect
bind/connect
구멍에 주소를 붙이고(bind) 상대와 잇는(connect) 절차. 소켓을 쓰기 전 거치는 과정이에요.
포트 충돌
Port conflict
이미 쓰는 호실을 또 쓰려는 것. 같은 호실은 중복으로 못 써요.
방화벽
Firewall
문이 많은 성벽. 특정 포트(호실)만 열어두는 식으로 소켓 접근을 막기도 해요. → 문이 많은 성벽
IPv6
IPv6
훨씬 길어진 새 집 주소 체계. 소켓 주소의 집 부분(IP)이 이 체계로 바뀌어 가요. → 끝없이 늘어난 새 번지수
다음 이야기
신호탑 세 개로 위치 찾기 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →