네트워크는 Net + Work 의 합성어로써 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미합니다. 좀더 쉽게 말하자면 "두 대 이상의 컴퓨터들을 연결하고 서로 통신(이야기)할 수 있는 것" 이것이 바로 네트워크 입니다. 누구는 네트워크의 정의를 이렇게 내립니다. '어떤 연결을 통해 컴퓨터의 자원을 공유하는 것'이라고 말이죠.
VPN 또는 가상 사설 네트워크는 인터넷을 통해 디바이스 간에 사설 네트워크 연결을 생성합니다. VPN은 퍼블릭 네트워크를 통해 데이터를 안전하게 익명으로 전송하는 데 사용됩니다. 또한 사용자 IP 주소를 마스킹하고 데이터를 암호화하여 수신 권한이 없는 사람이 읽을 수 없도록 합니다.
LAN은 약자로 사용자가 포함된 지역 네트워크를 의미합니다.
쉽게 생각하면 학교, 사무실, 회사, 집에서 컴퓨터, IP 전화기등의 장비를 서로 연결한 것입니다.
OSI(Open Systems Interconnection) 모델은 컴퓨터 네트워크 프로토콜 디자인과 통신을 위한 추상적인 참조 모델입니다. 이 모델은 국제 표준화 기구(ISO)에서 개발되었으며, 네트워크 통신을 일곱 개의 계층으로 나누어 설명합니다. 각 계층은 그 계층 간의 통신을 담당하는 특정한 기능들을 정의합니다. 이러한 계층은 아래와 같습니다:
물리 계층 (Physical Layer): 전송 매체를 통해 비트를 전송하는 계층으로, 전압, 빛, 무선 신호 등을 이용하여 데이터를 전송합니다.
데이터 링크 계층 (Data Link Layer): 물리적인 네트워크를 통해 데이터를 안전하게 전달하기 위해 오류 검출 및 재전송 등의 기능을 수행합니다.
네트워크 계층 (Network Layer): 다양한 경로 중 최적의 경로를 선택하여 패킷을 전달하고, 라우팅 기능을 수행합니다.
전송 계층 (Transport Layer): 송신자와 수신자 간의 데이터 전송을 제어하며, 오류 복구와 흐름 제어를 담당합니다.
세션 계층 (Session Layer): 통신 세션을 설정, 유지 및 종료하고, 데이터 교환의 동기화와 관리를 담당합니다.
표현 계층 (Presentation Layer): 데이터의 형식을 변환하거나 암호화하여 응용 계층으로 전달합니다.
응용 계층 (Application Layer): 최종 사용자가 직접 상호 작용하는 계층으로, 이메일, 웹 브라우저, 파일 전송 등의 서비스를 제공합니다.
OSI 모델은 네트워크 프로토콜 및 통신 시스템을 이해하고 설계하기 위한 기본적인 프레임워크로 사용됩니다. 각 계층은 서로 독립적이지만, 상위 계층이 하위 계층을 통해 서비스를 이용할 수 있도록 계층적인 구조를 가지고 있습니다.
TCP/IP는 인터넷과 다양한 네트워크에서 통신하기 위해 사용되는 주요 프로토콜 스위트입니다. 이름에서 알 수 있듯이, TCP/IP는 두 개의 주요 프로토콜인 TCP (Transmission Control Protocol)와 IP (Internet Protocol)로 구성됩니다. 이 프로토콜 스위트는 OSI 모델과는 약간 다른 방식으로 작동하지만, OSI 모델의 상위 계층과 대응되는 기능을 제공합니다.
인터넷 프로토콜(IP, Internet Protocol):
전송 제어 프로토콜(TCP, Transmission Control Protocol):
TCP/IP 프로토콜 스위트는 위에서 언급한 TCP와 IP 이외에도 다른 여러 프로토콜을 포함합니다. 예를 들어, ICMP(Internet Control Message Protocol)는 네트워크에서의 오류 및 상태 메시지 전달에 사용되며, ARP(Address Resolution Protocol)는 IP 주소를 MAC 주소로 매핑하는 데 사용됩니다. 이러한 다양한 프로토콜은 인터넷 및 네트워크 통신에서 다양한 기능을 수행하기 위해 함께 작동합니다. TCP/IP 프로토콜 스위트는 전 세계적으로 사용되며, 대부분의 인터넷 통신은 이 프로토콜 스위트를 기반으로 이루어집니다.
인터넷 프로토콜은 인터넷에서 데이터 패킷을 라우팅하고 주소를 지정하기 위한 규칙입니다.
TCP는 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나이며, IP와 함께 TCP/IP라는 명칭으로도 널리 불립니다.
TCP는 근거리 통신망이나 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련된 옥텟(데이터, 메세지, 세그먼트, 블록 단위)을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 합니다.
UDP는 데이터를 전송하는 간단한 프로토콜로, 데이터를 보낼 때 어떠한 연결 설정 과정도 필요하지 않습니다. 따라서 TCP보다 속도 면에서는 빠르지만, 데이터 전달의 신뢰성과 순서를 보장하지 않습니다.
UDP의 주요 특징은 다음과 같습니다:
비연결성(Connectionless): TCP와 달리 UDP는 연결 설정 과정이 없으며, 데이터 전송 시에 어떠한 연결 상태도 유지하지 않습니다. 이는 데이터를 전송하기 위해 별도의 연결 설정 및 해제 과정이 필요하지 않음을 의미합니다.
신뢰성 부족: UDP는 데이터를 전송할 때 재전송이나 에러 체크 등의 메커니즘을 제공하지 않습니다. 따라서 데이터가 손실될 수 있으며, 순서가 보장되지 않을 수 있습니다.
최소한의 오버헤드: TCP에 비해 UDP의 헤더 크기가 작고, 연결 설정 및 관리에 필요한 오버헤드가 적습니다. 이는 데이터 전송에 있어서 추가적인 부하가 적다는 것을 의미합니다.
멀티캐스트 및 브로드캐스트: UDP는 멀티캐스트(Multicast)와 브로드캐스트(Broadcast)를 지원합니다. 이를 통해 한 번에 여러 대의 컴퓨터에 데이터를 전송할 수 있습니다.
UDP는 주로 실시간 스트리밍, 도메인 이름 시스템(DNS), 온라인 게임 및 네트워크 장비 간의 통신 등에 사용됩니다. 이러한 응용 프로그램에서는 데이터 전송의 속도가 중요하며, 데이터의 손실이나 일부 손실은 전체적인 성능에 큰 영향을 주지 않는 경우가 많기 때문에 UDP가 선택됩니다.
오버헤드는 어떤 작업을 수행할 때 발생하는 부가적인 비용
대규모 시스템이나 고성능 시스템에서는 오버헤드를 최소화하여 성능을 향상시키는 것이 중요
NAT는 네트워크 주소 변환(Network Address Translation)의 약자로, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고받는 기술을 말합니다. 쉽게 말하면 사설 IP 주소를 공인 IP 주소로 변환하는 기술입니다.
NAT는 다음과 같은 이유로 필요합니다.
NAT는 라우터에서 구현됩니다. 라우터는 다음과 같은 과정을 통해 NAT를 수행합니다.
NAT는 다음과 같은 종류가 있습니다.
NAT-T는 네트워크 주소 변환 투과(Network Address Translation Traversal)를 의미하며, NAT(Network Address Translation)가 구현된 네트워크를 가로질러 IPsec 연결을 설정하고 유지하는 데 사용되는 기술입니다.
NAT는 사설 네트워크를 보호하지만, IPsec과 같은 보안 프로토콜이 NAT를 통과하는 데 어려움을 겪을 수 있습니다. 이는 NAT가 패킷의 소스 및 목적지 IP 주소를 변환하기 때문입니다. IPsec은 보안 연결을 설정하는 데 이러한 주소 정보를 사용하기 때문에 NAT가 있는 경우 문제가 발생합니다.
NAT-T는 다음과 같은 방법으로 NAT가 있는 네트워크에서 IPsec 연결을 지원합니다.
NAT-T에는 다음과 같은 두 가지 주요 방법이 있습니다.
패킷은 컴퓨터 네트워크를 통해 전송되는 데이터의 단위입니다. 이는 네트워크를 통해 전송되는 모든 정보, 텍스트, 이미지, 비디오, 음성 등을 포함합니다.
대역폭은 특정 시간 내에 전송할 수 있는 데이터의 최대 양을 의미합니다. 이는 통신 채널, 컴퓨터 버스, 저장 장치 등 다양한 시스템에 적용될 수 있는 개념입니다. 쉽게 말하면, 파이프의 굵기에 비유할 수 있습니다. 파이프가 굵을수록 더 많은 물을 더 빠르게 흘릴 수 있듯이, 대역폭이 넓을수록 더 많은 데이터를 더 빠르게 전송할 수 있습니다.
대역폭은 일반적으로 비트 또는 바이트 초당 (bps 또는 Bps) 단위로 측정됩니다. 예를 들어, 10Mbps (메가비트 초당)는 1초 동안 최대 10메가비트의 데이터를 전송할 수 있다는 뜻입니다.
대역폭은 다양한 용도로 사용됩니다. 대표적인 예시로는 다음과 같습니다.
대역폭은 무한하지 않습니다. 네트워크 관리자는 사용자별 또는 서비스별 대역폭을 제한할 수 있습니다. 이는 네트워크 트래픽을 관리하고 특정 사용자가 너무 많은 대역폭을 사용하여 다른 사용자에게 영향을 미치는 것을 방지하기 위해서입니다.
대역폭 측정 도구를 사용하여 자신의 인터넷 연결 속도를 확인할 수 있습니다. 다양한 온라인 측정 도구가 있으며, 인터넷 서비스 제공업체에서도 자체 측정 도구를 제공하는 경우가 많습니다.
인터넷 연결 속도를 높이고 싶다면 대역폭을 증가시켜야 합니다. 인터넷 서비스 제공업체에 문의하여 더 높은 대역폭 요금제를 선택하거나, 라우터 설정을 변경하여 특정 어플리케이션에 더 많은 대역폭을 할당할 수 있습니다.
MTU(Maximum Transmission Unit)는 네트워크 상에서 한번에 전송할 수 있는 최대 데이터 패킷 크기를 의미합니다. 바이트(Byte) 단위로 표시되며, 최대 전송 단위라고도 불립니다.
MTU는 네트워크 계층에서 작용하며, 효율적인 데이터 전송을 위해 중요한 역할을 합니다. 너무 큰 패킷을 보내면 네트워크 장치(라우터, 스위치 등)에서 처리しき 못해 오류가 발생할 수 있기 때문에, MTU를 최적의 크기로 설정하는 것이 중요합니다.
라우팅은 컴퓨터 네트워크에서 데이터를 전송할 때 최적의 경로를 선택하는 과정입니다. 이 과정은 라우터라는 장치에 의해 수행됩니다. 라우터는 네트워크 상의 여러 노드 (컴퓨터, 스위치 등) 사이의 연결 정보를 가지고 있으며, 데이터 패킷의 목적지 주소를 기반으로 최적의 경로를 계산합니다.
게이트웨이(Gateway)란 무엇인가?
게이트웨이는 서로 다른 네트워크 또는 프로토콜을 사용하는 시스템 간의 연결을 제공하는 장치 또는 소프트웨어입니다. 쉽게 말하면, 네트워크 간의 관문 역할을 합니다.
브로드캐스트는 네트워크 상의 모든 장치에 동시에 데이터를 전송하는 방식입니다. 쉽게 말하면, 네트워크 전체에 메시지를 전달하는 것과 같습니다.
브로드캐스트는 특정 장치의 IP 주소 대신 브로드캐스트 주소를 사용하여 데이터를 전송합니다. 브로드캐스트 주소는 네트워크마다 다르지만, 일반적으로 255.255.255.255를 사용합니다.
브로드캐스트 패킷은 네트워크 상의 모든 장치로 전송되며, 각 장치는 패킷의 목적지 주소를 확인하여 자신에게 해당하는 패킷만 처리합니다.
브로드캐스트는 다양한 용도로 활용됩니다. 대표적인 예시로는 다음과 같습니다.
브로드캐스트는 네트워크 트래픽을 증가시킬 수 있으며, 악용될 경우 보안 문제를 야기할 수 있습니다. 따라서 브로드캐스트를 사용할 때는 주의해야 합니다.
서브넷은 서브넷 마스크라는 32비트 숫자를 사용하여 네트워크 주소를 네트워크 부분과 호스트 부분으로 나눕니다. 서브넷 마스크에서 1은 네트워크 부분을, 0은 호스트 부분을 나타냅니다.
예를 들어, 네트워크 주소가 192.168.1.0/24이고 서브넷 마스크가 255.255.255.0인 경우 네트워크는 255개의 호스트를 수용할 수 있는 192.168.1.0 네트워크로 나뉩니다.
서브넷을 설정하려면 다음과 같은 정보가 필요합니다.
ISP(Internet Service Provider)는 인터넷 서비스 제공 사업자를 의미합니다. 쉽게 말해, 우리가 집이나 직장에서 인터넷을 이용할 수 있도록 서비스를 제공하는 회사라고 생각하면 됩니다. ISP는 다양한 방법을 통해 인터넷 연결을 제공하며, 우리는 요금제에 따라 속도, 데이터 사용량 등을 선택할 수 있습니다.