Skip to content

Commit

Permalink
Merge pull request #8 from SSUMC-6th/ohii/#2
Browse files Browse the repository at this point in the history
[ohii] Chpater02_AWS (VPC & Internet Gateway & EC2)
  • Loading branch information
KkomSang authored Apr 18, 2024
2 parents 905818a + 521f24f commit 3a79ea4
Show file tree
Hide file tree
Showing 6 changed files with 132 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/Spring_Boot_D.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

95 changes: 95 additions & 0 deletions docs/chapter2/Ch02keyword.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
[AWS]
- Amazon Web Service
- 아마존에서 제공하는 클라우드 컴퓨팅 플랫폼

[클라우드 컴퓨팅]
- 물리적인 형태의 실물 컴퓨팅 리소스를 네트워크 기반 서비스 형태로 제공하는 것
- IaaS : 사용자가 물리적인 하드웨어 직접 관리x, 직접적으로 서비스 이용을 통해 컴퓨터 리소스 사용
- Paas : DB, OS, 애플리케이션 서버, WAS, JDK 등 미들웨어 제공
- SaaS : 소프트웨어 또는 애플리케이션의 기능만 제공

[리전과 가용영역]
- 전세계에 물리적으로 호스팅 영역을 구분해둠.
- 리전 : 개별 지리 영역으로 나라별 단위임. 가용영역이 2개 이상 구성된 지리적 영역. 리전은 서로 완전히 독립적임.
- 가용영역 (AZ): 리전 내에 격리된 위치. 1개 이상의 물리 데이터센터를 묶은 논리적인 데이터 센터.
ex) 한국 서울에서 호스팅 되는 영역을 서울 리전이라고 한다!

[IP]
- IP : 인터넷에 연결된 모든 장치들을 식별하기 위해 각 장비에게 부여되는 고유 주소
- IPv4 : 32bit로 이루어진 주소
- IPv6 : IPv4의 주소체계를 128bit 크기로 확장한 것
- <IPv4 체계>
- 네트워크 영역과 호스트 영역 두 가지로 나뉨
- 네트워크 영역 : 네트워크 식별, 라우팅할 때 사용, IP 주소 할당 기관에서 할당
- 호스트 영역 : 호스트 식별, 네트워크 관리자가 할당
- <IP 주소 클래스>
- 클래스 A : 32비트 중 앞 8비트를 네트워크 부로, 다음 24비트를 호스트 부로 나눈 것
- 클래스 A의 IP 주소 범위 : 0.0.0.0 ~ 127.255.255.255
- 클래스 B : 32비트 중 앞 16비트를 네트워크 부로, 다음 16비트를 호스트 부로 나눈 것
- 클래스 B의 IP 주소 범위 : 128.0.0.0 ~ 191.255.255.255
- 클래스 C : 32비트 중 앞 24비트를 네트워크 부로, 다음 8비트를 호스트 부로 나눈
- 클래스 C의 IP 주소 범위 : 192.0.0.0 ~ 223.255.255.255
- <네트워크 주소와 브로드캐스트 주소>
- 네트워크 주소 : 네트워크 주소는 전체 네트워크에서 작은 네트워크를 식별할 때 사용되고, 호스트 부가 십진수로 0이면 그 네트워크를 대표하는 주소
- 브로드캐스트 주소 : 하나의 네트워크에 있는 모든 호스트에 동시에 데이터를 보낼 때 사용되는 전용 IP 주소, 호스트 부가 255

[서브네팅, 서브넷, 서브넷 마스크]
- 서브네팅 : IP주소 낭비를 방지하기 위해 네트워크를 분할하여 효율적으로 사용하는 개념
- 장점 : IP주소의 자원 낭비를 최소화
- 서브넷 : 분할된 네트워크, IP주소에서 네트워크 영역을 부분적으로 나눈 부분
- 서브넷 마스크 : P 주소를 서브넷팅하는 경우 IP 주소와 별도로 어디까지가 네트워크 부이고 어디까지가 호스트 부인지 구별하는 식별자
,네트워크 주소인 '1'과 호스트 주소인 '0'으로 이루어짐.
- A class 기본 서브넷 마스크 : 255.0.0.0
- B class 기본 서브넷 마스크 : 255.255.0.0
- C class 기본 서브넷 마스크 : 255.255.255.0
ex ) 150.115.120.13/27의 네트워크 영역과 호스트 주소의 범위, 개수
ip : 150.115.120.13
subnet : 255.255.255.22
(and 연산) ->
네크워크 영역 : 150.115.120.0
호스트 영역 : 00000 -> 호스트 범위 : 2^5 -2 (네크워크 + 브로드) = 30
브로드캐스트 주소 : 150.115.120.31

[라우팅]
- 라우팅 : 네트워크에서 경로를 선택하는 프로세스, 미리 정해진 규칙을 사용하여 최적의 경로를 선택.
- 라우팅은 네트워크 통신의 효율성을 높임.
- 라우터 :
- 데이터의 경로 결정 : 네트워크 지표를 분석하여 최적의 경로 찾음
- 데이터 전달
- 로드 밸런싱 : 여러 경로를 사용하여 동일한 데이터 패킷의 여러 사본을 전송할 수도 있음
- 과정 : 데이터는 패킷 형태로 네트워크를 통해 이동함 -> 패킷이 도착하면 라우터는 라우팅 테이블에서 그 주소를 찾음
-> 그 후 라우터는 패킷을 네트워크의 다음 지점으로 전달함
- 정적 라우팅 : 네트워크 관리자가 정적 테이블을 사용하여 네트워크 경로를 수동으로 구성하고 선택, 일정하게 유지
- 동적 라우팅 : 실제 네트워크 조건에 따라 런타임에 라우팅 테이블을 만들고 업데이트,동적 라우팅 프로토콜을 사용하여 가장 빠른 경로 찾음

[VPN, VPC]
- VPN : 가상사설망, 네트워크 A와 네트워크 B가 실제로 같은 네트워크 상에 존재하지만 논리적으로 다른 네트워크인 것 처럼 동작하게 해줌
- VPC(Virtual Private Cloud) : 자체 데이터 센터에서 운영하는 기존 네트워크와 아주 유사한 가상 네트워크. VPC별로 네트워크를 구성하여 각각의 VPC에 따라
다르게 네트워크 설정을 줄 수 있음. 각각의 VPC는 완전히 독립된 네트워크처럼 작동.
[사설 IP주소, 공인 IP 주소]
- 사설 IP주소 : 인터넷에서 공인된 IP 주소를 사용하지 않고, 사적인 용도로 임의 사용하는 IP 주소
- 공인 IP주소 : 인터넷 공식 기관(ICANN, KISA ..)에 의해 할당 받은 공인된 IP 주소

[인터넷게이트웨이]
- 인터넷게이트웨이는 VPC와 인터넷 간의 통신을 가능하게 하는 수평 확장가능한, 중복가능한, 고가용성 VPC 컴포넌트

[포트포워딩]
- 포트를 전달해주는 것
- 특정한 포트로 들어오는 데이터 패킷을 다른 포트로 바꿔서 다시 전송해주는 작업
- 사설 ip 주소는 여기 저기서 사용하므로 공인 ip 처럼 특정 기기를 가리키지 않음 -> 공유기가 보유한 공인 ip를 알려줘야 함!
-> 공인 ip로 들어오는 특정 포트의 연결을 어디어디로 연결하라고 공유기에 설정 해야 함 -> 포트 포워딩!!
- 클라이언트는 목적지의 사설IP에 대한 정보를 모름 -> 메시지를 보낼 때는 목적지의 공공IP를 적어 보냄
-> 그러나 이는 공공IP이기 때문에 이를 받은 NAT 프로토콜은 어떤 기기한테 온건지 알 수가 없음 -> NAT Traversal Problem !! -> 해결책 : 포트포워딩

[NAT 프로토콜]
- Network Address Translation : 네트워크 주소를 변환해줌
- 공인 ip를 사설 ip로 매핑 시켜줌
- 인터넷으로 정보를 보낼 때는 사설ip를 공공ip로 바꿈
- 인터넷으로부터 온 정보를 받아드릴 때는 공공ip를 사설ip로 바꿈

[포트번호]
- 포트 : 호스트 내에서 실행되고 있는 프로세스를 구분짓기 위한 16비트의 논리적 할당
- 포트는 컴퓨터 안에서 프로그램을 찾을 때, ip 주소는 컴퓨터를 찾을 때 필요한 주소!
- 포트번호는 어떤 프로그램에 접속할 것인지를 컴퓨터에게 알려줌


0 comments on commit 3a79ea4

Please sign in to comment.