"그림으로 배우는 네트워크 원리" 책 참고.
컴퓨터 네트워크란 무엇인가?
컴퓨터 간의 정보를 주고받기 위한 통로의 집합, 망이다.
그 경로에 스위치 라우터 등의 기기가 있고 그 사이에 전송하는 방법과 규칙에 대해 배운다.
누구나 이용할 수 있는 네트워크가 인터넷이다. 회사나 단체 안에서만 사용하는 네트워크를 사설 네트워크라고 한다.
네트워크의 종류
LAN은 local area안에서의 네트워크를 말한다. 그 LAN안에서만 통신을 할 수 있다. 다른 local area와 통신하고 싶다면 WAN을 통해 연결할 수 있다.
WAN은 wide area이다. WAN은 통신사업자, 회사가 구축해서 서비스하는 상품이다.
인터넷
인터넷은 세계적인 기업들이 관리한다. 예를 들어 google, amazon, NTT등이 있다. 이 기업들을 ISP(internet service provider)라고 한다.
이런 조직의 네트워크를 AS(Autonomous System, 자율적인 시스템)이라고 한다.
ISP의 상위 그룹을 Tier1이라한다. 중간 계층에서 서비스하는 ISP도 존재한다. 인터넷 상의 모든 ISP는 Tier1 기업들을 경유해서 연결되는 것이다.
데이터를 주고받는 주체
클라이언트 서버 애플리케이션
클라이언트는 서버에 어떤 파일 전송 요청을 보내고, 서버는 요청을 받아서 응답을 해준다.
P2P(peer to peer) 애플리케이션
어떤 클라이언트가 서버를 통해 다운받은 파일을 가지고 있으면, 다른 클라이언트는 파일을 가지고 있는 클라이언트들을 통해 파일을 받을 수 있는 방식이다.
토렌트가 p2p방식이다.
통신 규칙
프로토콜
컴퓨터 통신에서 데이터를 주고받을 때 같은 기준을 이용해서 주고받아야 한다. 그 때 사용하는 규칙, 약속을 프로토콜이라고 한다.
TCP/IP
네트워크 아키텍처는 프로토콜의 집합이다. 네트워크 아키텍처로는 TCP/IP라는 아키텍처가 가장 널리 사용된다. 그 외에 OSI 등이 있다.
TCP/IP는 4계층으로 이루어져 있다.
클라우드
서버를 직접 관리, 운용하지 않고 CSP(cloud service provider, 임의로 만든 말임)들이 만들어놓은 서버를 임대해서 사용하는 방식이다.
서버의 어느 부분을 사용자에게 제공하냐에 따라 3가지로 분류된다.
IaaS
네트워크를 통해 서버의 하드웨어 자원을 사용할 수 있게한다. OS와 DB등의 미들웨어, 어플리케이션을 직접 선택해서 사용한다.
gcp compute engine, aws ec2등이 여기에 해당한다.
PaaS
네트워크를 통해 서버의 플랫폼을 이용한다. 플랫폼이란 OS와 OS위에서 동작하는 데이터베이스 같은 미들웨어를 포함한 부분을 말한다.
gcp app engine, aws lambda, heroku 등이 있다.
SaaS
특정 소프트웨어 기능을 이용할 수 있게 만든 서비스이다. 예를 들어 스토리지 서비스가 있다. google drive, drop box등이 있다.