Packet
Packet loss 와 delay 는 어떻게 발생하는가?
=> Packet은 router buffer에 있는 queue에서 대기
- queue에 저장된 packet은 순서를 기다림
- line에 도착하는 속도가 link에서 나가는 속도보다 빠르면, packet loss 발생
Packet delay
Four sources
dnodal=dproc+dqueue+dtrans+dproc
- dproc : 처리 지연
- 비트 에러 검사
- output link 선택
- 일반적으로 msec 미만
- packet 처리하는데 걸리는 delay
- dqueue : 큐잉 지연
- 전송하기 위해 queue에서 대기하는 시간
- 대기 장소 : router buffer
- 기다리는 packet 수에 따라 대기 시간 변경
= 라우터의 혼잡도에 따라 달라짐
- dtrans : 전송 지연
- 패킷을 링크에 넣는 시간
- dtrans=RL
- L : 패킷의 길이(단위 : bits)
- R : 링크 전송률(단위 : bps)
- dprop : 전파 지연
- 링크에서 다음 라우터까지 가는 시간
- dprop=sd
- d : 라우터 사이의 거리
- s : 링크의 전파 속도
전송 지연 과 전파 지연 차이
1. dtrans
- router가 packet을 내보내는데 필요한 시간
- router 간 거리 상관 x
- dprop
- bit가 router1에서 router2로 전파되는데 걸린 시간
- packet 길이 & link capacity 상관 x
예시 : Caravan analogy
- toll booth 사이 = link
- toll booth = router
- 자동차 각각 = bit
- 자동차 10대 묶음 = packet
Q) 두 번째 tool booth에 모두 도착하는데 얼마나 걸리는가?
-
차 속도 100km/hr
-
toll booth service 시간 12sec(bit transmission time)
-
첫 번째 toll booth가 모든 차를 통과시키는데 걸린 시간은 120sec = dtrans
-
마지막 차가 2번째 toll booth에 도착하는데 걸린 시간은 100(km/hr)100(km)=1hr
= dprop
A) 1hr + 120sec = 62minutes
Q2) 첫 toll booth에서 모든 차가 통과하기 전에 두번째 toll booth에 차량이 도착하는가?
- 차 속도 1000km/hr
- toll booth service 시간 1minutes
A) 가능
- 첫 번째 toll booth가 모든 차를 통과시키는데 걸린 시간은 10min
- 처음 통과한 차가 다음 toll booth에 도착하는데 걸리는 시간은 1000(km/hr)100(km)=6
- 따라서 첫 차가 다음 toll booth에 도착하는데 6분 소요
- 첫 차 기준에서 toll booth 통과하는 1분 + 주행 6분 = 7분.
따라서 7분 후, 첫 차는 두번째 toll booth에 도착하고, 세 대의 차량이 첫번째 booth에 남아있다
이는 packet의 앞선 bit들이 나머지 bit들의 전송 대기 시간동안 이미 다음 router에 도착할 수 있음을 의미한다.
Packet queueing delay(revisited)
traffic intensity = RLa
- R : 전송률(bits/sec)
- L : packet 길이(bits)
- a : 초당 packet이 도착하는 평균 횟수(=평균 packet 도착 속도)
- La/R ~ 0 : delay small
- La/R -> 1 : delay large
- La/R > 1 : 거의 동작 X
"Real" Internet delays and routes
- traceroute program : 컴퓨터 네트워크에서 지연을 느끼기 위한 진단 프로그램
- 출발지와 목적지 사이에는 N-1개의 라우터 존재(가정)
- 출발지가 Network로 N개의 특별 packet 전송
- 각 packet은 최종 목적지의 주소를 가짐
- N개의 특별 packet은 1부터 N까지 표시
- n번째 라우터가 n번 packet을 받으면 그 packet을 출발지로 다시 전송
- 목적지 host가 n번째 packet을 받으면, packet 파기 & 출발지로 메세지 전송
- 출발지는 한 packet을 전송 한 후 응답 올때 까지의 경과 시간 & 메세지를 보내온 라우터 이름 & 주소 기록
Packet loss
- lost packet은 이전 노드 혹은 source end system에 의해 재전송될 수도 있으나, 전송되지 않을 수도 있음.
Throughput
처리율 : 송신기ㅔ서 수신기로 비트가 전송되는 속도(bits/time unit)
-
순간적 처리율(instantaneous) : 파일을 수신하는 비율(bits/sec)
-
평균 처리율 : 파일이 F(bit), F bit 수신하는데 T초가 걸린다면, 평균 처리율은 F/T(bits/sec)
-
Rs : Server 와 Router간의 링크 속도
-
Rc : Router와 Client간의 링크 속도
-
Rs<Rc : Rs bps의 처리율이 결과
-
Rs>Rc : Rc bps의 처리율이 결과
위 그림처럼 2개의 링크로 구성된 네트워크의 경우 처리율을 min{Rc,Rs} 이라는 bottleneck link의 전송률이 처리율이 됨.
위 그림에서 처럼 10개의 서버와 10개의 client가 존재.
만약, R이 Rs와 Rc보다 수백 배 크다면, 병목 링크는 여전히 min{Rc,Rs}
하지만, 그렇지 않은 경우 병목링크는 min{Rc,Rs,R/10} 이 된다.
즉 10개의 client가 10등분의 크기를 동등하게 사용한다는 뜻임.
Network Security
Internet은 설계 당시 보안을 염두에 두지 않았음.
- 상호간 신뢰하는 사용자 그룹이 네트워크에 연결
이에 protocol이 새로운 protocol을 만드는 방법으로 대응
Malware
악성코드를 의미한다.
- 바이러스 : 사용자가 메일을 open하는 등의 액션에 의해 자기복제
- 웜 : 사용자의 액션없이 컴퓨터의 약점을 공격하고 복제
malware는 위처럼 두가지로 나뉜다.
추가적인 개념을 살펴보자.
- spyware malware : 키 입력, 방문한 사이트 등의 정보를 업로드
- 감염된 host는 botnet에 등록.
- 스팸 또는 분산 서비스 거부(DDoS) 공격에 사용됨.
Dos : Denial of Service
- 서비스 공격하는걸 거부시키게 하는 공격
- 즉, 서비스 처리를 어렵게 함(ex) tcp 연결 제한)
- 타겟 서버를 정하고 특점 컴퓨터를 botnet을 통해 감염
- 임의로 조정하여 타겟에 가짜 트레픽을 처리
- 가용자원 소진
Protocol
Example: Organization of air travel
이런 예시를 통해 layering의 이유를 알 수 있다.
==> 복잡한 시스템을 쉽게 관리할 수 있음
또한, 모듈화를 시켜놓으면 시스템 유지/업데이트 쉬움.
하나의 layer 구현을 바꾸면 다른 layer 영향 x
Internet protocol stack
- Application : 네트워크 애플리케이션 서포팅
- Transprot : 프로세스간 데이터 교환
- network : 컴퓨터간 연결
- link : 인접 네트워크 요소 간 데이터 전송
- physical : 데이터 전송하는 물리계층
Encapsulation