[컴퓨터 네트워크 수업] Chapter 1. Introduction

2025. 4. 14. 01:45·Network
728x90
반응형

1. 인터넷의 기본 개념

인터넷이란?

  • 정의
    • 인터넷은 "네트워크의 네트워크"로, 여러 개의 작은 네트워크(예: 가정, 기업, 모바일 네트워크)가 서로 연결되어 있는 구조
  • 구성 요소
    • 네트워크 엣지(Edge)
      • 호스트(host, end systems): 사용자(클라이언트)와 서버가 여기에 속함
      • 액세스 네트워크: 가정용 케이블, DSL, WiFi, 4G/5G 등 다양한 접속 기술을 사용
    • 네트워크 코어(Core):
      • 라우터(router) 및 스위치(switch): 패킷(데이터 조각)을 서로 전달하며, 여러 네트워크를 연결
      • 패킷 스위칭: 데이터가 패킷 단위로 전송되어 각 경로를 통해 전달되는 방식
  • 주요 포인트
    • 인터넷의 분산성: 수많은 액세스 네트워크와 ISP들이 연결되어 있으며, 중앙집중식 구조가 아님
    • 경제적 및 정책적 요인: 네트워크 연결은 단순 기술뿐만 아니라 경제적/정책적 요인에 의해 설계

2. 네트워크 프로토콜이란?

  • 정의 및 역할
    • 프로토콜: 네트워크 상에서 메시지를 전송하는 규칙을 정함 (예: 메시지의 포맷, 전송 순서, 수신 시 동작)
    • 사람 간의 대화처럼, “시간 좀 알려줘?”와 같이 정해진 규칙에 따라 정보를 주고받음
  • 예시
    • HTTP, TCP/IP, Ethernet, WiFi 등이 있으며 각각 웹, 데이터 신뢰 전송, 물리적 연결 등 다양한 역할을 담당
  • 중요 포인트:
    • 일관성: 모든 통신이 프로토콜에 의존하여 일관된 방식으로 정보가 전송
    • 자동화: 컴퓨터 간 통신에서는 인간의 직접 개입 없이 프로토콜이 모든 작업을 자동으로 처리

3. 네트워크 구성 요소

호스트 및 액세스 네트워크

  • 호스트
    • 응용 프로그램을 실행하는 단말(컴퓨터, 스마트폰 등)
    • = clients and servers
  • 액세스 네트워크
    • 클라이언트가 가장 먼저 연결하는 대상(= Access Point)
    • 케이블, DSL, 무선 등 다양한 연결 방식을 통해 호스트를 ISP에 연결

액세스 네트워크 연결 방식

Access Network는 여러명이 나눠씀

  • cable-based access
    • FDM(frequency division multiplexing): 하나의 공유 케이블에서 진동수(주파수) 기준으로 채널 분리
      • ex) 주파수 채널에 따라 다른 라디오 방송
      • HFC(hybrid fiber coas): 다운스트림을 업스트림보다 더 빠르게 비대칭적으로 설계
    • DSL(digital subscriber line): 전화선 사용
  • Wireless access networks
    • 공유된 무선 access network는 access point(AP)를 통해 라우터를 end system과 연결
    • wireless local area networks(WLANs) → WIFI
    • wide-area cellular access networks → 4G/5G cellular networks

호스트

  • 패킷(Packet): 메시지를 각 L 비트의 청크로 자른 단위
  • 호스트는 패킷을 특정 전송률(transmission rate, R)로 access network에 전송함
    • link transmission rate = link capacity = link bandwith (연결 대역폭)
    • 패킷 지연율 (= L비트 패킷을 전송하는데 걸리는 시간) = L (bits) / R (bits / sec)

링크: physical media

  • guided media: 신호가 solid media를 통해 전파됨
    • Twisted pair(TP): 2개의 격리된 구리선
      • 카테고리 5, 카테고리 6 등 카테고리에 따라 성능 다름
    • Coaxial cable
    • Fiber optic cable(광 케이블) → high speed & lower error rate, 근데 비쌈
  • unguided media: 신호가 공기 중으로 전파됨
    • wireless radio

4. 네트워크 코어 – 라우팅과 패킷 스위칭, 인터넷 구조

  • 상호 연결된 수많은 라우터들
    • = mesh of interconnected routers
    • ⇒ 사실상 ‘인터넷’을 의미

네트워크 코어의 2가지 핵심 기능

  • 포워딩(Forwarding)
    • = 스위칭(switching)
    • forwarding table을 사용
    • 하나의 라우터 내부에서 input link로 들어온 패킷을 ‘적절한 output link’로 이동시키는 작업
      • = local action
  • 라우팅(Routing)
    • 라우터는 패킷의 출발지에서 목적지까지의 최적 경로를 결정
    • = global action
    • 라우팅 알고리즘 사용

패킷 스위칭

  • Store-and-Forward: 패킷이 쪼개져서 여러 번 들어오니까 패킷 전송 지연을 고려하여 최적화하기 위해, 다 들어올 때까지 기다렸다가(store, 유사 buffer) 이후 forward하는 방식
    • L 비트 패킷, 전송률 R일 때 ⇒ 패킷 전송 지연 L/R 발생
    • 장점
      • 효율적 자원 사용: 트래픽이 갑자기 몰리지 않는 한, 여러 사용자들이 같은 링크를 통계적 다중화(statistical multiplexing) 방식으로 공유할 수 있습니다.
      • 버스티(bursty)한 트래픽에 유리: 사용자들이 필요할 때만 데이터를 보내므로, 데이터 전송이 불규칙해도 네트워크 리소스를 효율적으로 사용할 수 있습니다.
    • 단점: 큐잉(Queueing)
      • 전송을 기다리는 패킷들이 큐(버퍼)에 저장(store)
      • ⇒ 나가는 R(transmission rate)보다 들어오는 R(arrival rate)이 더 큰 경우, 큐에서 대기 발생(bottleneck)
      • 과부하 시 손실: 버퍼가 가득 차면 패킷 손실이 발생 가능(= 혼잡 상황)
      • ⇒ 경쟁 상황이 발생하게 된다는 패킷 스위칭 방식의 문제
      • 프로토콜 보완
        • 이러한 지연 및 손실 문제를 해결하기 위해 TCP와 같은 상위 계층의 프로토콜은 신뢰성 있는 전송을 위해 재전송, 흐름 제어, 혼잡 제어 등의 메커니즘을 도입
  • 대안 – 회선 교환(Circuit Switching)
    • 데이터 전송 전에 엔드-투-엔드(end-to-end) 회선을 "예약"하는 방식
      • 한 번 회선이 설정되면, 해당 회선은 두 지점 사이에서 전용으로 사용
    • 주로 2가지 방식으로 분할해서 사용
      • FDM(Frequency Division Multiplexing)
        • 하나의 물리적 매체(예: 동축케이블, 광섬유)를 여러 개의 서로 다른 주파수 대역으로 나누어 동시에 여러 신호나 채널을 전송
        • 하나의 물리적 매체(예: 동축케이블, 광섬유)를 여러 개의 서로 다른 주파수 대역으로 나누어 동시에 여러 신호나 채널을 전송
        • 회선 교환 방식에서는 통화나 데이터 전송 전에 각 사용자에게 특정 주파수 대역이 예약되므로, 고정된 대역폭을 보장
      • TDM(Time Division Multiplexing)
        • 하나의 물리적 매체를 시간 슬롯으로 나누어 여러 사용자 또는 통화가 일정한 주기마다 번갈아 사용
        • 각 사용자(또는 통화)는 자신의 전용 슬롯 동안에만 데이터를 전송할 수 있으며, 슬롯 내에서는 최대 전송 속도를 보장
        • ⇒ 여러 통신이 동시에 같은 매체를 공유하되 충분한 대역폭 보장과 동시성이 제한되는 방식
    • 장점: 예약된 시간 동안은 일정한 성능이 보장되지만
    • 단점: 사용하지 않을 때는 낭비
  • 중요 포인트
    • 패킷 스위칭은 효율적이며 “버스티”한(간헐적) 데이터 전송에 유리하지만, 과도한 혼잡 시 지연과 손실이 발생할 수 있다

인터넷 구조

    • 호스트들은 액세스 ISP들을 통해 인터넷에 연결됨
    • 하나의 중앙 집중형 네트워크가 아니라, 수많은 소규모 네트워크(예: 가정, 기업, 모바일 네트워크)가 계층적, 분산적으로 연결
    • 인터넷 구조의 주요 구성 요소 및 계층
      1. 네트워크 엣지(Edge)
        • 호스트: 개인 컴퓨터, 스마트폰, 서버 등 데이터와 응용 프로그램을 실행하는 단말
        • 액세스 네트워크: 호스트가 인터넷에 접속할 수 있도록 연결해 주는 네트워크
          • 예시: 케이블 모뎀, DSL, WiFi, 4G/5G 등.
      2. 네트워크 코어(Core)
        • 라우터 및 스위치: 패킷이 네트워크 내에서 라우팅되고 전송될 수 있도록 연결해 주는 장비
        • 패킷 스위칭 네트워크: 다수의 패킷이 다양한 경로를 통해 최종 목적지까지 전달되는 방식을 사용
      3. ISP (Internet Service Provider)
        • 액세스 ISP와 글로벌 ISP: 개인이나 소규모 네트워크를 상위 네트워크와 연결해 주는 역할을 하며, 인터넷 서비스의 경쟁 및 상호 연결 구조가 존재
      4. 인터넷 익스체인지 포인트(IXP)
        • 다수의 ISP 간 상호 연결: 여러 ISP가 하나의 물리적 장소에서 서로 연결되어 트래픽을 교환하는 지점
        • IXP를 통하지 않고 피어링 링크(peering link)를 통해 연결될 수도 있음
      5. 컨텐츠 제공자 네트워크
        • 서비스 최적화: 대형 컨텐츠 제공업체(예: 구글, 페이스북)는 자체 네트워크를 운영하여 사용자에게 더 빠르고 안정적인 서비스를 제공

5. 데이터 전송 성능: 지연, 손실, 처리량

전송 지연과 관련 요소

d_nodal = d_proc + d_queue + d_trans + d_prop

  • 처리 및 큐잉 지연
    • 처리 지연(d_proc): 패킷의 오류 검사와 라우터 처리 시간(보통 짧음)
    • 큐잉 지연(d_queue): 네트워크 혼잡 시 패킷이 대기하는 시간
  • 전송 지연(d_trans)
    • d_trans = L / R
    • 예시: 10 Kbit 패킷이 100 Mbps 링크에서 전송되는 데 걸리는 시간.
  • 전파 지연(d_prop)
    • 물리적 거리에 의해 결정되며, 신호가 매체를 따라 이동하는 데 걸리는 시간
    • d_prop = d / s
      • d: 물리적 거리
      • s: 전파 속도
  • 패킷 큐잉 지연
    • a: 평균 패킷 arrival rate
    • L * a: 들어오는 양
    • R: 나가는 양
    • ⇒ La/R이 1에 가까울 수록 혼잡
  • Traceroute를 통한 경로 및 지연 측정
    • Traceroute 프로그램은 패킷에 일정한 TTL(Time-To-Live) 값을 설정해 여러 중간 라우터를 거치는 경로를 추적
    • 각 라우터에 도달할 때마다 TTL 값이 1씩 감소하다가 0이 되면, 해당 라우터가 ICMP "Time Exceeded" 메시지를 송신
    • 송신 측에서는 이 반환된 메시지의 도착 시간을 통해 해당 홉(중간 라우터)까지의 왕복 지연시간(RTT, Round Trip Time)을 측정
    • ⇒ 실제 지연 및 경로 정보(Real Internet delays and routes)를 통해, 네트워크의 혼잡 정도, 라우팅 경로의 효율성, 그리고 특정 구간의 물리적 특성 등을 이해 가능

처리량(Throughput)

  • 단위 시간당 목적지에 도달하는 데이터의 양(보통 bps, 즉 비트/초 단위)
  • 즉각 vs. 평균 처리량:
    • 즉각 처리량(instantaneous throughput): 특정 순간에 측정되는 처리 속도
    • 평균 처리량(average throughput): 일정 기간 동안 측정된 데이터를 시간으로 나눈 값으로, 전체적인 네트워크 성능을 나타냄
  • Throughput에 영향을 미치는 요소
    • 각 링크는 고유의 전송 속도(R)를 가지며, 이 속도는 물리적 매체의 특성(예: 케이블, 무선 등)에 따라 결정
    • 네트워크 경로상에서 가장 낮은 전송 속도를 가진 링크를 병목 링크(bottleneck link)라고 하며, 전체 경로의 처리량은 이 링크에 의해 제한됨
  • Throughput 측정과 예시
    • 단일 연결 예시
      • 전송 경로에 병목 링크가 존재한다면, 데이터를 완전히 수신하는 데 걸리는 시간은 병목 링크의 전송 속도에 의해 결정
      • ex) 서버에서 파일을 전송하는 데 사용되는 링크가 100 Mbps이고, 이 링크가 경로상의 병목이면 전체 처리량은 약 100 Mbps
    • 여러 연결 및 공유 환경
      • 네트워크 상에 여러 연결이 동시에 존재하면, 각 연결은 공유된 자원(예: 백본 링크)을 경쟁하게 되어, 각 연결의 처리량은 min(R_C, R_S, R/연결수)로 결정되는 경우가 많음
        • R/연결수: 코어망(backbone) 링크에서의 처리량
      • 보통 코어망에서는 보틀넥이 발생하지 않고 R_C나 R_S에 의해 발생하는 경우가 많음

6. 네트워크 보안

  • 문제점:
    • 원래 디자인: 인터넷은 처음부터 보안을 크게 고려하지 않았음
    • 보안 위협
      • 패킷 스니핑: 패킷을 몰래 읽어 민감 정보를 탈취
      • IP 스푸핑: 위조된 IP 주소를 사용해 공격(패킷의 목적지에 가짜 주소 주입)
      • 서비스 거부(DoS) 공격: 정상 사용자의 접근을 막기 위해 대량의 트래픽을 전송
  • 대응 방법:
    • 인증, 암호화, 무결성 검사, 접근 제어, 방화벽 등 다양한 보안 기법이 적용

7. 계층 구조와 캡슐화

계층화의 목적 및 장점

  • 목적
    • 복잡한 시스템의 구조화: 각 계층이 독자적인 기능을 담당하여 전체 시스템의 이해와 유지보수를 용이하게 만듦
  • 계층 예시 (인터넷 프로토콜 스택)
    • 응용 계층(application)
      • 네트워크 애플리케이션 지원
      • HTTP, SMTP, DNS 등
    • 전송 계층(transport)
      • 프로그램과 프로그램 간의 연결 지원
      • TCP, UDP (프로세스 간 신뢰성 있는 데이터 전송).
    • 네트워크 계층(network)
      • 머신과 머신 사이의 datagram 라우팅을 지원(= 패킷의 목적지까지의 경로 결정)
      • IP, 라우팅 프로토콜
    • 링크 계층(link)
      • 인접 네트워크 간 데이터 전송 지원
      • Ethernet, WiFi 등
    • 물리 계층(physical)
      • 실제 비트가 전송되는 물리적 매체

캡슐화(Encapsulation)

  • 각 계층이 자신의 헤더 정보를 덧씌워 데이터를 감싸고, 하위 계층으로 전달
  • 각 계층의 독립성(모듈성)이 보장되어, 아래 계층의 변화가 위 계층에 미치는 영향을 최소화
  • 종류
    • 응용 계층(application layer) - 메시지(message)
    • 전송 계층(transport layer) - 세그먼트(segment)
    • 네트워크 계층(network layer) - 패킷(Packet, Datagram)
    • 링크 계층(link layer) - 프레임(Frame)
    • 물리 계층(physical layer) - X
728x90
반응형

'Network' 카테고리의 다른 글

[컴퓨터 네트워크 수업] Chapter 3. Transport Layer 요약  (0) 2025.04.20
[컴퓨터 네트워크 수업] Chapter 2. Application Layer 요약  (0) 2025.04.20
[Network] 무선 네트워크 (Wi-Fi)  (1) 2024.11.29
[Network] SSL/TLS, 그리고 HTTPS  (3) 2024.11.28
[Network] PN과 VPN  (1) 2024.11.27
'Network' 카테고리의 다른 글
  • [컴퓨터 네트워크 수업] Chapter 3. Transport Layer 요약
  • [컴퓨터 네트워크 수업] Chapter 2. Application Layer 요약
  • [Network] 무선 네트워크 (Wi-Fi)
  • [Network] SSL/TLS, 그리고 HTTPS
mxruhxn
mxruhxn
소소하게 개발 공부 기록하기
    반응형
    250x250
  • mxruhxn
    maruhxn
    mxruhxn
  • 전체
    오늘
    어제
    • 분류 전체보기 (150)
      • Java (21)
      • Spring (4)
      • Database (13)
      • Operating Syste.. (1)
      • Computer Archit.. (0)
      • Network (24)
      • Data Structure (6)
      • Algorithm (11)
      • Data Infra (7)
      • DevOps (12)
      • ETC (27)
      • Project (21)
      • Book (1)
      • Look Back (1)
  • 블로그 메뉴

    • 링크

      • Github
    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    mxruhxn
    [컴퓨터 네트워크 수업] Chapter 1. Introduction
    상단으로

    티스토리툴바