반응형

*최종 수정일 23.7.2

네트워크(Network)는 두 개 이상의 컴퓨터나 다른 장치들이 서로 정보를 주고 받을 수 있도록 연결된 구조를 말한다. 이를 통해 컴퓨터들은 데이터를 공유하고, 인터넷에 연결하여 정보를 검색하거나 전자우편을 보낼 수 있다. 네트워크는 컴퓨터와 컴퓨터 간에 물리적으로 연결되어 있을 수도 있고, 인터넷을 통해 논리적으로 연결되어 있을 수도 있다. 일반적으로 랜(Local Area Network)이나 와이파이(Wi-Fi)를 통해 작은 지역 내에서 연결되는 로컬 네트워크와, 인터넷을 통해 전 세계적으로 연결되는 와이드 에어리어 네트워크(WAN) 등이 있다.

 

스위치와 라우터는 네트워크 장비로서 네트워크를 구성하는 중요한 요소이다.

 

스위치는 컴퓨터 네트워크에서 여러 대의 컴퓨터나 장치들을 연결하여 데이터를 교환하는데 사용되는 장비이다. 스위치는 네트워크 내에서 패킷을 전송하고 목적지를 신속하게 찾아서 정확한 대상에게 데이터를 전달하는 역할을 한다. 스위치는 물리적으로 네트워크를 분할하여 각 분할된 네트워크가 효율적으로 동작할 수 있도록 해주며, 송수신되는 데이터의 충돌을 방지한다.

 

라우터는 네트워크에서 패킷을 전달하기 위한 라우팅 작업을 수행하는 장비이다. 라우터는 패킷의 출발지와 목적지를 기반으로 최적의 경로를 결정하고, 패킷을 전달하는 역할을 한다. 라우터는 서로 다른 네트워크 간의 통신을 가능하게 하며, 인터넷과 같이 다양한 네트워크 간의 연결에 필수적으로 사용된다. 또한 라우터는 보안성을 강화하기 위해 방화벽, VPN 등 다양한 보안 기능을 제공하기도 한다.


 

IP(Internet protocol)

인터넷에서 컴퓨터나 기기들이 서로 통신할 때 사용하는 프로토콜이다. 각각의 컴퓨터나 기기는 IP 주소를 갖고 있으며, 이를 통해 인터넷에서 서로 통신할 수 있다. 심지어 수 많은 휴대 전화도 각각의 IP 주소를 갖는다.

 

IP 주소는 일반적으로 32비트의 이진수로 표현되며, 8비트씩 4개의 그룹으로 나누어져 있고 이를 octet이라고 표현한다. 이를 2진수로 보게되면 사용자 입장에서 사용이 어려워 질 수 있어 10진수로 표현된다. 이를 통해 각 그룹은 0부터 255까지의 값을 가질 수 있으므로, IP 주소는 보통 "A.B.C.D"의 형태로 표현된다.

 

IP 주소는 고유한 주소로, 네트워크에서 다른 기기들과 통신할 때 이 주소를 이용해 특정 기기를 식별하고 찾아갈 수 있다. 또한, IP 주소를 이용하여 데이터를 전송할 때 출발지 IP 주소와 목적지 IP 주소를 이용해 데이터가 정확히 어디로 전송되어야 하는지를 결정한다.

 

IP 주소는 네트워크 상에서 기기나 노드를 식별하는 데 사용되는 고유한 주소이다. IP 주소는 32비트 혹은 128비트의 이진수로 구성되며, IPv4와 IPv6로 나뉘어진다.

 

IPv4에서는 주소가 32비트로 구성되며, A, B, C, D, E 클래스로 구분된다.

Class Octet 수
네트워크 식별자
호스트 식별자
A Class
1
3
B Class
2
2
C Class
3
1
D Class
멀티 케스트 주소 식별 시 사용
E Class
예약 주소로 사용

 

하지만 이렇게 사용하더라도 IPv4에서는 주소 고갈 문제가 발생되었기 때문에 IPv6가 등장하였다. IPv6는 128비트 주소 체계를 사용하여 더욱 다양한 주소를 소화할 수 있다.

IPv4 주소가 192.168.3.188로 되어 있는 것을 볼 수 있다.


Subnet Mask

서브넷 마스크(Subnet mask)는 IP 주소를 네트워크 ID와 호스트 ID로 나누는 역할을 한다. IP 주소는 네트워크 ID와 호스트 ID로 나누어져 있으며, 서브넷 마스크는 IP 주소에서 네트워크 ID와 호스트 ID를 구분해주는 비트 패턴이다.

 

서브넷 마스크는 이진수로 표현되며, IP 주소와 마찬가지로 32비트의 크기를 가진다. 예를 들어, 255.255.255.0은 24개의 1로 이루어진 이진수(11111111 11111111 11111111 00000000)로 표현된다. 이진수에서 1로 표시된 부분은 네트워크 ID를 나타내고, 0으로 표시된 부분은 호스트 ID를 나타낸다.

 

서브넷 마스크는 IP 주소와 함께 사용되어, 하나의 네트워크를 여러 개의 서브넷으로 나눌 수 있고 이를 통해 네트워크의 세분화가 가능해지며, 각각의 서브넷은 독립된 네트워크처럼 동작할 수 있다. 서브넷 마스크를 설정함으로써, 라우터 등의 장비는 IP 패킷을 올바른 서브넷으로 라우팅할 수 있다.


CIDR(Classless Inter Domain Routing)

협업형 통합 개발 환경을 의미합니다. CIDE는 여러 개발자가 하나의 소프트웨어를 개발할 때 사용하는 도구로, 협업 기능이 강화된 통합 개발 환경을 제공한다. 여러 개발자가 동시에 하나의 코드베이스를 작성하거나 수정할 수 있도록 하며, 코드의 충돌을 방지하고, 변경 사항의 추적 및 버전 관리를 쉽게 할 수 있도록 한다.

 

CIDE는 일반적으로 웹 기반 형태로 제공되며, 웹 브라우저를 통해 다수의 사용자가 원격으로 접근할 수 있다. 이를 통해 지리적으로 떨어져 있는 개발자들도 함께 작업할 수 있어, 개발 프로세스를 더욱 빠르고 효율적으로 만들어 준다.

 

CIDE는 협업을 강화하기 위한 다양한 기능을 제공한다. 대표적으로, 코드 리뷰 기능, 팀원 간 메시지 전송 기능, 이슈 트래킹 기능 등이 있다. 이를 통해 개발자들은 자신이 작성한 코드를 동료 개발자들에게 리뷰받고, 문제점을 공유하며 해결할 수 있다.

 

CIDE는 소프트웨어 개발에서 협업의 중요성이 커지면서, 점차 많은 기업에서 사용되고 있다. 대표적인 CIDE로는 GitHub, GitLab, Bitbucket 등이 있다.

 

만드는 방법은 IP와 동일하지만 반드시 2진수 1로 시작해 중간에 0이 나오면 끝까지 0이 나와야 한다는 특징이 있다. 다음 아이피는 아래 표처럼 분류할 수 있다.

 

123.123.123.123/24

IP
123.123.123.123
S.M(Subnet Mask)
255.255.255.0
S.M(이진수)
11111111.11111111.11111111.00000000

 

이 때 서브넷 마스크를 이진수로 풀었을 때 octet이

 

11110111

11001111

11111101

00000001

 

이런 모습으로는 사용할 수 없다는 것이다.

 

 

서브넷 마스크가 이 방법을 사용하는데 255.255.255.0과 같이 나타내기도 하지만 IP뒤에 숫자로 간단하게 표가하기도 한다.

 

123.123.123.123/255.255.255.0

123.123.123.123/24

 


서브넷 마스크를 사용하면 하나의 IP 주소 블록을 여러 개의 서브넷으로 분할할 수 있다. 이러한 서브넷은 서로 다른 네트워크로 간주되며, 서로 다른 서브넷에 있는 호스트 간에는 라우터를 통해 통신해야 한다. 서브넷 마스크의 값을 변경하면 네트워크와 서브넷의 수를 조정할 수 있다. 위의 CIDR 규칙 덕분에 우리는 알아야 할 숫자가 많이 줄어들었다. 다음은 서브넷 마스크에 따라 네트워크가 몇개로 나뉘는지 정리되어 있는 표이다.

 

SM(Subnet Mask)
Network 개수
Network 당 IP 수
0
1
256
128
2
128
196
4
64
224
8
32
240
16
16
248
32
8
252
64
4
254
128
2
255
256
1

 

예를 들어, 서브넷 마스크가 255.255.255.0인 네트워크는 24개의 1 비트와 8개의 0 비트로 구성된 32비트 이진 숫자다. 이 경우, 마지막 8비트(즉, 0부터 255까지의 값)은 호스트 부분으로 사용되므로, 이러한 네트워크는 최대 254개의 호스트를 지원할 수 있다(첫 번째 호스트와 마지막 호스트는 네트워크 주소와 브로드캐스트 주소로 예약됩니다). 그러나 서브넷 마스크를 변경하여 마지막 2비트를 호스트 부분 대신 서브넷 부분으로 사용하면 네트워크는 4개의 서브넷으로 분할될 수 있다. 이 경우 각 서브넷은 최대 62개의 호스트를 지원할 수 있으므로 전체적으로 248(4 x 62)개의 호스트를 지원할 수 있다.

 


TTL

TTL(Time To Live)은 IP(Internet Protocol) 패킷에서 사용되는 필드 중 하나이다. TTL은 패킷이 네트워크 상에서 전송될 때 경로 상에서 몇 개의 라우터를 거쳐야 하는지를 지정한다. 이를 통해 라우팅 프로토콜이 패킷을 전송하는 동안 무한 루프 현상이 발생하지 않도록 보장한다.

 

TTL은 8비트 길이의 필드로, 최대값은 255이다. 패킷이 전송될 때마다 TTL 값이 1씩 감소하며, TTL 값이 0이 되면 패킷은 폐기된다. 따라서, TTL 값은 패킷이 무한히 네트워크 상에서 순환하지 않도록 보장한다.

 

TTL 값은 라우터를 거칠 때마다 감소하므로, 패킷이 전송되는 경로가 길수록 TTL 값이 빠르게 감소한다. 따라서, TTL 값이 충분하지 않은 경우 패킷은 목적지까지 도달하지 못하고, 중간에 폐기될 수 있다.

 

네트워크에서 TTL은 라우팅 프로토콜이 패킷을 전송하는 동안 무한 루프 현상이 발생하지 않도록 보장하는 중요한 필드 중 하나이다. TTL 값을 적절하게 설정하여 패킷이 목적지까지 안전하게 전송되도록 보장하는 것이 중요하다.

반응형

'Network > Network 이론' 카테고리의 다른 글

[Network] Super Netting  (0) 2023.03.03
[Network] VLAN이란?  (0) 2023.03.03
[Network] 네트워크의 유형  (0) 2023.03.02
[Network]네트워크(IPv4) 설정하기  (1) 2023.02.28
[Network]네트워크 포트 종류  (2) 2023.02.28