네트워크 #2

2023. 12. 30. 23:48·복습/네트워크

이 포스팅은 [Computer Networking: A Top-Down Approach]을 바탕으로 작성되었습니다. 
열심히 공부하고 올리는 포스팅이지만... 저는 그저 말하는 감자이므로 정확하지 않은 내용도 포함될 수도 있습니다..

 

 

flow control이란?

지난 포스팅에서 말했듯이 receiver가 받을 수 있는 최대 양을 명시함으로써 sender가 전송 속도를 조절하는 것이다.

 

이와 비슷하면서 다른 개념으로 congestion control이 있다.

congestion은 '혼잡'이라는 뜻이다. 네트워크에서는 이 혼잡은 '여러 sender가 패킷을 빠르게 전송 네트워크 제어가 어려운 상황'을 뜻한다. congestion으로 인해 queing daley와 packet loss가 발생한다.

 

flow control과 congestion control을 잘 구분할 줄 알아야한다.

flow control congestion control
네트워크와 관련이 없다 네트워크와 관련이 있다
하나의 sender 여러 sender

 

scenario1 :

하나의 라우터만 존재하고 라우터의 버퍼는 무한하다.

두 개의 flow가 있다. (flow = 데이터 전송)

link capacity는 R이다.

->

버퍼가 유한하므로 loss가 발생하지 않는다. loss가 발생하지 않으므로 재전송이 필요하지 않다.

하지만 queing delay가 무한대로 증가한다.

두 flow의 sending rate의 합이 R을 초과하면 congestion이 발생한다.

 

scenario2  :

하나의 라우터만 존재하고 라우터의 버퍼는 유한하다.

scenario2 - 1 : perfect knowledge

버퍼에 자리가 있을 때에만 패킷이 전송된다. 그러므로 loss가 발생하지 않는다.

scenario2 - 2 : some perfect knowledge

sender는 패킷이 언제 drop되었는지 알 수 있다.

재전송으로 인해 처리량이 감소한다.

이로인해서 전송하는 쪽의 throughput > 받는 쪽의 throughput 이 된다.

loss로 인해 재전송이 필요하기 때문에 처리량이 증가한다.

scenario2 - 3 : un-needed duplicates

loss가 발생하는 경우는 두 가지 이다. 

1. 실제로 loss가 발생한 경우

2. 가짜로 loss가 발생한 경우 (premature timeout)

가짜 loss로 인해 재전송이 추가적으로 필요하기 때문에 2-2 보다 더 처리량이 감소한다.

2-2와 동일하게 전송하는 쪽의 throughput > 받는 쪽의 throughput 이 된다.

loss로 인해 재전송이 필요하기 때문에 처리량이 증가한다.

scenario3 :

4개의 sender 존재

->

A의 red flow와 B의 blue flow 가 하나의 link를 공유하고 있다. 

이때! red flow의 sending rate를 증가시키면 어떻게 될까? (congestion)

blue flow의 패킷은 모두 drop된다. 즉, red flow가 link를 독점하는 것이다.

 

이를 통해 알 수 있는 사실은 flow의 경로 스위치 중 한 곳이라도 congestion이 발생하면 loss가 발생한다는 것이다.

 

 

 

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

네트워크 #3  (2) 2024.01.17
네트워크 #1  (1) 2023.12.30
'복습/네트워크' 카테고리의 다른 글
  • 네트워크 #3
  • 네트워크 #1
hyeumm.dev
hyeumm.dev
말하는 감자입니다. 많이 응원해주세요..^^
  • hyeumm.dev
    천방지축 개발자 되기 프로젝트
    hyeumm.dev
  • 전체
    오늘
    어제
    • 아무개 (78)
      • 복습 (41)
        • 알고리즘 (3)
        • 소프트웨어디자인패턴 (8)
        • 네트워크 (3)
        • 자료구조 (1)
        • C++ (1)
        • 서구실 (6)
        • 멋쟁이사자처럼 (3)
        • SOPT (7)
        • 소분설 (6)
        • 운영체제 (3)
      • 회고 (2)
        • UMC (0)
      • 프로그래밍 (19)
        • 안드로이드 (15)
        • 백준 (0)
        • 파이썬 기초 (0)
        • kotlin in action (3)
        • 테스트 코드 (1)
      • 디자인 (7)
      • 기획 (3)
        • 서비스 리뷰 (1)
        • IT 알쓸신잡 (2)
      • 대외활동 (5)
        • 네이버 클라우드 캠프 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    #네이버클라우드캠프
    네클캠
    sopt
    비트캠프강남
    KDT
    서류
    ncamp서포터즈
    hyperclovax
    4호선톤
    네이버클라우드
    해커톤
    네이버클라우드캠프
    에이아이팜
    국비교육
    IT동아리
    발대식
    솝트
    네이버클라우드캠프서포터즈
    멋쟁이사자처럼
    PM
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
hyeumm.dev
네트워크 #2
상단으로

티스토리툴바