728x90
반응형

네트워크 프로그램 기초

 

네트워크란 두 대 이상의 종단 시스템(end-user)이 연결된 형태를 말합니다. 여기서 종단 시스템은 네트워크에 연결된 PC , 휴대폰 등을 말하는겁니다. 이런 네트워크가 전세계적으로 연결되어있는 시스템을 인터넷이라고 합니다.

인터넷은 여러 네트워크 망들의 집합이라 할 수 있는데 네트워크와 또 다른 네트워크를 연결하는 장비를 라우터(router)라 하고 하나의 종단시스템이 통신하기 위해서는 서로 간의 약속을 따라야 하는데 이 약속을 프로토콜(protocol)이라 합니다. 또 이 두 시스템이 서로 통신할 수 있도록 사용되는 프로그램을 네트워크 프로그램이라 합니다.

 

네트워크 프로그램

 

TCP/IP 프로토콜

 

인터넷을 이루는 가장 기본적인 프로토콜이 TCP 와 IP 이며 이 둘을 총칭하여 TCP/IP 라 합니다.

TCP/IP 프로토콜은 운영체제가 서비스를 제공하므로 네트워크 프로그램은 운영체제가 제공하는 TCP/IP 프로토콜 서비스를 사용하여 하고자 하는 일에 집중할 수 있습니다.

 

TCP/IP 프로토콜 서비스

TCP/IP

 

TCP/IP는 4계층으로 나뉩니다.

 

첫째 네트워크 엑세스 계층은 시스템을 연결하기 위한 물리적인 규격을 정의합니다. 전기 신호를 처리하고 데이터를 송수신하는 네트워크 하드웨어와 디바이스 드라이버가 이에 해당합니다. 하드웨어마다 물리 주소가 할당되며 이 물리 주소를 사용하여 통싵ㄴ합니다.

 

둘째 인터넷 계층은 네트워크 엑세스 계층과 전송 계층의 인터페이스를 수행하며 데이터를 종단 시스템까지 전달하는 역할을 수행합니다. 인터넷 계층의 핵심은 IP 주소이며 IP 주소는 소프트웨어적인 논리 주소로 전 세계적으로 유니크하게 할당됩니다. 라우터는 두 종단 시스템을 이 IP 주소를 사용하여 통신합니다.

 

셋째 전송 계층은 신뢰성 있는 데이터 전송을 담당하며 최종 프로그램 목적지까지 통신하는 역할을 담당합니다. 종단 시스템 까지의 데이터 전송을 인터넷 계층이 담당한다면 종단 시스템에 도착한 데이터를 종단 시스템의 여러 프로그램 중 최종 목적지 프로그램 포트라고 부르는 번호로 구분하여 전달합니다. 전송 계층의 프로토콜은 TCP 와 UDP 가 있으며 TCP는 연결형 프로토콜로 데이터의 경계가 없고 신뢰성이 보장되며 1:1 통신하는 특징을 갖습니다. UDP는 TCP와 상대적으로 비연결형 프로토콜이며 데이터 경계가 있고 비신뢰적이며 1:1 통신 뿐만아니라 1대다 통신이나 다대다 통신을 지원합니다.

 

넷째 애플리케이션 계층은 대표적으로 HTTP 프로토콜과 FTP 프로토콜이 이에 해당하며 우리가 작성할 네트워크 프로그램도 이 계층에 해당합니다.

 

TCP/IP 4계층

데이터가 전송되기 위해서는 아래와 같은 그림과 같은 각 계층마다 각각의 정보인 헤더가 붙으며 이와 같은 과정을 캡슐화라고 하며 이 결합된 통합 데이터를 패킷(Packet)이라 부릅니다. 애플리케이션 계층의 유저 데이터는 전송 계층에 전달되며 TCP 헤더가 결합되고 인터넷 계층에 전달되어 IP헤더가 결합됩니다. 또 네트워크 엑세스 계층에 전달되어 이더넷 헤더(Header)와 이더넷 트레일러(Trailer)가 결합되어 하나의 패킷이 전송됩니다. 다른 종단 시스템에 패킷이 도착하면 결합과정의 역을 수행(역캡슐화)하여 애플리케이션 계층에 유저 데이터가 도착합니다.

 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기