[network] 1. 컴퓨터 네트워크와 인터넷

Jimin·2022년 4월 19일
0

1. 컴퓨터 네트워크와 인터넷

<목차>

  • 인터넷, 프로토콜
  • Network edge: hosts, access network, physical media
  • Network core: loss, delay, throughput
  • Protocol layers, service mod2els
  • Security

인터넷과 프로토콜

  1. 인터넷 : 네트워크들의 네트워크: 상호연결된 ISP들
  2. 프로토콜
    1. 정보(메시지)의 송수신을 제어
    2. TCP (Transmission Control Protocol), IP (Internet Protocol), HTTP, SMTP, 이더넷 (Ethernet)
  3. 인터넷 표준: IETF, RFC

네트워크 요소

  1. 네트워크 가장자리 (edge)

    • 종단 시스템 (end system, host)
      • 애플리케이션을 수행 (웹, 전자 메일 등)
      • 네트워크의 가장자리에 위치
  2. 접속 네트워크 (access network), 물리 매체 (phsical media)

    1. 종단 시스템과 가장자리 라우터 (edge router)에 접속

      b. 무선 및 유선 통신 링크

  1. 네트워크 코어 (core)
    1. 상호 연결된 라우터들의 연결망(mesh)
    2. 패킷 스위칭 (packet switching)
      • 호스트는 애플리케이션 계층의 메시지를 패킷 (packet)이라 알려진 작은 덩어리로 분할
      • 패킷들은 송신 측과 수신 측의 경로 상의 링크와 라우터를 거쳐 전송 (패킷들은 한 라우터에서 다른 라우터로 전달 - forward)
      • 각 패킷은 링크의 최대 전송률 (full link capacity) 속도로 전송
    3. 회선 교환 (circuit switching)

패킷 교환 네트워크

  1. 호스트의 패킷 전송

    1. 호스트의 송신 동작
      • 애플리케이션의 메시지를 받음
      • 메시지를 길이 L비트의 더 작은 덩어리인 패킷으로 분할
      • 패킷을 네트워크 전송률/전송속도 R로 전송 (링크 전송 속도: 용량 capacity, 대역폭 bandwidth)
      • 패킷 전송 지연 = 링크로 L bit를 전송하는데 걸리는 시간 = L (bits) / R(bits/sec)
  2. 저장 후 전달 (store-and-forward)

    1. L bit의 패킷을 Rbps 속도의 링크로 전송하는데 L/R초 걸림
    2. 저장 후 전달(store-and-forward): 다음 링크로 전송하기 전에 전체 패킷이 라우터에 도착해야 함
  3. 큐잉 지연과 패킷 손실 (Queuing Delay, Loss)

    1. 일정 시간동안 라우터의 입력 링크에 비트가 도착하는 속도가 전송률보다 빠른 경우
    2. 패킷은 큐에 저장되고 출력 링크 상에서 전송되기를 기다림
    3. 큐의 메모리가 꽉 차 있는 경우 패킷은 손실됨
  4. 네트워크 코어의 주요 기능

    1. 라우팅 (routing): 소스에서 목적지까지 패킷 경로를 결정. 라우팅 알고리즘
    2. 전달 (forwarding): 라우터의 입력에서 적절한 라우터 출력으로 패킷을 이동
  5. 회선 교환(Circuit Switching)

    1. 경로 상에 필요한 자원(버퍼, 링크 전송률)이 통신 세션동안 예약
    2. 자원이 공유되지 않음
    3. 송신자와 수신자 간의 경로에 있는 스위치들이 연결 상태를 유지
    4. 송신자와 수신자 간의 전송률 보장
    5. 기존의 전화망
  6. 패킷 교환 대 회선 교환

    ex) 사용자들이 1Mbps 링크를 공유, 각 사용자는 활동시 100Kbps, 전체 시간패킷

    1. 회선 교환
      • 100Kbps가 각 사용자에게 예약
      • 1Mbps / 1000Kbps = 10명의 사용자만 동시에 지원
    2. 패킷 교환
      • 특정 사용자가 활동하고 있을 확률은 0.1 (10%) ← 100K / 1Mc = 0.1
      • 35명의 사용자가 있을 경우 11명 이상의 사용자가 동시에 활동할 확률은 0.0004
      • 따라서 회선 교환과 대등한 지연 성능을 가지면서 3배 이상의 사용자 수를 허용

패킷 지연 유형, 손실과 처리율

  1. 라우터에서의 처리 지연 (nodal processing delay)

    1. 라우터에서의 처리 지연
    2. 패킷의 헤더를 조사하고 어느 출력 링크로 보낼지 결정하는 시간
    3. 패킷의 비트 수준 오류를 조사하는데 필요한 시간
    4. 고속 라우터에서 처리 지연은 수 밀리초
  2. 큐잉 지연 (queuing delay)

    1. 패킷이 큐에서 출력 링크로 전송되기를 기다리는 시간
    2. 라우터 혼잡 수준 (congestion level)에 좌우(이미 큐에 저장된 패킷들 수에 의해 결정)
    3. 일반적으로 수 밀리초에서 수 마이크로초
  3. 전송 지연 (transmission delay)

    1. 패킷의 모든 비트들을 링크로 밀어내는(전송)데 필요한 시간
    2. 저장 후 전달 지연
    3. 전송 지연 = L (packet length, bits) / R (link bandwidth, bps)
  4. 전파 지연 (propagation delay)

    1. 출력 링크에서 다음 라우터까지 전파하는데 필요한 시간
    2. 전파 속도는 링크의 물리 매체 (광섬유, 꼬임쌍선 등)에 좌우
    3. 전파 지연 = d (두 라우터 간의 거리) / s (매체의 전파 속도 (2 10^8 m/sec ~ 3 10^8 m/sec)
  5. 전체 노드 지연 (nodal delay)

    : d nodal = d proc + d queue + d trans + d prop

    1. d proc: 처리 지연 → 일반적으로 수 마이크로 초 정도
    2. d queue: 큐잉 지연, 혼잡도(congestion)에 좌우
    3. d trans: 전송 지연, L/R, 저속 링크에는 상당한 지연
    4. d prop: 전파 지연, 수 마이크로 초에서 수백 밀리 초 (정지 위성)
  6. 트래픽 강도(traffic intensity)

    1. 큐잉 지연의 정도를 측정, 큐가 아주 커서 무한대 비트를 저장한다고 가정
    2. L (패킷 길이, bits), a (패킷이 큐에 도착하는 평균률, packets/sec), R (링크 전송률로 비트가 큐에서 나가는 비율(bits/sec)일 때 LA/R
    3. 0에 가까우면 편윤 큐잉 지연 시간은 작음
    4. 1에 접근하면 큐잉 지연은 아주 커짐
    5. 1보다 커지면 서비스 용량을 초과하여 평균 지연이 무한대로 커짐
  7. 패킷 손실 (packet loss)

    1. 앞에서 큐 (버퍼)가 무한대 패킷을 저장한다고 가정함
    2. 실제는 라우터 큐 용량이 유한하고, 큐가 차게 되어 도착한 패킷을 저장할 수 없으며 패킷을 버리게 되어 (drop), 패킷을 잃어버림 (loss) → 패킷 손실 발생 원인!!
    3. 잃어버린 패킷은 이전 노드나 출발지 종단에서 재전송될 수 있음
  8. 처리율 (throughput)

    1. 종단 간에 비트가 전송되는 비율(속도, 비트/초)
    2. 순간적인 처리율
      • 주어진 순간에 전송 비율
      • 파일 수신 시 파일을 수신하는 비율
    3. 평균 처리율
      • 주어진 시간 동안의 전송 비율
      • 파일의 크기가 F이고 모두 수신하는데 T초 걸린다면, F/T bits/sec가 평균 처리율이 됨
    4. 링크 Rs, Rc가 있을 때, 병목 링크의 처리율은 min (Rs, Rc)
  9. 계층적 구조를 갖는 이유 및 장점 - layering

    1. 복잡한 시스템을 설계하고 논의하는 접근 방식
    2. 명시적 구조는 식별과 시스템 조각의 관계를 허용
    3. 모듈화 → 유지보수 용이 : 계층 서비스 구현의 변경 (시스템의 나머지 부분에 명확히)

네트워크 보안

: 인터넷이 널리 퍼진 지금은 보안을 고려하는 것이 필수

  1. 멀웨어 (malicious software)
    • keystroke: 보안 카드 번호 등 으로 알아냄
    • worm: 자가복제로 많은 트래픽 발생으로 네트워크 마비
    • trojan horse: 바이러스 투입시켜 침투 가능
    • Dos (Denial of Service): botnet을 이용해 트래픽 발생, 네트워크 마비
  2. 패킷 스니퍼 (Packeet Sniffer): 트래픽을 캡쳐하고 정보를 빼냄 → wireShark
  3. IP spoofing: 한 사용자가 다른 사용자 인 것처럼 위장해서 행동
    • record-and-playback: 통신하고 있는 누 사용자의 중간에서 메시지를 가로채 무결성 파괴

0개의 댓글