Computer Network (1)

Tony Kim·2021년 8월 18일
0

Computer Network

목록 보기
1/3
post-thumbnail

Computer Network (1) : Role of Network

1. Connectivity

building block
1) links
coax, cable, optical fiber (노드를 연결시키기 위한 수단 : access tech)

2) nodes
workstations, routers (우리가 사용하는 단말)

links (노드와 노드를 연결)
1) ethernet : point to point
2) wifi : multiple access

*원격의 경우 스위치나 라우터 사용

Indirect Connectivity / Switching Network
구체척인 디바이스, 스위치, 라우터
ISP -> indirect connection 주로 공급

이것을 위해 indeirect link
1) circuit switching
2) packet switching

Addressing
IP주소 4byte / 그 주소에 따른 source to destination 지정
datagram(packet)이 여러 경로를 거치는데, 이때 어떤 식으로 소스-데스티네이션을 설정하는지 결정하는 것이 'Routing'

Routing

  • 전송하는 각 패킷에 대해 어떤식으로 source to destination 결정하고 제어하는 과정
  • store and forward
  • flow에서 앞 packet과 다른 route(source to destination)있으면 중간에서 독립적으로 결정
  • 스위치와 라우터가 필요한 정보 수집 (routing information)
  • 그 경로를 정상적으로 바꾸는 것이 TCP의 역할

Network Structure
1) Netwrok Edge

  • 사용자 접근 가능
  • 단말 시스템이 붙을 수 있는 네트워크
  • 대부분 traffic jam (bandwidth가 좁은 부분에서)
    ex) campus / home network / cellular

2) Netwok Core

  • 사용자 접근 불가능
  • 네트워크들의 네트워크
  • 트래픽이 집중되지만 bandwidth delay 없이 대용량 데이터 빠르게 처리
    ex)
    셀룰러 서비스에 따른 사용자들을 연결시켜주는 KT가 관리하는 CORE.NET
    광케이블
    Premium IP.NET
    POP 케이블 사업자
    망사업자에서 컨텐츠 provider들이 갑 (최근, youtube, netflix)
    원 안쪽으로 갈수록 속도도 빨라지고 delay 적어짐

*연결 : Node & Link

Network Edge
1) End system (host)

  • end user가 사용하는 end system / end host
  • application program이 동작하는 곳 (Internet protocol 스택 보유)
  • 스마트폰, 노트북

2) client-server model

  • web browser, netflix etc.
  • 접속된 모든 사용자들이 하나의 서버형태로 들어감
  • 서버 역시 endsystem의 일부 (CORE.NET X)
  • 서버에 트래픽 몰림 -> 엣지단에 캐쉬두기로 해결 O

3) peer to peer model

  • 클라이언트 + 서버 기능 모두 있는 노드들이 네트워크 구성
  • 궁극적으로 모든 노드들이 동일한 역할을 하는 distributed system이 목적
  • ex) torrent

*) Access Network` (in Network Edge)

  • Network Edge - Network Core 사이 많은 네트워크들 : 결국 router(edge router)를 통해 연결
  • endsystem과 router의 연결
    residential access network / institutional access network / mobile access network / wireless access network / wide-area-wireless netwrok (셀룰러)

Network Core
기본적으로 packet switching
(packet loss, delay 적음)

1) Packet switching

  • store and forward
  • L/R seconds (L : bit양, R : 속도)
  • end to end delay (시간) : 2 X L/R
  • 엣지 라우터가 수용가능한 범위 이상의 패킷 들어오면 packet loss 발생
  • Routing : source to destination 경로 결정 (제어) - 라우팅 제어 알고리즘
  • Forwarding : 적절한 output으로의 전달 - 포워딩 메커니즘
  • bursty 트래픽 적합 X (몰렸다가 한가했다가 하는 트래픽에는 적합하지 않음)

2) Queueing delay

  • 만약 도착하는 속도가 링크(스위치, 라우터)의 transmission rate보다 높으면 바생
  • 패킷은 queue되고 transmit되기를 기다림
  • buffer가 가득차면 다른 패킷이 drop되고 packet loss발생

3) circuit switching VS packet switching

  • circuit switching의 경우 끝날때까지 통신의 source와 destination 모두 점유 / 이 경우 router capacity 늘리든지 사용자 bps(속도) 줄이든지 해야함
  • 반면 packet switching의 경우 전체 통신시간 중 10%만 사용 (모든 end system이 active할 확률 낮음) 훨씬 더 많은 사업자 확보 가능
  • 하지만 최근 이미지/보이스/비디오 등 시간 정보가 중요하기 때문에 (delay 안좋고 오류가 있으면 안되는 실시간) reservationo 된 resource 이용 / 시간제약이 있는 오디오/비디오 트래픽 (non elastice traffic) 전송 가능 = virtual circuit

Internet
internet structure

  • 만약 모든 것들을 하나하나 다 연결한다면 N^2의 connection이 필요하기 때문에 그 대안으로 global ISP (internet service provider)
  • ISP끼리 연결 가능 (ISP 하나 고장나더라도 유지, 특정 노드나 링크 고장나도 탈중앙화되어있기 때문에 다른 링크나 노드 통해 인터넷 연결 가능)
    -> 생존성 강화 (fault tolerance, resilence)

regional net = cable TV
content provider network




2. Resource Sharing : cost effectivve resource sharing

resource allocation

1) FDM (frequency-division-multiplexing)
큰 밴드위스를 나눠서 사용자 할당 사용

2) TDM (time-division-multiplexing)
시간 단위로 나눠서 사용자가 전체 밴드위스 사용

  • circuit switching으로 잘 사용, 동축 케이블을 radio band(전파제공) 혹은 시간단위로 나눠서 사용자에게 할당
  • 전자기파 전송되기 위한 채널을 어떤식으로 로지컬하게 나눌지
  • 여러명이 한번에 오면 큐에 쌓임 (store and forward) 패킷 단위

3) SM (statistical multiplexing)

  • 기존 FDM/TDM 보다 효율적으로 사용가능, 많은 가입자 확보 가능
  • TCP에서 구분

문제점

  • 독립적 처리 X, 프리미엄 서비스 제공할수도
  • 스위치 버퍼 쌓이면 end to end delay 커짐 -> TCP congestion control 해결




3. Performance Evaluation

delay
blocking probability -> congestion 문제

A와 B 두 개의 노드 엔드시스템에 보내는게 multiplexing됨

큐에 저장되는데 앞 데이터 처리 끝날때까지 기다려야해서 불필요한 delay 발생
-> queue 꽉차서 blocking(packet loss 발생), 불필요한 performance 생길 수 있음

d_nodal = d_processing + d_queueing + d_transmission + d_propagation
1) processing delay
physical link에서 올라오는 전기적 신호를 데이터로 변환 후 그걸 가지고 데이터링크 레이어나 아이피 레이어에서 정상적으로 링크 도착했는지 확인

2) queueing delay
여러 개 데이터들이 동시에 스위치/라우터 도착하면 데이터들이 바로 아웃풋 링크로 전송되지 않고 메모리 큐에 저장, 앞선 데이터들이 모두 처리될 때까지 기다리게되면서 발생하는 딜레이

3) transmission delay
각 노드에서 데이터 실제로 보낼 때 나가는 시간의 딜레이 = link에 data를 loading하기 위한 시간 (L/R)

4) propagation delay
링크에서 나와서 없어질 때까지의 딜레이 = link를 따라 전송하는 시간 (d/s)

딜레이 비교
하나의 홉에서 발생
1) transmission delay > propagation delay
로딩속도보다 링크속도가 빠르기 때문에 데이터 전체가 보이지 않는 상자

2) transmission delay < propagation delay
링크속도보다 로딩속도가 더 빠르기 떄문에 링크 상에서 데이터 상자 보임

processing / transmission / propagation 은 default
queueing delay는 그때 그때 트래픽 상황에 따라 달라짐  인터넷 서비스의 품질을 결정하는 결정적인 요소

La / R = traffic intensity
0: average queueing delay small
1: delay become large
+: 더 많은 데이터가 서비스 될 수 있는 것보다 많아지면서 delay는 무한으로 증가

Throughput
sender와 receiver사이 단위 시간당 평균 전송량 (bps) = 속도
서버 ------- 라우터 ----------- endsystem 사이 링크의 전송속도 중
어느 것이 bandwidth에 더 큰 영향을 미치는지
1) Rs < Rc
end to end throughput은 Rs에 의해 결정
2) Rs > Rc
end to end throughput은 Rc에 의해 결정

bottleneck link : 병목링크 / 바틀넥이 발생하는 링크 밴드위스가 전체 end to end 스루풋 결정




4. Functionality

Internet Protocol Stack

  1. Application : FTP / SMTP / HTTP
    2 .Transport : TCP / UDP (ip address의 프로세스 식별, 어플리케이션간 연결 유지)
  2. Network : IP (routing forwarding, end to end 연결, IP레이어에서 확인하고 destination 확인)
  3. Data Link : 피지컬 받아서 이웃한 노드/접속가능한노드/지역근접노드 사이 연결
  4. Physical : 피지컬한 미디어에 맞게 기계/전기/물리적 특징

Protocols (규정 + 내용)

  • 지역적으로 떨어진 사람과 통신 위한 많은 절차를 common한 서비스 형태로 구현 -> 내가 하는일 적게 해주는 것
  • 하드웨어적으로 이웃한 엣지 라우터 연결 + 다른 ISP 라우터에 연결 + 탑티어 ISP에 연결 + 통신하고자하는 가입자 ISP 연결 + 데이터 받고 끊어버린느 것 간편
  • 사용자는 목적에 부합하는 데이터만 주고받도록 (application에 의해 결정)

Abstraction through layering
기능들을 여러 개 나누고 각 레이어 독립적 구현 / 한 레이어 구현 위해 상위 레이어 서비스 제공할 때 하위 레이어 기능을 이용해서 구현, 각레이어가 수행할 수 있도록 만들어짐

layered architecture의 특징
1) encapsulation

  • 데이터를 패킷처럼 application에 전송
  • 추가 데이터 붙여서 보내게되는 과정 / 상위 레이어는 하위 레이어 서비스 받아서 상위 레이어 서비스 제공위해 encapsulation

2) multiplexing and demultiplexing

  • 각자의 통신상대방과 소통 가능하도록 TCP/IP가 구분해서 전송
    보내는 쪽 : 메시지 받아서 전송 = multiplexing
    받는 쪽 : 수신된 데이터를 각 어플리케이션에 정확히 보내는 것 = demultiplexing
    peer interface / service interface
profile
Back-end-dev

0개의 댓글