본문 바로가기
휴지통/학부

네트워크 (1)

by 신재권 2021. 9. 7.

네트워킹(Networking)

네트워킹(networking)이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것을 말한다.

네트워킹의 개념은 컴퓨터들을 서로 연결하여 데이터를 손쉽게 주고 받거나 또는 자원 프린터와 같은 주변기기를 함께 공유하고자 하는 노력에서 시작되었다.

초기의 네트워크는 단 몇 대의 컴퓨터로 구성되었으나 지금은 전 세계의 셀 수도 없을 만큼 많은 수의 컴퓨터가 인터넷이라는 하나의 거대한 네트워크를 구성하고 있으며, 인터넷을 통해 다양하고 방대한 양의 데이터를 공유하는 것이 가능해졌다.

이에 맞춰 메신저나 온라인게임과 같은 인터넷을 이용하는 다양한 네트워크 어플리케이션들이 많이 생겨났다.

자바에서 제공하는 java.net 패키지를 사용하면 이러한 네트워크 애플리케이션의 데이터 통신 부분을 쉽게 작성할 수 있으며, 간단한 네트워크 애플리케이션은 단 몇줄의 자바코드만으로도 작성이 가능하다.


클라이언트/서버 (Client/Server)

클라이언트/서버는 컴퓨터간의 관계를 역할로 구분하는 개념이다.

서버(Server)는 서비스를 제공하는 컴퓨터(Service Provider)이고, 클라이언트(Client)는 서비스를 사용하는 컴퓨터(Sevice User)가 된다.

일반적으로는 서버는 다수의 클라이언트에게 서비스를 제공하기 때문에 고사양의 하드웨어를 갖춘 컴퓨터이지만, 하드웨어의 사양으로 서버와 클라이언트를 구분하는 것이 아니기 때문에 하드웨어의 사양에 관계없이 서비스를 제공하는 소프트웨어가 실행되는 컴퓨터를 서버라 한다.

서비스는 서버가 클라이언트로부터 요청받은 작업을 처리하며 그 결과를 제공하는 것을 뜻하며 서버가 제공하는 서비스의 종류에 따라 파일서버(file server), 메일서버(mail server), 애플리케이션 서버(application server)등이 있다.

예를 들어 파일서버는 클라이언트가 요청한 파일을 제공하는 서비스를 수행한다.

서버에 접속하는 클라이언트의 수에 따라 하나의 서버가 여러 가지 서비스를 제공하기도 하고 하나의 서비스를 여러 대의 서버로 제공하기도 한다.

서버가 서비스를 제공하기 위해서는 서버프로그램이 있어야 하고 클라이언트가 서비스를 제공받기 위해서는 서버프로그램과 연결할 수 있는 클라이언트 프로그램이 있어야 한다.

예를들어 웹 서버에 접속하여 정보를 얻기 위해서는 웹브라우저(클라이언트 프로그램)가 있어야 하고, FTP 서버에 접속해서 파일을 전송받기 위해서는 알 FTP와 같은 FTP 클라이언트 프로그램이 피룡하다.

일반 PC의 경우 주로 서버에 접속하는 클라이언트 역할을 수행하지만, FTP Serv-U와 같은 FTP 서버 프로그램이나 Tomcat과 같은 웹 서버 프로그램을 설치하면 서버 역할도 수행할 수 있다.

파일 공유프로그램인 소리바다나 푸르나와 같은 프로그램은 클라이언트프로그램과 서버 프로그램을 하나로 합친 것으로 이를 설치한 컴퓨터는 클라이언트인 동시에 서버가 되어 다른 컴퓨터로부터 파일을 가져오는 동시에 또 다른 컴퓨터에게 파일을 제공할 수 있다.

네트워크를 구성할 때 전용서버를 두는 것을 서버기반모델(server-based model)이라하고 별도의 전용서버없이 각 클라이언트가 서버역할을 동시에 수행하는 것을 P2P 모델(peer to perr)이라 한다.

각 모델의 특징과 장단점은 다음과 가탇.


서버 기반 모델(Server -based model)

  • 안정적인 서비스의 제공이 가능하다.
  • 공유데이터의 관리와 보안이 용이하다.
  • 서버구축비용과 관리비용이 든다.

P2P 모델(peer to peer model)

  • 서버구축 및 운용비용을 절감할 수 있다.
  • 자원의 활용을 극대화 할 수 있다.
  • 자원의 관리가 어렵다.
  • 보안이 취약하다.

IP 주소 (IP address)

IP주소는 컴퓨터 (호스트, host)를 구별하는데 사용되는 고유한 갑승로 인터넷에 연결된 모든 컴퓨터는 IP 주소를 갖는다.

IP주소는 4byte(32bit)의 정수로 구성되어 있으며 4개의 정사가 마침표를 구분자로 a.b.c.d와 같은 형식으로 표현한다.

여기서 abcd는 부호없는 1btte값, 즉 0~255 사이의 정수이다.

IP주소는 다시 네트워크주소와 호스트주소로 나눌 수 있는데 32bit(4byte)의 IP중에서 네트워크주소와 호스트주소가 각각 몇 bit를 차지하는 지는 네트워크를 어떻게 구성하였는지에 따라 달라지낟.

그리고 서로 다른 두 호스트의 IP주소의 네트워크주소가 같다는 것은 두 호스트가 같은 네트워크에 포함되어 있다는 것을 의미한다.

IP주소와 서브넷 마스크를 비트연산자 & 로 표현하면 IP주소에서 네트워크 주소만을 뽑아낼 수 있다.

& 연산자는 bit의 값이 모두 1일때만 1을 결과로 얻는다.

이 결과로 네트워크 주소와 호스트 주소를 알 수 있다.

즉 호스트 주소는 마지막 8bit이다.

IP주소에서 네트워크주소가 차지하는 자리수가 많을 수록 호스트주소의 범위가 줄어들기 떄문에 네트워크의 규모가 작아지낟.

이 경우 호스트 주소의 자리수가 8자리이기 때문에 256개(2^8)의 호스트만 이 네트워크에 포함될 수 있다.

호스트 주소가 0인것은 , 네트워크 자신을 나타내고, 255는 브로드캐스트 주소로 사용되기 때문에 실제로는 네트워크에 포함 가능한 호스트 개수는 254개이다.

이처럼 IP주소와 서브넷 마스크를 & 연산하면 네트워크 주소를 얻어낼 수 있어서 서로 다른 두 호스트의 IP주소를 서브넷 마스크로 & 연산을 수행해서 비교하면 이 두 호스트가 같은 네트워크 상에 존재하는지를 쉽게확인할 수 있다.


'휴지통 > 학부' 카테고리의 다른 글

화일의 기본개념(1)  (0) 2021.09.09
컴퓨터 그래픽스의 응용  (0) 2021.09.08
네트워크의 기초 용어와 기능  (0) 2021.09.08
데이터 통신 기본 개념  (0) 2021.09.08
DB론 (1)  (0) 2021.09.08