네트워크 구성
우리가 항상 사용하는 스마트폰과 PC는 네트워크와 연결되어 있어 다양한 일들을 할 수 있다.
막연히 그냥 서로 연결되어 있다고 생각하면 마음이 편하지만, 그래도 네트워크가 어떻게 구성되어 있는지 조금 더 자세히
살펴보겠습니다.
네트워크는 크게 3가지로 구성되어 있습니다.
- 네트워크 에지
- 액세스 네트워크
- 네트워크 코어
네트워크 에지(Network Edge)
빨간색 체크된 부분들이 Network Edge입니다.
각 네트워크의 가장 가장자리입니다. 여기에는 수많은 end system들이 존재합니다.
endsystem이란 앞선 글에서 설명했는데, host라고 생각하면 됩니다.
host는 클라이언트나 서버를 뜻합니다.
즉 end system은 사용자들이 사용하는 스마트폰입니다.
요약하자면 네트워크 에지란 네트워크의 말단에 존재하는 여러 구성요소들입니다!
액세스 네트워크(Access Network)
빨간색 체크된 부분들이 액세스 네트워크입니다.
액세스 네트워크는 네트워크에 접근하기 위한 네트워크 입니다. 쉽게 말해 end system들이 인터넷을 사용할 수 있도록
길 역할을 해주는 네트워크라고 보면 됩니다.
유/무선 방식으로 접속 가능합니다.
예를 들어 스마트폰에서 와이파이에 접속하거나 PC에 랜선을 꼽는 것 모두 엑세스 네트워크에 접속하는 것이라고 할 수 있습니다.
Access Network는 edge router의 연결하는 방법은 3가지가 있습니다.
- residential access nets
- institutional access networks
- mobile access networks
각 access network에서 중요한 것은 전송률을 의미하는 bandwidth(bit per second)가 중요하고,
shared 인지 dedicated 회선인지에 따라 access network 특성이 다르다.
Access network - cable - based access
FDM(frequency division multiplexing)
- 서로 다른 chanel들이 서로 다른 대역폭에서 전송되는 방식.
- 대역폭이 크면 담을 수 있는 데이터가 많아짐.
각 가정집에서는 shared cable을 사용한다. 이때 사용하는 cable을 HFC(Hybrid fiber coax)라는 광독축 혼합망이다.
DSL(Digital Subscriber Line)
- 인터넷이 보급되기 전에 존재했던 dedicated 전화선을 사용하는 방식
- DSLAM이 데이터와 음성을 구분하여
- 음성 -> telephone network
- 데이터 -> Internet 으로 전달해 줌.
- DSLAM이 데이터와 음성을 구분하여
home networks
우리가 알고 있는 공유기에 여러 장치들이 연결하는 방식.
Wireless access networks
end system들이 무선으로 네트워크를 공유하며 router로 연결되는 네트워크를 의미합니다.
그 연결되는 지점을 우리는 acces point or base station이라고 부릅니다.
Wireleess local area networks(WLANs)와 Wide-area cellular access networks가 있다. (특징은 아래와 같다)
네트워크 코어(Network Core)
빨간색 체크 부분들이 네트워크 코어입니다.
네트워크 코어는 전체 네트워크 시스템의 중앙에 위치하여 데이터를 전송하는 핵심적인 역할을 합니다.
네트워크 코어의 구조는 수많은 라우터들이 얽혀있는 구조(interconnected routers)라고 생각하면 됩니다.
Packet Switching
네트워크 코어에서 패킷을 교환하는 것을 Packet switching라고 합니다.
아래는 Packet Switching의 특징입니다.
- 패킷(Packet)은 데이터를 보내는 단위다.
- 패킷은 store-and-forward 방식으로 전송된다.
이는 라우터가 하나의 패킷을 받고 , 그다음에 전송하는 방법이다. - 만약 라우터에 들어오는 패킷 양이 나가는 패킷 양보다 많으면 queue 형태로 쌓인다.
조금 더 자세하게 Packet Switching에 대해서 설명하겠습니다.
- 정보를 여러 개의 packet 단위로 나누어, 목적지에 전송하는 방식을 뜻합니다.
- Application layer에서 host가 보낼 데이터 message를 packes으로 쪼갠다.
- packet을 전달할 때, 한 개의 router에서 다음 router로 전달하면서 source와 destination으로 경로를 생성한다.
- 여기서 경로는 라우팅 테이블을 통해서 어떤 라우터로 packe을 전달할지 결정합니다.
- packet의 head에 라우팅 주소가 담겨있고, 그 주소를 참조해서, 다음 라우터를 정함.
- 각 packet은 full link capacity transmitted
한 packet 다 보내는 데 걸리는 시간 -> Packet transmisson delay, Packet의 길이 : L, transmisson rate : R
Store-and-forward
Packet switching에 방식 중에 하나
한 개의 packet 전체가 모두 transmitted 되어야 다음 router 또는 host로 전달될 수 있다.
즉 작업 하나가 끝나야 다음 작업을 시작할 수 있음.
Transmisson delay(전송지연)
데이터를 전송하는데 발생하는 지연 시간.
- 데이터 크기와 전송속도에 따라 결정됩니다.
- 예를 들어 L bits를 가지는 패킷이 있고, 전송속도가 R이라면 해당 딜레이는 L/R 입니다.
Propagation delay(전파지연)
데이터가 전송 매체를 통해 전파되는 데 걸리는 시간입니다.
쉽게 말하면 데이터가 링크에 들어간 이후, 다른 라우터로 전송되는 시간.
- 해당 시간은 링크의 시작부터 다른 라우터로 가는 전파의 속도
- 전송 매체의 종류와 길이, 전송 거리, 잡음 등에 따라 결정됩니다
Processing Delay(처리지연)
데이터가 송신자에서 수신자로 전송되는 과정에서 발생하는 지연
- 이 과정에서는 데이터를 패킷으로 분할하거나, 라우팅을 수행하거나, 오류 검사 등의 작업을 수행한다.
- 라우팅을 수행한다는 뜻은 패킷의 헤더를 조사해서 어디로 보내야 할지 결정하는 작업.
Store and forward
- packet이 router에 도착하기 전에 정보를 저장 -> store
- packet이 router에 도착하면 목적지로 전송-> forward
store and forward 방식에서 만약 Propagation delay가 없다고 가정하면, end to end delay는 2L/R이다.
queueing delay, loss
Queing Delay(대기지연)
데이터 전송 중 대기열에서 대기하며 발생하는 지연입니다.
패킷이 링크를 통해 전송되기까지 대기하는 시간.
네트워크 상황에 따라 다르기에 예측이 불가하다.
- 네트워크 혼잡도에 따라 발생하여 대기열이 길어질수록 대기 지연은 커집니다.
R : link bandwidth (bps)
L : packet length (bits)
a : average packet arrival rate
-> La만큼 data가 들어오고, R만큼 내보낸다
3가지 상황
- La / R -> 0 : 큐잉 딜레이가 작다.
- 왜냐하면 값이 0으로 간다는 뜻은 분모가 크다는 뜻이므로, 처리속도가 빠르기에 delay가 적다.
- La / R -> 1 : 큐잉 딜레이가 크다.
- 처리량보다 들어오는 양이 크기에 큐잉 딜레이가 크다.
- La / R > 1 : 큐잉 딜레이가 크다.
- 처리량보다 들어오는 양의 크기에 크기에 큐잉 딜레이가 크다.
위 그림을 참고해서 설명하자면,
queue에 packet이 도착하는 속도가 queue에서 packet이 나가는 속도보다 빠르다면?
이 말을 조금 더 고급지게 설명하면, arrival rate가 transmisson rate를 넘어가면입니다.
위 상황이 벌어진다면
- packet은 queue에 쌓이기 시작하고, link로 transmitted 되기까지 대기한다.
- 만약 허용범위 이상으로 쌓이게 되면 packet이 손실됩니다(dropped, lost)
- 하지만 이렇게 drop 된 packet은 나중에 protocol을 통해서 다시 찾을 수 있습니다.
네트워크 코어의 핵심 기능은 크게 2가지로 볼 수 있습니다.
1) Forwarding:
라우터의 input으로 들어오는 패킷을 올바른 output으로 보내는 기능(forwarding table을 읽어서)
2) Routing :
패킷이 어디로 갈지 판단하는 과정. 즉 forwarding table을 만드는 과정이다. 라우팅 알고리즘으로 판단한다.
요약 : 네트워크 코어는 실직적으로 패킷이 어디로 갈 지 판단하고 전송하는 기능을 수행한다.
Circuit switching
end-end의 자원은 source와 destination 사이의 "call"을 위해 동적으로 예약됩니다.
- 이미 할당된 자원은 공유하지 않습니다.
- Circuit처럼 동작한다.
- circuit segment는 call에 의해 사용되지 않을 경우 idle(비어있는, 한가한) 상태이다.
- 흔히 우리가 과거에 쓰던 전화회선 네트워크이다.
장점
- 전용 회선을 사용하기 때문에 전송 시간이 일정하다.
- 데이터 양이 적을 때 효율적이다.
- 실시간성이 중요한 음성 통화나 비디오 채팅 등의 통신에 적합하다.
단점
- 데이터 전송에 필요한 회선 용량이 고정되어 있기 때문에, 데이터 전송량이 많은 환경에서는 비효율적
- 회선 점유 중에는 다른 통신을 할 수 없음.
- 데이터 양이 많아지거나, 여러 대 의 컴퓨터 간 통신을 하는 경우에는 전송 속도가 떨어지는 문제가 발생.
그래서 최근에는 Circuit Switching 보다는 Packet Switching 방식을 사용한다.
Circuit Switching 방식은 2가지의 다중화 방식을 사용합니다.
다중화(Multiplexing)
- 전송로 하나에 데이터 신호 여러 개를 중복시켜 고속 신호 하나를 만들어 전송하는 방식입니다.
- 이러한 경우 전송로의 이용 효율이 매우 높아집니다.
FDM and TDM
FDM(Frequency Division Multiplexing) : 주파수 분할 다중화
- 한 전송로의 대역폭을 여러 개의 작은 채널로 분할하여 여러 단말기가 동시에 이용하는 방식이다.
- 하나의 전송로 대역폭을 작은 대역폭 여러 개로 분할하여 여러 단말기가 동시에 이용할 수 있게 하는 방식
- 구조가 간단해, 비용이 저렴하고, 사용자가 추가하기 쉽고, 각 사용자의 단말기에서 사용하는 코드와는 상관없이 다중화가 가능하다.
- 채널이 여러개 생성되므로, TV 방송에 적합.
TDM(Time Division Multiplexing) : 시분할 다중화
- 전송로 대역폭 하나를 시간 슬롯으로 나눈 채널에 할당하여 채널 몇 개가 한 전송로의 시간을 분할해서 사용
- 링크의 높은 대역폭을 여러 연결이 공유할 수 있도록 하는 디지털 과정
- 같은 대역폭에서 시간으로 나눈 채널에 할당하여 시간을 분할해서 사용한다.
FDM : 대역의 일부를 공유 / TDM : 시간을 공유
'Computer Science > Network' 카테고리의 다른 글
[컴퓨터망] - Web and HTTP (0) | 2023.04.09 |
---|---|
[컴퓨터망] - Application Layer(네트워크 어플리케이션의 원칙) (0) | 2023.04.08 |
[컴퓨터망] - Protocol stack (0) | 2023.04.08 |
[컴퓨터망] - Circuit Switching vs Packet Switching (0) | 2023.04.07 |
[컴퓨터망] - Internet & Protocol (0) | 2023.04.04 |