클라우드 엔지니어링 week7 정리본

seulg1004·2025년 2월 22일
post-thumbnail

🍀 7주차 총정리
네트워킹의 기초 개념부터 CISCO를 사용한 인프라 환경 실습까지 정말 많은 부분들을 배울 수 있었던 한 주였다. 기술 세미나 이후에 수업이 정신없이 지나가긴 했지만, 새롭게 알아가는 공부들이 많아서 유익했다. 😊

1. IP Address

1-1. IP Class

IP는 Internet Protocol의 약자로, 각 네트워크 안에서 식별할 수 있는 고유한 주소체계이자 프로토콜이다.

IPv4 주소를 사용할 때는 4개의 옥텟(Octet)이라고 불리는 8비트 단위로 나누고, 각 옥텟은 . 로 구분한다.

  • 네트워크 주소 : 호스트들을 모은 네트워크를 지칭하는 주소(호스트의 집합)
    -> 해당 서브넷에 속한 모든 IP 주소 범위를 나타내는 첫번째 주소
  • 브로드캐스트 주소 : 특정 네트워크 영역에 존재하는 모든 호스트들에게 전달 가능한 주소
    -> 해당 서브넷에 속한 모든 IP 주소 범위 중 마지막 주소
  • 호스트 주소 : 하나의 네트워크 내에 존재하는 호스트를 구분하기 위한 주소

여기에서 네트워크 주소와 호스트 주소를 구분하는 기준은 다름 아닌 Subnet Mask 이다. 따라서, 서브네팅을 다르게 하면 네트워크 주소와 호스트 주소의 구분이 달라질 수 있고, 더 작은 네트워크 단위로 쪼갤 수 있다.

✅ 2진수를 왼쪽에서 오른쪽으로 읽을 때, 0이 한번 나오면 다시 1이 나오는 수는 서브넷 마스크로 사용할 수 없다.

1️⃣ Network Address 계산하기

202.147.17.11255.255.255.0 서브넷 마스크를 사용해서 네트워크 주소를 계산해보자. 이 때, 서브넷 마스크를 AND 연산으로 해주면 된다.

11001010.10010011.0010001.00001011 (202.147.17.11)
11111111.11111111.1111111.00000000 (255.255.255.0)
---------------------------------------------------
11001010.10010011.0010001.00000000 (202.147.17.0)

2️⃣ Broadcast Address 계산하기

202.147.17.11255.255.255.0 Subnet Mask를 사용해서 브로드캐스트 주소를 계산해보자. 이 때, 서브넷 마스크의 반전을 OR 연산해주면 된다.

네트워크 주소  = 11001010.10010011.00010001.00000000  (202.147.17.0)
반전 마스크    = 00000000.00000000.00000000.11111111  (0.0.0.255)
---------------------------------------------------
브로드캐스트  = 11001010.10010011.00010001.11111111  (202.147.17.255)

최종적으로, 네트워크 주소와 브로드캐스트 사이의 IP주소들이 하나의 서브넷팅 네트워크에 묶여 사용할 수 있게 된다.

위에서는 202.147.17.1 ~ 202.147.17.244 사이의 IP를 사용할 수 있다. 따라서, 공식으로 2^8 - 2 = 254개의 IP주소를 가지게 되는 것이다.

1-2. CIDR (Classless Inter-Domain Routing)

정해진 서브넷 마스크를 적용하는 A Class, B Class, C Class를 사용할 수 있지만 서버 IP를 할당할 때 모두 그렇게 적용해버리면 IP를 낭비할 수 있다. 따라서, 서브넷을 가변적으로 사용해서 Subneting을 진행하면 IP를 알맞게 나누어서 효율적으로 사용할 수 있다.

이 때, 사용한 서브넷 마스크를 prefix로 IP주소와 함께 나타낼 수 있는데, Class에 구애받지 않는다는 점에서 CIDR 이라고 한다.

202.17.16.10/8  -> subnet mask 255.0.0.0
202.17.16.10/16 -> subnet mask 255.255.0.0
202.17.16.10/24 -> subnet mask 255.255.255.0

여기서 prefix는 서브넷 마스크의 32비트 중 1을 가진 비트 수를 의미한다.

1-3. 사설 IP (Private IP Address) vs 공인 IP (Public IP Address)

📌 사설 IP
내부 네트워크 안에서만 접근 가능하도록 할당한 IP이며, 외부에서 직접 접근이 불가능하다. 여러 조직에서 동일한 IP를 사용 가능하다.

A Class : 10.0.0.0 ~ 10.255.255.255 (10.0.0.0/8)
B Class : 172.16.0.0 ~ 172.31.255.255 (172.16.0.0/12)
C Class : 192.168.0.0 ~ 192.168.255.255 (192.168.0.0 /16)

📌 공인 IP
모든 인터넷에서 접근이 가능한 IP로, 중복이 불가능하며 전 세계에서 유일한 IP이다.

사설 IP → 공인 IP로 변경하고 싶다면?

  • NAT 장비(공유기)를 사용해서 변경할 수 있음
  • 1 : ALL NAT를 사용해서 하나의 공인 IP를 여러 개의 사설 IP와 공유해서 인터넷에 접속하는 방식 사용!

❓ 외부에서는 공인 IP로 변경해서 나가야하는데, 왜 굳이 사설IP를 사용하는가?

→ 모든 IP를 공인 IP로 할당해주면 공인 IP 개수가 부족해지기 때문이다.

1-4. NAT (Network Address Translation)

사설 IP를 공인 IP로 변경해주는 공유기로, 가정에서는 iptime이 NAT 역할을 수행하게 된다.

내부 PC가 외부 서버에 접근할 때, 공인 IP가 필요한데 이를 해결해 줄 수 있는 기술이다. 크게 두 종류로 나눌 수 있다.

  • S NAT : 내부 PC → 외부 PC에 접근할 때, 사설 IP를 공인 IP로 변환해주는 기술
  • D NAT : 외부 PC → 내부 PC에 접근할 때, 공인 IP와 포트를 사용해서 내부 PC로 패킷을 전달해주는 기술

매핑하는 사설 IP 개수에 따라 세세하게 종류를 나눌 수 있다.

  • 1 : 1 NAT
  • 1 : N NAT
  • 1 : ALL NAT (PAT 이라고도 한다.)

🔹 1:1 NAT vs PAT 차이점

구분1:1 NATPAT
IP 매핑 방식하나의 사설 IP ↔ 하나의 공인 IP여러 사설 IP ↔ 하나의 공인 IP
사용 예시특정 서버를 공인 IP로 직접 연결가정/회사에서 공유기 사용 시
보안성내부 IP가 노출됨내부 IP가 숨겨짐 (보안 강화)
공인 IP 절약불가능 (공인 IP 여러 개 필요)가능 (공인 IP 하나로 여러 기기 사용)

다만, PAT을 사용하게 되면 외부 PC(목적지)에서 어떤 내부 PC에 패킷을 전달해야할 지 모른다. 사설 IP를 공유기를 통해서 공인 IP로 바꿨기 때문에 특정 사설 IP를 식별 불가능하기 때문이다.

이 때, Port를 사용해서 식별이 가능한데, 포트 포워딩을 사용해서 특정 내부 PC를 식별할 수 있다.

1-5. Static IP & Dynamic IP

📌 static IP : 고정으로 할당된 IP

  • 중요한 서비스를 하는 장치(Router, Server)들은 Static IP를 반드시 사용해야 함.
  • 왜냐하면, 서버 정보나 Router 정보가 바뀌어버리면 사용자가 접속을 못하기 때문
  • Elastic IP : 고정 공인 IP
    • AWS에서는 한 지역에서 5개만 사용한다. 아껴 사용!

📌 dynamic IP : 유동 IP

  • PC를 껐다가 키면 새롭게 IP가 할당된다.

2. MAC 주소를 사용한 Network 통신

2-1. ICMP (Internet Control Message Protocol)

: 인터넷 제어 메시지 프로토콜로, 오류 메세지를 전송받는 데 주로 쓰임

  • ping 명령어를 사용할 때 사용하는 프로토콜

2-2. ARP (Address Resolution Protocol)

: IP 주소를 가지고 MAC 주소(물리적인 주소)를 찾아와주는 프로토콜

  • ARP 요청은 브로드캐스트, ARP 응답은 유니캐스트이다.
  • ARP 응답을 받은 MAC 주소는 일정 시간 동안 캐시에 저장됨 → cmd 창에서 arp -a 명령어로 확인 가능
C:\Users\2-34>arp -a

인터페이스: 192.168.56.1 --- 0xb
  인터넷 주소           물리적 주소           유형
  192.168.56.255        ff-ff-ff-ff-ff-ff     정적
  224.0.0.2             01-00-5e-00-00-02     정적 

arp -s <IP주소> <MAC 주소> 명령어를 사용하면, 수동으로 arp 주소 세팅이 가능하다. 그러나 잘못 세팅하면 인터넷과 통신 불가능하므로 건드리지 않는 것이 좋다.

❓ ARP가 필요한 이유는 무엇인가요?
Ping 명령어를 사용하면, mac 주소를 알아야 패킷/Frame 전송이 가능하기 때문이다.

2-3. Ethernet

: 유선 네트워크에서 데이터를 주고받는 통신 기술로, LAN(Local Area Network)에서 사용하는 표준 통신 방식이다.

✔ 패킷(프레임) 단위로 데이터 전송 & MAC 주소 기반 통신
✔ 스위치(Switch)와 라우터(Router)를 이용해 데이터 전달

3. 서브넷 환경 설정 및 실습

3-1. 다른 네트워크를 Switch, Router를 사용해서 연결하기

실습은 CISCO를 사용해서 진행하였으며, 컴퓨터 구성은 다음과 같이 진행하였다.

GatewayIP AddressSubnet Mask
172.16.0.0172.16.2.1255.255.0.0
172.16.0.0172.16.5.15255.255.0.0
172.16.0.0172.16.10.10255.255.0.0
10.0.0.010.1.10.100255.0.0.0
10.0.0.010.50.6.12255.0.0.0
10.0.0.010.180.32.19255.0.0.0

다른 서브넷 간의 통신을 시도하기 위해서는 Router를 활성화시키고, Gateway를 정확하게 설정해주어 서로 패킷을 송수신받을 수 있도록 해야한다.

  1. Router CLI에 다음과 같은 명령어 쳐서 Router 활성화 시키기
  2. Router 연결시킨 Ethernet 인터페이스 활성화
  3. Gateway 설정하기
  4. 172.16.2.110.1.10.100 으로 Ping 날리기 : 성공한 것을 확인

❓ 기본 게이트웨이가 설정되어야 다른 Subnet mask를 가진 PC가 통신되는 이유

Ping 과정이 다음과 같다.
1️⃣ PC1(172.16.2.1)이 PC4(10.1.10.100)에 Ping 요청
2️⃣ 다른 서브넷이므로 기본 게이트웨이(172.16.0.1)로 패킷 전송
3️⃣ 라우터가 PC4의 서브넷을 확인하고 패킷 전달
4️⃣ PC4가 응답을 보낼 때도 자신의 기본 게이트웨이(10.0.0.1)로 전송
5️⃣ 라우터가 다시 PC1에게 전달 → Ping 성공

Gateway는 다른 네트워크와 통신할 때 연결되는 창구이며, 같은 네트워크에 찾는 서버/PC가 없다면 Gateway로 이동하기 때문에 PC마다 필수적으로 설정해주어야 한다.

3-2. 다수의 Router를 사용해서 연결하기

이번에는 CISCO에서 Router끼리 연결하여 서로 다른 네트워크의 PC끼리 통신하도록 구성해본다.
왼쪽 네트워크에서는 /24 서브넷 마스크를 사용하며, 192.168.0.1을 Gateway로 활용했다.
오른쪽 네트워크 또한 /24 서브넷 마스크를 활용하여 172.16.0.1을 Gateway로 활용했다.

라우터 간의 네트워크는 /30 서브넷 마스크를 활용하였다. 라우터의 설정 정보를 저장하고, 설정을 보는 명령어는 다음과 같다.

Router#copy running-config startup-config  // 설정을 저장하는 명령어
Router#show startup-config                 // 설정 show
Router#show running-config                 // 실행 시 설정(Route 설정)

Router끼리 연결하기 위한 방법은 다음과 같다.

  1. 라우터에 HWIC-2T 장치를 장착한다. (Serial 포트를 사용하기 위함)

  1. Gigabit, serial 설정하기
Seoul-Router(config)#int gigabitEthernet 0/1
Seoul-Router(config-if)#ip addr 192.168.0.1 255.255.255.0
Seoul-Router(config-if)#no shutdown
Seoul-Router(config-if)#exit
Seoul-Router(config)#int serial 0/0/0
Seoul-Router(config-if)#ip addr 10.0.0.1 255.255.255.252
Seoul-Router(config-if)#no shutdown

동일한 설정을 Busan-Router에도 적용해주고, Serial 이 잘 연결되는 것을 확인한다.

이 때, 라우터(Router) 간 통신에서는 주로 WAN(Wide Area Network) 연결을 위해 Serial 포트를 사용하게 된다. WAN 환경에서는 일반적인 Ethernet 스위치로 연결할 수 없으며, 모뎀(Modem)이나 CSU/DSU와 같은 WAN 장비를 이용해서 통신을 해야한다.

이후에 PC0에서 Busan으로 ping을 날렸을 때, timeout이 나는 것을 볼 수 있는데, 이를 해결하려면 Router끼리 routing 테이블을 제대로 만들 수 있도록 설정해줘야 한다.

  1. Router 연결
Seoul-Router(config)#ip route 172.16.0.0 255.255.255.0 10.0.0.2

Seoul Router → Busan Router로 연결하므로, 목적지 네트워크, 서브넷마스크, Router IP를 적어주면 됨

4. 느낀 점

✅ 이번 주차 수업에서 좋았던 점

  • 이전부터 헷갈렸던 IP Class 개념, CIDR, 서브넷팅에 대해 확실하게 이해할 수 있었다.

✅ 이번 주차 수업에서 새롭게 배웠던 점

  • 인프라 환경을 설정하고, 서로 다른 네트워크끼리 통신할 수 있도록 만들어주는 실무적인 방법에 대해 새롭게 배웠다.

✅ 배운 것에 관해서 내가 부족한 점

  • 인프라 학습은 처음이라서 아직 많은 부분에서 배워야할 것이 많다.😅

✅ 앞으로 뭘 더 하면 좋을까?

  • 꾸준하게 복습하고 확실하게 모르는 장비들이나 개념에 대해서 더 정리하는 시간을 매일 조금씩이라도 가져야겠다.

0개의 댓글