[네트워크] 1-3. delay, security

kkado·2023년 4월 7일
0

네트워크

목록 보기
3/49

⚠️ 들어가기 앞서
경북대학교 컴퓨터학부 COMP0414-001 컴퓨터망 과목을 공부하며 정리한 글입니다.


이 글에서는 앞서 언급했었던 packet loss와 delay에 대해 자세히 다룬다.

1. Delay

패킷이 출발지에서 목적지까지 가는 과정에서 발생하는 지연은 크게 4가지로 분류할 수 있다.

딜레이의 종류

1) nodal processing

다음과 같은 두 가지 원인 때문에 라우터에서 발생하는 지연이다.

  • 들어온 정보가 에러가 없는지 확인하는 작업
  • routing table을 참조하여 어느 link로 보내야 하는지 판별하는 작업

두 작업 모두 매우 짧은 시간이 소요되기 때문에 지연 시간을 계산할 때는 무시하곤 한다.

2) queueing delay

라우터 큐에 먼저 도착한 패킷이 모두 처리되고 자기 차례가 올 때까지 기다리는 시간이다.

라우터의 혼잡도에 따라 달라진다.
다른 패킷들 때문에 발생하는 지연이기 때문에 패킷을 보내는 입장에서는 라우터의 혼잡도를 알기가 쉽지 않으며, 따라서 '내가 이 패킷을 목적지까지 몇 ms만에 보낼 수 있는가' 에 대한 보장을 하지 못한다.

또한, 4가지 딜레이 중 가장 예측이 힘든 딜레이이다.

3) transmission delay

라우터가 패킷을 link로 밀어내는 데 드는 시간이다.

패킷의 크기(packet length)에 비례, 또는 라우터의 성능 (transmission rate)에 반비례한다. 패킷의 크기 L을 link transmission rate R로 나눈 L/R 로 표현한다.

자동차를 타고 집을 나와서 다른 집으로 가는 것에 비유하자면, 시동을 걸고 도로로 나가는 데까지 걸리는 시간이라고 할 수 있다.

4) propagation delay

패킷이 전선을 타고 이동하는 시간이다.

물리적 거리, 또는 전송 매체의 종류에 비례한다. 물리적 거리 d를 전송 매체의 propagation speed s로 나눈 d/s 로 표현한다.

자동차를 타고 집을 나와서 다른 집으로 가는 것에 비유하자면, 도로를 달리는 시간이라고 할 수 있다.


packet queueing delay

단위 시간 당 처리할 수 있는 데이터의 양, 즉 대역폭(bandwidth)을 R 이라고 하고,
한 패킷의 길이를 L 이라고 하고,
단위 시간 당 도착하는 패킷의 수를 a 라고 하면

단위 시간 당 처리해야 하는 데이터의 양은 La 이므로 트래픽 밀도(traffic intensity)는 La/R 로 계산할 수 있다.

La/R 이 얼마냐에 따라 queueing delay가 결정된다.

  • 처리 능력 R이 더 크다면, 큐가 갈수록 비워져 가므로 queueing delay는 작다.
  • 만약 R이 더 작다면, 큐가 갈수록 채워지므로 queueing delay는 무한대이다.
  • 처리 능력과 패킷의 양이 비슷하다면, exponential하게 증가하는 것을 볼 수 있다.

이는 데이터가 간헐적으로, 그러나 폭발적으로 (intermittently, 'bursty') 들어오기 때문이다.

예를 들어서 1초에 1개의 패킷을 처리할 수 있다고 했을 때 (R) 1초에 1개의 패킷이 들어온다면 모든 패킷을 들어오는 족족 처리할 수 있으므로 delay가 없겠으나, 1,000초마다 한 번씩 1,000개의 패킷이 한번에 우르르 들어온다고 해 보면, 각각 2, 3, 4...1000번째 패킷은 1, 2, 3... 999초를 기다려야 한다.

그러므로 전체 대기 시간은 상당히 길어질 수 있다.

traceroute

traceroute 명령은 UDP 패킷과 ICMP 오류 보고 기능을 사용하며, UDP 패킷을 경로상의 각 게이트웨이나 라우터에 세 번 전송합니다. 또한 가장 가까운 게이트웨이에서 시작하여 한 홉씩 검색을 확장합니다. 최종적으로 검색이 대상 시스템에 도달합니다. (출처 : IBM)

traceroute를 통해 delay를 측정할 수 있다.

송신자가 라우터에 패킷을 3개 보낸다. 라우터는 그것을 받은 후 다시 송신자에게 돌려준다. 그러면 송신자는 자기가 패킷을 보낸 시간과 받은 시간을 이용해 지연 시간을 계산할 수 있다.

이를 각각의 라우터에 대해 수행해 본다. 따라서 목적지까지 가는 데 거치는 라우터와 딜레이를 확인할 수 있다.

google.co.kr 에 대해 traceroute를 실행한 모습이다.

방문하는 라우터 경로와 그 딜레이를 확인할 수 있다.


Throughput

쓰루풋(Throughput)은 네트워크 상의 어떤 노드로부터 또 다른 노드로 전달되는 단위 시간당 데이터 전송을 처리하는 양이다.

데이터가 출발지에서 목적지까지 가는 동안 여러 link를 거치게 된다.
그 중 데이터 전송이 원활한 link가 있을 것이고, 데이터 전송이 느린 link가 있을 것이다.

이 중, 데이터의 전체 전송 속도를 결정하는 부분은 데이터 전송이 가장 느린 부분이다. 이러한 부분을 병목(bottle-neck) 이라고 한다.


2. Security

네트워크 통신에서 정보 보안은 매우 중요한 요소이다.
나쁜 이용자들이 정보를 변조시킬 수도 있고, 중간에서 가로챌 수도 있기 때문이다.

우리의 데이터를 괴롭히는 나쁜 아이들은 여러 가지 종류가 있다.

Malware

우리가 흔히 말하는 '악성 코드' 또는 '바이러스' 를 유식한 말로 Malicious Software, 줄여서 Malware (멀웨어) 라고 한다.

멀웨어는 두 가지 종류가 있다.

  • virus (바이러스) : 다른 파일을 감염시키는 형태로 감염된다. 다른 파일로의 자가 복제가 가능하지만 네트워크를 통해 확산되지는 않는다.
  • worm (웜) : 감염시킬 대상이 존재하지 않아도 스스로 실행될 수 있다. 자가 복제 및 네트워크를 통해 확산을 한다.

DoS

Dos, Denial of Service (서비스 거부 공격)은 가짜 트래픽을 엄청 많이 발생시켜 정상적인 트래픽을 이용하지 못하게 만드는 공격 수법이다.

이러한 Dos 공격이 동시다발적으로 여러 군데에서 들어오면 DDos Distributed DoS (디도스)가 된다.

Sniffing

본래 '냄새 맡다' 라는 뜻의 'sniff' 에서 따온 단어로, 지나가는 패킷을 읽거나 복사해 간다.

IP Spoofing

공격자는 본인의 IP 주소를 신뢰할 수 있는 주소로 위장하여 특정 노드와 통신한다.

profile
베이비 게임 개발자

0개의 댓글