인터넷을 동작시키는 것은 프로토콜 ( http , ftp, smtp, ... )

  • 서로 다른 개체들이 의사소통을 할 수 있도록 만든 규약

네트워크 내부, 네트워크 코어
  • 네트워크 내부에는 라우터라는 장비가 존재
  • 라우터라는 장비를 통해 사용자들이 보낸 메시지를 목적지 까지 전달
  • 라우터는 데이터를 어떻게 전달하는가?
    • Circuit Switching
      - 출발지 부터 목적지까지 쭉 대역폭을 예약해놓은 상태에서 한번에 가는 것.
      - 아무런 방해 없이 한번에 갈 수 있다는 의미.
      - 하나의 회선을 할당받아 데이터를 전달 (회선을 독점)
    • Packet Switching
      -
      사용자가 보내고자 하는 데이터가 패킷단위로 분해하여 전달
      - 패킷은 다음 라우터로 전송하기 이전에 저장하고 전달하는 store and forward 방식을 이용한다.
      - 패킷의 헤더에는 source (출발지) 와 destination (목적지) 에 대한 정보가 있다.
  • 이렇게 사용하는 이유
    인터넷을 사용하는 패턴이 Packet Switching 에 적합. 반면에 Circuit Switching 은 유선전화에 적합한 반면 인터넷 환경에서는 적합하지 않다. 왜냐하면 Circuit Switching 은 언제든지 계속 사용하는 시스템에 적합하기 때문. 반면 Packet Switching 은 특별한 액션이 많이 요구되지 않기 때문이다.
Packet Switching vs Circuit Switching
  • 사용자들이 있다.
  • 사용자들은 하나의 라우터를 공유해서 인터넷에 접근.
  • 라우터에서 인터넷으로 연결되는 케이블의 대역폭 (초당 얼마만큼의 데이터를 보낼 수 있는지에 대한 의미)
  • 케이블의 대역폭이 1Mbps link (bit per second) 초당 1메가를 보낸다.
  • 패킷스위칭은 지원하는 대역폭보다 더 많은 사용자가 사용할 경우, 문제가 생긴다.
- 패킷 스위칭을 이용시 라우터의 관점
  • 왜 loss 그리고 delay 가 일어나는가?
  • 라우터에서 보낼 수 있는 대역폭 크기보다 더 많은 유저 더 빠른 속도로 온다면 라우터는 지연(delay)이(가) 생길 수 있다.
  • 라우터는 사용자로부터 패킷을 받으면, 최종목적지까지 알맞은 방향으로 보낼 수 있도록 하여야 한다.
  • processing delay : 필연적인 딜레이 중의 하나 (목적지에 따른 어느 라우터로 보내는지 결정하는 것에 대한 지연)
  • queueing delay : 해당 라우터의 큐에 들어가서 앞선 앞의 패킷들이 다 나갈때까지 지연 (앞에 얼마나 많이 기다리는 것에 대해 가변적)
  • trasmission delay : 큐 제일 앞에 배치해서, 패킷 하나가 온전하게, 마지막 비트까지 최종 목적지 까지 가는데까지의 지연시간

    [ trasmission delay 설명 ]
    패킷의 비트가 100bits 이고,
    대역폭이 1bps 라면 (1bit per seconds)
    100초가 delay된다. 
    패킷은 쪼갤 수 없다.

  • propagation delay : 마지막 비트까지 대역폭까지 올라오고 이후에 마지막 비트가 최종 목적지까지 도달하는 물리적 시간 ( 빛의 속도 : 가까우면 빨리, 거리거 멀면 오래  걸린다는 의미 )
패킷을 라우터에서 받았을 때, 걸리는 nodal delay 는 총 앞선 4가지의 합으로 표현된다.
  • d_nodal = d_proc + d_queue + d_trans + d_prop
    각각의 delay 를 줄이기 위한 노력은 무엇이 있을까 ?
    - propagation delay 는 줄이는 것이 어렵다. 
    - processing delay 는 좋은 라우터를 씀으로서 딜레이를 줄일 수 있다.
    - transmission delay 회선 증설 작업을 통해 줄일 수 있다.
    - queueing delay 는 군중의 행동패턴에 의존하기 때문에 따로 관여하지 못한다.
queueing delay 고찰
새로운 패킷이 들어오고 큐에 삽입하기 이전에 큐가 가득 차있는 경우 어떻게 할 것인가?
큐에 저장할 공간이 없기 때문에 패킷 유실, 즉 packet loss 가 발생. 패킷은 버려진다.

packet loss 고찰
  • client(edge) - router - router - router - serverd(edge)
  • 중간 router 들은 network core 
  • 라우터들은 패킷을 받고 분석하여, 어느 방향으로 프로세싱할 지 결정 및 큐에 담아두고 있다가 이후 라우터에게 전달
  • 사용자로써 체감하는 딜레이는 queueing delay 들이 합산된 것
  • packet switching 을 통해 패킷은 라우터를 통해 전달되고 해당 라우터의 큐가 가득 차 있으면 packet loss 발생
  • circuit switching 을 이용하면 한번에 전달이 가능
  • packet switching 을 통해 packet loss 시 TCP 는 어떻게 작동하는가에 대한 고찰
    • re - transmission ? loss packet 을 누가 재전송할 것인가?
    • client (option 1)
    • 직전 라우터  (option 2)
    • client 의 transport layer 계층의 tcp 프로토콜이 재전송. (edge : client or server 측에서 유실 패킷을 담당)
    • network core 쪽의 라우터들은 ip를 가지고 있다.

[ 참고영상 ]

[ 컴퓨터 네트워크 ]


정리 )

  • 프로토콜이란 무엇인가
  • 네트워크 코어란 어떤 것을 의미하는가
  • 라우터는 어떤 기능을 하는가
  • 라우터는 데이터를 어떻게 전달하는가
  • Circuit Switching 과 Packet Switching 의 개념 및 차이점
  • Packet Switching 시 Loss 와 Delay 는 무엇이며 왜 발생이유
  • Delay 종류 네가지는 무엇인가
  • Packet Loss 가 일어난 경우 어떤 동작이 발생하는가


Posted by doubler
,