반응형

전 회차 파이썬 독학 글을 못 보신 분들은

아래 링크를 살펴보고 와주세요!


파이썬 독학 #1과 #2 글에서는 파이썬의 기초 설치부터

IDLE, IDE의 개념, VSCode 설치 및 기본 세팅까지 다루었습니다.

#3에서는 자료형의 기초, 사칙 연산, 인덱싱, 슬라이싱, 포맷팅, 변수 등을 소개하며

프로그래밍의 기본적인 개념을 다루었습니다.

자료형을 알고 있다면
그 언어의 절반을 터득한 것

파이썬 독학 세 번째 시간입니다.

프로그래밍 언어를 배우시다 보면

우리가 자연스럽게 이해하고 있던

숫자의 개념과 문자의 개념이 혼동이 오기 시작합니다.

'1'+'1'이 뭔지 알아?
"2"

"아니? 11이야."

이게 말이 되기 시작하거든요

작은따옴표를 써서 '1'+'1'을 문자로 만들어버리면

위의 답은 11이 되게 됩니다.

따옴표로 글자와 숫자를 나눌 수 있는데요

이것이 프로그래밍 형식이며

우리는 이걸 자료형이라고 부릅니다.

(지금은 아 이런 게 있구나~ 정도로

아래 내용을 후루룩 읽고 넘어가 주세요)


자료형

자료형은 타입과 구조로 나눌 수 있고 각각의 개념을 또 잘게 나눌 수 있습니다

Type
숫자
정수
실수
컴퓨터 지수
진수(2,8,10,16 ..)
문자열
인덱싱
슬라이싱
포메팅
 
불 (참&거짓)
       
구조
변수
       
리스트
       
튜플
       
딕셔너리
       
집합
       

숫자

a = 1
print(a)
1

 

파이썬에서 숫자를 쓸 때는

a =1이라고 지정해 놓고 a를 출력하면

1이라고 나오게 됩니다

이걸 이제 정수, 실수, 컴퓨터 지수, 2진수 8진수, 10진수, 16진수 등으로 나눌 수 있는데요

천천히 살펴보도록 하겠습니다.

(위에서 말씀드렸지만 한 번 더 말씀드리면

지금은 아 이런 게 있구나~ 정도로 넘어가셔도 됩니다)


정수형 (int)

(1,2, -1)

1과 2 -1 등 소수점 없는 수 정수

a = 1 <- 자료형이 무엇인지 궁금할때는
print(type(a)) <- type
class int <- int = 정수형

실수 (float)

(1.23, -13.42)

소수점이 있는 실수

a = 1.23 <- 자료형이 무엇인지 궁금할때는
print(type(a)) <- type
class float <- float = 실수

컴퓨터 지수 표현 방식

(4.24e10)

가끔 계산기에 너무 많은 값이 입력되면 출력되는 모습 컴퓨터 지수

a = 4.24e10 <- 4.24 x 10의 10승
print(type(a)) <- type
class float <- float = 실수
print(a) <- 값
42400000000.0 <-
 

8진수와 16진수 2진수 10진수 등은

따로 여기서 다시 설명은 하지 않겠습니다.

대신 아래 글을 읽으시면 개념 잡기 쉬우실 거예요!

https://jdcyber.tistory.com/29

 

2진수와 10진수 (2진법 10진법) (쉬운 설명, 개념, 제곱, 승)

일상생활을 할 때는 필요 없지만 컴퓨터를 배우거나 네트워크 리눅스 파이썬 개발 등을 하시게 되면 컴퓨터가 사용하는 2진수를 배워야 하는데요 우리가 사용하는 iP 주소는 192.168.123.132 이러한

jdcyber.tistory.com

 
 

사칙 연산

파이썬으로 사칙연산도 가능합니다

아래 쭉 나열해서 보여드릴게요


더하기(+)

>>> a = 3
>>> b = 4
print(a+b)
7

곱하기 (*)

>>> a = 3
>>> b = 4
print(a*b)
12

나누기 (/)

>>> a = 3
>>> b = 4
print(a/b)
0.75

몫 (//)

>>> a = 3
>>> b = 4
print(a//b)
0

나머지 (%)

>>> a = 3
>>> b = 4
print(a%b)
3

제곱 (**)

>>> a = 3
>>> b = 4
print(a**b)
81

문자열 (String)

문자열을 자료형(str)으로 만드는 4가지 방법을 알아보겠습니다

>>> "Hello JD" <- "끈 따옴표"
>>> 'How are you JD' <- '작은 따옴표'
>>> """Let's start''' <- """큰 따옴표 3개"""
>>> '''2023 it's comming''' <- '''작은 따옴표 3개'''
Type str

왜 이렇게 쓸데없어 보이게 많이 만들었을까요?

이유가 있습니다.

'That's my pen'

이런 문장을 쓸 때 가운데 (') 하나가 더 들어갔죠?

이걸 파이썬에서는 'That'이라는 문자열 자료형으로 인식합니다.

뒤에는 알아듣지 못하고 프로그래밍 구문의 오류인

Syntax error로 출력하게 됩니다.

이럴 땐 큰따옴표를 사용하면 됩니다

"That's my pen"

혹은 'That\'s my pen'으로 가운데 (\) 역슬래쉬를 넣어

문자열 따옴표라고 파이썬에서 인식하고 사용할 수 있습니다.


줄 바꾸기

이걸 이용해서 줄 바꿈을 할 수 있습니다

원래 파이썬은 줄 단위로 인식하기 때문에

줄 바꿈을 따옴표 없이 하게 되면 오류를 출력하게 되는데

이때는 아래 예시처럼 할 수 있습니다

>>> hi/nthere
hi
there

문자열 + 사칙연산

아래 몇 가지 예시만 보여드리고 빠르게 넘어가도록 하겠습니다

>>> a = "hi"
>>> b = "there"
print(a + b)
hi there

print(a*10)
hihihihihihihihihihi

인덱싱

저장된 문자열의 각 문자마다 번호를 매겨 표현할 수 있습니다.

>>> a = "Life is too short, you need python"
print(a[0])
L
print(a[1])
i
print(a[2])
f
print(a[-1])
n
print(a[-2])
o

"Life is too short, you need python"

맨 앞 L 알파벳부터 0부터 순차적으로 올라가서

0 = L, 1=i 2=f 가 되는 것이죠

그리고 -를 쓰면 반대로 내림차순이 되어

-1 = n, -2 = o 가 됩니다.


슬라이싱

>>> a = "Life is too short, you need python"
print(a[0:4]) <- 처음부터 4번째까지
Life
print(a[0:8]) <- 처음부터 8번째까지
Life is
print(a[8:]) <- 8번째부터 끝까지
too short, you need python
print(a[::2]) <- 처음부터 끝까지 간격만 2
Lf stosot o edpto

"Life is too short, you need python"

a[x:x:x]

첫 번째 x는 이상 두 번째 x는 미만 마지막 x는 간격인데

기본 default 값으로 1이 들어가 있고 생략 가능합니다

위의 설명과 소스 예제를 보면서 이해해 주시면 좋을 것 같습니다

포메팅

b = "I eat " + str(3) + " apples" <- 이렇게 쓰기 귀찮으니까
a = "I eat % apples." %3 <- 이렇게 쓰자

포메팅을 사용하면 "따옴표를 적게 쓸 수 있고 조금 더 쉽고 편하게 사용할 수 있습니다.

number = 10 <- number라는 문자열에 10이라는 유동적인 규칙 부여
day = "three" <- day라는 문자열에 three이라는 유동적인 규칙 부여
a = "I ate %d apples. so I was sick for %s days" % (number, day) <- 규칙을 원하든 대로 바꿔서 문장 완성
print(b)]
I ate 10 apples. so I was sick for three days

number와 day를 각각 10과 three에 매핑시켜서 문장을 만들면

새로 다 문장을 쓸 필요 없이 사용할 수 있습니다

여기서 % s는 문자열을 쓸 때 쓰는 것이며

% d는 정수 등 규칙이 있지만

거의 대부분 % s를 쓰면 문자열로 바꿔서 들어가기 때문에

지금은 % s만 알고 넘어가셔도 좋습니다

변수

a = 3
a = a + 1
print(a)
4

변수는 어떠한 값을 이거라고 지정해 놓는 겁니다

a가 3이라고 할 때, a = a+1

위와 같은 변수를 저장해 놓는다면

4(3+1)라는 값을 a에 넣는다라고 생각해 주시면 됩니다


예제 연습

숫자와 사칙연산 실습

# 숫자와 사칙연산 실습
a = 5
b = 2

# 더하기
print("더하기: ", a + b)

# 빼기
print("빼기: ", a - b)

# 곱하기
print("곱하기: ", a * b)

# 나누기
print("나누기: ", a / b)

# 몫
print("몫: ", a // b)

# 나머지
print("나머지: ", a % b)

# 제곱
print("제곱: ", a ** b)

문자열 인덱싱과 슬라이싱 실습

# 문자열 인덱싱과 슬라이싱 실습
s = "Python Programming is fun!"

# 인덱싱
print("s의 0번째 문자: ", s[0])  # P
print("s의 마지막 문자: ", s[-1])  # !

# 슬라이싱
print("s의 처음부터 6번째까지: ", s[:6])  # Python
print("s의 7번째부터 끝까지: ", s[7:])  # Programming is fun!

리스트 실습

# 리스트 실습
my_list = [1, 2, 3, 4, 5]

# 리스트에 요소 추가
my_list.append(6)
print("요소 추가 후: ", my_list)

# 리스트에서 요소 제거
my_list.remove(2)
print("요소 제거 후: ", my_list)

# 리스트 슬라이싱
print("리스트의 1부터 3까지의 요소: ", my_list[1:4])

딕셔너리 실습

# 딕셔너리 실습
my_dict = {'name': 'John', 'age': 30, 'job': 'Developer'}

# 딕셔너리에 요소 추가
my_dict['city'] = 'New York'
print("요소 추가 후: ", my_dict)

# 딕셔너리에서 요소 제거
del my_dict['age']
print("요소 제거 후: ", my_dict)

# 딕셔너리의 키로 값 접근
print("name 키로 접근: ", my_dict['name'])

조건문 실습 (추가 예제)

# 조건문 실습
age = 18

if age < 13:
    print("어린이")
elif age < 20:
    print("청소년")
else:
    print("성인")

너무 내용이 길어지는 관계로

파이썬 독학 #3은 여기서 마치고

파이썬 독학 #4에서 나머지 부분을

마무리하도록 하겠습니다.

 

파이썬 독학 #4에서 만나요!

https://jdcyber.tistory.com/60

 

파이썬 독학 #4 기초 개념을 활용한 간단한 프로그램 작성하기 (응용)

지금까지 우리는 파이썬의 기본적인 설치 방법, 개발 환경 설정, 기본 명령어와 자료형, 그리고 기본적인 연산과 변수 사용법에 대해 배웠습니다. 못 보신 분들은 아래 글을 순차적으로 읽고 오

jdcyber.tistory.com



궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형
반응형

Kali Linux를 설치하고 작업을 하고 있는데

저처럼 어느 날 갑자기 비밀번호가 틀리나고 나오거나

아니면 Root 패스워드를 까먹으셨을 때

아래 방법을 통해 찾아보시기 바랍니다.

아래 내용을 진행하시기 전에

항목을 잘못 선택할 수 있으므로

Snapshot을 찍어놓고

진행하시길 추천드립니다.

 

칼리 리눅스에대해 궁금하신 분들은 아래 글을 참고해주세요

https://jdcyber.tistory.com/7

 

버츄얼박스 (VirtualBox)와 칼리 리눅스 (Kali Linux)를 이용한 모의해킹 실습 환경 구축 가이드

오늘은 모의해킹 실습 환경을 구축하는 방법에 대해 소개하려고 합니다. 이번 글에서는 VirtualBox와 칼리 리눅스(Kali Linux)를 사용합니다. 1. VirtualBox 설치 먼저, VirtualBox를 설치해야 합니다. 우리가

jdcyber.tistory.com


Kali Linux Root 패스워드 복구 방법

Kali Linux를 오른쪽 클릭 Power 탭에 보시면

RestartGuest 항목을 클릭합니다.

부팅시키면 위와 같이 GNU GRUB 화면이 나타납니다

혹시 안 나타나신다면 재부팅 중 e 키를 눌러보세요

여기서 키보드를 이용하여 두 번째 메뉴인

Advanced optinos for Kali GNU/Linux로

이동 후 선택해 줍니다

 

복구 모드최신 버전 (recovery mode)로 이동하고

e 키를 눌러 Command 창을 열어줍니다.

최신 버전이 무엇인지 모르고

리커버리 모드도 모르겠다

너무 여러 가지가 많이 나오는데

이름이 잘려서 안 보인다 하시는 분들은

창을 크게 늘려 이름을 꼭 확인해 보세요

 

위와 같이 Command 창이 열리면

키보드 커서를 이용하여 아래로 쭉 내려서

linux/boot/ 행을 찾아주세요

 

linux/boot/ 행 부분

 rw single initrd=/install/gtk/initrd.gz init=/bin/b\ash
 

위와 같은 내용을 추가 입력해 주세요

그리고 Ctrl + x를 눌러 재 부팅을 시켜주세요

 

 

재부팅이 완료되면 터미널을 확인할 수 있습니다.

만약 터미널이 나타나지 않는다면,

정상적으로 부팅이 이루어지지 않은 것입니다.

다시 한번 재부팅을 해보시고 먹통이 되었다면

위에서 선택을 잘못하신 것이니

미리 찍어두었던 스냅샷을 이용하여 돌아가시고

1번부터 차근차근해보시기 바랍니다.

root@(none) :/# 가 나오게 된다면

이제 root 패스워드를 바꾸실 수 있습니다.

passwd 명령어로 Root 패스워드를 변경해 줍니다.

passwd로 설정하는 비밀번호는

2번 똑같이 입력해 주시면 됩니다.

패스워드 변경하고 다시 한번 재부팅 진행하면

변경된 패스워드로 칼리에 접속이 되는 걸

확인하실 수 있으실 겁니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

이웃 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

ACL 접근 제어 목록

(Access Control List)

허가되지 않은 이용자가 라우터나 네트워크의

특정 자원에 접근하려고 하는 것을 차단하는 기능입니다.

첫 번째 두 번째 실습에 이어 세 번째 시간입니다.

 

이 실습에서는 ACL (Access Control List)을 사용하여 특정 네트워크 트래픽을 필터링하는 방법을 다룹니다.

목표는 불필요하거나 위험한 접근을 제한하여 네트워크 보안을 강화함에 있습니다.

ACL에 대한 자세한 개념은

아래 글을 참고해 주세요!

https://jdcyber.tistory.com/17

 

ACL (Access Control List) 이란? ACL 구성 가이드: 네트워크 보안 강화를 위한 필수 지침 (쉬운 설명, 예

ACL (Access Control List) 정의 및 개념 ACL (Access Control List) 은 네트워크 보안의 핵심 구성 요소로, 네트워크 장비에서 데이터 패킷의 흐름을 제어하는 데 사용되는 일련의 지침입니다. 이 규칙들은 특

jdcyber.tistory.com

 

 

(패킷 트레이서 예제 파일은 본 글에 첨부해 놨습니다.)

1번 조건

R1, R2, R3
각각의 내부 네트워크에서는 www.ilbe.com, www.toto24.com으로 접근되지 않도록 차단하여라.
 

2번 조건

R1
13.13.20.0/24, 13.13.30.0/24 네트워크만 '13.13.10.100' 웹, FTP 접근이 가능하도록 하여라.
'13.13.10.100'으로 접근하는 모든 ICMP는 차단하여라.
단, '13.13.10.100'은 '13.13.20.0/24', '13.13.30.0/24'로 Ping이 되어야 한다.
 

명령어

conf t
(각각의 내부 네트워크에서는 www.ilbe.com, www.toto24.com으로 접근되지 않도록 차단)
access-list 110 deny ip 13.13.10.0 0.0.255.255 host 141.101.121.208
access-list 110 deny ip 13.13.10.0 0.0.255.255 host 81.150.200.78
access-list 110 permit ip any any
!
int fa0/0
ip access -group 110 int
!
(13.13.20.0/24, 13.13.30.0/24 네트워크만 '13.13.10.100' 웹, FTP 접근이 가능도록 설정)
('13.13.10.100'으로 접근하는 모든 ICMP는 차단 단, '13.13.10.100'은 '13.13.20.0/24', '13.13.30.0/24'로 Ping 가능하도록 설정)
access-list 120 permit tcp 13.13.20.0 0.0.0.255 host 13.13.10.100 eq 80
access-list 120 permit tcp 13.13.20.0 0.0.0.255 host 13.13.10.100 eq 443
access-list 120 permit tcp 13.13.20.0 0.0.0.255 host 13.13.10.100 range 20 21
access-list 120 permit tcp 13.13.30.0 0.0.0.255 host 13.13.10.100 eq 80
access-list 120 permit tcp 13.13.30.0 0.0.0.255 host 13.13.10.100 eq 443
access-list 120 permit tcp 13.13.30.0 0.0.0.255 host 13.13.10.100 range 20 21
access-list 120 deny tcp any host 13.13.10.100 eq80
access-list 120 deny tcp any host 13.13.10.100 eq443
access-list 120 deny tcp any host 13.13.10.100 range 20 21
access-list 120 permit icmp 13.13.20.0 0.0.0.255 host 13.13.10.100 echo-reply
access-list 120 permit icmp 13.13.30.0 0.0.0.255 host 13.13.10.100 echo-reply
access-list 120 deny icmp any host 13.13.10.100
access-list 120 permit ip any any
!
int s0/0/0
ip access-group 120 in
 

확인

show ip access-lists

신중한 IP 주소 및 서비스 선정
  • 정밀한 대상 지정: ACL을 설정할 때, 차단하거나 허용해야 하는 특정 IP 주소, 네트워크, 또는 서비스(웹, FTP, ICMP 등)를 명확히 식별해야 합니다. 이는 불필요한 접근을 정확히 차단하고, 필요한 트래픽은 원활하게 통과시키는 데 중요합니다.
최소 권한 원칙 적용
  • 필요한 최소한의 접근만 허용: 네트워크 보안에서는 항상 최소 권한 원칙(Principle of Least Privilege)을 적용해야 합니다. 이는 사용자나 시스템이 자신의 업무를 수행하는 데 필요한 최소한의 권한만을 가지도록 하는 것입니다. ACL 설정 시, 이 원칙에 따라 필수적인 접근만 허용하고 나머지는 기본적으로 차단하는 방식을 채택해야 합니다.
서비스별 포트 번호 인식
  • 적절한 포트 사용: 웹(HTTP, HTTPS)이나 FTP 서비스에 대한 접근을 허용하거나 차단할 때, 각 서비스의 표준 포트 번호(예: HTTP는 80, HTTPS는 443, FTP는 20과 21)를 정확히 지정해야 합니다. 잘못된 포트 번호 설정은 의도하지 않은 서비스 접근을 허용하거나 차단할 수 있습니다.
정책 구현 후 검증
  • 설정 후 검증: ACL을 구성한 후에는 show ip access-lists 명령어를 사용하여 설정된 규칙을 검토하고, 실제 네트워크 트래픽이 의도한 대로 필터링되는지 확인해야 합니다. 또한, 허용된 접근과 차단된 접근 모두를 테스트하여 ACL이 정상적으로 작동하는지 검증해야 합니다.
문서화 및 지속적 관리
  • 구성 문서화: ACL 설정을 문서화하여 관리하면 나중에 네트워크 변경이나 문제 해결 시 큰 도움이 됩니다. 구성 변경 사항을 기록해 두면, 미래의 보안 감사나 네트워크 개선 작업에 유용한 참고 자료가 됩니다.
  • 지속적인 업데이트와 관리: 네트워크 환경은 지속적으로 변화하므로, ACL도 새로운 보안 위협, 변경된 네트워크 구성, 새로운 서비스 요구 사항에 맞게 주기적으로 검토하고 업데이트해야 합니다.

ACL 실습을 진행할 때, 위의 지침들을 철저히 따르는 것이 중요합니다.

이를 통해 네트워크 보안을 강화하고, 불필요한 접근을 효과적으로 차단할 수 있습니다.

또한, 실습 과정에서 발생할 수 있는 다양한 문제를 예방하고, 보안 정책을 효과적으로 구현할 수 있습니다.


 

패킷 트레이서 예제 파일


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

유니캐스트 (Unicast),

멀티캐스트 (Multicast),

브로드캐스트 (Broadcast)

이름이 참 비슷해 보이는 네트워크 통신 방식인

위 3가지에 대해 아주 쉽게 알아보겠습니다.

세 가지 모두 실생활에서 많이 쓰이는 통신 방식이니 차이점에 집중하면서 봐주세요!

비유를 통해 쉽게 설명해드릴 테니 잘 따라와 주세요!!

 

유니캐스트 (Unicast)

 

유니캐스트통상적으로 1:1 통신을 말합니다.

편지를 보낼 때 보내는 이와 받는 이를 쓰고

우체통에 넣잖아요?

그런 것처럼 보내는 출발지 주소와 받는 목적지 주소를 정확히 입력하여,

보내고 받는 네트워크 통신 방식입니다.

유니캐스트 방식으로 데이터를 전송하게 되면

같은 네트워크에 있는 모든 장치가 데이터 속에 해당 MAC 주소를

자신의 MAC 주소와 비교하고 같으면 CPU로 전송하고

같지 않다면 CPU에 전송하지 않고 버리는 방식으로 데이터를 처리하게 됩니다.

 

유니캐스트 통신의 경우, 정확한 MAC/IP 주소 관리가 중요합니다.

주소 정보의 오류 없이 안전하게 관리되어야 한다는 점을 명심해야 합니다.

(맥 주소, iP 주소에 대해 궁금하시다면

아래 글 참고해 주세요!)

https://jdcyber.tistory.com/26

 

MAC 주소? iP 주소? 무슨 차이지? (쉬운 설명, 개념, 정의)

Mac 주소? IP 주소? iP 주소, MAC 주소.. 저희가 IT 업계로 들어오거나 인터넷 통신 혹은 게임을 할 때에도 간간히 들어봤던 이름일 겁니다. 여러분은 무엇인지 둘의 차이는 무엇인지 알고 계신가요?

jdcyber.tistory.com

Ex) 맥 주소가 정확히 일치할 경우에만 CPU로 전송하여 데이터를 처리하기 때문에 컴퓨터 성능 저하가 없습니다!


브로드캐스트 (Broadcast)

 

브로드캐스트는 네트워크에 연결되어 있는

모든 시스템에게 데이터를 보내는 방식을 말합니다.

브로드캐스트 방식의 경우 브로드 캐스트용 주소가 미리 정해져있고,

해당 주소로 데이터를 뿌려주고 해당 주소에 속해 있는 유저는 데이터를 모두 받아 CPU로 전송합니다.

유니캐스트에서는 주소가 다르다면 CPU로 전송하지 않고 버렸는데 여기서는 모두 전송하고 있죠?

마을 이장님이 동네에 알림을 보내는 방식이라고 생각하시면 됩니다.

동네에서 이장님 안내를 듣고 싶지 않다고 막을 수 없잖아요?

나한테 보내는 알림이 아니고

김가네 마을회관으로 오세요를 마이크로 방송해도

우리는 해당되지 않지만 들을 수밖에 없듯이,

브로드캐스트는 이러한 방식으로 네트워크를 전송합니다.

그런데 왜 자칫 비효율적이라고 생각되는 이러한 방식이 사용될까요?

이건 바로 최초로 통신을 할 때는

서로가 서로를 모르기 때문에 전송할 수 없는데,

교장선생님이 단상에서 어 너 3번째 줄 4번째

이름이 뭐니라고 물어보고 홍길동이요라고 하면

아 2학년 4반 홍길동 어머니 모시고 와 이런 식으로

통성명 후 개인적인 통신이 가능하잖아요?

이러한 방식으로 컴퓨터 네트워크에서도

혹시 192.168.2.224라는 아이피 가진 컴퓨터 누구야?라고 브로드캐스트를 뿌리고

한 컴퓨터가 어 나야! 라고 하는 순간

둘의 통신이 이루어지기 시작합니다.

 

즉 브로드캐스트 방식은 통신하고자 하는 시스템의

MAC 주소를 알지 못하는 경우,

네트워크에 있는 모든 서버에게 정보를 알려야 할 때,

라우터끼리 정보를 교환하거나 새로운 라우터를 찾을 때, 브로드캐스팅 방식을 사용합니다.

 

브로드캐스트 사용 시 브로드캐스트 스톰을 방지하기 위한 조치가 필요합니다.

네트워크 설계에서 브로드캐스트 도메인을 적절히 제한하는 것이 중요합니다

(패킷에 대해 궁금하시다면 아래 글을 참고해 주세요)

https://jdcyber.tistory.com/12

 

패킷(Packet)이란? (쉬운 설명, 구조, 헤더, 인캡슐레이션, 핑, Ping)

패킷 (Packet) 이란 무엇일까요? 패킷은 패키지(package)와 덩어리를 뜻하는 버킷(bucket)의 합성어로 통신망을 통해 전송하기 쉽도록 데이터를 잘게 나눈 전송 단위입니다. 본래 패킷은 소포를 뜻하는

jdcyber.tistory.com



멀티캐스트 (Multicast)

멀티캐스트는 일대 다수의 통신 방법을 말하며,

네트워크에 연결되어 있는 시스템 중 일부에게만 정보를 전송하는 것으로 특정 그룹에 속해 있는

시스템에게만 전송하는 방법을 말합니다.

200명의 회원을 보유한 사이트에서 150명에게

공지사항을 뿌려야 한다는 가정을 했을 때,

유니캐스트로 뿌리게 되면 150번을 뿌려야 해서 과부하가 올 것이고

브로드캐스트를 통해 일괄적으로 뿌리게 되면 50명은

원치 않는 공지사항을 받아야 하는 상황입니다.

이때 특정 그룹 150명을 묶어 그들에게만 뿌리는

네트워크 방식을 멀티캐스트라고 합니다.

 

멀티캐스트 통신에서는 멀티캐스트 주소의 정확한 할당과 관리가 중요합니다.

특정 그룹에만 정보를 전송하므로, 멀티캐스트 그룹의 효율적 관리에 주의를 기울여야 합니다.

 

네트워크 성능 모니터링과 보안 프로토콜의 적용은 모든 통신 방식에서 중요합니다.

데이터 보호를 위해 적절한 보안 프로토콜(예: IPsec, SSL/TLS)을 적용하고, 네트워크 모니터링을 통해 트래픽을 주시해야 합니다.


오늘은 네트워크 통신의 종류 3가지를 알아봤습니다.

각각의 통신 방법에 따라 달라지는 모양새와 쓰임새를 살펴봤는데요

막연하게 듣기만했던 브로드캐스트 등을 확실히 알 수 있는 시간이었습니다.


 

궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용은
추후 정리해서 올려드리겠습니다
이웃 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

반응형
반응형

VLAN

오늘은 VLAN을 실제로 설정해 보는 실습을 진행하도록 하겠습니다.

글에 앞서 VLAN에 대해서 아직 잘 모르시겠다면 아래 글을 읽고 와주세요!

https://jdcyber.tistory.com/53

 

VLAN 이란? (쉬운 설명, 개념, 정의)

LAN을 설명하기 전에 먼저 LAN의 개념을 알고 계셔야 하는데요 혹시 LAN에 대해 아직 잘 모르신다면 제가 아래 자세하게 알기 쉽게 써놓았으니 먼저 읽고 와주시길 바랍니다!! (작성중) VLAN (Virtual LA

jdcyber.tistory.com

 

오늘 실습에 이용해 볼 소프트웨어는 패킷트레이서(Packet tracer)입니다.

패킷 트레이서(Packet Tracer)는 Cisco에서 개발한 네트워크 시뮬레이션 도구로,

네트워크 설계, 구성, 테스트 등을 가상 환경에서 실습할 수 있게 해주는 프로그램입니다.

이 도구에 대해 모르신다면 아래 글을 참조해 주세요!

(작성 중)

 


 

오늘 실습의 목적은 VLAN 생성 및 관리의 기본을 배우고,

네트워크의 논리적 분리를 이해하며, 보안과 관리 효율성을 향상시키는 방법을 학습하기 위함입니다.

사용자모드 제한된 명령어 사용, 장치설정 X Router>
관리자모드 현재 동작중인 장치 설정 내용을 볼수 있다 Router#
전역설정모드 장치 설정가능 Rourer(config)#

VLAN 생성하기

  1. VLAN 생성 명령어 입력:
    • #conf t 명령어로 글로벌 구성 모드에 진입합니다.
    • (config)#vlan 11 명령어로 VLAN 11을 생성합니다.
    • (config-vlan)#name VLAN_A 명령어로 생성된 VLAN에 이름을 지정합니다.
    • 동일한 방식으로 VLAN 12와 VLAN 13을 생성하고 각각 VLAN_B, VLAN_C라는 이름을 부여합니다.
  2. 생성된 VLAN 확인:
    • #show vlan brief 명령어를 통해 현재 스위치에 구성된 VLAN 목록과 상태를 확인할 수 있습니다. 이때, VLAN 11, 12, 13이 성공적으로 생성되었는지 확인합니다.

VLAN Access 설정하기

VLAN을 생성한 후, 각 VLAN에 특정 포트를 할당하여 네트워크 장비들이 해당 VLAN에 속하도록 설정할 수 있습니다.

  1. VLAN Access 포트 설정 명령어 입력:
    • #conf t 명령어로 다시 글로벌 구성 모드에 진입합니다.
    • (config)#int fa0/1 명령어로 인터페이스 FastEthernet 0/1을 선택합니다.
    • (config-if)#switchport mode access 명령어로 이 포트를 액세스 모드로 설정합니다.
    • (config-if)#switchport access vlan 11 명령어로 이 포트를 VLAN 11에 할당합니다.
    • 동일한 방식으로 fa0/2 포트를 VLAN 12에 할당합니다.
  2. 설정 확인:
    • #show run 명령어를 사용하여 현재 구성을 확인합니다.
    • #show vlan brief 명령어로 각 VLAN에 할당된 포트들을 확인합니다.

명령어 모음

#conf t
(config)#vlan 11
(config-vlan)#name VLAN_A
(config-vlan)#
(config-vlan)#vlan 12
(config-vlan)#name VLAN_B
(config-vlan)#
(config-vlan)#vlan 13
(config-vlan)#name VLAN_C
(config-vlan)#end

Check
#show vlan brief
 
VLAN Aceess를 설정해 보자

vlan 11 - f0/1
vlan 12 - f0/2

#conf t
(config)#int fa0/1
(config-if)#switchport mode access
(config-if)#switchport access vlan 11
(config-if)#
(config-if)#int fa0/2
(config-if)#switchport mode access
(config-if)#switchport access vlan 12
(config-if)#end

Check
#show run
#show vlan brief

주요 정리
vlan 11
name VLAN_A
int fa0/1
Switchport mode access
Switchport access vlan 11

 

실습을 진행함에 있어 아래와 같은 실수를 많이 하셔서 남겨둡니다.

  • VLAN 설정이 반영되지 않는 경우:
    • 해결 방법: show vlan brief 명령어를 사용하여 현재 VLAN 설정을 확인합니다. 설정이 올바르게 반영되지 않았다면, 설정 과정을 다시 한번 점검하고, 오타나 누락된 부분이 없는지 확인합니다.
  • 특정 포트에서 트래픽이 통과하지 않는 경우:
    • 해결 방법: 포트가 올바른 VLAN에 할당되었는지, 그리고 해당 포트의 switchport mode access 설정이 올바르게 적용되었는지 확인합니다. 또한, 해당 포트의 상태가 활성화되어 있는지 show interface [interface-id] 명령어를 통해 확인합니다.
  • VLAN 간 통신 문제:
    • 해결 방법: VLAN 간 통신이 필요한 경우, Layer 3 장비를 통한 라우팅 설정이 필요합니다. 이는 VLAN 설정과는 별도의 고급 설정이며, 관련 지식이 필요합니다. 기본적으로 VLAN은 네트워크를 논리적으로 분리하기 때문에, VLAN 간 통신을 위해서는 추가적인 설정이 요구됩니다.

 

VLAN 생성과 포트 할당 과정을 통해,

각각의 VLAN에 특정 포트를 할당함으로써 네트워크의 논리적 분리를 실습해 보았습니다.

패킷 트레이서 같은 시뮬레이션 도구를 이용하면,

네트워크 구성과 관리 기술을 손쉽게 배우고 실습해 볼 수 있습니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

LAN을 설명하기 전에 먼저 LAN의 개념을 알고 계셔야 하는데요

혹시 LAN에 대해 아직 잘 모르신다면 제가 아래 자세하게 알기 쉽게 써놓았으니 먼저 읽고 와주시길 바랍니다!!

(작성중)

VLAN (Virtual LAN)

VLAN (Virtual Local Area Network)이란

물리적 배치와 상관없이 논리적으로 LAN을 구성할 수 있는 기술입니다.

 

쉽게 말해서,

가상의 공간에서 네트워크를 만들어내는 기술입니다.

이름에서 알 수 있듯이, '가상'의 '지역 네트워크'를 만들 수 있는데요,

이 기술 덕분에 물리적인 위치에 구애받지 않고 네트워크를 자유롭게 구성할 수 있습니다.

만약 집에 스위치가 두 개 있고 각 스위치에 10개의 포트가 있고

이 포트에는 총 10대의 컴퓨터가 연결되어 있다고 가정합시다.

일반적인 상황에서는 이 10대의 컴퓨터 모두가 하나의 큰 네트워크를 형성하겠지만,

VLAN 기술을 사용하면 이야기가 달라집니다.

VLAN은 마법처럼 이 10대의 컴퓨터를 필요에 따라 작은 그룹으로 나누어

각기 독립적인 네트워크를 만들 수 있게 해줍니다.

예를 들어, 2대의 컴퓨터는 가족용 네트워크를,

3대는 작업용 네트워크를,

4대는 게임용 네트워크를,

그리고 마지막 1대는 개인용 네트워크를 구성할 수 있습니다.

이렇게 VLAN을 통해 각각의 네트워크는 서로 독립적으로 운영되면서도,

물리적으로는 같은 공간에 위치한 하드웨어를 공유할 수 있습니다.

 

조금 더 쉬운 예로 한번 더 설명해볼까요?

당신의 집에는 여러 방이 있고 각 방에는 다양한 목적의 물건들이 있습니다.

하지만 모든 물건들이 하나의 큰 방에 모여 있다면 찾기도 어렵고 관리하기도 힘들겠죠?

VLAN은 마치 이러한 문제를 해결하기 위해 각각의 물건들을

특정 방(즉, 독립된 네트워크)에 배치하는 것과 같습니다.

이를 통해 물건들을 더 쉽게 찾고 관리할 수 있게 해줍니다.


VLAN이 필요한 이유

컴퓨터 네트워크의 발전 과정을 살펴보면,

초기에는 모든 컴퓨터와 장비들이 한 덩어리로 연결되어 있었습니다.

이러한 방식은 관리가 쉽고 설치 비용이 낮다는 장점이 있었지만,

보안 문제, 데이터 처리의 비효율성 등 여러 문제점을 내포하고 있었습니다.

이를 해결하기 위해, VLAN이라는 개념이 도입되었습니다.

 

VLAN은 기본적으로 스위치 같은 네트워크 장비를 통해 구현됩니다.

네트워크 관리자는 스위치의 각 포트를 특정 VLAN에 할당합니다.

이렇게 함으로써, 해당 포트를 통해 통신하는 모든 데이터는 지정된 VLAN 내에서만 이동하게 됩니다.

마치, 여러 개의 소규모 네트워크가 하나의 큰 네트워크 장비 안에서 독립적으로 운영되는 것처럼 말이죠.


적용 사례
  • 기업 환경: 부서별로 독립된 네트워크를 구성하여 데이터 보안을 강화하고 네트워크 트래픽을 최적화합니다.
  • 학교: 학생, 교직원, 관리자 네트워크를 분리하여 보안과 네트워크 관리 효율성을 높입니다.
  • 공공 장소: Wi-Fi 서비스 제공 시, 공용 네트워크와 내부 관리 네트워크를 분리하여 공용 네트워크의 안전을 보장합니다.

VLAN은 네트워크 설계와 관리에 혁명을 일으킨 기술로, 보안, 성능, 관리 효율성 측면에서 막대한 이점을 제공합니다. 복잡해 보일 수 있는 VLAN의 개념과 운용 방법을 이해하고 적절히 적용한다면, 네트워크 인프라의 유연성과 효율성을 대폭 향상시킬 수 있습니다.

다음 글에서는 패킷 트레이서를 이용하여 VLAN을 직접 설정해보도록 하겠습니다.

https://jdcyber.tistory.com/54

 

VLAN 설정 (패킷 트레이서로 시작하는 네트워크 분리 실습 가이드)

VLAN 오늘은 VLAN을 실제로 설정해 보는 실습을 진행하도록 하겠습니다. 글에 앞서 VLAN에 대해서 아직 잘 모르시겠다면 아래 글을 읽고 와주세요! https://jdcyber.tistory.com/53 VLAN 이란? (쉬운 설명, 개념

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형
 
 

네트워킹의 기초를 이해하는 데 있어서 허브와 스위치는 필수적인 개념입니다.

두 장치 모두 여러 대의 컴퓨터를 연결하여 네트워크를 구성하는 역할을 하지만,

작동 방식과 기능 면에서 중요한 차이가 있습니다.

이 글에서는 허브와 스위치의 기능,

그리고 스위치가 허브 대비 갖는 이점에 대해 친절하고 자세하게 설명하겠습니다.

허브(Hub)란?

허브는 네트워크에서 가장 기본적인 연결 장치로, 여러 대의 컴퓨터를 연결하여 하나의 네트워크를 구성합니다.

간단히 말해, 허브는 연결된 모든 컴퓨터 사이에서 데이터를 전달하는 역할을 합니다.

그러나 허브는 데이터 패킷이 어디서 왔는지, 또는 어디로 가야 하는지를 구별하지 못합니다.

따라서, 허브는 받은 데이터 패킷을 네트워크에 연결된 모든 컴퓨터로 브로드캐스트 합니다.

 

브로드캐스트란?

https://jdcyber.tistory.com/55

 

네트워크 통신의 이해: 유니캐스트, 멀티캐스트, 브로드캐스트 차이점 쉽게 파악하기!

​ 유니캐스트 (Unicast), 멀티캐스트 (Multicast), 브로드캐스트 (Broadcast) 이름이 참 비슷해 보이는 네트워크 통신 방식인 위 3가지에 대해 아주 쉽게 알아보겠습니다. 세 가지 모두 실생활에서 많이

jdcyber.tistory.com


허브의 단점

허브는 자신에게 연결된 컴퓨터의 맥 주소 (MAC Address)를

저장하거나 관리하지 않기 때문에 패킷의 출발지와 목적에 대한 정보를 갖고 있지 않습니다.

 

Mac주소가 뭔지 모르신다면 아래 글을 읽고 와주세요!

https://jdcyber.tistory.com/26

 

MAC 주소? iP 주소? 무슨 차이지? (쉬운 설명, 개념, 정의)

Mac 주소? IP 주소? iP 주소, MAC 주소.. 저희가 IT 업계로 들어오거나 인터넷 통신 혹은 게임을 할 때에도 간간히 들어봤던 이름일 겁니다. 여러분은 무엇인지 둘의 차이는 무엇인지 알고 계신가요?

jdcyber.tistory.com

출발지와 목적지에 대한 정보가 없는 상태에서

패킷을 전달하려면 허브는 모든 포트에 패킷을 전달하게 됩니다.

그래야 정보를 실제 목적지로, 해당하는 포트로 내보낼 수 있을 테니까요.

그러다 보니 허브에 연결된 네트워크에서 한 컴퓨터가 주고받는 데이터는

연결된 모든 컴퓨터가 받게 되고 허브에 연결된 컴퓨터가 많으면 많아질수록

네트워크 트래픽이 불필요하게 증가하고,

결과적으로 전체 네트워크의 성능이 저하될 수 있습니다.

또한 여러 컴퓨터가 동시에 데이터를 전송하려 할 때 충돌이 발생할 수 있으며,

이는 데이터 손실로 이어질 수 있습니다.

보안적으로도 문제가 있습니다.

데이터가 네트워크 내의 모든 기기로 전송되므로,

민감한 정보가 유출될 위험이 있습니다.

 

여기서 패킷이 무엇인지 궁금하시다면

아래 쉽고 자세하게 적어둔 글을 참고해 주세요!

https://jdcyber.tistory.com/12

 

패킷(Packet)이란? (쉬운 설명, 구조, 헤더, 인캡슐레이션, 핑, Ping)

패킷 (Packet) 이란 무엇일까요? 패킷은 패키지(package)와 덩어리를 뜻하는 버킷(bucket)의 합성어로 통신망을 통해 전송하기 쉽도록 데이터를 잘게 나눈 전송 단위입니다. 본래 패킷은 소포를 뜻하는

jdcyber.tistory.com

 

연결된 모든 컴퓨터에 정보를 뿌리는 허브

 

위 그림을 보시면 허브로 전송된 데이터가

모든 컴퓨터로 전송되고 있습니다.

(물론 요즘엔 MAC Address를 저장하는

스위칭 허브가 사용됩니다.)

허브의 이러한 단점을 보완하기 위한 네트워크 장비가

바로 스위치(Switch)입니다.

 
스위치란?

 

많은 컴퓨터를 하나의 네트워크로 묶어 주는

역할을 하는 것은 스위치, 허브 모두 동일합니다.

하지만 스위치는 허브보다 더 지능적인 네트워크 연결 장치입니다.

스위치는 연결된 각 컴퓨터의 맥 주소(MAC Address)를 학습하고 저장하여,

데이터 패킷의 출발지와 목적지를 인식할 수 있습니다.

이를 통해 스위치는 데이터를 목적지 주소가 있는 특정 포트로만 전송할 수 있습니다.

따라서, 스위치는 네트워크의 효율성을 향상시키고,

데이터 충돌을 줄이며, 보안을 강화하는 역할을 합니다.

​따라서

스위치는 데이터를 필요한 곳으로만 전송하기 때문에

네트워크 트래픽을 줄이고 전체적인 네트워크 성능을 개선하고

데이터가 목적지에만 전송되므로, 네트워크 내의 데이터 유출 위험이 감소하며,

스위치는 충돌 도메인을 분리하여 네트워크의 신뢰성을 높이고 데이터 손실을 방지합니다.

목적지로만 보내는 스위치

하지만 스위치와 허브를 가르는 가장 큰 차이점이 있으니 바로 VLAN(Virtual LAN)입니다.

 

스위치의 고급 기능 중 하나인 VLAN은 물리적 위치에 관계없이,

네트워크 내에서 여러 개의 가상 네트워크를 생성하여 그룹화할 수 있게 해 주고,

이를 통해 네트워크의 보안과 효율성을 더욱 증가시킬 수 있습니다.

 

VLAN에 대해서는

다음 글에서 자세히 설명해 보겠습니다.

(작성 중)



궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

서브넷 마스크

서브넷 마스크는 서브넷을 만들 때 사용되는 것으로

서브넷을 네트워크 아이디호스트 아이디분리하는 역할을 합니다.

서브넷 마스크(subnet mask)는 32비트의 숫자로 ‘0’의 비트는 호스트 부분을 나타내고

‘1’의 비트는 네트워크 부분을 나타냅니다.

즉 서브넷 마스크는 모두 1로 이루어져 있고

호스트 부분은 0이라고 이해하시면 편합니다.

 

IP 주소 = 네트워크 iD + 호스트 iD로 분리됩니다.

만약 192.168.123.132 | 255.255.255.0라고

한다면 0모든 걸 포함하기 때문에

앞에 3칸은 네트워크 아이디가 되고

뒤에 1자리호스트 아이디 됩니다.

 

서브넷 마스크 구성 시,

비공개와 공개 IP 주소 범위를 올바르게 이해하고 적용하여 내부 네트워크 보호를 강화해야 합니다.

이는 외부로부터의 무단 접근을 차단하는데 기여합니다.

 

서브넷 마스크를 사용하는 것은 대형 쇼핑몰에 들어서자마자

어느 매장을 가야 할지 알려주는 지도를 받는 것과 같습니다.

쇼핑몰 전체가 인터넷이라면, 각 매장은 네트워크의 서브넷에 해당합니다.

지도상의 구역(네트워크 아이디)과 매장 번호(호스트 아이디)를 확인함으로써,

당신은 정확히 어디로 가야 할지 알 수 있습니다.

이처럼 서브넷 마스크는 네트워크의 주소를 네트워크 부분과

호스트 부분으로 구분해 주는 지도와 같은 역할을 합니다.


서브넷 / 서브넷팅

 

서브넷은 하나의 네트워크가 분할된 작은 네트워크 그룹입니다.

이렇게 분할하는 작업을 우리는 서브넷팅이라고 하며

서브네팅 네트워크를 필요한 만큼

작은 단위로 분할하는 작업을 말합니다.

아래서 서브넷팅에 대해 한 번 더 설명하겠습니다

 

서브넷을 분할할 때 각 서브넷의 보안 요구 사항을 고려하여,

민감한 데이터를 처리하는 서브넷에는 더 엄격한 보안 정책과 접근 제어 리스트(ACL)를 적용해야 합니다.

 

서브네팅을 하는 것은 큰 사무실을 여러 개의 작은 방으로 나누는 것과 비슷합니다.

원래의 큰 사무실(원본 네트워크)이 있었지만,

팀별로 구분된 공간이 필요하다고 판단하여 벽을 세워 작은 방들(서브넷)을 만들었습니다.

이렇게 나누어진 각각의 방은 서로 다른 팀이 사용하는 독립적인 공간으로,

네트워크 상에서도 비슷하게 각 서브넷이 독립적으로 작동하게 됩니다.


프리픽스

프리픽스 (prefix)는 서브네팅을 간단한 숫자로 표기하는 방식으로

255 형태의 주소를 다 쓰기 귀찮으니 아래와 같이 표시하는 겁니다.

만약 192.168.123.132 /24라고 한다면

여기서 /24는 1이 왼쪽부터 24개 있다는 걸 뜻합니다.

예를 들어 아래에 /24이진수로 표시한다면,

11111111.11111111.11111111.00000000 <- 1의 개수가 24비트만큼 있다

이걸 10진수로 표시한다면 255.255.255.0 이 되게 됩니다.

주로 나중에 설명드릴 서브넷 마스크가 이러한 형태로 되어있는데

만약 /32라면 255.255.255.255가 되겠지요?

 

프리픽스를 사용하여 서브넷 마스크를 간단하게 표현할 때,

네트워크의 구조를 명확하게 이해하고 올바르게 구성해야 합니다.

잘못된 프리픽스 값은 네트워크 세그먼트 간의 통신 오류를 일으킬 수 있으며,

이는 보안 취약점으로 이어질 수 있습니다.

 

프리픽스를 사용하는 것은 전화번호의 지역 코드를 사용하는 것과 비슷합니다.

전화를 걸 때, 지역 코드를 앞에 붙여 해당 지역의 번호로 연결되듯이,

프리픽스는 네트워크의 크기를 나타내 주며 해당 네트워크 내에서 어떻게 통신해야 할지 알려줍니다.

예를 들어, "/24"는 네트워크 부분이 24 비트라는 것을 의미하며,

이는 전화의 지역 코드가 해당 지역의 특정 번호들을 포괄하는 것처럼,

네트워크 내의 특정 호스트들을 포괄합니다.


서브넷팅

서브네팅 iP 주소 낭비를 방지하고

네트워크를 여러 개의 네트워크로 분리하여 관리하기 위해 하는 것이며

이는 구성할 수 있는 망을 늘리는 행위일 뿐

수용할 수 있는 호스트를 늘릴 수는 없습니다.

이해가 잘 안 가시나요?

거꾸로 설명하면서 이해해 보겠습니다.

서브네팅을 할 때는 필요한 만큼의

적당한 마스크 값을 정해서 진행하게 되고

각 그룹에 할당된 네트워크를 서브넷이라고 부릅니다.

 

서브넷팅 과정에서는 IP 주소 충돌을 방지하기 위한 적절한 계획이 필요하며,

각 서브넷 간의 트래픽 흐름을 제어하기 위해 방화벽 규칙과 접근 제어 리스트(ACL)를 세밀하게 구성해야 합니다.

이는 네트워크의 분할이 보안을 강화하는 데 중요한 역할을 합니다.

서브넷 마스크
네트워크 개수
1개의 네트워크다 iP 개수
0
1
256
128
2
128
192
4
64
224
8
32
240
16
16
248
32
8
252
64
4
254
128
2
255
256
1

1개의 서브넷팅 예제를 보면서

같이 한번 풀어보겠습니다.

서브넷팅 예제

원본 네트워크

198.133.219.0/24 <- 2^8 - 2 = 254개

서브넷 개수

5개 이상

최대 필요한 IP 주소 개수

12개

----------------------------------------------------------------

2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0

128 64 32 16 8 4 2 1

----------------------------------------------------------------

 

2^x - 2 >= 12

x = 4

198.133.219.0000 0000

255.255.255.1111 0000

-------------------------------

198.133.219.0000 0000 198.133.219.0 - 198.133.219.15

198.133.219.0001 0000 198.133.219.16 - 198.133.219.31

198.133.219.0010 0000 198.133.219.32 - 198.133.219.47

198.133.219.0011 0000 198.133.219.48 - 198.133.219.63

198.133.219.0100 0000 198.133.219.64 - 198.133.219.79

198.133.219.0101 0000 198.133.219.80 - 198.133.219.95

198.133.219.0110 0000 198.133.219.96 - 198.133.219.111

198.133.219.0111 0000 198.133.219.112 - 198.133.219.127

198.133.219.1000 0000 198.133.219.128 - 198.133.219.143

198.133.219.1001 0000 198.133.219.144 - 198.133.219.159

198.133.219.1010 0000 198.133.219.160 - 198.133.219.175

198.133.219.1011 0000 198.133.219.176 - 198.133.219.191

198.133.219.1100 0000 198.133.219.192 - 198.133.219.207

198.133.219.1101 0000 198.133.219.208 - 198.133.219.223

198.133.219.1110 0000 198.133.219.224 - 198.133.219.239

198.133.219.1111 0000 198.133.219.240 - 198.133.219.255

--------------------------------------------------------------

198.133.219.1 - 198.133.219.14 <-14개 <--- 198.133.219.0/28

198.133.219.17 - 198.133.219.30 <-14개 <--- 198.133.219.16/28

198.133.219.33 - 198.133.219.46 <-14개 <--- 198.133.219.32/28

198.133.219.49 - 198.133.219.62 <-14개 <--- 198.133.219.48/28

198.133.219.65 - 198.133.219.78 <-14개 <--- 198.133.219.64/28 f

198.133.219.81 - 198.133.219.94 <-14개 <--- 198.133.219.80/28

198.133.219.97 - 198.133.219.110 <-14개 <--- 198.133.219.96/28

198.133.219.113 - 198.133.219.126 <-14개 <--- 198.133.219.112/28

198.133.219.129 - 198.133.219.142 <-14개 <--- 198.133.219.128/28

198.133.219.145 - 198.133.219.158 <-14개 <--- 198.133.219.144/28

198.133.219.161 - 198.133.219.174 <-14개 <--- 198.133.219.160/28

198.133.219.177 - 198.133.219.190 <-14개 <--- 198.133.219.176/28

198.133.219.193 - 198.133.219.206 <-14개 <--- 198.133.219.192/28

198.133.219.209 - 198.133.219.222 <-14개 <--- 198.133.219.208/28

198.133.219.225 - 198.133.219.238 <-14개 <--- 198.133.219.224/28

198.133.219.241 - 198.133.219.254 <-14개 <--- 198.133.219.240/28

서브넷팅 예제를 풀어가는 것은 큰 생일 케이크를 친구들 사이에 나눠주는 것과 비슷합니다.

케이크(원본 네트워크)가 하나 있고, 친구들(서브넷의 필요 개수)이 5명 이상 있다고 가정해 봅시다.

모두가 최소한 한 조각씩은 가져가야 하므로(최대 필요한 IP 주소 개수),

케이크를 적절히 조각(서브넷으로 분할)낼 필요가 있습니다. 이 과정에서 케이크를 너무 작게 잘


궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용은
추후 정리해서 올려드리겠습니다
이웃 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

 
 
반응형
반응형

iP 주소란?

iP 주소는 각각의 Host들을 구분하기 위한 것이며,

iP를 부여받은 동안에는 자신만의 고유 iP가 되기에

다른 사람이 사용할 수 없습니다.

위에 말처럼 꺼져있는 컴퓨터에도 iP가 할당이 되어있다고 한다면 한정되어 있는 iP 수에 비해 컴퓨터가 많아 부족 현상이 나타나겠죠?

iP에 대한 자세한 설명은 아래 링크에

아주 쉽고 간단하게 설명해 놨으니 확인 바랍니다.

https://jdcyber.tistory.com/27

 

iP 주소란 무엇일까? (쉬운 설명, 개념, 정의, 호스트 아이디, 네트워크 아이디, 서브넷 마스크)

iP 주소란 무엇인가요? 정답은 컴퓨터마다 가지고 있는 주소 즉 이름입니다. 192.168.123.132 위와 같은 형태의 아이피 주소를 많이 보셨을겁니다. 위와 같이 A컴퓨터 너의 이름은 오늘부터 192.168.123.1

jdcyber.tistory.com

 

iP 주소 체계는 iPv4와 iPv6가 있습니다.

iPv4는 32비트로 이루어진 주소 체계를 사용했습니다.

 

IPv4 주소 공간의 한계는 인터넷의 성장과 함께 점점 더 명확해졌습니다.

이에 대한 해결책으로는 크게 두 가지 방향이 있습니다.

첫째, 기존의 IPv4 주소 공간을 보다 효율적으로 사용하기 위한 기술인

CIDR (Classless Inter-Domain Routing)와 NAT (Network Address Translation)가 개발되었습니다.

CIDR는 주소를 클래스에 구애받지 않고 할당할 수 있게 하여 주소 공간을 보다 유연하게 관리할 수 있게 했습니다.

NAT는 하나의 공인 IP 주소를 여러 개의 사설 네트워크 내 기기들과 공유할 수 있게 함으로써,

공인 IP 주소의 수요를 감소시켰습니다

 

그럼 32자리를 가지고

얼마나 많은 경우의 수를 만들어 낼 수 있을까요?

00000000 00000000 00000000 00000000 ~ 11111111 11111111 11111111 11111111

같은 표현으로 0.0.0.0 ~ 255.255.255.255이며

가질 수 있는 최대의 수인 255를 3번 곱해

계산해 본다면 약 43억 개의 주소가 나오게 됩니다. (정확히는 4,228,250,625개입니다)

이진수에 대해서 아직 헷갈리신다면

아주 쉽게 정리된 아래 글을 읽고 와주세요!

https://jdcyber.tistory.com/29

 

2진수와 10진수 (2진법 10진법) (쉬운 설명, 개념, 제곱, 승)

일상생활을 할 때는 필요 없지만 컴퓨터를 배우거나 네트워크 리눅스 파이썬 개발 등을 하시게 되면 컴퓨터가 사용하는 2진수를 배워야 하는데요 우리가 사용하는 iP 주소는 192.168.123.132 이러한

jdcyber.tistory.com

​처음 이 체계를 만들 때는 40억 개 정도면

모두가 사용하고도 충분할 것이라 생각했지만,

현재 부족함이 야기되어

한정된 43억 개의 iP 주소를 효과적으로 쓰기 위해

보유할 수 있는 호스트 수에 따라 아래와 같이

클래스라는 것을 나누었는데요

클래스
첫째 옥텟 IP
최상위
비트
범위
호스트 수
네트워크 수
블록
A Class
0 ~ 126
0
0.0.0.0 ~ 127.0.0.0
16,777,216
128
/8
B Class
128 ~ 191
1
128.0.0.0 ~ 191.255.0.0
65,536
16,384
/16
C Class
192 ~ 223
11
192.0.0.0 ~ 223.255.255.0
256
2,097,152
/24
D Class
224 ~ 239
111
224.0.0.0 ~ 239.255.255.255
N/A(268,435,456)
N/A
E Class
240 ~ 255
1111
240.0.0.0 ~ 247.255.255.255
N/A(268,435,456)
N/A
 

A 클래스 00000000.00000000.00000000.00000000 (0~127)

B 클래스 10000000.00000000.00000000.00000000 (128~191)

C 클래스 11000000.00000000.00000000.00000000 (192~223)

D 클래스 11100000.00000000.00000000.00000000 (멀티캐스팅용)

E 클래스 11110000.00000000.00000000.00000000 (연구/개발용)

A 클래스가 움직일 수 있는 범위

00000000부터 10000000까지입니다.

00000001부터 01111111까지라고 표현 할 수도 있으며 표에서 '범위'라고 쓰여있는 부분입니다.

그런데 만약 우리 회사가 iP가 300개가 필요한데

B 클래스 65,536개 쓰기에는

너무 낭비가 많이 될 것 같고

C 클래스 256개를 쓰기에는

54개가량 부족할 것 같으면 어떻게 했을까요?

C 클래스를 사용하고 나머지

65,280개의 낭비가 생겼겠죠?

위와 같은 문제가 대두되어 현재는

네트워크를 나눠서 필요한 만큼만 나눠 쓰는 서브넷팅이라는 것이 생겨나게 됩니다.

서브넷팅은 네트워크를 더 작은 네트워크로 분할하는 과정입니다.

이를 통해 네트워크 트래픽의 효율성을 증가시키고 보안을 강화할 수 있습니다.

서브넷 마스크는 이러한 서브넷을 식별하는데 사용되며,

IP 주소 내에서 네트워크 주소와 호스트 주소를 구분하는 데 핵심적인 역할을 합니다.

실제 네트워크 환경에서 서브넷팅이 어떻게 적용되는지,

그리고 서브넷 마스크가 어떻게 계산되는지에 대한 예시를 제공하면 이해도를 높일 수 있습니다.

 

아래 서브넷팅에 대하여 설명을 알기 쉽고

자세하게 적어놨으니 궁금하신 분들은 봐주세요!!

https://jdcyber.tistory.com/51

 

서브넷 마스크, 서브넷, 서브넷팅, 프리픽스 란? (쉬운 설명, 개념, 정리, 계산법)

서브넷 마스크 서브넷 마스크는 서브넷을 만들 때 사용되는 것으로 서브넷을 네트워크 아이디와 호스트 아이디로 분리하는 역할을 합니다. 서브넷 마스크(subnet mask)는 32비트의 숫자로 ‘0’의

jdcyber.tistory.com

 

 

전 세계가 IPv4 주소를 나눠 쓰기에는

턱없이 부족해졌습니다.

그래서 iPv6 형태의 주소체계가 만들어졌습니다.

 

IPv6는 128비트 주소 공간을 제공함으로써 사실상 무한에 가까운 주소 할당을 가능하게 합니다.

이는 단순히 주소 공간의 확장을 넘어서, 인터넷의 보안, 모빌리티, 구성 관리 등

다양한 분야에서 개선을 가져왔습니다.

IPv6 주소의 구조와 할당 방식, 그리고 IPv4와의 주요 차이점을 설명하면서,

IPv6가 현대 인터넷에서 점차 표준으로 자리 잡고 있는 이유를 다룰 수 있습니다.

 

IPv6는 기존 32비트의 IPv4 주소가 고갈되는 문제

해결하기 위하여 새로 개발된 128비트 체계로써 무제한 인터넷 프로토콜 주소를 말합니다.

IPv6 주소는 16비트 단위로 구분하며,

각 단위는 16진수로 변환되고 콜론(:)으로 구분하여

아래와 같은 형식으로 표기합니다.

21DA:D3:0:2F3B:2AA:FF:FE28:9C5A

128비트의 IPv6 주소에서 앞의 64비트는

네트워크 주소를 의미하며,

뒤의 64비트는 네트워크에 연결된 통신장비 등에

할당되는 인터페이스 주소를 의미합니다.


IPv4와 IPv6, 서브넷팅, 서브넷 마스크 등의 개념은 네트워킹의 기초를 이룹니다.

현대 네트워크에서 이러한 기술이 어떻게 활용되고 있는지를 이해함으로써,

더 효율적이고 안전한 네트워크 설계와 관리가 가능해집니다.

특히 IPv6로의 전환과 서브넷팅의 적극적인 활용은 미래 네트워크 환경에서 중요한 역할을 할 것입니다.


궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용은
추후 정리해서 올려드리겠습니다
이웃 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!

반응형

+ Recent posts