컴퓨터 네트워크

컴퓨터 네트워크
서로 다른 컴퓨터나 장치들이 데이터를 주고받으며 상호작용할 수 있도록 연결된 시스템을 말합니다. 이러한 네트워크는 데이터를 전송하고 자원을 공유할 수 있는 인프라를 제공합니다.

컴퓨터 네트워크의 주요 구성 요소

  1. 노드 (Nodes): 네트워크에 연결된 장치들입니다. 예를 들어, 컴퓨터, 프린터, 서버, 스마트폰 등이 노드에 해당합니다.

  2. 연결 매체 (Transmission Medium): 데이터가 전달되는 경로입니다. 이는 유선(예: Ethernet 케이블)이나 무선(예: Wi-Fi, 블루투스)일 수 있습니다.

  3. 네트워크 장비 (Networking Devices): 데이터를 전달하고 네트워크를 관리하는 장치들입니다. 예를 들어, 라우터, 스위치, 허브, 모뎀이 있습니다.

  4. 프로토콜 (Protocols): 데이터 전송 규칙을 정의한 것입니다. TCP/IP가 대표적인 프로토콜로, 인터넷에서의 데이터 전송에 사용됩니다.

  5. 네트워크 소프트웨어: 네트워크를 관리하고 데이터 전송을 제어하는 소프트웨어입니다. 네트워크 운영체제나 관리 도구가 여기에 해당합니다.

컴퓨터 네트워크 형태

  • LAN (Local Area Network): 작은 지역 내에서 사용하는 네트워크, 예를 들어 가정이나 사무실 내의 네트워크입니다.
  • WAN (Wide Area Network): 넓은 지역에 걸쳐 연결된 네트워크로, 인터넷이 대표적인 예입니다.
  • MAN (Metropolitan Area Network): 도시 규모의 네트워크입니다. 예를 들어 도시 내의 대학교 네트워크가 있을 수 있습니다.
  • PAN (Personal Area Network): 개인이 사용하는 소규모 네트워크로, 블루투스 연결이 포함될 수 있습니다.





데이터 전송 방식

1. 패킷 교환 (Packet Switching)

데이터는 작은 단위인 '패킷'으로 나누어져 네트워크를 통해 전송됩니다. 각 패킷은 독립적으로 전송되며, 목적지에서 다시 조립되어 원래의 데이터로 복원됩니다. 이 방식의 주요 특징은 다음과 같습니다.

효율성: 네트워크 자원을 공유할 수 있어 효율적인 데이터 전송이 가능합니다.
유연성: 패킷이 다양한 경로를 통해 전송될 수 있어, 네트워크 장애가 발생해도 데이터 전송이 계속될 수 있습니다.
신뢰성: 패킷이 손실되거나 오류가 발생하면, 수신자는 손실된 패킷을 요청할 수 있습니다.

2. 회선 교환 (Circuit Switching)

전통적인 전화 네트워크에서 사용하는 방식입니다. 회선 교환에서는 통신이 시작되면, 두 통신 노드 간에 전용 회선이 설정됩니다. 이 회선은 통신이 끝날 때까지 독점적으로 사용됩니다. 주요 특징은 다음과 같습니다.

고정 대역폭: 회선이 독점적으로 사용되므로 안정적인 품질의 통신이 보장됩니다.
연결 지연: 연결이 설정되는 동안 지연이 발생할 수 있습니다.
효율성 문제: 통화 중에는 회선이 다른 데이터 전송에 사용될 수 없기 때문에 자원의 비효율적 사용이 발생할 수 있습니다.

3. 연결 지향과 비연결 지향

연결 지향 (Connection-Oriented): 데이터 전송 전에 연결이 설정되고, 연결이 유지되는 동안 데이터가 전송됩니다. 전송이 완료되면 연결이 해제됩니다. 예를 들어, TCP(Transmission Control Protocol)가 이 방식에 해당합니다.
비연결 지향 (Connectionless): 데이터 전송 전에 연결을 설정하지 않으며, 각 데이터 패킷이 독립적으로 전송됩니다. 예를 들어, UDP(User Datagram Protocol)가 이 방식에 해당합니다.

전송 프로토콜
TCP (Transmission Control Protocol): 연결 지향 프로토콜로, 데이터의 정확한 전송을 보장하고 패킷의 순서를 관리합니다. 오류 검출 및 재전송 기능이 포함되어 있습니다.
UDP (User Datagram Protocol): 비연결 지향 프로토콜로, 속도가 빠르지만 오류 검출 및 수정 기능이 없습니다. 스트리밍이나 실시간 통신에서 많이 사용됩니다.





프로토콜 계층화

OSI 모델

OSI 모델은 7개의 계층으로 구성되어 있습니다:

  • 물리 계층 (Physical Layer): 전기적 신호나 광신호를 통해 물리적 연결을 담당합니다. 예를 들어, 케이블, 네트워크 카드 등이 여기에 해당합니다.

  • 데이터 링크 계층 (Data Link Layer): 인접 네트워크 노드 간의 데이터 전송을 관리하고 오류 검출 및 수정 기능을 제공합니다. MAC 주소와 같은 물리적 주소를 사용합니다.

  • 네트워크 계층 (Network Layer): 데이터 패킷의 경로를 결정하고 패킷이 목적지까지 올바르게 전달되도록 합니다. IP 주소를 사용하여 라우팅을 수행합니다.

  • 전송 계층 (Transport Layer): 데이터 전송의 신뢰성을 보장합니다. 데이터의 순서 및 오류를 검출하고 수정합니다. 대표적인 프로토콜로 TCP와 UDP가 있습니다.

  • 세션 계층 (Session Layer): 두 통신 노드 간의 세션을 설정, 유지 및 종료합니다. 데이터의 동기화와 관리를 수행합니다.

  • 표현 계층 (Presentation Layer): 데이터의 형식을 변환합니다. 인코딩, 암호화, 압축 등의 작업을 처리합니다.

  • 응용 계층 (Application Layer): 사용자와 애플리케이션이 네트워크 서비스를 사용할 수 있도록 합니다. HTTP, FTP, SMTP 등과 같은 프로토콜이 이 계층에서 작동합니다.

TCP/IP 모델

TCP/IP 모델은 4개의 계층으로 나누어져 있습니다:

  • 네트워크 인터페이스 계층 (Network Interface Layer): OSI 모델의 물리 계층과 데이터 링크 계층에 해당하며, 물리적 연결과 데이터 링크 기능을 수행합니다.

  • 인터넷 계층 (Internet Layer): OSI 모델의 네트워크 계층에 해당하며, 데이터 패킷의 라우팅과 IP 주소를 사용하여 패킷을 목적지로 전달합니다.

  • 전송 계층 (Transport Layer): OSI 모델의 전송 계층과 동일하며, 데이터의 신뢰성을 보장합니다. TCP와 UDP가 이 계층에서 작동합니다.

  • 응용 계층 (Application Layer): OSI 모델의 응용 계층과 동일하며, 사용자와 애플리케이션이 네트워크 서비스에 접근할 수 있도록 합니다.

프로토콜을 계층화하는 주요 이유

1. 복잡성 관리

구성요소 분리: 네트워크 통신의 복잡한 과정을 여러 계층으로 나누어 각 계층이 독립적으로 특정 기능을 수행하도록 함으로써, 복잡성을 관리합니다.
모듈화: 각 계층은 독립적으로 설계되고 개선될 수 있어, 시스템 전체를 수정하지 않고도 한 계층을 변경할 수 있습니다.

2. 상호운용성

표준화: 계층화된 모델은 서로 다른 제조업체와 기술이 호환될 수 있도록 합니다. 각 계층은 특정 기능을 담당하므로, 다양한 벤더의 장치와 프로토콜이 같은 계층에서 작동할 수 있습니다.
호환성: 새로운 기술이나 프로토콜이 추가되더라도 기존 계층 구조를 유지할 수 있습니다. 새로운 기술이 기존 계층과 잘 통합되도록 설계할 수 있습니다.

3. 문제 해결

디버깅: 네트워크 문제를 특정 계층에서 발생한 것으로 좁힐 수 있어 문제를 보다 쉽게 진단하고 해결할 수 있습니다.
분리된 문제: 각 계층이 독립적으로 동작하므로, 문제가 발생했을 때 어떤 계층에서 문제가 발생했는지 명확히 할 수 있습니다.

4. 유지보수 및 업데이트

계층적 접근: 각 계층이 독립적으로 유지보수와 업데이트를 진행할 수 있습니다. 이를 통해 한 계층의 기술 변경이 다른 계층에 영향을 미치지 않고 업데이트할 수 있습니다.
확장성: 새로운 프로토콜이나 기술이 추가되거나 기존 기술이 변경될 때, 계층화된 구조는 이러한 변경을 쉽게 통합할 수 있게 합니다.

5. 효율성

전송 최적화: 각 계층은 특정 작업만을 처리하므로, 데이터를 효율적으로 처리하고 전송할 수 있습니다. 예를 들어, 전송 계층에서 오류를 검출하고 수정하며, 데이터 링크 계층에서는 프레임을 구성합니다.
재사용성: 특정 계층의 프로토콜과 기술은 다양한 네트워크 환경에서 재사용될 수 있습니다. 예를 들어, HTTP는 다양한 전송 계층 프로토콜(TCP, UDP)과 함께 사용될 수 있습니다.
6. 표준화
계층적 표준화: 각 계층이 명확하게 정의되고 표준화됨으로써, 전 세계의 다양한 네트워크와 시스템이 서로 통신할 수 있도록 합니다. 표준화된 계층 구조는 서로 다른 네트워크 장치와 시스템 간의 호환성을 보장합니다.





NIC (Network Interface Card)

NIC는 컴퓨터나 기타 네트워크 장치가 네트워크에 연결할 수 있도록 해주는 하드웨어 장치입니다. NIC는 네트워크 인터페이스를 제공하여 데이터의 송수신을 가능하게 합니다.

주요 기능

네트워크 연결

컴퓨터, 서버, 프린터 등 다양한 장치를 네트워크에 연결합니다.
유선 이더넷 카드나 무선 Wi-Fi 카드로 구현될 수 있습니다.

데이터 전송과 수신

네트워크를 통해 데이터를 송수신합니다. 데이터를 네트워크 프레임으로 캡슐화하고, 네트워크에서 수신한 데이터를 비캡슐화하여 상위 계층으로 전달합니다.

MAC 주소

각 NIC에는 고유한 MAC (Media Access Control) 주소가 할당되어 있습니다. 이 주소는 네트워크에서 장치를 식별하는 데 사용됩니다.

속도와 성능

NIC는 네트워크의 속도와 성능을 결정하는 중요한 요소입니다. 예를 들어, 1Gbps, 10Gbps, 또는 더 높은 속도의 NIC가 있습니다.

오류 검출과 수정

NIC는 데이터의 오류를 검출하고, 때로는 수정 기능을 수행할 수 있습니다.

리피터 (Repeater)

리피터는 네트워크 신호를 증폭하고 재생하여 네트워크의 전송 거리를 연장하는 장치입니다. 리피터는 신호의 감쇠와 왜곡을 보상하기 위해 사용됩니다.

주요 기능

신호 증폭

네트워크를 통해 전송되는 신호가 멀어질수록 약해지기 때문에, 리피터는 신호를 증폭하여 원래의 강도를 유지합니다.

신호 재생

신호를 수신하여 재생하고, 원래의 신호를 복원한 후 다시 전송합니다. 이를 통해 신호의 품질을 유지할 수 있습니다.

전송 거리 연장

신호의 감쇠를 방지하여 네트워크의 전송 거리를 연장할 수 있습니다. 예를 들어, Ethernet 네트워크에서 신호의 전송 거리를 늘리기 위해 사용됩니다.

NIC (Network Interface Card): 네트워크 장비가 네트워크에 연결될 수 있도록 하는 하드웨어 장치로, 데이터의 송수신, 네트워크 주소(MAC 주소) 관리, 오류 검출 등을 수행합니다.
리피터 (Repeater): 네트워크 신호의 감쇠와 왜곡을 방지하고 신호를 증폭하여 네트워크의 전송 거리를 연장하는 장치입니다.





브리지 & 스위치 & 라우터

브리지

브리지는 네트워크 세그먼트를 연결하고, 데이터 전송을 효율적으로 관리하는 장치입니다. MAC 주소 테이블을 사용하여 데이터 프레임을 적절한 세그먼트로 전달하고, 충돌 도메인을 분리하여 네트워크 성능을 향상시킵니다. 브리지는 네트워크 확장과 성능 개선에 중요한 역할을 하며, 스위치와 같은 현대적인 네트워크 장비에 포함된 기능으로 구현될 수 있습니다.

스위치

L2 스위치: 데이터 링크 계층에서 작동하며, MAC 주소 기반으로 데이터를 전달하고, 충돌 도메인을 분리합니다.
L3 스위치: 네트워크 계층에서 작동하며, IP 주소를 기반으로 라우팅과 서브넷 간 트래픽을 관리합니다.
L7 스위치: 애플리케이션 계층에서 작동하며, 애플리케이션 데이터를 기반으로 라우팅하고 로드 밸런싱, 보안 기능을 제공합니다.
각 스위치는 특정 요구 사항과 네트워크 환경에 맞게 설계되어 있으며, 네트워크의 효율성과 성능을 향상시키는 데 중요한 역할을 합니다.

라우터

라우터는 네트워크 계층에서 작동하며, 서로 다른 네트워크를 연결하고, 데이터 패킷을 최적의 경로를 통해 목적지까지 전달하는 장치입니다.
경로 결정: 라우팅 테이블과 라우팅 프로토콜을 사용하여 최적의 경로를 결정합니다.
네트워크 분할: 서브넷 간 통신을 관리하며, VLAN 간 라우팅을 지원합니다.
패킷 포워딩: 패킷의 IP 헤더를 분석하여 적절한 포트로 전달합니다.
보안 및 QoS: ACL, NAT, QoS 기능을 통해 보안과 성능을 관리합니다.
라우터는 네트워크의 핵심 장비로, 데이터의 효율적이고 안정적인 전송을 보장하며, 네트워크의 성능과 보안을 향상시키는 중요한 역할을 합니다.





출처

https://www.shiksha.com/online-courses/articles/osi-vs-tcp-ip-model-whats-the-difference/
JSCODE 컴퓨터네트워크 스터디

profile
성장하는 프론트엔드 개발자입니다.

0개의 댓글