1. 컴퓨터 통신
* 컴퓨터기반 기기 혹은 응용프로그램들이 필요에 따라 중계기/스위치를 경유 하면서, 디지털 데이터를 담고 있는 신호를 교환해서 의미를 교환한다.
ex) 휴대폰 문자 교환, 메신저, 스트리밍, 파일 교환
2. 의미교환?
- 문자, 음성 등을 디지털화한 데이터를 기기를 통해 전달하는 것.
- 컴퓨터기반 기기 위에서 돌아가는 응용 프로그램들이 교환의 주체가 된다.
- 그럼 0,1로 구성된 디지털 데이터를 어떻게 보내는가? 이 데이터를 아날로그 혹은 디지털 신호화 해서 유/무선 전달을 구현한다.
3. 신호 교환
- 디지털 데이터가 아날로그 신호 혹은 디지털 신호로 변환되면 매체를 통해 전파된다.
- 블루투스 같은 경우는 직접적으로 통신을 하지만 불특정 다수와의 신호 교환을 위해 대개는 기지국/공유기를 거친다. (간접)
- 기지국/공유기가 이루는 형태를 망, network라고 한다.
- 직접 내가 미국에 있는 친구와 연결되는 것은 어렵지만 여러 기지국 혹은 망을 거쳐 미국으로 연결되는 건 가능하다.
- 즉 network는 거리의 한계를 극복해서 신호가 약해지기 전에 잡을 수 있어야 하고(중계) 올바른 목적지로 신호가 전달 될 수 있도록 해야한다(스위치)
- 여러 종류의 통신망이 존재할 수 있다. 따라서 서로 간의 이질성을 극복하는 것 또한 필요하다 (ex. 인터넷)
4. Network
- 통신 주체인 단말기(terminal)들이 신호를 주고 받을 수 있도록 연결해야 한다.
- 유/무선 연결가능
- Node : 휴대폰 같은 단말기, 휴대폰 위에서 도는 응용 software, 라우터 등 네트워크 구성 요소들을 말한다.
- Link : 광케이블, 무선채널
5. Direct Link
- 두 노드간의 direct link, point to point
- 가장 기본적인 네트워크
- 불특정 다수와 통신을 위해서는 링크가 너무 많이 필요하다.
- 다중 접근을 위한 네트워크
- 하나의 링크에 여러 단말기를 부착, 하나의 링크를 공유
- 링크 개수를 줄였지만 여러 단말기가 한정된 자원인 하나의 링크를 공유할 수 있도록 제어가 필요함
- 블루투스 같이 직접 통신할 경우에 활용.
6. Indirect Link (Switched Networking)
- switching network
- 중계, 스위칭을 해주는 라우터(스위치) nodes들로 infra를 구축한다.
- 단말(host) nodes는 이 network에 접속하여 통신한다.
- inter networks (network of networks)
- 기술, 관리 방식이 전혀 다른 네트워크 간의 통신이 이루어지도록 한다. (Internet)
- 단순한 중계, 스위칭을 넘어서 네트워크간 이질성을 극복한다.
7. 스위칭 정책
circuit switching
- 전화 네트워크
- 스위치동작 : point-to-point 연결, switch가 사전에 output link에 회선을 확보하고 연결한다.
- bit stream을 중단 없이 흘려보낸다.
- 전통적인, 오래된 switching 방식이다.
- 남과 섞이지 않는 전용회선이 보장되기 때문에 일정한 성능을 유지할 수 있다. (사용자 입장에서 유리한 면이 있음)
packet switching
- 인터넷
- bursty traffic 환경(데이터 전송을 할때도 있고 안할때도 있고)에서의 통신에 적합
- 미리 링크를 확보해놓으면 데이터를 안보내고 쉬는 시간이 많이 생길 수 있다.
- 또한 전용 회선을 만들어 놓고 누군가 사용할 때 남이 못쓰게 하는 방식은 비효율 적이다.
- 따라서 데이터를 우편처럼 묶어서(packet) 공유하고 있는 link를 통해 해당 목적지로 보내주는 방식이 생겼다.
- 여러명에게 서비스 할 수 있고 망이 노는 시간을 줄일 수 있기 때문에 네트워크 제공자 입장에서는 적합하다.
- 스위치동작 : store and forward
8. Addressing
- 연결하기 전의 사전과제, 상대방이 누구인지 id로 지정하는 일이 필요하다.
- 상대방 node를 식별하는 바이트열을 address라고 한다.
unicast : 특정 노드 하나를 지정해서 신호를 보냄
broadcast : 네트워크의 모든 노드에게 신호를 보냄
multicast : 네트워크 일부 노드 집합을 지정해서 신호를 보냄
9. Routing
- 목적지 노드를 향해 메시지를 전달할 때 어디를 거쳐서 갈 것인가를 결정하는 것. (경로찾기)
10. Resource Sharing
- 통신을 위한 Link를 까는 작업은 돈이 많이 든다. 따라서 한정된 자원을 효율적으로 공유하는 일이 중요하다.
- 한명이 이사 올 때마다 링크를 깔 수는 없으니 링크 하나를 잘 깔아놓고 여러명이 사용할 수 있도록 하는 것이다.
- 이를 위한 아래 해결책을 multiplexing(다중화) 라고한다.
- 망 사용자 L1,2,3의 데이터가 하나의 link를 통해 이동한다. R1,2,3로 도달할 때는 데이터들이 구분이 잘 되어 각각 전달 받아야 한다. (DEMUX)
- 즉 하나의 physical link를 기술적으로 여러 logical links가 있는 것처럼 통신을 할 수 있어야 한다.
11. Multiplexing
1) Frequency Division Multiplexing (주파수분할다중화)
- ex) 주파수로 여러 신호들을 분할할 수 있다. 89.1 MHz, FM, AM등이 이에 속한다.
- 참고로 주파수 분할을 할 경우 Channel간의 공백(gap)이 있어야 안정적인 multiplexing이 가능하다.
- 이 gap들은 결국엔 자원의 낭비가 될 수 있다.
2) Time Division Multiplexing (시분할 다중화)
- ex) 시분할 멀티플렉싱
- 주파수를 쪼개지말고 time slot을 기준으로 구분하여 신호들을 보낸다.
- 낭비 공간이 줄어든다.
- 두 multiflexing 방식을 비교하면 다음과 같다.
3) Statistical Multiplexing (통계적 다중화)
- 비동기적 요구에 따른 시분할 방법.
- TDM 처럼 time으로 slot을 나누되 slot을 나누어주는 것은 동적으로 할당한다.
- traffic의 bursty한 특성 때문에 더 효율적인 방식을 찾고자 고안되었다. (기껏 time slot나누어 놨는데 5초 슬롯이 당분간 텅 비게 된다면?)
- 보낼 데이터가 없는 사용자가 link사용 시간을 잡아먹지 않도록 낭비를 최소화 할 수 있다.
- 또한 보내려는 데이터 양에 따라, 요구에 맞춰 자원을 할당할 수 있다.
- 하지만 이런 비동기식, 동적 할당 방식을 위한 overhead가 존재한다.
- TDM방식에서는 clock으로 demux가 가능하지만 async방식에서는 demux를 위한 key가 별도로 필요한다. 이런 모든 것이 overhead가 될 수 있다.
- 최악의 상황을 가정해보자. a,b,c,d가 끊임없이 데이터를 보낸다면 overhead 때문에 TDM보다 좋다고 할 수 없다.
- 네트워크 입장에서 장점을 지닐 수 있지만 사용자 입장에서는 안정적으로 자기 time이 보장되는 TDM이 더 좋을 수도 있다.
- 따라서 통계적으로 잘 계산해서 사용자 수를 고려하여 구축해야 한다.
12. Splitting
- 만약 한 사용자가 한 link로 커버하지 못할 만큼 대량의 데이터를 전송한다면?
- 여러 link를 동원해서 대량의 데이터 split/merge하여 처리한다.
'ComputerScience > Network' 카테고리의 다른 글
컴퓨터통신 - 6. 데이터 링크 계층, 노드, 링크, 신호 (0) | 2021.09.28 |
---|---|
컴퓨터통신 - 5. 소요시간 분석 (0) | 2021.09.28 |
컴퓨터통신 - 4. 성능 (0) | 2021.09.22 |
컴퓨터통신 - 3. 표준구조, 인터넷 (0) | 2021.09.13 |
컴퓨터통신 - 2. 스위칭, 프로토콜 (0) | 2021.09.13 |