컴퓨터 네트워크

LeemHyungJun·2023년 9월 20일
0

Computer Network

목록 보기
1/8

Chapter1

1. Introduction

1-1. 인터넷 : nuts and bolts view (구성요소)

  • HOST(End-system)
    • 여러 개의 device(데이터를 송수신하는 기기 - not only computer) 연결
    • hosts는 도착지의 주소를 알고 있다.
  • SWITCH
    • 목적지에 도착하도록 패킷을 넘겨주는 기기
  • COMMUNICATION LINKS
    • end system 과 end system을 연결하는 그 라인을 뜻한다.
    • fiber, copper, radio (각 link의 종류마다 성질이 다르다)
    • transmission rate, bandwidth로 성능을 측정
  • PROTOCOL
    • 통신에 필요한 규약 (네트워크의 약속)
    • 메세지의 형식, 순서 그리고 보낼 때 어떤 action을 취해야 하는지에 대한 내용
    • 참고) Internet standards
      • RFC (Request for Comments) : 표준
      • IETF (Internet Engineering Task Force) : 표준 관리 기관

1-2. 인터넷 : service view

  • Infrastructure
    • 인터넷은 application 이 동작하도록 서비스를 제공하는 기반 시스템이다.
  • Programming Interface
    • host to host로 전송 및 수신할 때 사용할 수 있는 distributed applications를 만들수 있는 기반으로 socket interface를 제공한다.
    • 인터넷과 사람을 연결!

2. Roadmap

2-1. 네트워크의 구조

  • NETWORK EDGE
    • host와 data center
    • 네트워크 중에서 가장자리에 존재하는 것들
    • 실제 사용자들이 존재하는 곳!
  • ACCESS NETWORK, PHYSICAL MEDIA
    • end system과 router를 연결하여 인터넷을 사용할 수 있게 해주는 역할
    • transmission rate를 고려
    • 연결 방식
      • Cable-based : FDM, HFC,
      • Digital Subscriber Line (DSL)
        • 전화선으로 인터넷 접속하기
        • downstream (기지국에서 집으로 내려오는 방향) 이 upstream 보다 더 크다 -> 우리가 데이터를 쓰는 쪽이기 때문에
      • Home Networks
      • Wireless access Network
        • WLANs
          • 장점 : 속도, 가격
          • 단점 : 전송 범위를 벗어나면 사용 불가능
        • celluar
          • 장점 : 연결성(이동성)
          • 단점 : 가격
      • Enterprise networks
        • 회사나 학교
  • NETWORK CORE
    • router들로만 구성
      • router란 인터넷의 패킷 switch를 말한다.
    • edge network를 연결하는 역할

2-2. Network Edge

  • HOST
    • send packets of data
    • data를 전달하기 위해서 data를 packet으로 쪼개야 한다.
    • Packet Transmission delay
      • 성능 측정을 위해 필요하다.
      • 패킷전송시간(T)=패킷크기링크전송속도패킷전송시간(T) = \frac{패킷 크기}{링크 전송 속도}
  • LINK
    • physical media
    • 종류
      • guided media
      • unguided media
      • twisted pair
      • Coaxial cable
      • Fiber optic cable
      • Wireless radio
        • Broadcast
          • simplex : 한 방향으로만 이동
          • full duplex : 양방향 동시 가능
          • half duplex : 양방향 가능하지만 한번에 하나의 방향만 가능
      • Radio link types
        • terrestrial microwave
        • wireless LAN (WiFi)
        • wide-area (cellular)
        • satellite

2-3. Network Core

  • PACKET SWITCHING
    • 데이터를 packet 단위로 쪼개는 작업
    • host break application layer messages into packets
  • STORE AND FORWARD(중요!!)
    • router 기준으로 packet을 완전히 송신 후 보내기!
  • END TO END DELAY
    • 모든 data가 다 전송될 때 까지의 시간
  • QUEUEING DELAY
    • Packet Switching에서 발생하는 문제점
    • router가 입력으로 들어온 값들을 원하는 출력 값으로 가도록 해주는데 그때 출력값이 같은 것들이 여러개가 오게 되면, queue에 쌓이게 된다.
    • 이때 너무 많은 값들이 들어오면 queue를 넘어서서 뒤에 것들이 loss되는 현상이 발생할 수 있다.
  • Two key NETWORK CORE FUNCTIONS
    • Forwarding
      • local action
      • router의 입력 포트에서 출력포트로 패킷을 이동시키는 것.
    • Routing
      • global action
      • 패킷의 출발지에서 도착지까지 가는 경로를 정하는 것
  • CIRCUIT SWITCHING (중요!!)
    • packet switching이랑 반대의 개념 (그러므로 packet으로 쪼개는 작업을 하지 않는다.)
    • 전송하기 전에 data가 이동한 circuit을 미리 예약하고 그 길로만 가는 현상 (공유 x)
    • 장점)
      • 성능 보장
      • queueing delay가 발생 하지 않아 loss가 없다.
    • 단점)
      • 이미 모든 circuit을 다 쓰고 있으면 block되어 사용 불가능
      • 예약이 된 경우 쓰고 있지 않더라도 다른 사람이 쓸 수 없어 낭비가 되는 경우가 있다.
      • 사용 효율이 packet switching 보다 낮음
    • 비교 예시)
      • PSTN(public switched telephone network)
        • voice circuit switching
      • Internet
        • data packet switching
  • FDM vs TDM
    • circuit을 쪼개는 방식
    • Frequency Division Multiplexing : 주파수를 기준으로 나 눔
    • Time Division Multiplexing : 시간을 기준으로 나눔
  • 참고 내용 1)
    • Switch가 host 사이사이에 존재해야 하는 이유 : switch가 있어야 host와 host를 연결함에 있어서 필요한 선의 수가 적어진다.
      • switch 없는 경우 N명의 host : O(N2)O(N^2)
      • switch 있는 경우 N명의 host : O(N)O(N)
  • 참고 내용 2)
    • Multiplexing
      • 저속의 data stream이 여러개가 모여서 하나의 고속 data stream으로 만드는 것
      • 통신에서 반드시 필요함
      • packet switching은 statistical multiplexing
        -> statistical 한 이유는 들어오는 data가 일정하지 않기 때문에
    • Demultiplexing
      • 하나의 고속 data stream을 다시 나누기
  • Packet switching vs Circuit switching
    • 사용할 수 있는 유저의 수 비교하는 시나리오
      • 결론은 Packet switching이 더 많은 유저 이용 가능하다.
    • bursty data issue (데이터가 일정하지 않음)
      • 데이터가 일정하게 들어오지 않는 경우는 packet switching이 더 유리하다.
      • sharing 할 수 있기 때문에
    • congestion possible
      • 특정 시간에 발생한 data의 양이 허용 가능한 것보다 많아저서 넘치는 경우
      • packet switching이 항상 생각해야 할 문제이다. (loss가 발생할 수 있으니까)
  • INTERNET STRUCTURE
    • ISP (Internet Service Providers)
    • ISP 끼리 어떻게 연결되어있는가..
      • 1) 각자 모두가 연결된 상황 : O(N2)O(N^2) - ISP많을수록 비효율
      • 2) global ISP 라는 것을 가운데 두고 연결 : 실현 가능성 낮음
      • 3) ISP를 여러개로 나누어서 구성하고 IXP라는 router로 각 ISP를 연결해줌 / 추가적으로 regional ISP나 Content provider network로 구성 : 실제 모습

2-4. Performance

  • PACKET DELAY
    • nodal delay 라고도 함
      • 아래 네 가지 delay 모두 합쳐서 계산
    • Processing Delay
      • 한 packet을 보내고 다음 packet을 보내기 전에 발생한다.
    • Transmission Delay
      • dtrans=L(패킷길이)R(링크속도)d_{trans} = \frac{L(패킷길이)}{R(링크속도)}
    • Propagation Delay
      • 전파의 전달 지연 (물리적인 특성)
      • dprop=d(거리)S(전파속도)d_{prop} = \frac{d(거리)}{S(전파속도)}
    • Queueing Delay
      • 랜덤한 값 (예측 불가능함)
      • packet의 양에 따라 달라지기 때문
      • 네트워크 설계시 가장 많이 고려해야함
    • 참고) queueing delay 이후 transmission delay 발생한다.
    • Packet Queueing Delay
      • R : link bandwidth(나가는 양)
      • L : packet length
      • a : average packet arrival rate
      • 단위시간당 패킷의 양 : LaR\frac{La}{R}
  • PACKET LOSS
    • link 도착 속도가 output link 용량을 넘어설 때 발생한다.
    • 비유) 깔대기의 output보다 빠른 속도의 input이 들어올 때 packet loss가 발생한다.
    • router가 packet을 받으면 올바른 output을 찾아 queue로 넣는다 이때 queue에 너무 많은 양이 들어가면 loss가 발생한다.
      -> 이러한 loss 중에서도 버려도 괜찮은 loss (버리고 다시 받는 것이 더 효율적임)가 있고 그렇지 않은 loss가 있다.
  • THROUGHPUT
    • 비트가 송신자에서 수신자로 전송되는 속도(비트/시간 단위)
    • instantaneous 와 average가 있다. instantaneous는 avg를 취하는 간격이 짧은 경우를 뜻함
    • 계산 방법
      • 가장 작은 speed의 값이 throughput (bottleneck)이 된다.
    • network scenario
      • 이러한 시나리오에서 R은 매우 크기 때문에 bottleneck이 될 수 없다.
      • 예전에는 기술이 좋지 않아서 R이 bottleneck이 될 수 있었지만, 현재는 기술이 발전했음
      • Rc, Rs가 bottleneck!
  • 참고 1) 위성 통신의 경우 지구와 멀기 때문에 propagation delay가 매우 길것으로 예상되는데 그렇다면 쓸모가 없을 것!
    -> prop delay가 실제로도 길긴 하지만 packet은 연달아서 오기 때문에 처음 packet이 보내질때만 발생하기 때문에 큰 문제는 없다. 단 연속적인 data가 들어올때의 경우이다.

2-5. Protocol Layer

  • LAYERING
    • 복잡한 시스템을 abstract 해서 modularization 하기!
    • 유지보수와 업데이트를 쉽게 만들어준다.
  • INTERNET PROTOCOL STACK (중요!!)
    • Application : network application
    • Transport : process to process
    • Network : host to host
    • Link : 각각을 연결하는 link
    • Physical
  • ENCAPSULATION (봉투에 넣기)
    • data를 위의 layer에서 아래 layer로 보내면서 봉투에 넣는다.
    • 이후 아래 layer에서 위 layer로 올라가면서 봉투를 뜯는 것

0개의 댓글