CS/네트워크

[네트워크] KOCW 이석복 교수님 강의 - 1. 컴퓨터네트워크 기본1

pythaac 2022. 3. 28. 07:06

  • Network Edge
    • laptop/desktop : 웹 브라우저에 해당
  • Network core
    • 라우터

  • Edge의 종류
    • 서버
    • 클라이언트

  • 데이터 통신 서비스
    • 1. connection-oriented service : TCP
      • 신뢰성
        - 손실 없이 내 데이터가 도착
      • 순서
        - 내가 보낸 순서대로 도착
      • flow control
        - reciever가 받을 수 있는 속도에 맞춰 sender가 보내는 것
      • congestion control
        - 네트워크 상황에 맞춰서 네트웤이 받을 수 있는 능력에 맞춰서 보내는 것
    • 2. connectionless service : UDP
      • TCP의 반대 : 신뢰성 x, 순서 x, flow control x, congestion control x
      • 왜 필요할까? -> 신뢰성이 필요하면 TCP, 필요없으면 UDP
      • ex) 전화 : 음성 데이터는 몇 개 유실되도 인지하지 못함
    • 등기/우편과 같음
      • 우편은 도착을 보장하지 않음
      • 등기는 도착을 보장하지만 비용이 발생함 (컴퓨터 리소스)

  •  Protocol
    • 정말 중요한 메시지를 주고받기 위한 준비과정
    • 서로 같은 프로토콜이어야 얘기가 통함
    • TCP는 신뢰성 있게 얘기하는 방식, HTTP는 Hyper Text를 주고 받기 위해 얘기하는 방식...

  • Network Core
    • 데이터를 주고 받는 2가지 방식
      • 1. circuit switching
        • 출발지에서 목적지까지 가는 길을 미리 예약을 하고 특정 사용자만 사용하도록 만듦
      • 2. packet switching
        • 인터넷이 사용하는 방식
        • 데이터를 패킷단위로 받아서 전송해주는 방식

  • circuit switching vs packet switching
    • 1 Mbps 링크에서 사용자당 100 kbps를 사용할 때
    • circuit switching : 10명 사용 가능
    • packet switching : 몇 명의 개념이 없음
    • 우리가 인터넷을 사용하는 패턴 : 클릭하고 기사 읽고 클릭하고 기사 읽고... 회선을 사용하지 않는 빈 시간이 많음
    • 10명이 동시에 누르는 낮은 확률이 발생하지 않는 이상 문제가 생기지 않고, 우리 사용 패턴에 알맞음
    • 그러나 packet switching에도 문제가 있음

  • packet switching의 문제 : 딜레이
    • 1. processing delay
      - packet이 라우터에 도달하면 패킷을 검사하여 소모되는 시간(올바른 패킷인지, 도착지는 어디인지 등등)
    • 2. queueing delay
      - link로 나가는 양보다 들어오는 양이 많을 수 있으므로 가진 buffer(queue)에서 대기하는 시간
    • 3. transmission delay
      - 패킷의 첫 번째 bit가 나가기 시작하는 시간부터 마지막 bit가 나가기 시작하는 시간까지 걸리는 시간
      - 패킷 크기를 링크 bandwidth로 나눈 시간
    • 4. propagation delay
      - 출발한 패킷이 도착지에 도달하는 시간
      - 링크의 길이 / 빛의 속도
  • 딜레이 줄이기?
    • 4. propagation delay
      - 빛의 속도는 어쩔 수 없음
    • 1. processing delay
      - 처리속도가 빠른 더 좋은 라우터를 구입...
    • 3. transmission delay
      - 케이블 공사로 bandwidth를 늘림...
    • 2. queueing delay
      - 사람들이 언제 인터넷을 사용하는지 모름.. 조절 불가능
      - 사람들이 몰리는 건 조절할 수 없음
    • Queue보다 더 많은 데이터가 들어오면?
      - 어쩔 수 없음... 데이터를 버리므로 손실
      - 데이터 손실의 90% 이상이 queue가 넘쳐서 손실됨

  • 데이터 유실
    • 라우터의 라우터를 거쳐 queue에서 계속 delay 발생
    • 중간 queue에서 데이터 유실 발생
    • TCP는 도착을 보장하는 프로토콜이므로, 재전송으로 해결
      • 누가 재전송?
      • (1) 패킷 source (edge)
      • (2) 손실이 발생한 중간 라우터 (core)
      • Edge인 source에서 재전송함
        - 라우터는 forwarding만 하는 역할