네트워크

컴퓨터 네트워크 기본 1

hs-archive 2022. 11. 5. 12:42

http://www.kocw.net/home/search/kemView.do?kemId=1169634 

 

컴퓨터네트워크

인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다.

www.kocw.net

https://media.pearsoncmg.com/intl/ge/2021/cws/ge_kurose_compnetwork_8/cw/index.php

 

Companion Website | Computer Networking: A Top-Down Approach, Global Edition, 8/e

VideoNotes Video tutorials illustrating key concepts from the text.

media.pearsoncmg.com


네트워크의 구조

  • 네트워크 가장자리 (network edge)
    • application and host
  • 네트워크 코어 (network core)
    • routers
    • network of network
  • 접속 네트워크 (access networks)
    • 네트워크를 구성하는 선들
    • communication link

 

 

네트워크의 가장자리 (network edge)

  • end system(네트워크 엣지에 있는 client 혹은 server) 간 데이터 전송 서비스를 제공해준다.

 

 

network edge : connection-oriented service (연결 지향 서비스)

  • TCP (Transmission Control Protocol)
    • reliable, in-order byte stream transfer (신뢰성 있는 순서를 지키는 데이터 전송)
    • flow control
      • sender won't overwhelm receiver
        • 전송받는 이의 처리 속도에 맞게 데이터를 전송해준다.
        • 만약 받는 이가 1초에 10건을 처리할 수 있는 능력을 갖고 있는데, 보내는 이가 1초에 10,000개씩 데이터를 보내면 문제가 생기므로 이를 방지하기 위한 것
    • congestion control (혼잡 제어)
      • senders "slow down sending rate" when network congested
        • 통신하고 있는 둘 사이의 네트워크 상황(혼잡도)에 따라 보내는 양을 적절히 조절하는 것
    • TCP를 사용하는 서비스
      • 웹 브라우저

 

 

network edge : connectionless service (비연결 서비스)

  • UDP (User Datagram Protocol)
    • connectionless
    • unreliable data
      • 신뢰성 없음
      • 보내긴 하는데 상대방이 꼭 받는다는 보장 없음
    • no flow control
      • 상대방의 처리 속도 고려 안 함
    • no congestion control
      • 망 혼잡도 고려 안 함
    • UDP를 사용하는 서비스
      • 음성 전화
        • 패킷 몇 개가 도착 못 해도 인간은 인식하지 못하므로 reliable할 필요가 없어서 UDP 사용

 

 

The network core (네트워크 코어)

  • mesh of interconnected routers (상호 연결된 라우터로 구성된 망)
  • the fundamental question:
    • gow is data transferred through net?
      • circuit-switching (회선 교환)
        • 전용 회선 사용
        • e.g. 유선 전화망
      • packet-switching (패킷 교환)
        • 회선 공유

 

 

network core : circuit-switching

  • 출발지부터 목적지까지 가는 길을 예약해 놓고 해당되는 특정 사용자만 사용할 수 있도록 함
    • guaranteed performance
      • 성능이 보장됨
      • 회선을 예약해 놓고 쓰니까 당연
    • dedicated resources : No Sharing
    • call setup required

circuit-switching

 

 

network core : packet-switching

  • 사용자가 보내는 데이터를 패킷 단위로 받아서 그때그때 올바른 방향으로 전송 포워딩해주는 것
  • 회선을 모든 사용자가 공유하며 데이터를 보내고 싶을 때 보내면 됨

packet-switching

 

 

circuit-switching vs packet-switching

  • 1 Mb/s link
  • each user:
    • 100 kb/s when 'active'
    • active 10% of time
  • compare
    • circuit-switching
      • 10 users
    • packet-switching
      • with 35 users, probability > 10 active less than .00004
    • 회선 교환 방식의 경우 고정적으로 10명만 해당 회선을 사용할 수 있지만 패킷 교환 방식은 회선을 점유하는 방식이 아니므로 그보다 더 많은 유저가 사용할 수 있다.
    • 단, 패킷 교환 방식의 경우 사람이 늘어날수록 동시에 10명 이상의 사람이 회선을 사용할 확률이 높아진다는 점을 유의해야 한다.
    • 회선 교환 방식의 경우 회선을 할당받아서 사용하므로 안정적이지만 active 10% of time이므로 1시간을 사용한다 가정했을 때 실제 사용 시간은 6분 정도밖에 안 되므로 나머지 54분을 낭비한 것과 같다.
    • 반대로 패킷 교환 방식의 경우 모두가 같이 사용하므로 회선이 낭비되는 시간은 없으나 방금 언급한 것처럼 사람이 많이 몰릴 경우 문제가 생길 수 있다.
    • 우리가 사용하는 인터넷은 패킷 교환 방식으로 디자인되어있다.

 

 

four sources of packet delay (packet-switching) (패킷 교환 방식을 사용할 때 발생하는 네 가지 딜레이)

  • nodal processing
    • check bit (패킷에 오류가 없는지 확인)
    • determine output link (어디로 보내야 하는지 결정)
  • queueing delay
    • router 안에 있는 queue에서 기다리는 시간
      • router 안에 왜 queue가 있나요?
        • 라우터가 외부로 데이터를 보내는 양보다 들어오는 양이 더 많을 때를 대비하여 데이터(packet)를 잠시 저장해 놓는 buffer(Queue)가 존재한다.
    • time waiting at output link for transmission (보내기 전 기다리는 시간)
    • depends on congestion level of router (라우터의 혼잡도에 따라 달라짐)
    • R: bandwidth(회선의 너비), L: packet length, a: average packet arrival
      • traffic intensity = R / La
        • 1에 가까워질수록 queueing delay가 길어진다.
        • 1을 초과하면 평균 도착 딜레이가 무한이 됨
  • transmission delay
    • 전송되는 패킷의 머리가 나갈 때부터 해당 패킷의 마지막 비트가 나갈 때까지 걸리는 시간
    • bandwidth가 크면 클수록 한 번에 보낼 수 있는 bit의 양이 많아지므로 Transmission delay가 줄어든다.
    • Transmission delay = packet length / bandwidth
  • propagation delay
    • packet의 마지막 bit가 링크에 올라간 시점부터 다음 router에 도달할 때까지 걸린 시간
    • 전송 속도는 빛의 속도이므로 link의 길이가 길어질수록 propagation delay가 길어진다.
    • propagation delay = 링크 길이 / 빛의 속도 

 

** packet이 전송 도중 loss 되었을 때 누가 다시 보내줄까?

  • TCP의 경우 reliable한 서비스를 제공하므로 packet이 중간 어딘가에서 유실되면 분명 누군가 다시 해당 packet을 보내야 한다. 해당 작업은 누가 하는 것일까?
    • network edge에 있는 client 혹은 server가 한다.
    • 중간에 있는 라우터들은 단순히 패킷을 전달하는 역할만 수행한다. 그래야 라우터가 할 일이 더 적어지고 더 싸지기 때문이다. 안 그래도 많은 패킷을 전달하는 라우터들이 재전송 역할까지 하면 전송 속도가 더 느려지고 라우터의 값이 더 비싸질 것이기 때문이다.
    • 더 단순하고, 더 직관적이게 라우터들은 전달만 한다.

 

TCP: 패킷 재전송

 

 

'네트워크' 카테고리의 다른 글

컴퓨터 네트워크 기본 5  (0) 2023.01.09
컴퓨터 네트워크 기본 4  (0) 2023.01.09
컴퓨터 네트워크 기본 3  (0) 2023.01.07
컴퓨터 네트워크 기본 2  (0) 2023.01.07
로드 밸런싱  (0) 2021.07.28