중간고사 대비

Srevil·2022년 10월 6일
1

Computer Network in UOU

목록 보기
2/3

용어 정리

Ch01-1

Host : 모든 device. packet 전송 주체
Network Edge : 여러개의 Net으로 이루어진 Internet에서 말단 부분에 위치한 Network

  • mobile network, home networ 등 처럼 우리가 직접 접하는 Network

bandwidth : 주파수 범위(대역폭) or 자료 전송률
packet : routing에서 사용하는 data 단위. chunks of data(데이터 덩어리)
Networks : device, router, link의 모음
Internet Standard : RFC와 IETF
Network Core : router들의 연결집합 & network of networks
Access Networks : 출발 host와 도착 host 경로상에 있는 첫번째 router
WLANs : 근거리 통신(WiFi)
이더넷 : 컴퓨터 네트워크 기술의 하나. LAN, WAN에서 가장 많이 활용되는 기술 규격
Enterprise Networks : 기업 내 Networks
전송률 : 초당 몇 bit를 보내는가. (단위: bit/sec = bps)

  • Transmission rate = link capacity = link bandwidth

bit : 송수신기 쌍 사이에 있는 전파
physical link : 송수신기 사이에 있는 물체(물리 링크)
guided media : 유선 링크. 고체 따라 파형 유도
unguided media : 무선 링크. 대기와 야외 공간으로 파형 전파
half-duplex : 송수신 가능하나 동시에는 불가능
Packet-Switching : link와 switch의 network를 통해 data를 이동시키는 방식 중 하나.

  • Store and forward
  • queuing delay : 들어오는 속도 > 나가는 속도
  • queuing loss : memory가 꽉찬 경우
  • Forwarding
  • Routing : 출발지에서 목적지까지 어떤 라우터를 거쳐야 하는지 설정

Circuit-Switching : 남은 방식 중 하나.

  • FDM : 주파수 분할 다중화
  • TDM : 시분할 다중화

ISP : Internet Service Providers.
주파수 간섭 : 다른 디바이스가 똑같은 주파수에 접근하면 성능이 저하되는 현상

Ch01-2

packet delay : packet 전송 시 발생하는

  • dprocd_{proc} : 처리 지연
  • dqueued_{queue} : 큐잉 지연
  • dtransd_{trans} : 전송 지연(packet을 router->link)
  • dpropd_{prop} : 전파 지연(packet이 link->destination router)

traffic intensity : 트래픽 강도. 큐잉 지연의 정도를 측정하는데 사용
Traceroute Program : Computer Network에서 delay를 측정하기 위한 진단 프로그램
Throughput : 처리율. 송신기에서 수신기로 비트가 전송되는 속도(bits/time unit)

  • instantaneous : 순간적 처리율. 파일을 수신하는 비율(bits/sec)
  • 평균 처리율
  • RsR_s : Server와 router간의 link 속도
  • RcR_c : router와 client간의 link 속도
  • 병목 링크 : 종단 간 처리율을 제약하는 링크로 링크 중 가장 속도가 느린 것

Malware : 악성코드

  • 바이러스 : 사용자의 액션에 의해 자기복제
  • 웜 : 사용자의 액션 없이 컴퓨터의 약점을 공격 & 복제
  • spyware malware : 키 입력, 방문한 사이트 등의 정보 업로드
  • botnet : 감염된 host 집합
  • DoS : Denial of Service. 서비스 처리를 어렵게하는 공격
    Packet sniffing : 연결을 훔쳐봄
    IP spoofing : 가짜 출발지 주소를 가진 패킷을 인터넷으로 보내는 능력
    Encapsulation : 헤더를 붙이는 과정(송신)
  • MM : 사용자의 데이터와 앱에서 사용하는 제어정보
  • HtH_t : 프로세스간의 식별자 모음
  • HnH_n : 데이터 운반을 해야하는지 확인하는 제어 정보
  • HlH_l : 인접한 데이터로 보내기 위한 제어정보를 보내는 식별자
    Decapsulation : 헤더를 제거하는 과정(수신)
    segment : transport layer packet
    datagram : network layer packet
    frame : link layer packet

공식

bit/sec = bps
1. Packet Transmission Delay

L(bits)R(bits/sec)L(bits)\over R(bits/sec)

출발지부터 목적지까지 N개의 link로 구성된다면

d종단간지연=NLRd_{종단 간 지연} = N * {L\over R}

단위 : sec
L : packet의 길이
R : transmission rate(전송률)

2. 단위 변환

11 kbitkbit == 10001000 bitbit
11 MbitMbit == 10610^6 bitbit
11 GbitGbit == 10910^9 bitbit
11 bytebyte == 88 bitbit

3. Packet Switching 에서 전체 A명 중 t명이상이 동시에 link를 사용할 확률

1n=0tpn(1p)An1 - \sum_{n=0}^{t}{p^n*(1-p)^{A-n}}

4. Packet delay

dnodal=dproc+dqueue+dtrans+dprocd_{nodal} = d_{proc} + d_{queue} + d_{trans} + d_{proc}

  • dtrans=LRd_{trans} = {L\over R}
    • LL : 패킷의 길이(bits)
    • RR : 링크의 전송률(bps)
  • dprop=dsd_{prop} = {d\over s}
    • dd : 라우터 사이 거리
    • ss : 링크의 전파 속도

5. traffic intensity

  • LaRLa\over R
    • RR : 전송률(bits/sec)
    • LL : 패킷 길이(bits)
    • aa : 초당 packet이 도착하는 평균 횟수(평균 packet 도착 속도)
  • LaR{La\over R} ~ 0 : delay small
  • LaR{La\over R} -> 1 : delay large
  • LaR{La\over R} > 1 : 거의 동작 x

6. Throughput

  • Rs<RcR_s < R_c : RsR_s bps의 처리율이 결과
  • Rs>RcR_s > R_c : RcR_c bps의 처리율이 결과
    위 두 값중 작은 값이 처리율이 됨 = min{Rc,Rs}min{\{R_c,R_s}\}
    이는 bottlenect link(병목 링크)의 전송률이 처리율이 됨을 의미
    • n개의 server와 n개의 client가 존재하는데 link 속도 R이 RsR_sRcR_c보다 수백 배 크지 않으면, 병목링크는 min{Rc,Rs,Rn}min\{R_c, R_s, {R\over n}\} 이 된다.

읽으면서 정리하기

Ch01-1

인터넷은 두 개의 관점으로 정의할 수 있다.

  • 구성 요소
  • 제공하는 서비스

구성 요소를 살펴보면, 네트워크와 연결된 컴퓨팅 장치, 스위치와 라우터, Communication links, 네트워크, Network of Networks,프로토콜, RFC 또는 IETF 로 구성되어 있다.

컴퓨팅 장치는 host라고도 불린다. 스위치와 라우터는 Packet Switches 에 포함되는 network 3계층의 장비로 패킷을 전송하는 장비다. Communication links 는 유무선으로 구분할 수 있다. Network는 device, router, link 들이 모여서 구성하는 것이고, Network of Networks 는 Network 들이 ISP에 연결되어 있는 것을 의미한다. RFC 와 IETF는 Internet Standards 를 규정하는 문서임. Protocol은 message 송수신을 위한 약속임.

서비스 측면에서 바라보면, 인터넷은 응용프로그램에 서비스를 제공하는 시스템이며, Programming Interface를 제공하여 Distributted App 제작을 돕는다.

프로토콜은 포멧이나 네트워크 독립체에 둘러쌓인 메세지의 송수신의 순서, 그리고 메세지 전달 등에 대한 액션을 말한다.
간단히 송수신에 대한 규약이다.

인터넷의 구조를 살펴보자.
Network Edge, Access Networks, Physical media, Network core 로 구성되어있다.

Network Edge는 호스트와 서버로 구성되어있다.
Network Edge에 해당하는 host가 패킷을 전송하는 과정을 대략 살펴보겠다.
1. 응용프로그램으로부터 message를 수신
2. 패킷이라고 불리는 작은 덩어리로 데이터를 쪼갠다. 이때 패킷 길이는 L이며, 단위는 bits
3. 이후 살펴볼 Access Networks에 패킷을 전송한다. 이때 전송률은 R이며, 단위는 bits/sec.

전송률은 "초당 몇 bit를 전송할 수 있는가?"를 의미하며, bits/sec를 bps로 나타낸다.

  1. 패킷 전송 지연율 = LRL\over R

Access Networks 는 호스트가 네트워크에 접근하기 위해 가장 먼저 접하는 네트워크를 의미하는데, 일반적으로 주거용 출입망, 학교 등 제도적 출입망, 모바일 cellular를 통해 호스트와 연결된다. Physical media는 네트워크에 접속하기 위한 link를 의미하는데 유무선으로 종류를 나눌 수 있다. Network core 같은 경우 라우터들이 서로 연결되어 있는 것이다.

Access Network에 대해 조금 더 알아보자. 우선 앞의 3개는 접속 유형을 분류한 것이고, home networks와 enterprise networks는 어떤 유형을 사용하여 network를 이루는지 확인하는 부분이다.

  • cable-based access
  • digital subscriber line(DSL)
  • wireless access networks
    • WLANs(무선 근거리 통신망)
    • Wide-area cellular(셀룰러)
  • home networks
  • enterprise networks
    각각에 대해 간단하게 살펴보고 넘어간다.
    cable-based 의 경우 케이블 망을 공유하며, 1개의 주파수라도 대역이 다르면 다른 데이터를 동시에 받을 수 있다는 특징이 있다. FDM 방식을 사용하며, HFC 를 사용한다. 또한, 망이 공유된 집끼리 같은 주파수를 연결하면 지연이 발생한다.
    DSL 은 기존 사용하던 전화선을 사용한다. cable-based 방식과 DSL에 차이점이 있다면, cable은 자원을 공유하지만, DSL은 단일 사용이란 점이다.
    Wireless access networks 는 무선네트워크다. WiFi 같은 무선 근거리 통신망과 이동 통신사업자(SKT, KT 등)이 제공하는 네트워크인 cellular가 존재한다.

    WiFi는 802.11b/g/n , WiFi 6는 802.11ax 로 나타낸다.

Enterprise Networks는 기업, 학교 등에서 사용하는 Networks.
유무선 link 기술을 혼합해서 사용하며, 스위치와 라우터도 혼합 연결해서 사용. 즉, 유무선 융합 환경이다. (유선은 Ethernet, 무선은 WiFi)
이더넷은 이더넷 스위치에 연결하기 위해 꼬임쌍선을 이용.
WiFi는 무선으로 연결하며, 네트워크에 연결된 AP로 패킷을 송수신하고, 이 AP는 유선 네트워크에 다시 연결되는 형태.
보통 Homenetworks는 cable-based 혹은 DSL이 중심이었으나, 스마트폰 등이 널리 보급됨에 따라 무선 접속을 원할하게 사용한다. 이에 WiFi 역시 homenetwork를 구성하는 요소가 되었다.

Access networks들에 대해 알아보았으니, 이제 이들이 사용하는 매체에 대해서 알아보고자 한다. 예를 들어 cable-based의 경우 HFC라는 광섬유 케이블과 동축 케이블을 병합한 케이블을 이용함을 알았다. 이런 것처럼 어떤 매체들을 이용했는지에 대해서 알아보는 파트다.
우선 bit라는 개념에 대해 알아야하는데, bit는 송수신기 쌍 간에 있는 전파라고 생각하면 된다.
그리고 Physical media는 이런 비트가 지나다니는 통로라고 생각하면 편리하다.
Link는 두 부류로 나눌 수 있다.
1. 유선 매체(Guided media)
2. 무선 매체(Unguided media)
유선 매체는 견고한 매체를 따라 파형을 유도하는 것으로, 구리선, 광섬유 케이블 등이 있다.
무선 매체는 대기와 야외공간으로 파형을 전파하는 것으로, 무선 랜, 라디오 스펙트럼 등이 있다.

유선 매체 예시
1. Twisted pair(TP)
2. Coaxial cable : 양방향 통신 가능하며, 여러개 채널 전달이 가능하다는 특징
3. Fiber optic cable : 빛의 유무에 따라 1 or 0의 신호를 전송하며, 고속 동작이 가능하다는 특징이 있다. 또한, 신호를 받는것 역시 빛이기 때문에 전자기의 영향을 받지 않는다는 특징.

무선 매체 예시
1. Wireless radi : 전자기 스펙트럼을 이용하며, 통신 방식은 half-duplex임. 환경에 영향을 받는데, 반사, 장애물, 간섭 등이 발생할 수 있다.
2. Radio link types : 지상파 통신, WiFi, Cellular, 위성 통신이 있다.

마지막으로 Network core에 대해 알아보자.
Network core는 인터넷의 종단 시스템을 연결하는 패킷 스위치와 링크의 그물망이다.
즉, router들의 연결이라고 생각하면 된다.
Network core에서는 링크와 스위치의 네트워크를 통해 데이터를 이동시키는데, 이때 사용되는 방식에 packet switching 과 circuit switching이 있다.

Packet Switching에 대해 먼저 살펴보자.
Store-and-forward 방식을 사용하며, Queueing delay 와 loss가 발생한다.
Store-and forward 방식을 사용하기 때문에 delay가 있음. 모든 경우에서 delay가 생기는 것은 아니고, 패킷이 라우터에 들어오는 속도가 나가는 속도보다 빠르면 발생한다. 그리고 그 차이가 너무 커서 라우터가 가지는 메모리량을 초과하게 되면 loss가 발생하는 것임.
그렇다면 Packet Switching 방식에서 packet 을 어느 link로 보낼지는 어떻게 결정될까?
Routing algorithm 과 Forwarding Table을 이용하여 이뤄진 결과물이다.

Circuit Switching에 대해서도 간단히 알아보자.
경로상에 필요한 자원을 미리 예약하는 방식이다.
이 방식은 링크를 공유하지 않는다는 장점이 있지만, 자원을 효율적으로 사용하기 어렵다는 단점이 있다.
링크를 나눌 때 사용하는 방식에는 주파수 기준인 FDM 과 시간을 기준으로 나누는 TDM이 존재한다.
둘 다 자원의 낭비가 생길 수 있다는 단점이 있다.

Packet vs Circuit
회선 교환의 방식 같은 경우 최대 인원에 제한을 둬서 데이터 충돌이 일어나지 않는다. 하지만, 모든 인원이 상시 데이터를 전송하는 것이 아니기 때문에 낭비가 발생할 수 있음.
이에 반해 패킷 교환 방식은 최대 인원의 제한은 없지만, 데이터가 충돌할 확률이 있다.
A명이 데이터를 전송하고자 할 때, A명이 동시에 데이터를 전송할 확률은 매우 낮기 떄문에, 최대 인원에 제한이 없는 패킷 교환 방식이 효율적이라고 할 수 있다.
하지만, 패킷 스위칭 역시 패킷 지연 및 손실 등으로 인해 과도한 혼잡이 발생할 수 있다는 단점이 있고, 이를 보완하기 위한 TCP가 필요하다.

마지막으로 Network of Networks에 대해 알아보자.
전세계에는 수백만개의 ISP가 존재하는데, 이들이 상호 연결되어야 두 호스트가 서로 패킷, 즉 데이터를 전송 가능하다. 그렇다면 수백만개의 ISP는 어떻게 연결할까?
1차원적으로 생각하면 직접 연결하는 방법이 있다.
하지만, 이 방식은 대량의 자원이 낭비되며, 인원이 많아지면 시스템이 다운된다.
이에, 하나의 Global ISP에 각 개인 ISP를 연결하는데, Global ISP를 제공하는 업체에 개인이 어느정도의 비용을 지불한다. 그리고 Global ISP를 제공하는 업체가 이를 독점하지 못하게 경쟁 업체를 만들었다. 다른 Global ISP끼리 접속할 수 있도록 IXP 라는 것 역시 설치했고, 조금 더 작은 단위로 관리할 수 있도록 regional ISP 역시 나타났다.
그리고 대기업에서는 비용을 효율적으로 사용하기 위해 직접 ISP 회사를 만들기도 한다.

Ch01-2

Ch01-1에서 살펴본 것처럼 Packet Switching 방식을 사용할 경우 delay와 loss가 발생할 수 있다. 이는 어떻게 발생하는 것일까? 우선 router의 작동 방식을 간단하게 설명하고 가겠다.
예를 들어, host와 목적지 사이에 router가 하나 존재한다고 가정하자.
이때 router는 host가 전송한 packet을 받고, 목적지로 전송한다. host로 부터 packet을 받는 속도가 목적지로 보내는 속도보다 빠르면 packet들은 router 안에 있는 queue에 저장된다.
이때, 전송을 기다리면서 발생하는 것이 queueing delay이며, 이 queue에서 저장될 수 있는 양이 제한적인데, 이 용량을 초과할 경우 발생하는 현상이 packet loss다. lost packet은 이전 노드 혹은 source end system에 의해 재전송 될 수도 있으나, 전송되지 않을 수도 있다. 즉, 손실 여부를 확인하기 어려움.

실제로 packet을 전송하는 과정에는 queueing delay 외에도 3가지의 delay가 더 존재한다.
이번에는 packet 전송 시 발생하는 총 delay를 계산하는 방법과 각 delay에 대해 살펴본다.

delay total = 처리 지연 + 큐잉 지연 + 전송 지연 + 전파 지연

처리 지연은 비트 에러 검사, 어느 link를 output으로 사용할지 선택하는 등에 걸리는 시간이다.
큐잉 지연은 전송하기 위해 queue에서 대기하는 시간을 의미한다. 이는 기다리는 packet의 수에 따라 시간이 달라진다.
전송 지연은 packet을 link에 넣는 시간이고, 이를 구하는 방법은 LRL\over R 이다.
전파 지연은 link에서 다음 router까지 가는데 걸리는 시간이며, 이는 dsd\over s를 통해 구할 수 있다.
전송 지연과 전파 지연의 차이를 알아보겠다.
우선 전송 지연은 router 사이의 거리는 관계없다. 전파 지연은 거리와는 상관이 있지만, packet 길이와 link 속도와는 무관하다.
전송 지연과 전파 지연은 계산을 할 수 있는데, 큐잉 지연은 어떨까? 이를 직접적으로 계산할 수는 없지만, 언제 크고, 언제 미미한지는 알 수 있다.
이때 사용하는 것이 traffic intensity라고 하는 트래픽 강도다. 이는 LaRLa\over R로 계산할 수 있으며, 이 값이 1보다 커진다면 큐에 도착하는 비트 평균율이 큐에서 전송되는 비트 평균율을 초과하는데, 이는 큐잉 지연을 무한대에 가깝게 한다.
이 트래픽 강도가 0에 가까워지면, 패킷 도착이 드물고 간격이 멀어서 다음에 도착하는 패킷이 큐에서 다른 패킷을 발견하는 경우가 거의 없다. 즉 queueing delay가 0에 가깝다.
반면 1에 가까워질수록, 패킷 도착이 전송용량을 초과하여 큐가 생성되고, 도착률이 전송률보다 작아질 때 큐의 길이는 줄어들 것이다. 1에 근접할 수록 큐 길이가 점점 길어진다.

traceroute program은 컴퓨터 네트워크에서 지연을 측정하기 위한 진단 프로그램이다. 이는 cmd 창에서 traceroute 명령을 통해 실행하고 결과를 확인할 수 있다. 이 원리는 출발지와 목적지 사이에 N-1 개의 라우터가 있다고 가정하고 설명하겠다.
출발지에서 Network로 N개의 특별한 packet을 전송하는데, 이 packet들은 각자 최종 목적지의 주소를 가진다. 즉, N개의 특별한 packet은 1번부터 N까지의 번호를 가지고 있다. N번째 라우터가 N번 packet을 받으면 그 packet을 출발지로 다시 전송하고, 만약 목적지 host가 N번째 패킷을 받으면, packet을 파기하고 출발지로 메세지를 전송한다. 출바지는 한 패킷을 전송한 후 응답이 올 때까지의 경과시간과 메세지를 보내온 라우터 이름과 주소를 기록한다.

처리율(throughput)이란 송신기에서 수신기로 비트가 전송되는 속도를 의미한다. 순간적 처리율은 파일을 수신하는 비율이고 평균 처리율은 파일의 크기가 F bit이고, F bit를 수신하는데 T초가 걸릴 때 FTF\over T라는 식으로 나타나는 것이다. 처리율에서 가장 중요한 개념은 RsR_sRcR_c의 관계와 병목링크라는 것이다. 한 예시를 통해 쉽게 설명하겠음.
서버-라우터-클라이언트 이렇게 직선상에 링크로 연결되어 있다고 가정하자. 이때 서버와 라우터 사이의 링크 속도를 RsR_s라고 하며, 라우터와 클라이언트 사이의 링크 속도를 RcR_c라고 한다.
여기서 두 값 중 작은 것을 고르는 링크를 병목링크라고 하고 표기는 min{Rc,Rs}min\{R_c, R_s\} 로 한다.
처리율에서 서버와 클라이언트의 개수가 각각 1개가 아니라 이보다 많은 경우가 있다. 그리고 이들이 모두 동시적인 다운로드를 한다고 가정하자. 그리고 이 다운로드 링크가 통과하는 하나의 링크가 있다고 가정한다. 이때 병목링크는 min{Rc,Rs,Rn}min\{R_c, R_s, {R\over n}\} 이다. R은 하나의 링크의 전송률이다.

요약하자면, N개의 서버와 클라이언트가 동시에 다운로드를 실행할 경우, 클라이언트가 n등분으로 동일하게 사용함을 의미한다

Protocol에 관해서 간단히 요약하겠다. protocol은 여러 layer로 이루어져있는데, 이렇게 관리하는 이유는 복잡한 시스템을 쉽게 관리할 수 있기 때문이다. 또한, 이렇게 모듈화를 시켜놓으면 유지와 업데이트가 쉽기 때문이다. 그 이유는 하나의 layer 구현을 바꾼다고 다른 layer에 영향이 가는 것은 아니기 때문이다.
layer는 총 5계층으로 구분되는데, 네트워크 애플리케이션을 서포팅하는 application 계층, 프로세스간 데이터 교환이 일어나는 Transport계층, 컴퓨터끼리 연결하는 network계층, 인접 네트워크 요소 간 데이터를 전송하는 link계층과 마지막으로 데이터 전송을 담당하는 물리계층인 physical 계층으로 구성된다.
Protocol이 실행될 때 캡슐화가 일어나는데, 이 과정은 아래와 같다
1. 송신자(Host)로부터 Message를 받는다(application layer에서 발생)
2. 받은 M에 오류가 있는지 확인 및 보낼 경로를 담은 HtH_t라는 헤더파일을 M에 추가하여 segment를 구성하여 network 계층으로 전송(transport 계층에서 발생)
3. Network계층에서는 HnH_n이라는 헤더파일을 붙여서 Datagram을 형성한 후 다음 계층으로 전달
4. link 계층에서 HlH_l이라는 헤더파일을 붙여 Frame 구성한 후 전송한다.

profile
UOU_Unknown

0개의 댓글