이번 대학교 2학년을 재학 중 Computer network에 대한 수업을 들었습니다. 처음으로 들어보는 용어들과 어려운 정의들이 많았기에 정리하며 공부하려 합니다. 주차별로 수업을 정리할 것이며 자주 쓰이는 용어들은 아래에 따로 정리하겠습니다. 부족한 설명이나 추가해야할 것들이 있다면 댓글로 알려주세요!
Internet은 두가지 관점으로 바라볼수 있습니다.
구성요소들로 Internet을 정의하는 방법
nuts and bolts의 구성요소는 3가지가 있습니다.
Host란 우리가 지금 사용하는 PC, Smartphone등 사용자가 이용하고 있는 devices를 뜻합니다.
hosts와 같은 말로는 end systems, computing devices가 있습니다.
Host와 Packet Switche를 연결하는 역할을 수행하며 가장 처음으로 연결되는 link를 뜻합니다.
EX) 광케이블(fiber), 구리선(copper), 라디오(radio), 위성(satellite)
communication links의 전송속도(transmission rate)는 bits/second 단위로 측정합니다.
1초에 몇 bits를 전송했는지(bandwidth)
computing devices와 communication links 사이에 연결해주는 역할을 한다.
EX) routers, switches
internet이 나에게 뭘 제공해줄수 있는가에 대한 정의 방법
network application에 service를 제공해주는 infrastructure의 일종이다.
ex) web, voip, email, game...
api(application program interface)를 통해 internet이 제공해주는 service를 이용한다.
api를 제공해줘야한다.
postal service와 비슷한 효과
무언가를 하려할때 그것을 위한 '절차'
network protocol이란
protocol은 표준을 정하여 구현해야 한다.
ex) http : web page를 주고받을때 쓰는 protocol
종류 3가지
end systems을 edge router에 연결해주는 것
access network 사용하는 곳
주거지역, 기관, mobile ..
다양한 종류의 access network를 사용하게됨
잘 생각해야할 것
사용하는 access network의 bandwidth가 몇인가?
공용이냐 전용(dedicated)이냐
성능이 어느정도 되는지 예측할수 있습니다.
Accese link의 종류
옛날에 많이 사용하던 기술
전화선으로 전화를 하다 인터넷이 쓰고 싶을때 DSL 모뎀을 이용하여 인터넷을 사용하는 방법입니다.
- 옛날 전화는 dedicated line이었습니다.
기존에 이미 존재하는 전화선을 사용하여 빠르고 저렴하게 가입자를 인터넷에 접속시킬수 있습니다.
성능이 잘나오지 않습니다.
downstream은 나름 속도가 빠릅니다.
채널이 하나밖에 없음
upstream : end system쪽에서 internet으로 데이터를 보내는 것
downstream : internet쪽에서 end system쪽으로 데이터를 보내는 것
빠르게 설치해서 사용할수 있으나 속도가 좋지 않다.
기존에 다 깔려있는 cable선을 이용했습니다.
cable선은 많은 채널을 사용할수 있음
전체 큰 대역폭을 주파수별로 나눠서 여러개의 정보를 보냄
큰 대역폭을 주파수 별로 나눠서 사용하는 방법.
shared access network
광케이블과 구리선을 같이 사용
30Mbps의 downstream과 20Mbps의 upstream이 가능
집 내부에서 사용할 기기가 많음
집 내에서도 network을 구성할 필요가 있음
공유기 사용 무선 lan을 사용
라우터나 스위치를 끼고 무선공유기에 연결하여 유무선 사용
라우터가 스위치를 여러개 연결하여 스위치(허브)에서 여러가지 컴퓨터 연결
10Gbps까지 나옴 속도 준수
전파가 공기를 통해서 흘러가고 공기를 통해서 여러명이 사용 가능합니다.
shared wireless network이다.
하나의 공유기에 여러개의 기기를 연결하면 걔네들 사이에서도 전파를 공유해서 사용해야합니다.
하나가 전파를 보내면 다른하나가 전파를 못보냄
- 종류 2가지
근거리에서 이용가능
100ft이내에 있는 장비들만 사용가능
원거리에서 이용가능
ex) 3G, 4G, 5G..
속도가 떨어짐
host들을 Internet에 core router에 연결해야합니다. 연결하려면 access networks가 필요하고 다양한 access network가 존재하며 맞는 것을 연결해야합니다.
application의 data를 받아야합니다.
packet이란?
application의 message를 잘라서 조그마한 chunk로 만든 것 L bits를 가진 packet
packet의 최대길이가 정해져있으므로 L bits를 가진 packet으로 자릅니다.
access network를 통해 packet을 보냄
transmission rate = link copacity(전송률) = link bandwidth(용량) = R
'1개의 packet을 전송하는데 얼마나 걸리는가?'를 알아봐야합니다.
L(bits)/R(bits/sec)
physical link는 transmitter과 receiver사이에 존재하는 것
물리적으로 어떤 라인을 써야하는가?
여러가지 종류의 link가 있습니다.
선을 이용하여 전파하는 방식
구리선을 통해서 전기를 이동시키는데 자기장이 발생해서 선간의 영향이 미치게 되는 경우를 막기위해 선을 꼬아놓았습니다.
선이 두개는 꼭 필요 송신, 수신
축이 같은 케이플 양방향으로 통신 가능하며 broadband입니다.
bandwidth가 넓어서 여러개의 채널을 넣을수있습니다.
HFC이라고도 부름
가이드가 없어서 신호가 자유롭게 이동하는 방식
신호가 electromagnetic spectrum을 통해서 이동하는 것
위성(satellite)
속도가 빠르고 먼거리의 데이터를 보낼수 있습니다.
end-end delay가 느림
이유 : 위성이 멀리 날고있기 때문에 신호가 왔다갔다 하는데 시간이 오래걸립니다.
transmitter과 receiver 사이에는 bit를 전송하며 그 사이에는 physical link가 있다 physical link에는 guided와 unguided가 있다.
서로 연결되어있는(interconnected) router의 집합
Internet 특히 network에서는 packet switching사용합니다.
모든 packet을 router로 전부 전송후 그다음 node로 전송
end-end delay = 2L/R
ex) L=7.5Mbits, R=1.5Mbps
L/R = 7.5Mbits / 1.5Mbps = 5sec
2L/R = 5 X 2 = 10sec
하나의 router에 여러개의 host가 연결되어 있을 때
host에서 router로 이동하는 access link의 속도가 내보내는 속도보다 빠르면 queueing delay 발생합니다.
들어오는 속도가 나가는 속도보다 빠를때
network core의 역할
source-destination까지의 packet이 따라야할 경로를 결정하는 작업
forwarding table생성 header의 값에 따라 가는 link를 정해줍니다.
여러개의 router의 협력
forwarding table을 보고 header값에 따른 output link를 찾아 보내주는 일
하나의 router에서 하는일
가야할 길을 미리 정해놓고 resource를 할당해놓는 방식
link=resource
미리 resource를 할당해 놓음 (전용 link를 할당)
공유하지 못하는 link(dedicated resource)
회로와 비슷 구리선을 하나 깔아놓은 것과 같습니다.
하나의 link를 여러개의 작은 채널로 구분
frequency를 기준으로 나눔
ex) 만약 4명의 users가 있을때 frequency를 기준으로 4개를 자릅니다.
속도가 n/4지만 4명이 동시 연결가능
시간의 일정부분만 하나의 user이 사용가능하게 변경
둘중에 어떤것이 더 좋은가?
Internet은 packet switching가 더 많은 사용자들이 network을 사용하게 해주기 때문에 주로 사용합니다.
Packet switching이 처음에 나온 이유가 냉전중에 소련 미국이 싸울때 핵이 터져도 network을 살리기 위해 만들어 냈습니다.
ex) 1Mb/s link가 있는데 각 유저가 100kb/s를 사용한다면 전체 시간중 10%만 data를 보내고 나머지는 놀고있음
circuit switching은 항상 data를 사용하고 있음 10명의 유저만을 사용가능합니다.
packet switching은 들어오는 양보다 나가는 양이 더 많다면 몇명이든 사용할수 있습니다.
ex) 만약 35명의 유저라도 10명의 유저가 동시에 보낼 확률이 적음 0.0004 이항분포로 계산
packet switching을 사용하면 더 많은 사용자 사용가능
데이터를 막 보내다가 안보내다를 반복하는 data(great for bursty data)에서는 packet switching이 더 좋음
단점 : router가 처리할수있는것보다 더 들어오면 delay나 loss가 발생 이런 것을 처리할수 있는 protocol이 필요 혼잡 제어나, reliable data를 처리하는 protocol필요
사용방법
circuit switching은 예약을 해서 사용
packet switching은 예약 없이 사용
end system이 access ISPs(kt, skt..)에 가입을 하면 나의 컴퓨터를 인터넷에 연결 가능
먼저 ISP에 연결함 ISPs는 다른 ISP와 연결해야함
ex)kt사용자일 경우 skt와도 통신하기 위해
network들의 network를 구성하는데 매우 복잡함
만들때 경제적과 국가 정책에 의해서 작용되어져서 만들어짐
모든 ISP를 연결하려면 O(n^2)가 걸리기 때문에 불가능합니다. 그래서 중간에 Global ISP를 두고 연결합니다.
⏰ 사업을 하다보니 global ISP가 많아져서 global ISP끼리 연결했습니다.
이러한 것을 peering link(global ISP를 연결하는 link)
⏳ acces network에서 global로 연결하기전 중간 연결로 regional net을 두고 연결함 이방법이 더 쌀 경우 연결합니다.