이론공부/컴퓨터네트워크

[컴퓨터네트워크] 01. 컴퓨터 네트워크 기본

Ssubini 2022. 4. 26. 00:14
  • 네트워크 구조
    • network edge : 흔히 사용하는 랩탑, 데스크탑 , 웹서버, 웹 브라우저 등
    • network core : 라우터, 네트워크들의 네트워크
    • 네트워크 링크 연결 ( 무선 연결, 유선연결 , ...다양...)

Network-Edge

  • 클라이언트 : 필요할때 켜서 서버에 요청함
  • 서버 : 항상 켜져있으면서 클라이언트로부터 요청 받아옴
  • Connection- Oriented Service
    • ex> TCP Service
      • 사용자에게 reliable(의존가능한/신뢰성 있는), in-order(순서를 지키는) byte-stream data 전송을 제공
      • flow control : sender가 데이터를 전달하는데 receiver가 받을 수 있는 속도를 맞춰서 전달
      • congestion control : sender과 receiver 사이의 네트워크가 전달 가능한 속도에 맞춰서 전달
      • =>신뢰성 있음, 비용이 듦
  • Connectionless Service
    • ex> UDP
      • Connectionless :
      • unreliable data transfer :
      • no flow control :
      • no congresion control :=> 언제 쓸까? -> reliable 하지 않은것에 사용 괜찮 ex) 실시간 음성 전화
      • => 아무것도 제공x. 유실되어도 상관없고 그냥 내맘대로 보냄 => UDP 사용
  • Protocol 이란?
    • 대화의 약속
    • 중요한 메시지를 주고받기 위해 필요

Network Core

  • 라우터들의 얽히고 섥힌 집합
  • 라우터들이 메시지를 전달하는 방식
    • circuit switching : 출발지~목적지 길을 다 예약해두고 그 사용자 만을 위해 그 길을 사용하는 것
    • packet- switching : 사용자가 보내는 메시지(packet)를 packet 단위로 받아서 그때그때 올바른 방향으로 보내주는것따라서 circuit 보다 packet이 더 많은 사람이 사용할 수 있음
      • packit 받으면 processing 검사 -> 이 때 delay : processing 딜레이
        • => 라우터 성능 개선으로 개선 가능 (하이패스 설치)
      • 이후 outgoing edge로 뽑아내야 하는데 이 out going edge의 queue에 나갈 애들이 대기하고 있으면 앞에 애들 나갈 때 까지 기다려야함 : queueing delay
        • => 사람들의 인터넷 사용 패턴에 의한 것이기 때문에 해결이 어려움. (명절에 사람 몰리는것)
        • 사람들이 너무 많이 몰려서 queue의 크기보다 커지면 데이터의 유실이 발생할 수 있음.
        • => 만약에 유실이 발생하면 edge 에서 다시 보내야 함 중간애들은 그런것을 신경쓸 수 없는 단순 작업만 가능(dumb core)
      • 첫번째 나가야하는 애부터 마지막 애가 끝까지 나갈 때 까지의 delay : Transission delay
        • R = link bandwidth(bps), L = packet length(bits) => bits를 link로 보내는 시간 : L/R
        • => 케이블 성능 개선으로 개선 가능 (8차선 도로로 늘리기)
      • 마지막 bits가 link에 올라와서 다음 라우터까지 가는데 걸리는 시간 : Progagation delay
        • Progagation delay = 링크 길이/빛의 속도
    • 하지만 운이 좋지 않아서 감당 수준 이상의 user가 몰리면 문제(delay/ loss)가 발생할 수 있음.
    • => 인터넷을 사용하는 패턴은 필요할 때 요청을 보내고, 각자의 리듬에 따라 분산되어 이용할 수 있음.