인터넷(INternet)

  • 용어 정리
    • 패킷(Packet) : 송신과정에서 데이터를 나눈 세그먼트(segment)에 헤더(hadder)를 붙인 것.
      • 목적지에 도달해 원래의 데이터로 조립된다.
    • 패킷 스위치(교환기)
      • 입력 통신 링크의 하나이다.
      • 도착하는 패킷을 받아 출력통신 링크의 하나로 그 패킷을 전달
      • 종류
        • 라우터(router) : 네트워크 코어에서 사용
        • 링크 계층 스위치(link-layer switch) : 접속 네트워크에서 사용
      • 경로(path) : 패킷이 송신 - 수신 종단 시스템 과정 동안 거쳐온 통신 링크와 패킷 스위치들
  • 수백만 개의 컴퓨터 기기들의 연결들
    • end systems : hosts, things(Internet of Things)
  • 연결 링크
    • fiber, copper, radio, satellite
    • 전송률 = bandwidth(대역폭)
  • 라우터(routers) : forward packets
  • 프로토콜 :
    • 정보 송수신을 제어, 메세지 수신
    • TCP, IP, HTTP, Skype, Ethernet
  • 인터넷(Internet) : 네트워크들의 네트워크
    • 희미한 계층구조
    • public internet vs private internet ← 뭔소리고 이게
  • 인터넷 어플리케이션
    • 웹, sns, VoIP, 이메일, 게임, e-commerce, 파일 공유
  • 인터넷은 다양한 서비스를 앱에게 제공한다
    • 소스로부터 데이터를 목적지에 전달한다

프로토콜(Protocol)

: 형식, 네트워크 엔티티 간에 송수신되는 메시지 순서, 메시지 전송/수신에 수행되는 작업

Human protocols:

  • 같은 언어(language)를 사용한다
  • 대화를 하고 메시지를 교환한다.
    • 한 사람이 상대에게 말을 걸면 상대가 그에 따른 대답을 해 준다.

Network protocols

  • 사람보단 기계와 기계 사이의 메시지 포맷(format)이 정해져있어야 한다.
  • 인터넷 프로토콜에서의 모든 프로토콜을 말한다.
  • 요청을 보내고 그에따른 응답을 받는다.
    • 예시:
      • TCP 연결을 요청하고 연결 수락 응답을 받는다
      • http 주소를 요청하고 그에 따른 파일을 응답 받는다

Network Edge(네트워크 가장자리)

  • 종단시스템(end-system)
    • 애플리케이션을 수행한다.(ex : 웹 브라우서/웹서버/전자메일 클라이언트/전자메일 서버 프로그램 등)
    • 호스트(host) 라고도 부름: 클라이언트(client)서버(server)로 구분됨.
  • Network edge :사용자가 접속해있는 end시스템
  • Access networks :고객이 접속해있는 연결망
  • Network core :IP 사업자들의 연결망. 인터넷과 같다
  • End systems(hosts)
    • “edge of network(네트워크의 가장자리)”에서 어플리케이션 프로그램을 실행시킨다.
    • ex : 웹, 이메일, SNS
  • Client/server model
    • Client : 서비스를 요청하고 받는다.
      • 데스크톱, 이동PC, 스마트폰 등
    • Server : 요청받은 서비스를 제공한다.
      • 웹페이지 저장/분배, 비디오 스트리밍, 전제메일 릴레이 등을 수행하는 더 강력한 컴퓨터
      • 요청 받은 어떤 Client에게나 언제든지 모두 제공해준다.(always-on server)
    • 한 서버에서 하나의 서비스만을 제공한다.
    • e.g. : 웹브라우저, 이메일 서버
  • Peer-peer model
    • 서비스를 하나의 서버에서만 제공하지 않고 네트워크를 구성하는 Peer들 사이에서 서비스를 주고 받는다.
    • 한 Peer에서 서비스를 다른 Peer에게 요청하거나 제공할 수 있다.
    • e.g. : Skype, BitTorrent

Network Edge

: 사용자가 edge router(인터넷에 연결되어있는 라우터)

Network Core

: 상호 연결된 라우터들의 덩어리

  • Switching methods
    • Circuit-switching : 한 번 call 할 때마다 서킷을 사용한다.
    • Packet-switching : 데이터가 별개의 청크(chunks)를 통해 전송된다.
  • : 네트워크를 통한 데이터의 전송 방법

Circuit Switching(회선 교환)

  • 전송을 위한 자원을 미리 다 할당한다.(bandwidth)
  • 종단시스템 간에 통신 제공을 위해 필요한 자원은 통신세션 동안에 예약된다.
    • Call setup
    • 리소스 사용
    • 효율성을 보장한다.
    • 사용되지 않을 경우 리소스를 낭비한다.
  • 링크된 대역폭을 나누어 call 한다.
    • FDM(Frequency Division Multiplexing)
      • 각각의 사용자가 필요한 주파수?만큼?나눈다?
      • 주파수로 나눈다. 나눈 수 만큼의 사용자가 동시에 사용 가능
      • 속도가 나눈 갯수만큼 줄어든다.
  •  
    • TDM(Time Division Multiplexing)
      • 시간으로 나눈다. time slot을 일정한 갯수를 묶어 frame 구성
        • 사용자가 원하면 한 프레임 내에서 특정한 타임 슬롯을 할당
      • 속도가 줄지 않는 대신, 해당 시간 슬롯에서만 전송 가능
      • TDM 회선의 전송률 : 한 슬롯 안의 비트 수 x 링크의 프레임 전송률
      • 전체 노드들이 동기화 되어야 한다.

Packet switching(패킷 교환)

:목적지까지의 메시지를 보내기 위해 긴 메시지를 패킷(packet)이라는 데이터 덩어리로 분할한다.

  • 많은 사용자가 네트워크를 사용할 수 있다.
  • 전송 유형 : 통신 링크, 패킷 스위치
    • 통신링크
    • 패킷 스위치(packet switch)
      • 라우터(router)
      • 링크 계층 스위치(link-layer switch)
    • 패킷은 링크의 최대 전송률과 같은 속도로 전송된다.
      • 패킷 전송 시간 = L/R
        • L : 패킷의 길이(Packet Legth) (bits)
        • R : 링크의 전송 속도(bps)

Store-and-forward(저장 후 전달) 전송

  • 스위치가 패킷의 첫 비트를 링크로 전송하기 전에 전체 패킷을 받아야 한다.
  • store : 다음 패킷을 전송중일 때 이전 패킷이 라우터에 도착하면 해당 비트를 저장한다.
  • forward : 라우터가 다음 패킷의 모든 비트를 수신한 후 저장해둔 이전 패킷을 전송한다.
  • end-to-end 지연 : N * L / R
    • N : 패킷의 개수
    • 출발지와 목적지 사이에 N-1개의 라우터가 있다.

Internet Structure

Internet

  • network of networks
  • ISP(인터넷 서비스 공급자) 액세스를 통해 인터넷에 연결하는 호스트
  • roughly hierarchical : 유사 계층적 구조
  • Multi-levels of ISPs
    • 사용자를 연결망 Tier로 묶는다
    • 낮은 Tier의 연결망은 높은 Tier의 연결망에 묶인다.

Network Performance

Loss, Delay, Throughput

  • packet queue in router buffers : store-and-forward(축적 교환 방식)
    • 들어오는 프레임을 모두 버퍼에 담아두고, 에러검출 등을 모두 수행 한 후 전달한다.
    • Delay가 생김
    • 버퍼에 공간이 없어 혼잡해지면 프레임을 담을 수 없게된다
    • loss 발생
  • throughput : 단위시간 당 전송되는 양

Delay의 4가지 요소

  • 노드 처리 지연(Nodea processing delay) ( d_proc)
    • 패킷 헤더를 조사하고 어디로 보낼지 결정
    • 비트 에러 체크
    • 경로 결정
  • 큐잉 지연(Queuing delay)(d_queue)
    • 들어오는 link를 큐에 담아두는동안의 시간
    • 큐에서 output link로 전송될때까지 기다린다.
    • 앞서 도착해 기다리는 다른 패킷의 수에 의해 결정된다.
  • 전송 지연(Transimission delay)
    • 패킷의 모든 비트를 link로 내보내는 시간
      d_trans = L/R
      • L : 패킷의 길이(bit)
      • R : 라우터 둘 사이 링크의 전송률(bps)
  • 전파 지연(Propagation delay)
    • 한 라우터부터 다음 라우터 까지의 전파에 필요한 시간
      d_prop = d/s 
      • d = link의 물리적 길이
      • s = medium으로의 전파 속도(~2*10^8 m/sec)

⇒ 위와 같은 지연들이 짷여 전체 노드 지연(total nodal delay)(d_nodal)을 일으킨다

Nodal delay

 

Queuing Delay

: 큐잉 지연이 언제 크고, 언제 미미한지 트래픽에 따라 확인

Traffic intensity: L*a/R

  • R=link bandwidth(bps)
    • 전송률, 비트가 큐에서 밀려나는 비율
  • L=packet length(bits)
    • 패킷의 길이
  • a=average packet arrival rate

패킷이 큐에 도착하는 평균율

 

  • La/R ~ 0 : 큐잉 지연 평균이 작다
  • La/R → 1: 지연이 커진다
  • La/R > 1: 큐는 끊임없이 증가, 지연은 무한대에 도달

Packet Loss(패킷 손실)

  • 큐 용량이 유한하므로 큐가 꽉 찼을 경우 패킷이 도착하면 라우터는 해당 패킷을 버린다.
  • ⇒ 오버플로우

인터넷 상의 지연

Traceroute program

: 인터넷을 통해 거친 경로와 그 구간의 정보를 표시하고 패킷의 전송 지연을 측정한다.

 

Throughput(처리율)

: 송신/수신자 사이 비트 전송율

  • instantaneous(순간적인 처리율) : 호스트가 파일을 수신하는 비율(비트/초)
  • average(평균 처리율) : 파일 전송의 평균 처리율
     
    • Rs : 서버와 라우터 간의 링크 속도
    • Rc : 라우터와 클라이언트 간의 링크 속도
    • 병목 링크(bottleneck link) 전송률 : min(R_c, R+s)
      • R_s<R_c 인 경우 : 정상적으로 전달되어 $R_s$bps의 처리율을 가진다.
      • R_c<R_s 인 경우 : 라우터는 자신이 수신하는 비트만큼 빠르게 전송할 수 없다.
        • 라우터에서 $R_c$의 속도로 떠나고 $R_c$bps의 처리율을 가진다.
        • 클라이언트로의 전송을 기다리는 비트들은 계속해서 쌓인다.(비효율적)Untitled

 

Protocol Layers

  • 네트워크 구성
    • 호스트
    • 라우터
    • links of varous media
    • 어플리케이션
    • 프로토콜
    • 하드웨어, 소프트웨어

Layering

:하나의 함수, 모듈로 이루어질 수 있도록 쪼개어 프로그래밍

  • 모듈들이 계층적인 구조를 가지도록 한다.
    • 상위 : 사용자 위주, 하위 : 기계 위주
  • 향후 점검유지 또는 업그레이드 시 다른 외부 모듈에 영향을 끼치지 않고 업데이트 가능
  • 전체 개발에서 프로그램 복잡도를 줄일 수 있다.

Internet Protocol Stack

layer(계층)

  • 네트워크 프로토콜 설계 구조 제공을 위해 프로토콜을 계층으로 조직한다.
    • 각 프로토콜은 한 계층에 속한다.
    • 계층의 서비스 모델(service model) : 한 계층이 상위 계층에 제공하는 서비스
    • 각 네트워크 구성요소에는 하나의 n계층 프로토콜이 존재
  • application
    • FTP(파일), SMTP(이메일), HTTP(웹)
    • 메시지(message) : 애플리케이션 계층에서의 정보 패킷
      • 다른 시스템의 애플리케이션과 정보 패킷을 교환한다.
  • : 네트워크 어플리케이션들을 서포트한다.
  • transport(segment)
    • TCP, UDP : 애플리케이션 계층 메시지 전송
      • TCP : 연결지향형 서비스 제공(메시지 분할, 혼잡 제어 기능 제공)
      • UDP : 비연결형 서비스(신뢰성 르름제어 혼잡제어 제공 x)
  • :클라이언트-서버 간의 애플리케이션 계층 메시지를 전송한다.
  • network
    • IP, routing protocols
  • : 자원의 데이터그램을 목적지로 라우팅한다.
  • link
    • PPP, Ethernet, WLAN
  • : 이웃한 네트워크 요소들 사이 데이터를 운반한다.
  • physical
  • :프레잌 내부 각 비트를 한 노드에서 다음 노드로 이동한다.

 

ISO/OSI Reference Model

참고로 함 보래요

Encapsulation/decapsulation

  • 헤더 정보 : 송신 받은 계층은 수신할 계층에서 사용될 추가 정보를 더해 수신한다.
  • ex: 웹 서버가 웹 서비스를 제공한다
    • demon : 이를 백엔드로 실행되는 프로세스
      • 서비스 요청이 있는지를 체크한다.
      • 요청이 오면 분석을 진행해 적절한 대응을 전달한다.

  • source에서 destination으로 요청 메세지를 보낸다.
    • PDU : 프로토콜에서 전송하는 패킷
      • 특정 프로토콜에서 전송한 메세지 프로토콜이 어쩌고
    • SDU : 프로토콜에서 전송하는 데이터
      • 상위 계층의 PDU가 하위 계층의 SDU가 된다.
    • 상위 계층은 하위 계층으로 전송 요구를 한다.
      • application이 transport에게 전송 요청을 한다. ⇒ M(애플리케이션 계층 메시지) 요청
      • transport가 network(IP 프로토콜)에게 전송 요청을 한다. ⇒ $M+H_t$ 요청
        • 네트워크 계층의 헤더를 함께 구성한다.($H_n$, 데이터그램)
      • network가 link로 요청을 한다. ⇒ ($M+H_t+H_n$)
        • link 계층의 헤더를 붙여 PDU를 만든다.($H_l$, 프레임)
      • 실제로 보낼 때 정보를 신호로 변환하여 물리적 계층이 전송하도록 한다.
  • destination에선 받은 정보를 하위 계층에서 차례로 상위 계층으로 보낸다.
    • 하위 계층에서 받은 SDU에서 계층에 맞는 헤더 정보만을 받고 그에 따른 기능을 수행한다.
    • 그 후 해당 계층의 헤더를 제외한 정보를 상위 계층으로 보낸다.

  • 라우터는 목적지까지의 경로를 찾는 역할을 한다.

'CS 개념 정리' 카테고리의 다른 글

[데이터통신] Physical Layer  (1) 2025.03.13

+ Recent posts