1.Basic Terminologies
Five basic terminologies
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F8b863ff2-391b-48d6-bf7c-4bb4950f9b11%2Fimage.png)
1) Message
- information(data) to be communicate -> 주고 받는 정보
- text, numbers, pictures, sound, video, 이들의 combination이 존재한다
2) Sender (송신기)
- the device that sends the data message
- computer, telephone, video camera
3) Reciever (수신기)
- the device that recieves the message
- computer, telephone handset, video camera
4) Medium (통신매체)
- physical path by which a message travels from sender to receiver
-> sender에서 reciever로 message를 전달해 주는 매체이다
- wire, cable, laser, radio, etc 등이 있다
5) Protocol (규약)
- set of rules that govern data communication
-> 통신간 지켜야 할 규칙들
Data Flow Direction
-> 컴퓨터 네트워크에서 정보를 주고 받는 방향에 따른 명칭
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F044867e5-c6d3-4de1-a483-fbc8ebc1fcf1%2Fimage.png)
- simplex: 한 쪽으로만 가능하다
- Full-duplex: 동일 시점에 대해서도 양방향으로 가능하다. (송수신 동시 가능)
- Half-duplex: 동일 시점에 대해서 한방향만 가능하다. (송수신 동시 불가 -> ex. 누르고 말하는 무전기)
Physical Structure
-> 컴퓨터 네트워크에서 Medium의 연결 방식에 대한 명칭
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F9901ac51-9991-49d6-ae21-828410ac48d2%2Fimage.png)
- point-to-point : Station과 Station 1개씩 연결
- Multipoint : Link를 따라 여러개의 stations들이 연결
Physical Topology
-> 컴퓨터 네트워크의 대표적인 연결 형태들
Full Mesh Topology
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fd704c844-633b-45a8-9bb9-854342151b7a%2Fimage.png)
: 모든 stations들이 서로 연결되어 있는 형태.
장점
1. station이 방해 받지 않고 data를 쏠 수 있다.
2. Robust하다. 즉 통신선이 끊어저도 우회하여 송신할 수 있다. 안정적인 성능을 보인다.
3. Private하며 보안 측면에서 좋다
단점
1. 너무 많은 cabling과 장치들이 필요하다
주로 networks들의 network를 만드는 데 많이 사용된다.
Star(or Tree) Topology
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F24c6bfc8-68a6-498f-b77c-6c94bd67ea4f%2Fimage.png)
장점
1. 설치시 필요한 케이블의 갯수가 줄어든다.
2. Robust하다. 한 개의 hub-station 연결(link)가 끊어저도, 나머지 stations은 영향을 받지 않는다.
단점
1. Hub가 고장나면 연결된 stations 모두 사용이 불가하다.
Bus Topology
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F32e98b75-370c-4cff-8991-26271a83e16a%2Fimage.png)
장점
1. 설치하기 매우 용이하며, 가격이 저렴하다
단점
1. 중간에 연결이 끊어지면, 뒤에 stations들은 사용이 불가하다.
Ring Topology
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F4bf98871-9115-4354-ad29-6ed33e7e14d5%2Fimage.png)
장점
1. 설치하기 매우 용이하며, 가격이 저렴하다
단점
1. undirectional traffic -> 송수신의 방향이 좌우로 되고, 여러 stations들이 경쟁적으로 1개의 줄을 사용하므로, traffic 충돌이 발생한다. 이를 방지하기 위해 half-duplex방법을 쓰지만, 지연이 발생하는 문제가 또 발생한다.
2. ring 중간이 깨지면 전체를 사용 불가하다.
Hybrid Topology
-> combinations of Topologies
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F490a0f3f-51b0-4ebc-babe-af0eda328335%2Fimage.png)
Categories of Networks
-> 네트워크 규모에 대한 명칭
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F6f76406b-4570-4b1e-aca6-89f2455565f1%2Fimage.png)
LAN(Local Area Network)
LAN은 privately owned하며, 주로 office,building,campus 내의 장치들을 links하는 규모의 네트워크를 말한다. 대표적인 wireless LAN으로는 wifi가 있다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F0d3ab62f-dd7a-458b-bd72-9fb146f48387%2Fimage.png)
MAN(Metropolitan Area Network)
MAN은 도시 규모의 네트워크를 말한다. LAN을 연결한 네트워크라고 할 수 있다.
이동통신은 MAN에 속한다고 볼 수 있다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F5396d744-1be9-497e-bca9-6d125fa36cc2%2Fimage.png)
WAN(Wide Area Network)
원거리 통신을 하는 네트워크들을 연결하는 기술을 의미한다. microwaves라는 기술이 대표적이다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Facdc76a6-2d15-417f-a91c-a63023beeb9d%2Fimage.png)
PAN(Personal Area Network) & BAN(Body Area Network)
PAN의 대표적인 기술로는 bluetooth가 있다. BAN의 경우 생체 wearable devices와 같이 sensor들로부터 정보를 측정하는 기술(bluetooth)이 있다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Ff2b4f7cb-b48f-4b95-982c-8e8ac41715ad%2Fimage.png)
Standard
"상호 연동성의 기준"
서로 다른 devices들이 서로 data를 주고받아야 하므로, 일종의 공통된 standard가 있어야 한다.
- De fact(by fact): 어쩌다 사람들이 많이 써서 표준이 된 것. Ex) Windows
- De jure(by law): 규약으로 표준을 정한 것이다. Ex) smartphone 이동통신
2.MAC overview
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F12042524-8577-4567-831c-7dc7b4d59757%2Fimage.png)
3.Random Access Protocols
"쏠 데이터가 있다?! 정해진 규칙에 의거하여 다른 stations의 상황을 고려하지 않고 쏜다!"
- Stations 간 우열관계는 존재하지 않는다
- Control system이 존재하지 않는다
- 다른 stations의 상황을 고려하지 않으니 당연히 충돌이 발생한다.
ALOHA
Earliest random access method
- 간헐적으로 소량의 data를 주고받는 것으로 개발되었다
- Random Access protocol을 사용하므로 collision이 필연적으로 발생한다.
- 꼬리에 꼬리를 무는 방식으로 error가 누적되게 되는 문제가 발생한다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F98f4df36-fa1d-4b82-b50f-3a8979f7efa4%2Fimage.png)
- "보낼것 있으면 일단 쏜다 -> if error가 발생하면 잠시 뒤에 다시 쏜다!"
Slotted ALOHA
- messages의 시작과 끝을 맞춘다 -> error을 줄이는 효과가 생각보다 컸다. 또한 error가 발생해도 같은 slot안에서만 발생한다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F04c6116e-37d2-4f0a-963b-176f3eafa3c4%2Fimage.png)
CSMA
- "Sense befored transmit" -> message가 있는 먼저 감지한 이후에 송신한다.
- 제한된 길이의 유선 케이블 환경 하에서 작동하는 것을 가정한다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fd4a984fc-7d3d-4a83-95d5-014c328689b6%2Fimage.png)
- 위의 그림에서 both signal이 겹치면 data는 깨져버리게 된다.
- t2 에서는 C는 signal이 없는 줄 알고 송신했지만, B가 쏜 signal이 delay(propagation time)에 의해 t2보다 늦게 도착하여 충돌이 발생한다. 아래와 같이 propagation delay만큼 기다리지 않으면, 위와 같은 경우를 피할 수는 없을 것이다.
- 한번 송신을 시작하면 Sensing을 하지는 않는다.
Behavior of three persistence methods
제일 좋은 방법은 없다. 각각 방식마다 장단점이 있다.
1) 1-persistent
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fcaf84fb9-f7f2-4d2c-8c1f-b677f92c552e%2Fimage.png)
- Channel을 끊임없이 Sensing하다가, 비어있는 상태가 되면 송신한다.
- 끊임없이 sensing하므로, 전력 사용이 많다
- Delay가 발생하지 않는다
- 바로 쏘면 충돌 확률이 높아진다.
2) Non-persistent
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fce161a29-2766-4c42-b2e0-2817aa65c9c8%2Fimage.png)
- 드문드문 Sensing하다가, 비어있는 상태가 되면 송신한다
- 전력 소모량이 비교적 작다
- 드문드문 sensing하므로, Delay가 발생한다(긴급 메시지등에 취약)
3) p-persistent
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F42a9e128-09ba-4575-9960-73dc736eee63%2Fimage.png)
- 끊임없이 Sensing하다가, Busy상태가 끝나면 random하게 기다린 이후 쏜다.
CSMA/CD
기존의 CSMA 방식에서 Collision을 Detect하는 것을 추가한 방법이다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F197d8531-a223-4c8c-83fc-421f9d5ecb8b%2Fimage.png)
- 위의 그림에서 t3,t4에서 충돌을 감지하게 되면 송신을 중단한다.
- ethernet을 만드는데 기반이 되었다.
- 유선 환경을 전제
CSMA/CA
무선 연결 환경에서 collision detect를 실행한다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fd0d215f8-cdf0-4b89-a24e-e7c64c94ec7c%2Fimage.png)
- RTS(Request To Send) : sender가 data를 보내겠다는 사전 신호이다.
- CTS(Clear To Send) : receiver가 data를 송신해도 된다고 보내는 신호이다.
* 위의 그림에서 A와 B사이 RTS와 CTS가 지나가면 C와 D도 이것을 듣는다. 이것을 들은 C와 D는 data를 송신하지 않는다. 하지만 만약, C와 D가 CTS를 놓치면, 데이터를 송신할 수 있어 error가 발생할 수도 있다.
- ACK : receiver가 data를 잘 받았다는 message
Hidden station problem
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fde2cacfd-9899-482a-9bbb-13813895d7b5%2Fimage.png)
- B와 C간 거리가 멀어 CTS를 놓치게 될 수 있는 문제가 발생한다.
Contention window
- RTS/CTS가 연속적으로 구성되어 있다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F3d8ff994-2de5-4cf4-a62f-95f0bab848ab%2Fimage.png)
4.Controlled Access Protocols
Control이 되는 상황에서 통신이 이뤄진다.
Reservation
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fb69a34f1-8114-469a-99f5-e1d9bffa1cbd%2Fimage.png)
- controller가 예약을 받아, 송신을 결정한다.
- Delay가 발생한다는 단점이 있다.
Polling
- Primary station과 secondary stations로 구성되어 있다.
- 모든 data exchanges는 primary devices에 의해 결정되어야 한다. Primary station이 links를 control한다
- 주어진 시간에 channel에 어떤 devices를 사용하게 할 것인가를 primary station이 결정한다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fb971eb68-291b-475c-bc3d-587cf90f0210%2Fimage.png)
- poll: "보낼 데이터가 있나?" primary가 물어본다. 있으면 Data를 없으면 NAK를 secondary stations들이 primary0에게 전달한다.
- ACK : 잘 받았다는 message이다.
5.Channelization Protocols
Channelization(Channel partition)을 동일 시간 내에 어떻게 할지를 정하는 방법이다.
FDMA
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fffe039d5-aeb2-4455-95dc-5f5a818dae0d%2Fimage.png)
- Frequency-division-multiple-access -> bandwith 내 사용가능 한 주파수가 여러 개 있다.
- 각 station은 주파수를 각각 할당받는다.
- 각 주파수는 specific station에 계속 할당되게 된다.
TDMA
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F9b28c75f-086d-49ff-a92a-fc89c0f68a54%2Fimage.png)
- In time-division multiple access
- stations들이 같은 시간동안 bandwidth를 공유한다
- 각 station은 데이터를 전송할 수 있는 time slot을 할당받는다. 이후, 할당받은 시간동안 데이터를 전송한다
- 빠른 channel을 통해, 압축된 디지털 신호(데이터)를 보내버리고, receiver에서 다시 decompression을 하여 original data를 복원한다.
- 2세대 이동통신이 이 방법을 사용하였다.
CDMA
-
각 station의 고유 code를 이용하여 data를 encoding한 이후, 다 합쳐서 전송하고, 이후 decoding을 하여 각 station별 data를 복원한다.
-
FDMA와 다른 점은 one channel만을 사용한다는 것이다
-
TDMA와 다른 점은 모든 stations들이 동시에 data를 전송할 수 있다는 것이다(timesharing이 없다)
-
처음에는 군에서 암호화 목적으로 개발되었지만, 확대되어 3세대 이동통신에 사용되었다.
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fad515890-17db-45cb-abd7-7159354bcfef%2Fimage.png)
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F37e5f1ee-775e-4f70-bfa3-84acaa6e6756%2Fimage.png)
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2Fd975fbd3-5b6c-4d82-9c53-46481e11354d%2Fimage.png)
![](https://velog.velcdn.com/images%2Fwilko97%2Fpost%2F93ccfc84-021c-47b6-b5fe-c19aa9c599f0%2Fimage.png)
-
위의 그림에서 station 4개가 1mb/s 속도라면 Common channel은 4mb/s가 된다 -> Common channel은 processing power가 막강해야 한다.