Ch01. Introduction-2

Srevil·2022년 10월 8일
0

Computer Network in UOU

목록 보기
3/3

Packet

Packet loss 와 delay 는 어떻게 발생하는가?
=> Packet은 router buffer에 있는 queue에서 대기

  • queue에 저장된 packet은 순서를 기다림
  • line에 도착하는 속도가 link에서 나가는 속도보다 빠르면, packet loss 발생

Packet delay

Four sources

dnodal=dproc+dqueue+dtrans+dprocd_{nodal} = d_{proc} + d_{queue} + d_{trans} + d_{proc}
  1. dprocd_{proc} : 처리 지연
    • 비트 에러 검사
    • output link 선택
    • 일반적으로 msec 미만
    • packet 처리하는데 걸리는 delay
  2. dqueued_{queue} : 큐잉 지연
    • 전송하기 위해 queue에서 대기하는 시간
      • 대기 장소 : router buffer
      • 기다리는 packet 수에 따라 대기 시간 변경
        = 라우터의 혼잡도에 따라 달라짐
  3. dtransd_{trans} : 전송 지연
    • 패킷을 링크에 넣는 시간
    • dtrans=LRd_{trans} = {L\over R}
      • LL : 패킷의 길이(단위 : bits)
      • RR : 링크 전송률(단위 : bps)
  4. dpropd_{prop} : 전파 지연
    • 링크에서 다음 라우터까지 가는 시간
    • dprop=dsd_{prop} = {d\over s}
      • dd : 라우터 사이의 거리
      • ss : 링크의 전파 속도

전송 지연전파 지연 차이
1. dtransd_{trans}

  • router가 packet을 내보내는데 필요한 시간
  • router 간 거리 상관 x
  1. dpropd_{prop}
    • 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)

    • 총 120sec(12*10)
  • 첫 번째 toll booth가 모든 차를 통과시키는데 걸린 시간은 120sec = dtransd_{trans}

  • 마지막 차가 2번째 toll booth에 도착하는데 걸린 시간은 100(km)100(km/hr)=1hr{100(km)\over 100(km/hr) }= 1hr
    = dpropd_{prop}

A) 1hr + 120sec = 62minutes

Q2) 첫 toll booth에서 모든 차가 통과하기 전에 두번째 toll booth에 차량이 도착하는가?

  • 차 속도 1000km/hr
  • toll booth service 시간 1minutes

A) 가능

  • 첫 번째 toll booth가 모든 차를 통과시키는데 걸린 시간은 10min
  • 처음 통과한 차가 다음 toll booth에 도착하는데 걸리는 시간은 100(km)1000(km/hr)=6{100(km)\over 1000(km/hr)} = 6
    • 따라서 첫 차가 다음 toll booth에 도착하는데 6분 소요
    • 첫 차 기준에서 toll booth 통과하는 1분 + 주행 6분 = 7분.

따라서 7분 후, 첫 차는 두번째 toll booth에 도착하고, 세 대의 차량이 첫번째 booth에 남아있다

이는 packet의 앞선 bit들이 나머지 bit들의 전송 대기 시간동안 이미 다음 router에 도착할 수 있음을 의미한다.

Packet queueing delay(revisited)

traffic intensity = LaRLa\over R

  • 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)

  • RsR_s : Server 와 Router간의 링크 속도

  • RcR_c : Router와 Client간의 링크 속도

  • RsR_s<RcR_c : RsR_s bps의 처리율이 결과

  • RsR_s>RcR_c : RcR_c bps의 처리율이 결과

    • 대기하는 비트들이 증가 => 바람직하지 않음

위 그림처럼 2개의 링크로 구성된 네트워크의 경우 처리율을 min{Rc,Rs}min{\{R_c,R_s}\} 이라는 bottleneck link의 전송률이 처리율이 됨.


위 그림에서 처럼 10개의 서버와 10개의 client가 존재.
만약, RRRsR_sRcR_c보다 수백 배 크다면, 병목 링크는 여전히 min{Rc,Rs}min{\{R_c,R_s}\}
하지만, 그렇지 않은 경우 병목링크는 min{Rc,Rs,R/10}min{\{R_c,R_s,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

  • Switch와 Router의 차이

    • 스위치는 1, 2 계층 구현
    • 라우터는 1~3 계층 구현
    • 즉, IP protocol는 router는 구현 가능
    • But, 스위치는 불가
  • 용어 설명

    • Encapsulation : 헤더를 붙이는 과정(송신)
    • Decapsulation : 헤더를 제거하는 과정(수신)
  • source 분석

    • M : 사용자의 데이터와 앱에서 사용하는 제어정보
    • HtH_t : 프로세스간의 식별자 모음
    • HnH_n : 데이터 운반을 해야하는지 확인하는 제어 정보
    • HlH_l : 인접한 데이터로 보내기 위한 제어정보를 보내는 식별자
  • Router에서는 전달받은 HnH_n을 확인하여 어느 포트로 보낼지 결정(Forwarding)

profile
UOU_Unknown

0개의 댓글