본문 바로가기

DEV LOGS

[Windows Socket]TCP/IP 프로토콜 구조

TCP/IP 프로토콜 구조


(1) 호스트 : 최종 사용자로써 응용 프로그램을 수행하는 주체가 되며, 인터넷에 연결된 PC, 노트북, 휴대전화 등이 여기에 속한다.

(2) 라우터 : 호스트에서 생성된 데이터를 여러 네트워크를 거쳐 전송함으로써 서로 다른 네트워크에 속한 호스트 간에 데이터를 교환할 수 있게 하는 장비이다.

(3) 통신 프로토콜 : 호스트와 라우터, 라우터와 라우터, 호스트와 호스트가 통신하기위해 정해진 절차와 방법이다.

(4) ① ~ ④ : 상호 약속한 프로토콜을 이용해 통신을 수행

(5) TCP/IP 프로토콜 : 인터넷에서 사용하는 핵심 프로토콜인 TCP와 IP를 비롯한 각종 프로토콜을 총칭하는 말이다.



TCP/IP 프로토콜은 위 그림과 같이 일반적으로 운영체제의 일부로 구현되며, 응용 프로그램은 운영체제가 제공하는 TCP/IP 프로토콜의 서비스를 사용해 통신하다.



프로토콜 계층


위의 그림은 프로토콜을 기능별로 나누어 계층을 이룬것이다.


(1) 네트워크 접근 계층 : 물리적 네트워크를 통한 실제 데이터 송수신을 담당한다.

- 물리적인 신호를 처리해 데이터를 송수신하는 네트워크 하드웨어

- 운영체제가 제공하는 장치 드라이버

- 흔히 사용하는 이더넷(Ethernet)에서는 48비트 물리 주소를 사용


(2) 인터넷 계층 : 네트워크 접근 계층의 도움을 받아 데이터를 목적지 호스트까지 전달하는 역할을 한다.

- IP 주소(호스트 식별 번호) 사용

- 라우팅 : 데이터를 목적지까지 전달하는 일련의 작업


(3) 전송 계층 : 최종 통신 목적지(호스트에 실행하고 있는 프로세스)를 지정하고 오류 없이 데이터를 전송하는 역할을 한다.

- 인터넷 계층의 IP가 제공하는 전송 서비스는 신뢰성이 없어 데이터 손실이 발생할 수 있는데, 전송 계층은 손실된 데이터가 목적지에 전달되는 일을 방지한다.

- 포트 번호 : 프로세스를 식별하는 번호

- 전송 계층에 해당하는 TCP/IP 프로토콜은 TCP와 UDP가 있다.


- TCP와 UDP의 특징

 TCP

UDP 

연결형(connection-oriented) 프로토콜

  • 연결 설정 후 통신 가능 

 비연결형(connectionless) 프로토콜

  • 연결 설정 없이 통신 가능

신뢰성 있는 데이터 전송

  • 데이터를 재전송함 

신뢰성 없는 데이터 전송

  • 데이터를 재전송하지 않음 

 일대일 통신(unicast)

일대일 통신(unicast),

일대다 통신(broadcast, multicast) 

 바이트 스트림(byte-streadm) 서비스

  • 데이터 경계 구분 안 함

 데이터 그램(datagram) 서비스

  • 데이터 경계 구분함


(4) 응용 계층 : 전송 계층을 기반으로 한 다수의 프로토콜과 이 프로토콜을 사용하는 응용 프로그램을 포괄한다.

- Telnet, FTP, HTTP, SMTP 등이 있다.



'DEV LOGS' 카테고리의 다른 글

[Windows Socket]소켓의 개념  (0) 2018.07.20
[Windows Socket]데이터 전송 원리  (0) 2018.07.20
[GIT]윈도우 10 Git 설치  (0) 2018.07.18
[GIT] 버전관리시스템  (0) 2018.07.18
[MSSQL] 트리거  (0) 2018.07.17