본문 바로가기
Computer Science/Computer Network

Chapter 1 - application layer

by 이은선 2023. 4. 14.
728x90
SMALL

Internet : 1) nuts and bolts view(구성 요소를 가지고 인터넷 정의)

computing devices : hosts=end systems, 인터넷의 edge에서 돌아가는 네트워크 앱

packet switches : 데이터의 chunk들인 packet 전달하는 역할 / routers, switches

communication linkes : device에 연결하기 위함 / fiber(광케이블), copper(구리), radio(무선), satellite(위성) 

  - transmission rate : 전송 속도

  - bandwidth(대역폭) : 신호를 전송할 수 있는 주파수 범위 혹은 폭, link의 성능 -> link를 통해 1초에 몇 bit로 전송 가능한지

       bandwidth는 네트워크의 물리적인 제약에 의해 제한되고, transmission rate는 실제 데이터 전송 속도에 따라 결정됩니다.

networks : devices, router, link들의 집합

Internet : network of network, ISP들이 상호연결됨. 컴퓨터 device들의 집합이면서 link,router,protocol 등이 필요한데, 이 모든 것의 집합

protocol : 메시지를 주고받기 위해 정의된 공통된 규칙(호환성) / HTTP(Web), streaming video, Skype, TCP, IP, WiFi, 4F, Ethernet

Internet standard : 프로토콜은 표준을 정해서 구현 필요 / RFC(Request for Comments)-프로토콜 정의, IETF(Internet Engineering Task Force)-프로토콜 정의, RFC 관리하는 조직

Internet : 2) services view(인터넷이 제공해주는 서비스 관점)

* application에게 다음과 같은 서비스를 제공해주는 공공 기반 시설(web, streaming video, multimedia teleconferencing, email, games, connected appliances,...)

* application이 이용할 수 있게 인터넷은 공통적인 인터페이스 제공

network protocol

netowrk protocol : 네트워크 개체들 사이에 메시지를 주고받는 포맷과 순서, 메시지를 주고 받았을 때 행해야 하는 action들을 정의

http : 웹페이지를 주고 받을 때 사용하는 프로토콜

* 인터넷에서의 모든 communication 활동은 프로토콜에 의해 통제된다.

network edge : hosts, access network, physical media

network edge : hosts(clients and servers)

* 보통 서버는 data center에 존재

access networks, physical media : wired, wireless communication link

network core : 라우터/switch로 이루어져있음, 네트워크의 네트워크

 

 

 

Acess networks and physical media

access network: network edge(host)와 network core(router)를 연결해주는 역할을 수행

- residential(지역의) : DSL, cable network 

- institutional(기관의) 

- mobile(무선의) : Wifi, 4G/5G

* bandwidth는 access network가 shared(공용)/dedicated(전용)인지에 따라 달라짐.

Acess networks: cable based access

* 케이블이 등장하며 가입자들이 인터넷을 사용하게 하기 위해 케이블선 이용 (대부분의 채널들을 케이블을 통해 봤었음)

* 케이블 TV network 존재

* 여러개의 케이블 중 몇개의 채널을 data를 주고받는데 이용

FDM(frequency division multiplexing) : 다양한 주파수 대역 안에서 다양한 채널들이 전송됨. 전체 큰 대역폭을 주파수 대역으로 나눠 여러 개의 정보를 동시에 보내기 때문에 서로 다른 채널이 서로 다른 주파수 band를 사용하여 전송하는 방식

 

 

* cable network 자체의 bandwidth는 크지만 shared

* 가정 -> 인터넷으로 data 보내려 할 때, 여러 가정에서 이용하게 됨. (shared network이므로 하나의 line을 여러 개의 가정이 공유)

* 인터넷 -> 가정은 문제 X

HFC : hybrid fiber coax(동축)

asymmetric(비대칭의) :

  - downstream transmission rate(인터넷->host) : 40MPS-1.2GPS

  - upstream transmission rate(host->인터넷): 30-100MPS

* cable,fiber의 network는 shared access network 형태로 home->ISP router까지 닿는다.

Acess networks: digital subscriber line(DSL)

DSL : 하나의 채널(전화기 하나가 음성 하나만 실어서 보냄 -> 전화기를 사용 안할때만 데이터 전송 가능)

DSLM(DSL access multiplexer) : 여러 집으로부터 들어오는 digital 신호를 받아 인터넷에 연결시켜주는 장비

* DSL의 bandwidth는 작지만 dedicated <-> cable network : shared

* DSL은 이미 존재하는 전화선을 사용하기 때문에 비용 절감 & 사용자를 빨리 가입시킬 수 있다.

  - data over DSL phone line goes to Internet

  - voice over DSL phone line goes to telephone net

* upstream은 속도가 안좋은거에 비해, downstream은 속도가 빠르다.

Acess networks: home networks-home에 있는 노드들끼리 인터넷을 연결해주는 것

* 집 안에서 인터넷에 여러개의 기기들이 연결돼있으므로 집 내에서도 network를 구성할 필요 O -> 공유기(무선 lan)

* 중간에 라우터가 끼는 경우도 많으므로 라우터+무선 lan 합쳐서 많이 사용 -> 공유기를 사게 되면 유선/무선 연결하는 안테나로 구성

 

+ DSL 추가 설명

https://inyongs.tistory.com/39

 

[ 네트워크 ] Access network

Access network Access network 한국말로 접속망이라고 생각하면 된다. end system과 다른 end system을 사이의 경로상에 있는 첫번째 라우터(edge router)에 연결하는 네트워크를 access network라고 한다. 즉, access ne

inyongs.tistory.com

 

Wireless access networks

* wifi, LTE, 5G -> 공통적으로 공기라는 매질을 이용해 전파 전송 -> share* base staion(access point)을 통함

 

WLANs(Wireless local area networks) : - 근거리에서 이용 -> 100ft(20-30m) 안에서 사용 가능

- WLANs 표준 : 802.11b/g/n(WiFi) - 11(b), 54(g), 450(n) - b,g,n에 따라 속도차(성능차)

- Mbps transmission rate 

 

Wide-area cellular access networks :

- 원거리에서 이용 -> 10km까지 전송 가능

- 이동통신 사업자에 의해 제공됨.

- 4G, 5G

 

Access networks: enterprise networks

*무선보단 유선 많이 사용 (최근에는 무선 많이 사용하는 추세이긴 함)

* 유선, 무선 link 섞어서 사용하며 스위치와 라우터들에 연결돼어있음.

Ethernet : wired access at 100MbPS, 1Gbps, 10Gbps / 좁은 공간에서 사용하며 속도가 빠르다

WiFi : wireless access points at 11, 54, 450 Mbps

 

+공유기 라우터의 많은 기능 중 NAT기능을 특화시켜 만든 저렴한 장비

ISP(Internet Service Provider) 업체에서 제공하는 한 개의 인터넷 IP Address로 여러 대의 컴퓨터, 노트북, IP폰 등이 인터넷을

공유할 수 있도록 합니다. 공유기를 사용하면 ISP에서 할당받은 하나의 공인 IP Address를 내부 네트웍에서 여러 개의 IP 주소로 변환 사용가능하기 때문에, 한 대의 컴퓨터에서만 인터넷 접속이나 외부 네트워크와 연결되던 것을 내부 IP 값으로 최대 253대까지 동시에 인터넷 접속이 가능합니다.

https://velog.io/@ckstn0777/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%ED%97%88%EB%B8%8C-%EC%8A%A4%EC%9C%84%EC%B9%98-%EB%9D%BC%EC%9A%B0%ED%84%B0-%EA%B3%B5%EC%9C%A0%EA%B8%B0

 

+라우터와 스위치의 차이점 : 스위치는 유선 네트워크에만 사용되지만 라우터는 무선 네트워크와도 연결할 수 있습니다

+라우터 : LAN을 연결시켜주는 장치로써 정보를 주고 받을 때 송신정보 (패킷)에 담긴 수신처의 주소를 읽고,

가장 적절한 통신경로를 이용하여 다른 통신망으로 전송하는 장치

+서브넷 마스크가 다른 IP 주소를 가진 장비간 통신을 하기 위해서는 반드시 L3 장비(라우터)를 거쳐야만 합니다.

https://coding-chobo.tistory.com/38

 

허브 / 스위치 / 라우터 / 공유기 차이 및 비교

허브 (L1 더미허브) 허브의 개념 허브는 전기적인 신호를 증폭시켜 LAN의 전송거리를 연장시키고, 여러 대의 디바이스를 연결해 네트워크를 만들어주는 장비입니다. 포트는 허브에 따라 다양하며

coding-chobo.tistory.com

Access networks: data center networks

*data center 안에서 작동하도록 만든 network로, 안에 컴퓨터가 많다. 

* 예를 들어, 리눅스 서버가 50만개가 있다 치면 우리는 이를 network core를 통해 연결할 필요가 있다.

* 높은 bandwidth link(10-100s Gbps)가 수천개의 서버들과 연결되어 있다. (인터넷에 연결)

Host : 데이터의 packet을 보냄. application 메시지를 보내거나 받는 end system

* host sending function

  - application message를 받는다.

  - 작은 chunk == L bit의 packet으로 나눈다. 

  - packet을 transmission rate R bit로 access Network로 전송한다. (1초에 R bit만 보낼 수 O)

* link transmission rate == link capacity == link bandwidth (여기선 R)

 

Links : physical media(매개체)

bit : 송신자와 수신자 사이에서 전파, 0/1로 이루어져있음.

physical link : 송신자와 수신자 사이에 놓여있는 무언가 

guided media(길을 안내하는 매개체) :신호들이 딱딱한 매개체 안에서 전파 / copper, fiber(광케이블), coax(동축 케이블)

unguided media : 신호들이 자유롭게 전파 / radio(무선)

Twisted pair(TP) : 두개의 절연처리가 된 구리선으로, 카테고리별로 성능이 다르다.

  - category 5: 100Mbps, 1Gps Ethernet 

  - category 6 : 10Gps Ethernet

  - 선 8개 중 4개를 사용하는데, 2개는 받는쪽 2개는 보내는쪽이다.

Links : physical media(매개체)

Coaxial cable(동축 케이블) : 두개의 center가 같은 구리 유도체(전기를 통하게 하는)

  - 양방향

  - broadband(bandwidth가 넓어서 케이블에 여러개의 주파수 채널들, 채널마다 100Mps)

Fiber optic cable(광섬유 케이블) : 빛 파동(빛을 보냈다/안보냈다 -> 0/1로 표현 가능)을 운반하는 유리 섬유

  - 높은 속도로 연산 가능(10-100 Gbps)

  - 에러가 적다

  - 증폭장치가 멀리 떨어져서 존재하기 때문에 자기장 소음이 면제됨.

wireless radio : 무선으로, 전자기 스펙트럼에서 다양한 대역으로 이동하는 신호들

  - 반양방향으로 내보냄(sender->receiver)

  - 물리적인 선이 없으며, 거의 빛의 속도로 전파 가능

  - 환경의 영향을 많이 받으며 전파 (반사, 물체들에 의한 장애물, 간섭/노이즈)

 

Radio link types :

1) Wireless LAN (WiFI) : 10-100 Mbps; 10m 안에 존재해야함.

2) wide-area(4G cellular, 5G) : 10 Mbps, 10KM까지 가능

3) Bluetooth : 케이블 대체 가능하며, 짧은 거리에 제한된 rate

4) terrestrial microwave(지상파) : point-to-point로, 45Mbps channels / 아주 먼거리 가능 ex) 서울-부산

5) 인공위성 : 채널마다 45Mbps까지 가능하며, 270ms(0.27s) end-end delay(위성이 멀리 떨어져있기 때문에 신호가 갔다 다시 오려면 시간이 오래 걸림) -> 속도가 빠르고, 먼거리에 data를 보낼 수 있지만 deley(시간)이 오래 걸림. 

 

The network core : 서로 연결된 라우터들의 집합

* src->dst까지 패킷을 전달해서 보내는 역할 수행

* 라우터는 라우터들 사이의 link들을 통해 packet이 전달됨.

packet-switching : application-layer 메시지들을 host는 packet으로 나누어서 보낸다. 

* network는 src->dst의 경로에서 link들을 가로질러 패킷을 라우터에서 그다음 라우터로 전달한다.

Two key network-core functions - Routing, Forwarding

1) Routing :

  - [global action] src->dst까지 packet을 전달할 경로를 결정함.

  - routing 알고리즘 수행 결과로 forwarding tale을 만드는 과정

2) Forwarding :

  - switching이라고도 불림.

  - [local action] : 패킷들을 라우터의 input link에서 적절한 라우터의 output link로 전달하는 역할

  - packet이 들어오면 packet의 header를 보고, forwarding table에서 header value에 해당하는 output link로 packet을 전달하는 역할을 수행한다.

* forwarding table : 모든 packet이 어디로 가야할지에 대한 정보가 O

* Routing은 global action으로 여러 라우터들이 협력해야 경로를 찾을 수 있다.

* forwarding은 local action으로 하나의 라우터 내부에서 일이 일어난다.

Packet-switching: store-and-forward (저장 후 전달)

packet-switching : 하나의 packet 전체를 다 받고 나서 전달하는 forwarding 기법

circuit-switching : 1bit씩 받을 때마다 바로바로 forwading 하는 기법

 

packet transmission delay : L/R로, 하나의 packet이 src->router까지 가는데 걸리는 시간이다. (L-bit packet을 R bps link에 넣었을시)

end-end delay : 2L/R (전파 delay가 0이라 가정)

store and forward : 모든 패킷이 라우터에 도착해야 다음 link로 전송 가능

 Q) L = 10Kbits, R = 100Mbps일 때, One-hop transmission delay를 구하시오.

Packet-switching: queueing

* 서비스할 수 있는 시간보다 어떤 work가 더 빨리 도착했기 때문에 queueing 발생

* packet-switching의 문제점 : packet queuing, packet loss

packet queuing : link에 도착한 rate이 link의 transmission rate를 초과했을 시 packet들은 라우터에 queue의 형태로 쌓인다.

packet loss : 라우터의 메모리 버퍼가 꽉 찼을시 패킷이 버려질 수 있다. 

queueing delay : output link를 통해 전송되기까지 패킷들이 queue에서 기다리는 시간

 

Packet-switching의 대안 : circuit switching

circuit switching : src->dst까지 필요한 link(dedicated resource)를 미리 할당 => 할당된 link는 해당 src,dst만 사용 가능

  - src,dst가 데이터를 보내고 있지 않더라도 다른 host는 사용 불가능

  - 경로 설정 후 미리 선을 예약해놔서 한 bit가 오면 바로바로 보낼 수 있다.

 

* 위의 사진에서 각 link는 4개의 회로를 가지는데, src/dst에게 할당된 회로는 각각 2번째/1번째 회로이다. 

* dedicated resource로, 자원 공유 불가

 

circuit switching : telephone network(집전화), 1G, 2G, 3G
 packet switching : 4G, 5G

circuit switching : 1) FDM(주파수) 2) TDM(시간) - 하나의 link를 여러개의 채널로 구분하는 법

* Multiplexing : 하나의 link를 쪼개서 나눠야 함.

 

Frequency Division Multiplexing(FDM) : optical(광학의), electromagnetic(전자기의) 주파수들이 좁은 주파수 대역으로 나뉜다.

  - 각각의 call은 각각의 대역에 할당되며, 각 대역 내에서 최대 rate으로 전송 가능하다.

  - 1HZ에 보통 1bit 보낼 수 있음.

  - HZ ↑ -> 더 많은 bit를 보낼 수 O

 ex) 100MHz 보낼 수 있는데, 4개로 쪼개서 나눠주면 size 자체가 25MHZ(1초에 보낼 수 있는 bit 수 ↓)로 줄어든다. 

-> 4명의 사용자가 동시에 4개의 data를 25MHZ로 보낸다.

 

Time Division Multiplexing(TDM) : slot을 시간으로 나눈다.

  - 각각의 call은 주기적인 slot에 할당되며, 각각의 time slot동안 오로지 더 넓은 주파수 대역의 최대 rate으로 전송 가능하다.

ex) 1초를 4번에 걸쳐 쪼갬 -> 0.25초로 사용자 한명당 0.25초밖에 사용하지 못한다.

-> 1명의 사용자가 동시에 1개의 data를 100MHZ로 보낸다.

Packet-switching VS circuit switching

* circuit switching에 비해 packet switching은 더 많은 사용자들이 메시지를 보낼 수 있다. 

Q) 1Gb/s link가 있는데, 각각의 사용자들은 active할 때 100Mb/s로 보낼 수 있다고 하자. 그런데, 전체 시간의 10%만 active하다고 가정하자. 이 네트워크를 사용하여 얼마나 많은 사람들이 사용할 수 있는가 ?

 

A) 

1. circuit switching : 10 users

 

2. packet switching : 34 users

-> x가 이항분포 B(35,0.1)이고 P[X<=10]인 누적확률값을 구한게 pbinom(10,35,0.1)이다. 그런데 전체 확률 1에서 이 값을 빼줬으므로, 11명~35명의 사용자가 동시에 데이터를 보낼 확률은 0.0004242976인 것이다.

-> user들이 동시에 data를 보낼 확률이 0.0004보다 작은 수준에서 최대로 사용할 수 있는 사용자는 34명이다. 수식을 계산해 만족하는 가장 큰 N을 찾아 보면, N= 34 일 경우 만족하지만 35 이상일 경우 만족하지 않기 때문이다.

 

전체 시간에서 사용시간을 10%로 가정
사용자 수는 35명

  • 사용확률 : p = 
  • 사용하지 않을 확률 : 1-p = 
  • 모두가 사용하지 않을 확률 = 
  • 1명만 사용할 확률 = 
  • ...
  • 1 - 

 

Ch01. Introduction

This data is about Introduction of the Computer Networking that I learned in UOU(2nd semster of the 2nd grade)

velog.io

 

Packet-switching VS circuit switching

* packet switching 

  - on-demand allocation(수요에 따라 동적 할당)

  - resource 공유 

  - 단순

  - no call setup

  - packet delay & buffer overflow에 의한 loss로 과도한 congestion이 올 수도 있다.

* circuit switching

  - human analogies of reserved resources

 

* 따라서, 프로토콜은 reliable data transer, congestion control이 필요

* packet-switching처럼 동작하는 circuit-switching은 복잡함.

* packet-switching이 항상 유리한건 아니다. 간헐적으로 사용자가 데이터를 많이 보낸다 할 땐, packet-switching이 유리하지만, 100% running time으로 데이터를 보낸다 할 땐, 유리하지 않다. 

 

Internet structure : a "network of networks"

* 인터넷은 host, 라우터, access network 등을 아주 많이 모아놓은 것이다.

* host들은 access ISP를 통해 인터넷에 연결 가능하다.

ISP(Internet Service Provider) : KT, SKT 등

* access ISP들은 결국 서로 연결돼있어야한다. -> network의 network는 그물망 형태로 이어져있다. 

* 각각의 access ISP들을 연결하려면 O(N2)개의 연결이 필요하다. -> 불가능


IXP(Internet exchange point) : 인터넷이 교환되는 지점

peering link : global ISP끼리 연결한 link

 


* access net - global ISP 사이에 regional ISP가 존재해서 중간에 연결해주는 역할을 하기도 한다.

 


content provider network : 그들만의 network를 가지면서 유저에게 서비스 혹은 가까운 내용들을 가져다주는 역할 수행

  - Google, Microsoft, Akamai 등이 자체의 망 생성

  - 다른 global ISP와 크기가 맞먹음.

 

 


Tier-1 상업적인 ISP(Level3, Sprint, AT&T, NTT), 국가적인&국제적인 범위

content provider network(Google,Facebook) : 자신의 data center를 인터넷에 연결하는 사적인 네트워크로 tier-1, regional ISP를 우회하기도 함.

 

packet delay와 loss가 어떻게 발생할까?

- packet들은 전송을 위해 차례를 기다리며, 라우터 버퍼 안에서 queue한다.

- link에 도착 rate이 output link의 capacity를 일시적으로 과도하게 넘어설 때 queue가 증가한다.

- buffer에 공간이 없을 시 도착한 packet을 버린다. -> packet loss 발생

⭐️ packet delay : four sources

 

transmission delay : bit(하나의 packet 안에 있는 모든 bit)를 link로 실어주는 속도로 L(packet length)/R(link transmission rate) /  modem, device 성능에 따라 달라질 수 O

queueing delay : queue의 맨 앞에서 맨 뒤로 가는데 걸리는 시간 / 라우터의 congestion 상태에 따라 다름.

propogation : packet은 bit로 이루어져있는데, 하나의 bit가 link를 타고 전파돼서 그 다음 라우터에 도착하기까지의 시간으로, d(length of physical link)/s(propogation speed <구리선 기준 : ~2x108m/sec>)

nodal processing : packet의 header 부분을 보고, 어느 output link로 나가야 하는지 판단 및 처리하는데 걸리는 시간 / bit error 확인도 수행, 일반적으로 us보다 작음.

 

dnodal = dproc + dqueue + dtrans + dprop

 

* 단위 참고

  • kbps: 1000bps(1초당 비트 전송 속도)
  • Mbps: 1,000,000bps == 1,000 kbps
  • Gbps: 1,000,000,000bps == 1,000 Mbps와 같습니다.

 

Caravan analogy

Q1) car==bit, caravan==packet, toll service==link transmission라고 가정, toll booth가 차를 서비스하는데 12sec(bit transmisstion time)걸린다고 하자. 차가 100km/hr(propogate)이라 할 때, caravan이 두번째 toll booth까지 가기까지 시간이 얼마나 걸릴까?  - transmission delay = 12sec  - propogation delay = 1시간

 

A1) 1. 전체 caravan이 toll booth를 통해 고속도로에 진입하는데 걸리는 시간 -> 12sec * 10대 = 120sec2. caraven의 마지막 차가 1번째 toll booth부터 2번째 toll booth까지 전파하는데 걸리는 시간 -> 100km/(100km/hr) = 1hr=> 62minutes

 

Q2) 이번에는 차의 propogate가 1000km/hr, toll booth에서 차 하나를 서비스하는데 1분이 걸린다고 해보자. 모든 차들이 첫번째 booth에서 모두 서비스되기 전에 차들이 두번째 booth에 도착할 수 있을까?  - transmission delay = 1분  - propogation delay = 100km/6분 -> 6분

 

A2) 

1. 전체 caravan이 toll booth를 통해 고속도로에 진입하는데 걸리는 시간 -> 60sec * 10대  = 600sec = 10분

2. caraven의 마지막 차가 1번째 toll booth부터 2번째 toll booth까지 전파하는데 걸리는 시간 -> 100km/6분 -> 6분

=> 7분(1분+6분)이 지나면, 첫번째 차가 두번째 booth에 도착하는데, 3개의 차들이 아직 첫번째 booth에 남아있다.

packet queueing delay (revisited)

a : average packet arrival rate -> 1초에 몇개의 packet이 도착했는지

L : packet length

R : link bandwidth

La/R 값이 1에 가까울수록 queueing delay가 무한대에 가까워지는 것을 볼 수 있다. 

하지만, 보통은 queue 사이즈가 제한돼있기 때문에 이렇게 무한대로 쌓일 순 없다.

 

"Real" Internet delays and routes

traceroute program : 지나는 라우터와, src->dst의 인터넷 경로상의 delay 및 loss를 측정해 제공해준다.

cf) ping : 경로를 거치지 않고 direct로 dst까지 얼마나 걸리는지 알려줌.

Throughput

* 성능 -> 1) delay 2) loss rate

 

Throughput. : rate (bits/time unit) at which bits are being sent from sender to receiver -> sender에서 receiver까지 1초에 몇 bit를 보내는지

  - instantaneous : 특정 시간에서 주어진 지점에서의 throughput

  - average : 평균 throughput

bottleneeck link : link on end-end path that constrains end-end throughput -> 전체 throughput을 결정짓는 link

 

* RS < RC -> throughput은 RS에 의해 결정

* RS > RC -> throughput은 RC에 의해 결정

 

 

* end-end throughput : min(Rc,Rs,R/10)

* 보통 network edge(access net/host)쪽 link들이 bottleneck link가 되는 경우가 많음.

* 위의 사진에선 Rc나 Rs가 bottleneck일 것

Bad guys : packet interception

packet sniffing : 남의 packet 정보를 보는 것

  - 전파 매체가 shared Ethernet이나 wireless, cable network인 경우

  - wirkshark 소프트웨어는 free packet-sniffer (자신이 dst가 아니더라도 나의 이더넷으로 흘러다니는 모든 패킷을 읽을 수 O)

Bad guys : fake identity

IP sniffing : 잘못된 src 주소로 패킷에 주입하는 것

 

Bad guys : denial of service

DoS(Denial of Service) : 공격자들은 가짜의 traffic을 가진 과도한 자원 요청에 의해 서버,bandwidth등의 자원들이 정상적인 운행을 못하게 만듦. 즉, 공격자가 어떤 서버가 가진 자원을 다 사용하게 만들면서 정상적인 traffic이 해당 자원을 사용하지 못하게 하는 것이다.

  - 1. 타겟을 정한다.

  - 2. 네트워크 근처에서 여러개의 컴퓨터 집합(botnet)에 속한 host들로 나눠진다.

  - 3. botnet에 속한 모든 host들이 target에게 패킷을 보낸다.

-> 즉, 여러개에서 분산해서 공격하여 target이 하는 일을 방해하는 것이다. 중간에 target을 설정한 후 여러 host들이 여러개의 패킷을 막 보내면 target은 이로부터 받은 요청을 처리하게 됨으로써(CPU, 네트워크 자원 많이 사용) 정상적인 원래 서비스는 불가하게 되는 것이다.

Lines of defencse

authentication(인증) : 내가 누구인지 증명  - cellular network는 SIM card라는 HW identity를 통해 증명 가능; 전통적인 인터넷에는 이러한 HW 보조가  Xconfidentiality(은밀함) : encryption(암호화)를 통함.integrity checks(무결성 검사) : tampering(간섭)을 방지/감지하기 위한 전자 서명   - ex) 중간에 bit가 바뀌었는지 등을 확인access restrictions(접근 제한) : password-protected VPNs(가상 사설망)firewalls(방화벽) : 접근과 core network에서 middlebox(미들장비)로 특수화

Layered Internet protocal stack

layers : 각각의 layer에선 각각의 서비스만 수행

  - 밑에 층 layer에서 제공받는 서비스들에 의존하여 수행

 

application : network applications 지원 / HTTP, IMAP, SMTP, DNStransport : process-process 사이에 data transfer(이동,전송), os에 구현돼있음 / TCP, UDPnetwork : src->dst까지 datagram(packet)을 라우팅, 즉 packet 전달 담당 / IP, routing protocolslink : 인접한(link로 연결된) network elements(라우터,host) 사이에서 data 전송 / Ethernet, 802.11(WiFi), PPPphysical : 선 위에서 물리적으로 bit를 전송하는 layer

* 5가지 계층으로 사실상 표준은 아니지만, 거의 표준이다.*application layer는 메시지 생성 -> [M]* transport-layer 프로토콜은 transposrt-layer segment(해당 layer에서 주고받기 위한 패킷)을 생성하기 위해 메시지에 추가한 header (Ht)를 가지고 application-layer 메시지(M)를 압축한다. -> [Ht|M]* network-layer 프로토콜은 network-layer datagram(해당 layer에서 사용하는 패킷)을 생성하기 위해 network-layer header인 Hn을 가지고 transport-layer segment [Ht|M]을 압축한다. -> [Hn|Ht|M]

* link-layer 프로토콜은 link-layer frame을 생성하기 위해 link-layer header인 Hl을 가지고 network-layer datagram [Hn|Ht|M]을 압축한다. -> [Hl|Hn|Ht|M]

 

Encapsulation(위층 layer에서 받은 패킷에 header를 붙이는 과정) : and end-end view

 

 

728x90
LIST

'Computer Science > Computer Network' 카테고리의 다른 글

Chapter3 - GoBackN과 Selective Repeat  (0) 2023.04.25
Chapter 3 - Transport layer  (1) 2023.04.21
HTTP 응답코드 종류  (0) 2023.03.06