All'alba vincerò

At dawn, I will win!

CS

컴퓨터 네트워크 스터디 1주차 정리

나디아 Nadia 2024. 10. 29. 18:18

컴퓨터 네트워크(Network)

: 두 대 이상의 컴퓨터나 장치들이 서로 연결되어 데이터를 주고받을 수 있는 시스템

  • 물리적인 연결뿐만 아니라 데이터의 전송 방법, 프로토콜 등 다양한 요소들이 결합된 구조이다.
  • 네트워크를 통해 사용자들은 파일 전송, 이메일 전송, 웹 브라우징 등 다양한 작업을 수행할 수 있다.
  • 일반적으로 네트워크는 로컬 네트워크(LAN)와 광역 네트워크(WAN)로 구분된다.

 


컴퓨터 네트워크의 데이터 전송 방식

데이터 전송 방식은 크게 점대점 전송과 다중 전송으로 나눌 수 있다.

 

 

점대점 전송 (Point-to-Point)

: 두 장치 간의 직접적인 연결로 이루어지는 데이터 전송 방식

 

 

다중 전송 (Multi-point transmission)

: 하나의 송신 장치가 여러 수신 장치에 동시에 데이터를 전송하는 방식

  • 다중 전송은 브로드캐스트 전송과 멀티캐스트 전송으로 나눌 수 있다.
    • 브로드캐스트 전송(Broadcast Transmission)
      : 네트워크에 연결된 모든 장치에 데이터를 동시에 전송하는 방식
      • 특정한 수신자를 지정하지 않고, 모든 장치가 수신자가 된다.
    • 멀티캐스트 전송(Multicast Transmission)
      : 특정 그룹의 장치에만 데이터를 전송하는 방식
      • 특정한 수신자 그룹을 대상으로 데이터를 전송한다.

 


 

프로토콜 (Protocol)

: 네트워크에서 통신하는 장치들이 서로 이해할 수 있도록 하는 규칙

  • 프로토콜은 데이터의 형식, 전송 방식, 오류 처리 방법 등을 정의하여, 서로 다른 장치들이 데이터를 정확하게 주고받을 수 있게 한다.
  • 예를 들어, HTTP, FTP, TCP, UDP 등이 있다.

 


TCP/IP

: 인터넷을 포함한 다양한 네트워크에서 데이터를 전송하기 위해 사용되는 프로토콜 스택

  • TCP/IP는 OSI 모델의 개념을 기반으로 한 계층화된 구조를 갖고 있다.

 

TCP/IP 4계층

: TCP/IP에 맞춰 네트워크 통신 표준인 OSI 7 계층을 단순화한 것

출처: https://westahn.com/wp-content/uploads/2024/02/OSI7OSI4.png

    • 4계층 (응용 계층)
      : 사용자와 소프트웨어를 연결해 주는 계층
      • HTTP, HTTPS, DNS 등의 프로토콜이 작동한다.
    • 3계층 (전송 계층)
      : 포트 번호로 데이터를 적절한 응용 프로그램에 전달하는 역할
      • 전송 계층의 데이터 단위는 세그먼트(segment)라고 한다.
      • 3계층에는 TCP, UDP 등의 프로토콜이 속한다.
    • 2계층 (인터넷 계층)
      : 데이터를 최종 목적지까지 도달할 수 있게 하는 계층
      • IP가 대표적인 프로토콜
      • 인터넷 계층에서는 전송 계층으로부터 받은 데이터에 헤더를 붙여 캡슐화하는데, 이를 패킷(packet) 또는 데이터그램(datagram)이라고 한다.
    • 1계층 (네트워크 인터페이스 계층)
      : 데이터를 전기 신호로 변환하고, MAC 주소를 사용하여 기기에 전달
      • 네트워크 접근 계층이라고도 한다.
      • 1계층에는 이더넷, Wi-Fi 등의 프로토콜이 속한다.

 

 

TCP (Transmission Control Protocol, 전송 제어 프로토콜)

: 데이터가 신뢰성 있게 전달되도록 보장하는 통신 방식

  • 전송 계층에서 작동하는 프로토콜
  • 데이터 패킷의 순서를 보장하고, 손실된 패킷을 재전송한다.

 

IP (Internet Protocol, 인터넷 프로토콜)

: 패킷을 빠르게 보내기 위한 통신 방식

  • 인터넷 계층에서 작동하는 프로토콜
  • 데이터 패킷의 주소 지정과 라우팅을 담당하고, 데이터 패킷을 네트워크를 통해 전송하는 데 필요한 정보를 제공한다.

 

 


패킷(packet)
네트워크에서 주고받는 데이터를 작게 분할한 단위

  • 패킷에는 데이터의 송신 주소, 수신 주소 등의 정보가 포함되어 데이터를 목적지에 제대로 전달할 수 있게 한다.

 


 

OSI (Open Systems Interconnection)

: 국제 표준화 기구(ISO, International Organization for Standardization)에서 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델

 

 

OSI 7 Layer (Open Systems Interconnection 7 Layers, OSI 7계층 모델)

: 네트워크 통신을 7개의 계층으로 나눈 모델

출처: https://velog.velcdn.com/images/pppp0722/post/c3a64a22-e99b-414a-a228-8302ec874542/image.png

 

  • 7계층 (응용 계층)
    : HTTP, FTP 등의 프로토콜을 응용 프로그램의 UI를 통해 제공한다.
  • 6계층 (표현 계층)
    : 데이터를 표준화된 형식으로 변경한다.
  • 5계층 (세션 계층)
    : 세션의 유지 및 해제 등 응용 프로그램 간 통신 제어와 동기화를 한다.
  • 4계층 (전송 계층)
    : 신뢰성 있는 데이터를 전달하기 위한 계층
    • TCP, UDP 같은 전송 방식과 포트(port) 번호 등을 결정한다.
  • 3계층 (네트워크 계층)
    : 데이터를 송신부에서 수신부까지 보내기 위한 최적 경로를 선택하는 라우팅(routing)을 수행한다.
    • 이때 선택한 최적 경로를 라우트(route)라고 한다.
    • 네트워크 계층의 장비로는 라우터(router)가 있다.
  • 2계층 (데이터 링크 계층)
    : 데이터 흐름을 관리하며 데이터의 오류 검출 및 복구 등을 수행한다.
    • 브리지(bridge), 스위치(switch), 이더넷(ethernet)이 데이터 링크 계층에 해당한다.
  • 1계층 (물리 계층)
    : 데이터를 비트(bit) 단위의 0과 1로 변환한 후 장비를 사용하여 전송하거나 전기 신호를 데이터로 복원한다.
    • 리피터(repeater), 허브(hub) 등이 물리 계층에 해당하는 장비이다.

 

OSI 7계층 모델의 데이터의 송수신 흐름

: 양쪽에서 계층별로 데이터를 처리하여 신뢰성 있는 데이터 통신을 가능하게 한다.

  • 데이터 송신
    • 높은 계층에서 ⬇️ 낮은 계층으로 전달
      • 송신 측에서 데이터는 응용 계층(7계층)부터 시작해 물리 계층(1계층)까지 차례대로 전달된다.
    • 각 계층은 필요한 제어 정보를 추가하며, 데이터 캡슐화 과정을 거친다.
  • 데이터 수신
    • 낮은 계층에서 ⬆️ 높은 계층으로 전달
      • 수신 측에서는 데이터가 물리 계층(1계층)부터 받아들여지며, 응용 계층(7계층)까지 상위 계층으로 전달된다.
    • 각 계층에서 역캡슐화를 통해 필요한 제어 정보를 분석하고 제거하여 원본 데이터를 복원한다.

 


OSI 7 Layer, TCP/IP 처럼 프로토콜을 계층화하는 이유

 

모듈화

  • 각 계층이 독립적으로 설계되고 구현될 수 있어, 시스템의 유연성과 유지보수성을 높인다.
  • 계층 간의 변경이나 수정이 다른 계층에 미치는 영향을 최소화할 수 있다.

 

표준화

  • 각 계층에 대한 표준을 정의함으로써, 서로 다른 제조업체나 기술에서 일관된 통신 방식을 제공한다. → 이로 인해 다양한 장치와 프로토콜이 원활하게 상호작용할 수 있다.

 

단순화

  • 복잡한 네트워크 통신 과정을 단순화하여 이해하기 쉽게 한다.
  • 각 계층의 기능을 명확히 정의해서 문제 해결 시 특정 계층에 초점을 맞출 수 있다.

 

재사용성

  • 이미 정의된 계층을 재사용할 수 있어, 새로운 프로토콜을 개발할 때 기존의 표준을 활용할 수 있다.
  • 예를 들어, 애플리케이션 계층에서 사용하는 프로토콜은 동일하게 다른 하위 계층을 활용할 수 있다.

 


캡슐화 & 비캡슐화

 

캡슐화 (Encapsulation)

: 상위 계층의 데이터를 하위 계층의 데이터 형식으로 감싸는 과정

  • 예를 들어, 응용 계층의 데이터가 전송 계층에 전달될 때, TCP 헤더가 추가되어 패킷이 생성된다.
    → 이 패킷은 네트워크를 통해 전송된다.

 

비캡슐화 (Decapsulation)

: 수신 측에서 데이터가 하위 계층에서 상위 계층으로 전달될 때, 각 계층의 헤더를 제거하는 과정

  • 수신한 패킷에서 TCP 헤더를 제거하고, 다시 데이터가 응용 계층으로 전달된다.

 


NIC & 리피터(Repeater)

 

NIC (Network Interface Card)

: 컴퓨터나 네트워크 장치가 네트워크에 연결될 수 있도록 해주는 하드웨어

  • NIC는 데이터를 송수신할 수 있는 인터페이스를 제공한다.

 

리피터 (Repeater)

: 신호를 증폭하여 더 먼 거리로 전송할 수 있도록 도와주는 장치

  • 리피터는 수신한 신호를 재생하여, 신호의 감쇠를 방지하고 전송 거리를 늘릴 수 있다.

 


브리지 (Bridge)

: 서로 다른 네트워크 세그먼트나 LAN(로컬 영역 네트워크)을 연결하는 역할

  • 데이터 링크 계층에서 작동하는 장치
  • 브리지는 각 세그먼트의 MAC 주소를 학습하여, 데이터를 적절한 세그먼트로 전송한다.
  • 브리지를 사용하면 네트워크를 분할하고 성능을 향상시킬 수 있다.

 


L2 스위치 (데이터 링크 계층 스위치)

: MAC 주소를 기반으로 데이터를 포워딩하는 장치

  • L2 스위치는 각 포트에서 수신한 MAC 주소를 학습하여, 이후에 해당 MAC 주소로 데이터를 전송할 포트를 결정한다.
    → 이를 통해 네트워크 성능을 향상시키고 충돌 도메인을 줄일 수 있다.

 


라우터 (Router)

: 서로 다른 네트워크 간의 데이터 전송을 관리하는 장치

  • 라우터는 IP 주소를 기반으로 패킷을 분석하고 최적의 경로를 선택하여 데이터를 전달한다.
  • 라우터는 WAN과 LAN을 연결하고, 네트워크 간의 트래픽을 조절하며, NAT(네트워크 주소 변환)와 방화벽 기능을 제공하기도 한다.

 


L3 스위치 (네트워크 계층 스위치)

: IP 주소를 기반으로 패킷을 포워딩하는 장치

  • L3 스위치는 스위치의 기능과 라우터의 기능을 결합하여, VLAN 간의 라우팅을 수행하고, 고속 데이터 전송을 지원한다.
  • 일반적으로 L3 스위치는 대규모 네트워크에서 사용된다.

 


L7 스위치 (응용 계층 스위치)

: OSI 모델의 응용 계층에서 작동하며, HTTP, FTP 등의 프로토콜을 이해하고 처리할 수 있는 기능을 가지고 있다.

  • L7 스위치는 패킷의 내용을 분석하여 트래픽을 관리하고, 로드 밸런싱, SSL 종료 등의 고급 기능을 제공할 수 있다.

 


LAN & WAN

 

LAN (Local Area Network, 로컬 네트워크)

: 제한된 지역 내(ex. 사무실, 학교, 가정)에서 여러 대의 컴퓨터와 장치가 연결된 네트워크

  • LAN은 높은 전송 속도와 낮은 지연 시간의 특징을 가지고 있으며, 주로 이더넷 기술을 사용한다.

 

WAN (Wide Area Network, 광역 네트워크)

: 넓은 지역(ex. 도시, 국가, 세계)에서 여러 LAN을 연결하는 네트워크

  • WAN은 공공 전용 회선이나 위성 통신 등 다양한 기술을 사용하여 광범위한 지역에서 데이터를 전송할 수 있다.
  • WAN은 일반적으로 느린 전송 속도와 높은 지연 시간을 갖는다.

 


 

 

 

CS-study/CS_study/2. 컴퓨터 네트워크(Computer Network)/2.1 네트워크 계층.md at main · kwonboryong/CS-study

CS 스터디 공부 저장소. Contribute to kwonboryong/CS-study development by creating an account on GitHub.

github.com