일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- python
- 연결리스트 종류
- JVM
- heapq
- 자료구조
- 프로세스
- Kruskal
- 운영체제
- 최소힙
- 점근적 표기법
- AVL트리
- JPA
- 백준 장학금
- spring
- 엔티티 그래프
- 최대 힙
- 백준장학금
- MSA
- 힙트리
- 연결리스트
- SpringSecurity
- HTTP
- 이분탐색이란
- jpa n+1 문제
- 강화학습
- 완전이진트리
- 스케줄링
- 멀티프로세서
- posix
- 알고리즘
- Today
- Total
KKanging
[Network] 패킷 교환 방식과 지연 시간 본문
Network Core
Network core : 상호 연결된 라우터들의 그물망
어떻게 라우터들은 데이터를 전송할까?
1. 패킷 교환 방식
2. 회선 교환 방식
패킷 교환 방식
패킷 교환 방식이란?
-> 패킷 교환 방식은 호스트는 애플리케이션 계층의 메시지를 패킷으로 분할
- 출발지부터 목적지까지의 경로 상에 있는 링크를 통해 다음 라우터로 패킷을 전달
- 요구할 때만 전송 링크 사용을 할당
패킷 교환 방식의 순서
- 클라이언트가 패킷을 목적지 주소로 보내면 가까운 라우터가 받을 것
- 포워딩 테이블을 확인하여 다음 링크 경로로 포워딩하게 된다.
포워딩 vs 라우팅
라우팅 : 출발지부터 목적지까지 많은 라우터를 거치는데 총 경로
포워딩 : 목적지까지에 당장 라우터의 입장의 링크 경로
패킷 교환 : store - and - forward
패킷이란?
한 데이터를 패킷 단위로 쪼갠다.(데이터의 최소 단위라고 생각해도 된다)
1개의 패킷을 나눠서 보낸다. ( 한번의 보내는게 아님)
라우터는 1개의 전체 패킷이 도착하면 저장후 전달한다.
굳이 저장하고 전달하는 이유는 ?
오류검사 , 출력 링크 결정 모든 패킷을 다 받으면 라우터는 다음 목적지로 보낸다
저장-후-전달(store and forward):
반드시 전체 패킷이라우터에도착해야, 다음링크에전송할수 있음
전송지연(packet transmission delay):
R bps의 링크에L-bit 패킷을전송(밀어넣기)하는데
L/R초가걸림
출발지와 목적지 사이에 N개의 링크가 있다면 종단간 전송 지연시간은약N∙L/R
패킷 교환 : Queueing(큐잉)
라우터가 패킷을 저장하는 버킷의 크기는 한정적이다.
-> 만약 라우터가 처리하는 속도보다 더 빠르게 데이터가 도착한다면?
-> 이때 라우터는 패킷을 규처럼 대기 시킨다
-> 근데 대기 시키는데 버퍼가 꽉 찬다면 패킷을 폐기한다. ( 패킷 손실 발생할 수 있음)
-> 일정시간 동안 라우터에 도착하는패킷이 라우터에서나가는패킷보다많다면
회선 교환 ( circuit switching)
회선 교환 방식이란?
종단간 연결 설정
-> 출발지와 목적지 간 경로에 있는 라우터들이 연결 설정을 위해 자원을 예약하고 연결 상태를 유지
-> 예약된 자원은 공유하지 않음 (전용 자원 ) -> 성능 보장
-> 설정된 연결을 사용하지 않으면 자원은 낭비, 연결 설정을 위한 시간 필요
-> 기존 전화망에서 일반적으로 활용한다.
Performance : loss , delay , throughput
패킷 손실
패킷이 손실되는 이유는 다음과 같다
라우터의 패킷은 손실이 나는 경우는 다음과 같다
라우터의 처리속도보다 패킷이 더 빨리 도착
그리고 라우터의 buffer가 꽉차서 손실됨
패킷이 지연되는 4가지 이유
4가지 기본 요소 중 큐잉만 가변값이다
나머진 고정 값일 확률이 높다.
- 처리 지연
패킷 헤더를 조사하고 그 패킷을 어디로 보낼지를 결정하는 시간은 처리지연에 해당
- 큐잉 지연
패킷은 큐에서 링크로 전송되기를 기다리면서 큐잉 지연을 겪는다.
특정 패킷의 큐잉 지연 길이는 큐에 저장되어 링크로 전송되기를 기다리는 다른
패킷의 수에 결정된다.
- 전송 지연
전송 지연은 패킷의 모든 비트를 링크로 밀어내는 데 필요한 시간
L비트의 전송률 R 이라고 할 때 전송지연은 L/R
- 전파 지연
일단 비트가 링크에 전해지면 라우터 B까지 전파되어야 한다. 링크의 처음부터 라우터까지
전파에 필요한 시간
전파지연은 d/s => d는 라우터 A와 B 사이의 거리고, s는 링크의 전파속도)이다.
전파 지연과 전송 지연의 명확한 차이
전파 지연은 라우터 사이의 이동 지연 시간을 의미하고
전송 지연은 한 라우터에 한개의 패킷을 링크로 밀어내는 데 필요한 시간
큐잉 지연과 패킷 손실
a : 큐에 도착하는 패킷의 평균율이다. (패킷/초)
L : 패킷의 비트 L 비트
R : 라우터의 비트가 초당 링크로 밀어나는 율 (비트/초)
L*a/R -> 트래픽 강도
0에 근접하다는건 라우터에서 전송하는 비트보다 더 적게 비트가 도착한다는 의미이다.
1에 근접하다면 큐잉 딜레이가 증가하게 된다.
1이상이라면 이론상 무한대로 늘어나게된다.
트래픽 강도가 1보다 크지 않게 시스템을 설계해야한다.
처리율과 지연시간 측정은?
실제 인터넷의 지연 및 손실을 알기위해 정찰 패킷을 보냄으로써 정찰 패킷을 받은
라우터는 목적지 호스트로 보내는 것이 아닌 출발지 호스트로 보낸다.
패킷 손실
위 예제는 라우터의 버퍼가 무제한이라는 가정하에 있다.
하지만 현실 버퍼의 크기는 유한하다.
라우터의 트래픽이 몰려서 버퍼가 쌓여서 저장할 수 없다면 라우터는 패킷을 버린다.
손실 패킷의 비율은 트래픽 강도가 클수록 증가한다.
그러므로 노드에서의 성능은 흔히 지연뿐 아니라 패킷 손실 확률로도 측정한다.
Throughput
처리율 : 단위 시간 당 출발지로부터 목적지까지 전달 된 비트의 양(bits/sec)
- Instantaneous throughtput ( 순간적 처리율 ) :호스트가 어떠한 비트의 순간 처리율
- Average throughput (평균 처리율 ) : F비트를 수신하는데 T초가 걸린다면 F/T이다
처리율이 지속적으로 어떤 임계값을 넘는 것이 바람직하다.
지연은 심각하지 않으나 가능한 높은 처리율을 갖는 것이 바람직하다.
병목링크
종단 간 처리율은 각 몇인가
1은 Rs 정도의 처리율을 가질 것이다.
2는 Rc 정도의 처리율을 갖는다
이유는 가장 작은 처리율 만큼만 속도가 맞춰지기 때문이다.
이를 병목 링크라 한다.
링크가 많을 수록 병목링크 발생확률이 많아 진다.
프로토콜 스택
'cs > 컴퓨터네트워크' 카테고리의 다른 글
[Network] 비디오 스트리밍과 컨텐츠 분배 네트워크 (0) | 2024.05.30 |
---|---|
[Network] DNS - 인터넷 디렉터리 서비스 (0) | 2024.05.29 |
[Network] E-mail , SMTP , IMAP (0) | 2024.05.29 |
[Network] 네트워크 애플리케이션의 원리 (0) | 2024.05.29 |
[Network] 네트워크 구성요소 (0) | 2024.05.27 |