본문 바로가기
클라우드/AWS

Networking (1)

by dustnn 2024. 12. 22.

 

Networking이란

 

 

클라우드는 여러 개의 컴퓨터가 networking하면서 이루어진다.

 

network에 속한 디바이스들을 node라고 하는데, server와 client 모두 node다.

 

하나의 네트워크

 

- Server : 서비스 제공하는 물리적 디바이스

- Router : 하나의 네트워크의 중심이 됨 => 각 네트워크는 하나의 router로 묶여 있으며, 라우터 중심으로 네트워크가 형성되면 그 네트워크만의 IP주소가 할당된다.

- Hub & switch : 여러 node들을 하나로 묶는 디바이스

- Internet service provider(ISP) : 사진과 같은 하나의 네트워크가 인터넷에 연결될 수 있도록 중개하는 회사

- Cloud : 인터넷 IT 서비스의 on-demand delivery

- Network nodes : network에 속한 디바이스들. server와 client 모두 node다.

 

=> router는 switch보다 상위 계층에서 동작

 

 

Network Models

 

- peer-to-peer(p2p)

 centralized 서버가 없고 각 client끼리 연결되는 구조

ex. AI를 위한 네트워크 형성하여 각 peer를 GPU server로 사용해 자원을 분배해 놓는다.

=> Chat gpt가 이 방식을 사용한다.

 

- client-server

클라우드는 이 구조를 가지고 있다.

 

 

Network Types

 

- LAN(Local Area Network)

: 좁은 area(floor, building, campus 등등)

 

- WAN(Wide Area Network)

: 넓은 area(다수의 도시 또는 국가도 될 수 있음)

 

ex. A대학과 B대학 각각의 router을 더 상위의 라우터가 묶음

 

 

Internet Protocol(IP) Addresses(*중요*)

 

각 노드들은 고유의 IP address를 가지고 있고, 하나의 네트워크 안에서 이 IP address를 통해 식별된다.

아래 그림에서 하나의 router 로 묶여 있는 세 개의 node를 볼 수있고,

IP address의 앞부분이 같은 걸로 보아 하나의 라우터로 묶여 있음을 확인할 수 있다. (위의 파란색이 router)

 

 

**(중요)**

router 또한 IP 주소를 가지고 있음 !! 하지만 switch는 IP 주소 가지고 있지 않음 !! => 차이점 알아두기

 

 

 

- IPv4 => 현재 IP address

IP address는 32bit(8*4) 주소체계를 가지고 있다.

4개의 부분은 각각 8bit씩으로 이루어지는 거다.

아직은 이 주소체계를 주로 따르며, 4.3 billion개의 IP 주소를 지원한다.

IPv6와 달리 모든 VPN에서 지원한다.

 

 

- IPv6

 

128bit(16*8) 주소체계

bit 수가 크기 때문에 무한한 IP 주소를 지원할 수 있다.

업데이트된 버전으로 곧 IPv4를 대체할 것으로 보인다.

 

 

 

 

Classless Inter-Domain Routing(CIDR)

 

하나의 네트워크에 얼마나 많은 범위의 node(IP)를 포함할건지를 정하기 위해 CIDR를 사용한다.

 

- Netmask

앞의 IP address 중 몇 bit만큼이 fix됐는지 알려줌

이 경우에는 앞에서부터 24bit인 192.0.2까지 fix되어 있고 나머지 8bit는 어느것이 와도 괜찮다.

그래서 총 256개의 IP가 존재할 수 있다고 볼 수 있다. (192.0.2.0 ~ 192.0.2.255)

 

 

=> Inbound/Outboud Rules 설정할 때 사용 !!!

 

 

 

**특정한 상황의 CIDR

 

- 특정한 사용자에게 접근 허용할 때

=> 32bit 모두 Fix

 

- 모든 사용자에게 traffic 접근 허용 및 거부할 때

=> 하나도 fix 안 함

 

 

Subnet과 CIDR

 

 

그래서 subnet들에 CIDR가 어떻게 주어지는지 예를 들어 알아보자.

 

 

- Subnet A

IP address가 10.0.0.0~10.0.0.255인 노드 집합 => CIDR: 10.0.0.0 / 24

 

- Subnet B

IP address가 10.0.1.0~10.0.1.255인 노드 집합 => CIDR: 10.0.1.0 / 24

 

 

=> IP address를 subnet에 분배하는 방식에 따라 효율성이 달라지기 때문에 잘 분배하는 것이 중요하다.

 

 

다음 예를 보자. 네트워크는 10.0.0.0~10.0.0.255까지 포함할 수 있다. 그리고 각 subnet은 26비트가 고정돼있다.

*근데 만약에 subnetA의 CIDR netmask가 더 작다면, 만약 10.0.0.0/16이라면 네트워크의 수용 가능 IP address보다 subnet의 수용 가능 IP address가 더 큰 모순이 발생할 수 있다.

*그리고 만약에 subnetB의 CIDR netmask가 10.0.0.32/26이라면, subnetB는 10.0.0.32~10.0.0.95 를 커버하는데, SubnetA의 범위와 겹치는 문제가 발생한다.

*하나의 network에 속한 subnet들의 netmask는 서로 같지 않아도 된다.

 

 

 

Subnet Types

 

- public subnet : subnet 안/밖의 traffic 모두 가능

subnet이 인터넷에 연결되기 위해서는 internet gateway가 작동해야 한다.

 

- private subnet : subnet 안의 traffic만 가능

private subnet 안에 EC2가 있다면, 그 EC2는 public IP 하나도 없이 private IP만을 가지고 있어 subnet 밖의 traffic이 EC2로 도달하지 못한다. 예컨대 EC2 가 windows용이면 mac의 업데이트 서비스를 받지 못한다는 것이다. 외부 traffic이 접근하지 못하기 때문이다.

private한 상태에서 외부 traffic을 받고 싶다면 NAT device를 사용해야 한다.

 

 

Own cloud in the Cloud

 

나만의 security configuration을 사용하고 싶다면 VPC(Virtual Private Cloud)라는 소속 cloud 를 만들어 사용할 수 있다.

 

 

Amazon VPC

 

cloud 안에 내 AWS 계정 관할의 cloud을 두어 나에게 최적화시키는 것이다. 물리적 구조는 보여지지 않는다.

- 하나의 region에 국한된다. => VPC 만들기 위해서는 하나의 region을 골라야 한다.

- region의 어떤 availability zone에 속할 건지와, private하게 할 건지 public하게 할 건지를 정해야 한다.

- 하나의 availability zone 안에 여러 개의 subnet 존재 가능하다.

- EC2나 RDS(Relational Database Service)를 적절한 subnet에 넣어 사용할 수 있다.

- 하지만 S3는 VPC 에서 사용할 수 없다.

- 계정을 만들면 각 region 별로 default VPC가 제공된다.

-각 availability zone은 최대 5개의 VPC 존재 가능

 

 

 

Default VPC

 

- 모든 availability zone에 public subnet이 디폴트로 존재

=> 계정 처음 만들었어도 public subnet 형성하지 않고도 EC2 server 이용할 수 있다.

 

 

Amazon VPC Quotas

하나의 AZ 안에 최대 5개의 VPC만 존재 가능하지만

더 필요하다면 ticket을 제출해 최대 개수를 늘리고 싶다는 요청을 보낼 수 있다.

 

 

VPC Use Case : Multi-tier web applications

 

일반적으로 3-tier app

- presentation tier(front-end) : 웹사이트나 애플리케이션.    ex. Web Server

- logic/application tier(back-end) : computing process 진행      ex. Application Server

- data tier(back-end) : 데이터가 store되는 곳     ex. Database Server

 

보통 presentation tier은 public tier 이고 logic-application과 data tier은 private tier다.

 

 

'클라우드 > AWS' 카테고리의 다른 글

Virtualization 2  (0) 2024.12.22
Database 1  (0) 2024.12.22
Security(1)  (1) 2024.11.22
AWS S3(1)  (0) 2024.11.07
AWS EC2(2)  (4) 2024.11.07