본문 바로가기
비개발자의 개발 지식 스터디/개발 배경지식

네트워크

by 열정주니어 2023. 7. 12.
반응형

네트워크의 기본

  • 네트워크는 컴퓨터와 컴퓨터 간의 연결을 의미

  • 대부분의 서비스는 네트워크를 통해 동작함
    • ex. 카카오톡은 네트워크를 통해 메시지를 주고받고 선물을 보낼 수 있음
  • 네트워크 연결을 위해서는 프로토콜, IP 주소, 포트라는 세 가지 요소가 필요
    • 어떤 방식으로(프로토콜), 어떤 컴퓨터(IP주소)에, 어떤 프로그램(Port)을 연결할 것인지가 중요

  • 정보를 송수신하기 위해서는 랜선이나 와이파이 공유기와 같은 네트워크 장치가 필요
    • 랜선은 광케이블을 사용하여 컴퓨터용 전기 신호를 빛으로 변환
    • 와이파이는 전자기파를 이용하여 정보를 전송
  • 컴퓨터에서 네트워크 장치를 사용하기 위해 랜카드가 필요
    • 일반적으로 컴퓨터는 무선과 유선 기능을 모두 가지기 때문에 무선 및 유선 랜카드가 필요

 

클라이언트, 서버

  • 네트워크에서 정보를 요청하고 받는 쪽은 클라이언트(Client)
  • 정보를 제공해 주는 쪽은 서버(Server)
  • IT 서비스는 클라이언트와 서버를 구분하여 개발됨

  • 대표적인 클라이언트로는 웹과 앱이 있음
    • 클라이언트가 데이터를 요청하면 응답해주는 서버가 필요
  • 서버는 클라이언트에게 정보를 제공하는 프로그램이 실행되는 컴퓨터를 의미
    • 웹 서버는 웹을 전달하는 프로그램을 실행하는 컴퓨터
    • 서버 컴퓨터에는 목적에 맞는 정보를 제공하는 프로그램이 항상 실행됨
    • 서버는 웹 서버, API 서버, 이미지 서버, 비디오 서버 등과 같이 역할에 따라 여러 개가 실행될 수 있음
    • 최근에는 컴퓨터의 성능 향상으로 인해 하나의 컴퓨터에 여러 서버 프로그램을 동시에 실행하는 경우가 많아짐

 

프로토콜

  • 네트워크는 개인 또는 단체의 소유 개념이 아니며, 전세계적으로 통신 가능한 이유는 규격(규칙)이 존재하기 때문
    • 네트워크 통신을 위해 사용되는 규격을 통신 프로토콜이라고 함

  • HTTP 프로토콜은 네트워크 통신에서 가장 많이 사용되며, 브라우저를 통해 정보를 주고받을 때 사용됨
  • SSH 프로토콜은 원격 접속 시 사용되며, 이메일 전송에는 SMTP 프로토콜이 사용됨
  • HTTPS 프로토콜은 HTTP에 보안(s)을 강화한 프로토콜로, 대부분의 웹 사이트에서 사용됨
    • HTTP는 보안에 취약함

  • 네트워크 통신을 위해 컴퓨터의 운영체제는 여러 과정을 거쳐 신호를 특정 프로그램으로 전달함
    • 이러한 과정은 OSI 7계층으로 나뉘며, 각 계층마다 역할이 정해져 있음

 

IP

  • IP(Internet Protocol Address)는 네트워크 통신을 위한 주소
    • 이는 컴퓨터의 고유 주소가 아닌, 연결된 네트워크(와이파이, 랜선 등)를 기준으로 부여됨
    • IT 회사에서는 네트워크 공유기로 미리 IP 주소를 할당하고, 이후 회사 컴퓨터에 IP 주소를 할당하여 회사의 네트워크 보안과 관리를 용이하게 함

  • 기존의 IP 주소 형식은 IPv4로, 주소의 개수가 255의 4승만큼 가능함
    • 컴퓨터의 증가로 인해 IP 주소가 고갈되어 포화상태에 이른 상태로, IPv6가 개발되었고 주소 할당이 255의 6승만큼 가능해짐
    • Ipv6는 유심칩을 사용하는 스마트폰 등에서 주로 사용되는 주소 형식

 

Port

  • 포트는 컴퓨터 내의 프로세스에 도달하기 위한 주소
    • IP 주소가 컴퓨터 간 연결을 위한 네트워크 주소라면, 포트는 컴퓨터 내의 프로세스가 가지는 주소

  • 일반적으로 네트워크 주소에 IP 주소만 있다면 기본적으로 [프로토콜]의 기본 포트가 적용됨
    • 예를 들어, HTTP의 기본 포트는 80이고 HTTPS의 기본 포트는 443

  • 브라우저에서 웹사이트의 정보를 가져오려면 IP 주소와 함께 해당 포트 번호를 입력해야 함
    • 네트워크 통신 후 웹서버는 입력된 포트 번호를 사용하여 해당 프로세스로 웹을 전달
  • 컴퓨터들이 상호 연결된 경우 중요한 정보가 유출될 수 있으므로 네트워크 통신 시 보안은 중요한 요소 중 하나
    • 이를 위해 컴퓨터 간 네트워크 연결을 제한하는 방화벽을 설정함
    • 방화벽은 IP 주소, 포트 번호 등을 기반으로 네트워크 연결을 제한하는 역할을 함

 

도메인

  • 도메인 네임(Domain Name)은 사람이 쉽게 인식할 수 있는 네트워크용 영문 주소
    • 브라우저에 입력하는 영문 주소는 도메인 네임 서버에 등록된 주소

  • 도메인 네임을 사용하면 네임 서버(DNS)를 통해 IP 주소를 반환받는 작업이 필요
  • 도메인 네임은 웹 브라우저를 통해 웹에 접속할 때뿐만 아니라, 클라이언트가 서버(API 서버, 데이터베이스 서버)와 통신할 때도 사용됨
  • 서버에 도메인 네임을 사용하기 위해서는 호스팅 서비스(가비아, 후이즈 등)에서 도메인 네임을 구매해야 하며 구매 후, 도메인 네임 서버에 등록해야 적용됨

 

Reference

https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#

 

IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z - 인프런 | 강의

본 강의는 멤버십 구독 개념으로 한 번 구매하면 계속 추가되는 수업도 수강할 수 있습니다😃, [사진] 이 강의는!  단순히 개발 용어만을 알려주지 않습니다.IT 회사에서 개발자들이 실제로 하

www.inflearn.com

https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304

 

[IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩

장담하건대 이 내용들만 알고 계시면 IT 개발의 전체적인 흐름은 전부 파악한다고 보셔도 무방합니다.

www.grabbing.me

 

반응형

'비개발자의 개발 지식 스터디 > 개발 배경지식' 카테고리의 다른 글

API  (0) 2023.07.12
라이브러리 & 프레임워크  (0) 2023.07.12
Git & Github  (0) 2023.07.12
프로그램 & 프로그래밍 언어  (0) 2023.07.11
운영체제 & 하드웨어  (0) 2023.07.11