🌐 네트워크

1. 컴퓨터 네트워크 기본

락꿈사 2022. 3. 23. 12:02

1.1. 인터넷이란?

  • 인터넷의 구성요소
    1. 네트워크 엣지 : 호스트 / 종단 시스템 (랩탑, 스마트폰, 태블릿 ... )
    2. 네트워크 코어 : 패킷 스위치 (라우터, 링크 계층 스위치)
    3. 네트워크 엣지와 네트워크 코어 사이 : 통신 링크 (동축 케이블, 구리선, 광케이블 ... )
    4. 프로토콜: HTTP, TCP, UDP, IP ...

 

 

1.2 네트워크 가장자리(네트워크 엣지)

  • 종단 시스템 : 인터넷에 연결되는 컴퓨터와 다른 장치. 인터넷의 가장자리를 차지하고 있어서 종단 시스템이라고 불리며 호스트라고도 불림.
  • 호스트의 구성 요소
    1. 클라이언트: 데스크톱, 모바일 PC, 스마트폰 등 원할 때 접속.
    2. 서버: 웹페이지를 저장, 분배, 비디오 스트림, 전자메일 릴레이 등을 하는 더 강력한 기능을 갖춘 컴퓨터로 24시간 내내 연결 되어 있어서 클라이언트로부터 요청을 기다림.

 

1.3 네트워크 코어

  • 네트워크 코어: 인터넷의 종단 시스템을 연결하는 패킷 스위치들과 링크들의 연결망.
  • 네트워크 코어에서 data를 전달하는 방식
    1. Packet Switching
    2. Circuit Switching

 

Packet Switching

  • Packet Swtiching:  송신 종단 시스템에서 목적지 종단 시스템으로 메시지를 보내기 위해 긴 메시지를 패킷이라고 하는 작은 데이터 덩어리로 분할하여 전송하는 방식.
  • 송신 측과 수신측 사이에서 각 패킷은 통신 링크과 패킷 스위치(라우터와 링크 계층 스위치의 두 가지 유형이 있음)을 거치게 됨.
  • 대부분의 패킷 스위치는 store-and-forward trasmission 방식을 이용함.
    • store-and-forward trasmission: 스위치가 출력 링크로 패킷의 첫 비트를 전송학 전에 전체 패킷을 받아야 함을 의미.

Circuit Switching

  • Circuit Switching: 종단 시스템 간에 통신을 제공하기 위해 경로상에 필요한 자원(버퍼, 링크 전송률)ㅇ을 통신 세션 동안에 확보 또는 예약하여 전송하는 방식. (Packet Switching에서는 이들 자원을 예약하지 않음)
  • ex) 전화망

Packet Switching vs Circuit Switching

  • 사용자가 1Mbps 링크를 공유한다고 가정.
  • 각 사용자는 활동시간과 비활동시간을 반복.
  • 사용자는 전체 시간에서 10%만 활동한다고 가정.
  • Circuit Switching의 경우
    • 100Kbps가 항상 각각의 사용자에게 예약되어야 함.
    • 따라서 동시에 10명(1Mbps/100Kbps)만 지원할 수 있음.
  • Packet Switching의 경우
    • 한 특정 사용자가 활동하고  있을 확률은 0.1(10%).
    • 만약 35명의 사용자가 있을 때 11명 이상의 사용자가 동시에 활동할 확률은 0.0004(0.04%).
    • 따라서 10명 이하의 동시 사용자가 있을 때 사용자가 패킷은 Circuit Switching이랑 마찬가지로 지연 없이 링크를 통과함.
    • 10명 이상의 동시 사용자가 있을 경우 패킷의 통합 도착률이 링크의 출력 용량을 초과하므로 출력 큐가 커지기 시작.
    • 10명 이상의 동시 사용자가 있을 확률은 매우 희박하므로 Packet Switching은 거의 항상 Circuit Switching이랑 대등한 지연 성능을 가지면서도 사용자 수에 있어서 거의 3배 이상을 허용함.
  • Packet Switching의 성능이 Circuit Switching보다 우수함.
  • 두 방식의 가장 큰 차이점은 Circuit Swtiching은 요구에 관계없이 미리 전송 링크의 사용을 할당하는 반면에 Packet Switching은 요구할 때만 링크의 사용을 할당한다는 것.

 

1.4 Packet Switching에서의 지연, 손실과 처리율

  • 지연의 종류
    1. 노드 처리 지연nodal processing delay
    2. 큐잉 지연queuing delay
    3. 전송 지연transmission delay
    4. 전파 지연propagation delay
    5. 전체 노드 지연total nodal delay

Nodal Processing Delay

  • 패킷 헤더를 조사하고 그 패킷을 어디로 보낼지 결정하는 시간

Queuing Delay

  • 큐에서 링크가 전송되기를 기다리는 시간
  • 큐잉 지연의 길이는 큐에 저장되어 링크로 전송되기를 기다리는 다른(앞서 도착한) 패킷의 수에 의해 결정됨

Transmission Delay

  • 패킷의 마지막 비트가 전송될 때까지 걸리는 시간.
  • 패킷의 길이: L bit
  • 라우터 A에서 라우터 B까지 링크의 전송율은: R bps
  • R은 라우터 B로 가는 링크의 전송율에 의해 결정됨.
    • Trasmission Delay: L/R

Propagation Delay

  • 링크의 처음부터 라우터 B까지의 전파에 필요한 시간.
  • 전파 속도는 링크의 물리매체(광섬유, 꼬임쌍선 등)에 따라 다름
  • 전파 속도의 범위: 2*10^8 미터/초 ~ 3*10^8 미터/초
  • Propagation Delays는 두 라우터 사이의 거리를 전파 속도로 나눈 것
    • Propagation Delay: d(라우터 A와 B 사이의 거리)/s(링크의 전파속도)

Transmission Delay vs Propagation Delay

  • Transmission Delay: 라우터가 패킷을 내보내는 데 필요한 시간(패킷 길이와 링크 전송률의 함수이며, 두 라우터 사이의 거리와는 관계 없음)
  • Propagtion Dealy: 비트가 한 라우터에서 다음 라우터로 전파되는데 걸리는 시간(두 라우터 사이의 거리에 대한 함수이며, 패킷 길이나 링크 전송률 과는 관계 없음)

 

  • 위 예시에서 Transmission Delay와 Propagtion Dealy 비교
    • 100Km마다 요금 계산소 있음.
    • 10대의 자동차 대열이 있음.
    • 각 요금 계산소는 12초마다 한 대의 차를 서비스(전송)함.
    • 한 자동차가 한 요금 계산소에서 다음 계산소로 이동하는데 100km/(100km/hour) 1시간이 걸림.
    • Transmission Delay + Propagtion Dealy: 차량 대열이 한 요금 계산서 앞에서 저장되는 시간으로부터 다음 요금 계산서 앞에 저장될 때 까지의 시간 = 62분 (12*10 + 60)
    • Transmission Delay: 자동차 대열이 요금 계산소를 모두 빠져나가는데 걸리는 시간 = (12*10)
    • Propagtion Dealy: 한 자동차가 한 요금 계산소를 벗어나 다음 요금 계산소까지 가는데 걸리는 시간 = 60

패킷 손실

  • 큐의 용량은 스위치 설계와 비용에 크게 의존하며, 일반적으로 유한 용량을 가짐.
  • 큐가 꽉 찬 경우 패킷을 저장할 수 없으므로 라우터는 큐가 꽉 찬 이후에 도착한 패킷을 버림.
  • 손실 패킷의 비율은 트래픽 강도가 클수록 증가함.
  • 손실 패킷은 모든 데이터가 궁극적으로 출발지에서 목적지까지 전달되었다는 것을 보장하기 위해 재전송 될 수 있음. (라우터가 아니라 종단간에서 재전송)