3.27 (화) - Network (패킷 통신 - 4가지 지연)
Network
1.6. 패킷의 지연과 손실
◎ 패킷은 Store and Forward 형식으로 전송
- 패킷은 라우터의 버퍼에 시간순으로 저장 후 전송
- 패킷이 라우터에 들어오는 양이 라우터가 전송 가능한 양을 초과한 경우
- 라우터(스위치)의 큐에서 처리순서를 기다림
→ 이때 지연되는 것을 처리지연(processing delay)이라고 함.
- 데이터는 큐에 저장되어 전송을 기다림
→ Queuing 지연 (지연 중에서 가장 심한 지연)
→ 큐잉 지연은 조절이 가능 (혼잡제어) → 우리의 최대 관건
→ 윈도우 사이즈 조절 (흐름제어) → 수신 측의 성능 증대로 현재는 거의 신경쓰지 않음.
- 목적지로 데이터가 전송
- 전송되는 데이터의 지연 (전송 지연)
→ 전송률 (R), 패킷의 길이 (L), 전송 지연 = L / R
→ 위 수식을 계산하는 것이 아닌 반비례관계임을 의미
→ 패킷의 길이가 늘어나면 지연이 늘고, 전송률이 늘면 지연이 줄어듦.
- 데이터가 전파되는 동안의 지연 (전파 지연)
→ 링크의 길이 (d), 전달 속도 (s = 2*10^8 m/sec), 전파 지연 = d / s
- 네트워크의 구조 상, 패킷을 추적한다는 것은 내게서 나가는 패킷의 경로를 추적한다는
것이 아니라, 나의 컴퓨터에 들어오는 패킷을 읽어본다는 뜻이다.
- 후자는 구조 상 불가능.
- 파일 중간 읽어 볼 것 ( 두 가지 지연 )
◎ 전체 노드 간의 지연
- 처리 + 큐잉 + 전송 + 전파 지연
◎ 큐잉 지연
- 트래픽 강도로 계산 될 수 있다.
- 트래픽 강도 = La / R
→ L (패킷의 길이), a = 패킷이 큐에 도착하는 평균 속도, R = Link의 전송률
- 우리는 a를 조절해서 혼잡제어를 처리 → L은 조절할 수 없다. R 역시.
- 혼잡이 발생하면 a를 늦춘다, 반대로는 늘리겠지.
- La / R ~ 0 : 큐잉 지연이 매우 작음
La / R → 1 : 지연이 커짐
La / R > 1 : 큐잉 지연이 무한대로 증가 (큐의 길이가 무한하게 늘어난다)
- 트래픽 강도가 1보다 크지 않게 시스템을 설계
- 네트워크의 설계 시 a를 잘 분석하는 것이 중요.
→ 업무 시간의 Peak 때 네트워크가 원활하도록 설계해야 함.
◎ 인터넷에서의 지연과 경로 확인
- Traceroute : 출발지 - 목적지 호스트까지의 경로 상의 모든 라우터까지의
전달과정 / 지연 측정
◎ 패킷 손실
- 큐의 용량이 무한이면 패킷의 손실이 나타나지 않음.
- 큐의 용량이 무한하지 않고, 트래픽 강도가 1에 접근하면 패킷 지연이 무한이 되지 않음.
- 패킷이 큐에 도착할 때, 큐가 가득 차있다면 패킷은 버려진다.
- 손실된 패킷의 처리는 재전송되거나 무시되거나 교정 될 수 있다. (TCP에서는 재전송)
- source App Layer 에서 destination App Layer로 통신하는 과정.
- 데이터를 받기 위해 커널에서 항상 대기하며 작동 중인 프로그램
Windows : 서비스 Unix : 데몬
댓글
댓글 쓰기