1. 네트워크의 기본
네트워크란 무엇인가?
네트워크란, 한 마디로 “연결”을 의미한다.
학교도 선생님과 학생들을 이어주는 네트워크, 회사도, 집도 모두 네트워크의 일환이다.
컴퓨터 네트워크
⇒ 하지만 컴퓨터 네트워크는 “데이터를 주고 받기 위한 네트워크”를 의미한다.
카톡 메시지를 주고 받는 것, 인터넷에서 정보를 검색하거나 작성하는 것 모두 데이터의 전달 과정이 그 기반이 된다.
사설 네트워크 (인트라넷)
사설 네트워크는 사용자의 제한을 두는 제한적인 네트워크다.
⇒ 인트라넷, LAN 등이 이에 포함될 수 있다.
인터넷
누구나 접속이 가능한 네트워크다
⇒ 해커, 옆집 강아지(?), 할아버지 할머니 등등 브라우저를 통해 누구든지 인터넷에 접속할 수 있다.
LAN과 WAN
LAN과 WAN은 사설 네트워크(인트라넷 등)에 사용되는 네트워크다.
LAN (Local Area Network)
⇒ 가까운 범위 내의 기기들을 라우터 등을 통해 연결시키고, 기기 간의 데이터 통신 등이 가능하도록 네트워크를 구성한다.
즉, 가까운 거리에 있는 기계와 기계를 연결시킨다!
WAN (Wide Area Network)
⇒ 위의 LAN을 다른 거점의 LAN과 연결시킬 수 있도록 연결해주는 역할을 한다.
즉, LAN과 LAN의 연결을 돕는 징검다리라고 생각하면 편하다.
인터넷
그렇다면 근거리 기기간의 통신이 아닌, 각기 떨어져 있는 세상의 모든 사람들과 통신할 수 있는 방법은 뭘까? → 바로 인터넷이다.
- AS와 ISP
- AS : 자율 시스템(Autonomous System)
⇒ 전세계의 다양한 조직들이 운영하는 네트워크조직 등을 구성하는 네트워크 생태계 - ISP : Internet Service Provider
⇒ 쉽게 설명하자면, 네트워크 서비스를 제공해주는 기업을 의미한다.- 1티어 ISP로는 SKT, KT, LG U+ 등이 있다.
- 하위 티어의 영세 ISP도 많은데, 이들의 통신은 어쩔 수 없이 1티어 ISP를 경유할 수밖에 없다
즉, 우리는 인터넷을 이용하고자 한다면… 1티어 ISP를 반드시 사용하게 된다.
서버와 클라이언트, 그리고 애플리케이션
인터넷을 통해 데이터를 주고받는다는 것은 알겠다.
그렇다면 그 데이터가 도대체 어떻게 저장되고 어디에 저장되는 것인가?
서버와 클라이언트
클라이언트 서버 일반적인 우리들의 컴퓨터 굉장히 좋은 컴퓨터 주로 서버에 데이터를 “요청(Reuest)” 클라이언트로 부터 요청을 처리 (Response)
⇒ 클라이언트(우리)는 서버에 어떠한 특정 요청을 보내고 → 서버는 이러한 요청을 처리한 뒤 응답(Response)를 보내준다. 고객이 레스토랑에서 웨이터에게 주문을 하는 것과 같다고 보면 된다.애플리케이션
서버에서 데이터를 받아 처리하는 역할을 하는 것이 애플리케이션이다.
클라이언트 사이드에서 반환된 데이터를 받아내는 것 또한 클라이언트의 애플리케이션이다.
네트워크 아키텍처와 프로토콜
그럼 어떤 방식으로 데이터를 주고 받을까?
⇒ 네트워크를 통한 올바른 데이터 송수신을 위해선 규칙과 규약 등이 필요하다.
프로토콜
⇒ 우리가 한국어를 사용할 때 막 사용하는 것이 아니듯이, 네트워크 또한 통신을 할 때 자기가 원하는 대로 규칙없이 대화를 하지는 않는다.
- 한국어에도 문법, 훈민정음, 발음, 상황에 따른 용법 등 다양한 규칙과 기준이 존재하듯, 네트워크 통신에도 이러한 다양한 규칙(프로토콜)들이 존재한다.
- 즉, 프로토콜은 네트워크 통신을 위한 규약이자 규칙들의 단편들이다.
네트워크 아키텍처
⇒ 위의 프로토콜들이 종합된 것이 네트워크 아키텍처다.
한국어, 영어와 같이 하나의 언어라고 생각하면 된다.TCP/IP
전세계적으로 영어가 공용어로 통하듯이, 대부분 통용되는 네트워크 아키텍처의 표준은 TCP/IP다.
이러한 네트워크 아키텍처를 효율적으로 운용하기 위해 아키텍처는 프로토콜들을 단순히 집약해놓은 것이 아니라, 계층화 하여 기능별로 구분해 둔다.
- TCP/IP의 계층
- 애플리케이션 계층
- 트랜스포트 계층
- 인터넷층
- 네트워크 인터페이스층
- TCP/IP의 계층
클라우드 네트워크
전통적인 방식은 회사 등이 자체적으로 서버를 구축하여 운용하고 관리하는 것이었다.
하지만 시대가 변함에 따라, 인터넷만 통해서 가상의 (물리적으로 떨어져있는) 서버를 구축할 수 있게 되었고, 우리는 이를 클라우드 서비스라고 부른다.
- 클라우드 서비스의 종류
- Iaas : 하드웨어만 사용 가능
- Paas : 하드웨어와 OS, Middleware등의 시스템 플랫폼을 활용 가능하다.
- Saas : 하드웨어와 플랫폼 뿐만 아니라, 애플리케이션 기능까지 모두 사용 가능하다
⇒ 대표적인 예로 AWS를 들 수 있다.