DEV LOGS
[Windows Socket]데이터 전송 원리
라디스타
2018. 7. 20. 20:06
용어
- 제어 정보 : 각 프로토콜에 따라 정의 되어있고, 데이터를 송·수신 하는데 필요한 정보. IP 주소, 포트 번호, 오류 체크 코드 등이 있다.
- 헤더(header) : 송신 혹은 수신 하려는 데이터를 기준으로 앞쪽에 붙은 제어 정보
- 트레일러(trailer) : 송신 혹은 수신 하려는 데이터를 기준으로 뒤쪽에 붙은 제어 정보
- 패킷(packet) : 데이터 + 제어 정보
패킷 전송 형태
- 송신 측
- 수신 측
위의 그림과 같이 송신 할 때는 응용 프로그램으로 부터 각 계층을 거치면서 제어 정보가 덧붙은 형태로 전송 되며, 수신 할 때는 물리 계층 부터 각 계층을 거치면서 제어 정보를 제거하면서 최종 적으로 응용프로그램에서는 데이터만 받게 된다.
IP주소와 포트 번호
(1) IP 주소
- IP 주소별 특징
주소 종류 |
IPv4 |
IPv6 |
총 크기 |
32 비트 |
128 비트 |
구분 기호 |
. (dot) |
: (colon) |
구분별 크기 |
8비트 단위로 4개로 구분 |
16비트 단위로 8개로 구분 |
사용 진법 | 10 진수 | 16 진수 |
예시 |
127.0.0.1 |
2001:0230:abcd:ffab:0023:eb00:ffff:1111 |
- 폐쇄된 네트워크나 IP를 공유하는 경우가 아니라면 IP 주소는 전 세계적으로 값이 유일하다.
- IP 주소는 호스트를 식별하는 목적으로 사용된다. ( 프로세스를 부분하지는 못한다.)
(2) 포트 번호
- 통신의 종착점을 식별하는 번호 ( 하나의 프로세스가 포트 번호를 두 개 이상 사용하거나, 하나의 포트 번호를 두 개 이상의 프로세스가 사용하는 경우가 있다. )
- TCP와 UDP에서는 부호없는 16비트 정수를 사용한다. ( 0 ~ 65535 )
- 영역별 포트 번포
포트 번호 |
분류 |
0 ~ 1023 |
알려진 포트 (well-known ports) |
1024 ~ 49151 | 등록된 포트 (registered ports) |
49152 ~ 65535 |
동적 / 사설 포트 (dynamic and / or private ports) |
(3) 도메인 이름
- IP 주소는 사람이 기억하고 사용하기 불편하기 때문에 사람이 사용하기 편한 문자 위주로 이루진 고유 식별 주소