[CS/ Network] 컴퓨터 네트워킹 하향식 접근 8판 3장 트렌스포트 계층 3.6 혼잡 제어의원리

yujeongkwon·2023년 9월 4일
0

CS / Network

목록 보기
16/27

3.6 혼잡 제어의원리 233
3.6.1 혼잡의원인과 비용 233
3.6.2 혼잡제어에대한 접근법 238

🥴3.6.1 혼잡의원인과 비용

혼잡이 발생하는 경우와 혼잡 비용

시나리오 1: 2개의 송신자와 무한 버퍼를 갖는 하나의 라우터

  • 가장 간단
  • 호스트 A와 호스트B
    • 애플리케이션이 '원래 데이터의 바이트'/초의 평균 전송률로 연결상으로 데이터 전송
      • ex) 소켓을 통해 트랜스포트 계충 프로토콜로 데이터를 넘겨주는 것
      • 이는 원본 데이터 : 각 데이터 단위가 소켓으로 한 번만 전송되므로
      • 트랜스포트 계층과 하위 계층에서 헤더 정보의 추가로 인한 부가적인 오버헤드 무시
    • 하위의 트랜스포트 계층 프로토콜은 단순하게 데이터를 캡슐화하고 전송
    • 오류 복구(ex-재전송), 흐름 제어, 혼잡 제어 수행 X
    • 전송되는 패킷은 라우터와 용량 R의 공유 출력 링크를 통과
    • 라우터는 패킷 도착률이 출력 링크의 용량을 초과하여 입력되는 패킷들을 저장하는 버퍼를 가짐
      • 무제한의 버퍼 공간을 가진다고 가정


  • 첫 번째 시나리오에서 호스트 A의 연결 성능
    • (a) : 연결 전송률의 함수로 연결당 처리량(수신자 측에서의 초당 바이트 수)
      • 0~R/2 사이의 전송률 : 수신자 측의 처리량 = 송신자의 전송률
      • 송신자가 보내는 모든 데이터는 유한한 지연으로 수신자에게 수신
      • R/2~ 일 때 전송률 : R/2의 처리량
      • ㄴ= 링크는 안정 상태에서 R/2를 초과해서 패킷을 수신자에게 전달X
      • ㄴ= 호스트 A, B의 전송률을 아무리 높게 설정하더라도 각자 R/2보다 더 높은 처리랑을 결코 얻을 수 없다.
      • R/2의 연결당 처리량을 얻는 것은 목적지에 패킷을 전달하는 데 링크를 최대로 활용하므로 좋은 현상
    • (b) : 링크 용량 근처에서 동작의 결과 : 지연
      • 전송률이 R/2에 근접하면, 평균 지연은 점점 커진다.
      • R/2 ~ 전송률 : 라우터 안에 큐잉된 패킷의 평균 개수는 제한X + 출발지와 목적지 사이의 평균 지연이 무제한
        • 연결은 시간의 제한된 주기 동안 이러한 전송률로 동작하고 무한한 사용 가능한 버퍼링을 한다고 가정
      • R근처의 전체 처리량에서 동작
    • 처리량 관점 : 이상적
    • 지연 관점 : 이상적X
    • 혼잡 네트워크의 한 비용 발생 : 패킷 도착률이 링크 용량에 근접함에 따라 큐잉 지연이 커짐.


시나리오 2: 2개의 송신자. 유한 버퍼를 가진 하나의 라우터

  • 시나리오 1 변경
    1. 라우터 버퍼의 양이 유한하다고 가정
      • 이 현실적인 가정에 따라,이미 버퍼가 가득 찼을 때 도착하는 패킷들은 버려진다.
    2. 각 연결은 신뢰적이라고 가정
      • 패킷이 라우터에서 버려지면, 송신자에 의해 재전송
  • γin바이트/초 : 애플리케이션이 원래의 데이터를 소켓으로 보내는 송신율
  • γ'in바이트/초 : 네트워크 안으로 세그먼트를 송신하는 트랜스포트 계층에서의 송신율
    = 네트워크에 제공된 부하


  • 성능은 재전송 수행에 따라 결정됨
    • (a) : 호스트A가 라우터에 있는 버퍼의 공간을 알고, 버퍼가 비어 있을 때만 패킷을 송신할 수 있는 비현실적인 경우
      • γin = γ'in : 어떠한 손실도 발생 X
      • γin : 연결의 처리량
      • 처리율 관점 : 송신된 모든 것이 수신 -> 이상적 성능
      • 패킷 손실이 절대로 발생X 가정 -> 평균 호스트 송신율은 R/2를 초과할 수 없음
    • (b) : 패킷이 확실히 손실된 것을 알았을 때만 송신자가 재전송하는 좀 더 현실적인
      경우
      - γ'in : 최초의 데이터 전송과 재전송 합의 속도
      - γ'in이 R/2일 경우, 데이터의 전송률: R/3
      - 전송된 데이터의 R/2 중 0.333R바이트/초(평균는 원래의 데이터
      - 초당 0.166R바이트/초(평균)는 재전송 데이터
      - 혼잡 네트워크의 또 다른 비용인, 송신자는 버퍼 오버플로 때문에 버려진 패킷을 보상하기 위해 재전송을 수행해야 함.
    • (c) : 송신자에서 너무 일찍 타임아웃되어 패킷이 손실되지 않았지만 큐에서 지연되고 있는 패킷을 재전송하는 경우
      • 원래의 데이터 패킷과 재전송 패킷 둘 다 수신자에게 도착
        • 수신자는 단지 하나의 패킷 복사본만 필요하므로 재전송된 패킷은 버림
        • ㄴ-> 라우터에서 복사본 전달 작업은 낭비
        • ㄴ=> 따라서 라우터는 다른 패킷을 송신하기 위해 링크 전송 용량을 사용
      • ㄴ=> 여기에 혼잡 네트워크의 또 다른 비용인, 커다란 지연으로 인한 송신자의 불필요한 재전송은 라우터가 패킷의 불필요한 복사본들을 전송하는 데 링크 대역폭을 사용하는 원인이 됨.
      • 아래 곡선은 각 패킷이 라우터에 의해 두 번씩 전달(평균)된다고 가정했을 때,제공된 부하에 대한 처리량
      • 각 패킷이 두 번씩 전달되므로 제공된 부하가 R/2일 때 처리량은 R/4의 점선 값을 가짐


시나리오 3: 4개의 송신자와 유한 버퍼를 갖는 라우터. 그리고 멀티홉 경로

  • 4개의 호스트는 그림 3.47과 같이 겹쳐지는 2홉 경로를 통해 패킷을 전송
  • 가정
    • 다시 각각의 호스트가 안정적인 데이터 전송 서비스를 실행하기 위해 타임아웃/재전송 메커니즘을 사용
    • 모든 호스트는 γin의 동일한 값을 갖고,모든 라우터 링크는 R바이트/초 용량을 가짐
  • 라우터 R1과 R2를 지나가는 호스트 A에서 호스트 C까지의 연결
    • D~B 연결과 라우터 R1을 공유
    • B~D 연결과 라우터 R2를 공유


  • γin의 극히 작은 값일 때
    • 버퍼 오버플로는 거의 발생X
    • 혼잡 시나리오 1과 2처럼 처리량은 제공된 부하와 거의 같다.
    • γin의 약간 더 큰 값에 대해 원래의 데이터가 네트워크로 전송->목적지에 전달->오버플로가 거의 발생X -> 해당하는 처리량은 약간 커짐
    • ㄴ=> γin이 작은 값일 때,γin의 증가는 γout의 증가를 가져옴.
  • γin값(+γ'in)이 매우 큰 경우
    • 라우터 R2를 고려
      • 라우터 R1 에서 전달된 후 R2에 도착한 A~C 트래픽은 R2에서 γin값에 관계없이, R1에서 R2까지의 링크 용량, 최대 R인 도착률을 가질 수 있다.
      • 만약 γ'in이 모든 연결에 대해 매우 크다면, R2의 B~D 트래픽 도착률은 A~C 트래픽 도착률보다 클 수 있다.
      • A~C, B~D 트래픽은 버퍼 공간을 R2 라우터에서 경쟁
        ㄴ-> R2를 성공적으로 통과하는 A~C 트래픽의 양 ∝ 1/B~D에서 제공된 부하
      • 제공된 부하가 무한대에 가까워지면, R2의 빈 버퍼는 즉시 B~D 패킷으로 채워지고 R2에서 A~C 연결의 처리량은 0이 됨
        = 트래픽이 많은 경우 A~C종단 간 처리율이 0이 됨
    • = 제공된 부하와 처리량 간의 트레이드오프 발생
  • 제공된 부하와 처리량 간의 트레이드오프 원인: 네트워크가 수행한 헛된 '작업’의 양 고려 - 패킷이 두 번재 홉에서 버려지면, 첫 번째 홉에서 수행한 작업은 헛된 것이 됨.
    • 만약, 첫 번째 라우터가 간단하게 그 패킷을 포기하고 유휴 상태를 유지한다면,네트워크는 그만큼 나빠짐.
    • 첫 번째 작업의 헛된 작업에서 사용된 전송 용량은 다른 패킷을 전송하기 위해 더 유익하게 사용될 수 있음
      • ex) 전송 패킷을 선택할 때,라우터가 이미 여러개의 상향 라우터를 거친 패킷에게 우선순위 주기
  • 혼잡 때문에 패킷을 버려야 하는 비용 : 패킷이 경로상에서 버려질 때, 버려지는 지점까지 전송하는 데 사용된 상위 라우터에서 사용된 전송 용량은 낭비된 것이다.


3.6.2 혼잡 제어에 대한 접근법

어떤 직접적인 도움을 제공하는지에 따라 혼잡제어 접근 구별

  • 종단 간의 혼잡 제어
    • 네트워크 계층은 혼잡 제어를 위해 트랜스포트 계층에게 어떤 직접적인 지원도 제공X
    • 네트워크에서 혼잡의 존재는 단지 관찰된 네트워크 동작(ex 패킷 손실 및 지연)에 기초하여 종단 시스템이 추측
    • ex) 3.7.1절에서 IP 계층이 네트워크 혼잡 관리 X -> TCP가 종단 간 접근 방식을 취해 혼잡 제어
      • 타임아웃 또는 삼중의 중복 확인에 의해 나타나는 세그먼트 손실은 네트워크 혼잡의 발생 표시로 간주 -> 그에 따라서 윈도 크기를 줄임.
      • +) TCP가 증가하는 왕복 지연값을 네트워크 혼잡 증가 지표로 사용
  • 네트워크 지원 혼잡 제어
    • 라우터들은 네트워크 안에서 혼잡 상태와 관련하여 송신자나 수신자 또는 모두에게 직접적인 피드백을 제공
    • 이 피드백은 링크의 혼잡을 나타내는 하나의 비트처럼 간단하고, 정교하게도 가능
    • ATM ABR(Available Bite Rate) 혼잡 제어에서 라우터는 자신이 출력 링크에 제공할 수 있는 전송률을 송신자에게 명확히 알릴 수 있게 함.
    • 3.7.2절에서는 IP와 TCP가 네트워크 혼잡 제어를 선택적으로 구현 가능함을 배움.
    • 아래 그림처럼 전형적인 2가지 방법 중 하나로 네트워크 송신자에게 피드백
    • 직접 피드백 : 네트워크 라우터에서 송신자에게 전송
        1. 초크 패킷의 형태 : "나는 혼잡하다!!" 말함
        1. 흐르는 패킷 안의 특정 필드에 표시/수정 : 수신자가 패킷을 수신 했을 때, 혼잡 상태를 송신자에게 알림. 이는 왕복시간이 걸림.

profile
인생 살자.

0개의 댓글

관련 채용 정보