-
클라우드 기본 네트워크의 이해Infra/AWS 2019. 10. 22. 17:19
우리가 매일 사용하는 인터넷을 구성하고 있는 시스템을 '인터넷 시스템' 이라고 합니다. 클라우드 인프라는 이 인터넷 환경을 기반으로 개발되었습니다. 클라우드는 서비스는 수많은 서버와 클라이언트들로 구성되어 있습니다.
서버란 인터넷 서비스를 제공하는 프로그램이나 컴퓨터를 의미하고, 클라이언트란 서버가 제공하는 서비스를 이용하는 사용자나 사용자가 사용하는 기기를 의미합니다.
클라우드 환경은 서버와 클라이언트 외에도 여러 네트워크 기기가 서로 연결되어 통신할 수 있는 네트워크 환경이 구축되어야 합니다. 기본적인 네트워크 용어들을 정리함으로써 클라우드를 이해하는데 기초를 닦아봅시다.
네트워크와 장비
1. 라우터
라우터는 서로 다른 지역의 컴퓨터를 연결하는 기기입니다. 네트워크와 네트워크 간 데이터 전송을 위한 최적 경로를 설정해주고(라우팅), 데이터를 해당 경로를 따라 한 통신망에서 다른 통신망으로 통신 가능하게 도와줍니다.(포워딩)
내부 네트워크는 사용하는 컴퓨터 기종이나 운영체제, 프로토콜 등을 확실히 알 수 있기 때문에 네트워크 최적화를 이룰 수 있지만 네트워크를 외부와 연결할 때는 외부 네트워크에서 사용하는 프로토콜이나 컴퓨터 기종 등의 정보를 알 수 없는데, 이를 연결하도록 도와주는 역할을 합니다.
2. 스위치
스위치는 여러 컴퓨터를 연결하는 네트워크 분배기 역할을 합니다.(멀티탭과 비슷한 역할) 하나의 네트워크 라인에 여러 대의 컴퓨터에 랜 케이블을 꽃을 수 있도록 분배하는 장비입니다.
3. 방화벽
네트워크의 보안 사고나 문제가 확대되는 것을 막고 격리하는 역할을 합니다. 외부에서의 불법적인 트래픽 유입을 막고, 허가되고 인증된 트래픽만을 허용합니다. 시스템 사용자의 외부 접속을 제한하거나 보안 상의 문제로 인한 외부인의 사용을 제한하는데 사용합니다.
4. IP 주소, 도메인
IP주소는 '192.168.0.1' 과 같은 형태로, 집마다 집 주소가 있듯이 각각의 컴퓨터에도 제각기 다른 IP주소를 가집니다. 즉 4그룹으로 나눠진 최대 12자리의 번호로 이루어져 있으며 각 자리의 숫자는 0~255까지를 사용합니다. 세계적으로 중복되지 않아야 하며, 이를 공인 IP 주소라고 합니다.
도메인은 IP주소를 일일이 기억해야하는 일을 없애기 위해서 만들어 졌습니다. 도메인 네임이란 사용자의 입장에서 쉽게 이용할 수 있도록 숫자로 표현된 주소 대신에 '알파벳, 숫자, -'로 나열된 주소입니다.
5. IPv6
IPv4의 대안으로 나온 새로운 IP주소 체계입니다. IPv4 주소 공간인 32비트 체계를 128비트로 확장하여 거의 무한대로 주소를 부여할 수 있게 되었습니다. 그 외에도 네트워크 속도 증가, 높은 품질의 서비스 제공, 데이터 무결성 및 비밀 보장 등도 대표적인 장점입니다.
6. CIDR
도메인 간의 라우팅에 사용되는 인터넷 주소를 원래 IP주소 클래스 체계를 쓰는 것 보다 더욱 능동적으로 사용할 수 있도록 할당하여 지정하는 방식 중 하나입니다. 인터넷 프로토콜은 A~D Class까지 모두 4개의 클래스 내에서 IP주소를 정의합니다. 클래스는 각각 32비트 인터넷 주소 형식의 한 부분을 네트워크 주소로 할당하며, 남은 부분은 해당 주소에 의해 지정된 네트워크에 있는 호스트에 할당합니다. CIDR는 라우터 내에 네트워크 주소를 지정해 인터넷 주소 공간의 고갈을 늦추고 있습니다.
포트와 프로토콜
1. 포트
컴퓨터에서 통신에 사용하는 프로그램을 식별하는 번호가 포트 번호입니다. 포트는 1~216(65535)까지 사용할 수 있습니다. 이때 0~1023은 시스템이 사용하는 포트로 '잘 알려진 포트'(Well-known port) 라고도 부릅니다. 나머지 1024~65535까지는 사용자가 사용할 수 있는 포트입니다. 일반적으로 포트번호는 '등록된 포트'(Registered port), '동적포트'(Dynamic port) 3가지로 나눌 수 있습니다.
- 잘 알려진 포트(Well-known port) : 0번 ~ 1023번
- 등록된 포트(Registered port) : 1024번 ~ 49151번
- 동적 포트(Dynamic port) : 49152번 ~ 65535번
https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D
2. 프로토콜
우리가 전화 통화를 할 때 "여보세요" 라는 말로 시작하는 것처럼, 네트워크 사용에도 규약이나 규칙이 필요합니다. 네트워크 통신을 할 때도 서로 통신하기 위한 사전 약속이 필요한데 이를 프로토콜이라고 합니다.
TCP/IP, HTTP
TCP/IP(Transmission Control Protocol/Internet Protocol)
인터넷 접속을 위한 프로토콜입니다. TCP/IP는 다른 프로토콜보다 신뢰성이 높은 방식으로, 정보를 전달할 때 손실이나 지연 발생 시 재전송을 하는 방식입니다. 하나의 정보를 여러 패킷으로 나누어 보내고 이 정보가 전달되는 과정에서 중간에 문제가 발생했을때 수신자는 불완전한 정보를 받게 됩니다. 그러나 수신자는 발신자에게 정보가 손실 되었음을 알려주고 다시 정보를 받을 수 있기 때문에 신뢰성이 높은 방식입니다.
왼쪽은 TCP/IP Model, 오른쪽은 OSI Layer 7 Model 입니다. OSI 참조 모델은 시스템에 상관없이 각 시스템이 서로 연결될 수 있도록 만들어 주는 통신 모델입니다. 컴퓨터와 컴퓨터 사이의 데이터 전송을 위해서는 다음과 같이 7단계를 거쳐야합니다. 각 계층은 캡슐화와 은닉이 되어있어 서로 해당 계층의 역할에 신경쓰지 않고 자신의 계층에 대해서만 알도록 합니다. 실제로 애플리케이션 개발자는 Session Layer와 Transport Layer 정도만 파악하면 됩니다. 마찬가지로 하드웨어를 만드는 사람은 Physical Layer 정도만 파악하면 되고 그 외 계층에 대해서는 신경 쓸 필요 없습니다.
HTTP(Hypertext Transfer Protocol)
인터넷 상에서 데이터를 주고받기 위한 클라이언트-서버 모델을 따르는 가장 일반적인 프로토콜입니다. 클라이언트-서버 모델은 서비스 요청자인 클라이언트와 서비스 자원의 제공자인 서버 간 작업을 분리해주는 '분산 애플리케이션 구조 기반 네트워크 아키텍처'를 의미합니다. 불특정 다수를 대상으로 하는 서비스에 적합하고, 클라이언트와 서버가 항상 연결된 형태가 아닌 무상태(Stateless)여서 클라이언트와 서버 간의 최대 연결보다 훨씬 많은 요청과 응답을 처리할 수 있습니다. 반면, 연결이 끊기면 클라이언트의 이전 상황을 알 수 없는 상태로 정보를 유지하기 위한 지원 기술이 필요합니다.(캐시) HTTP는 앞서 언급한 TCP/IP 최상위 계층인 Application Layer에서 작동합니다.
출처 : 이영호/한동수, 당신이 지금 알아야 할 AWS, 비제이퍼블릭
'Infra > AWS' 카테고리의 다른 글
[AWS] There is insufficient memory for the Java Runtime Environment to continue. (0) 2021.03.11 [AWS] AWS 프리티어 계정 생성 (0) 2020.12.06 [AWS] AWS 컴퓨팅 서비스 아키텍처 (0) 2019.10.16 [AWS Cloud] 리전, 가용 영역, 에지 로케이션 (0) 2019.09.30 클라우드 핵심 기술 (0) 2019.09.29