컴퓨터 네트워크 [Computer Network ] #.02 Mac Layer

‍정진철·2023년 3월 19일
1

Five Basic Terminologies

1) Message

송신 하는 쪽에서 수신하는 쪽으로 보내는 정보.

2) Sender

메시지를 보내는 디바이스 (컴퓨터들)

3) Receiver

Sender가 보내는 메시지를 수신하는 디바이스

4) Medium

Sender가 Receiver에게 메시지를 보낼 때 사용되는 매체 (1계층) - 유무선으로 구성됨

5) Protocol

Sender가 Medium을 통해 Reciver에게 메시지를 보낼 때의 정해진 규약


Data Flow Direction

데이터 자체가 어떤식으로 흘러가는지에 대한 방향성 의미.

Simplex : 특정 기기가 다른 기기로에게 단방향으로 보내는 것. (라디오, Tv)
Half - duplex : 보낼 땐 보내기만 하고 받을 떈 받기만 하는 것 ( 워키토키 )
Full - duplex : 양방향 동시 통신 (전화, 인터넷)


Physical Structure

Point to Point : Station을 한 점으로 볼 때 점과 점을 한 줄로 이은 것.
MultiPoint : 줄 하나에 여러 Station이 붙은 것.


Physical Topology

컴퓨터 디바이스들을 어떤 모양으로 연결할건지 ?

Mesh (그물)

본인을 제외한 모든 스테이션과 연결.

장점 : 스테이션과 스테이션이 소통할 때 다른 스테이션으로부터 방해 받지 않음.
특정 줄이 고장나도 다른 스테이션을 통해 소통가능. (안정적)
스테이션 간 전용의 줄이 있으므로 다른 스테이션 측에서는 해당 정보에 접근 불가능 (보안성 강화)

단점: 노드의 개수가 많아지면 이어줄 줄이 점점 많아짐 (물리적으로 힘듬)

그래서 작은 네트워크끼리 묶고 해당 네트워크들끼리 묶을 때 자주 사용하는 방식.

Star(Tree)

Hub가 나무의 뿌리역할을 하고 각각의 스테이션이 해당 뿌리로 연결된 상태.
Hub라는 중간장치 존재

장점: 스테이션이 늘어나도 각각의 스테이션이 가져야 할 줄은 한개만 존재. (줄의 개수가 적어짐)
단점: 허브가 고장나면 모든 통신 두절.

Bus

한 줄을 여러개의 컴퓨터가 공유

장점: 설치가 용이 , 가격저렴
단점: 오류 발생 시 네트워크 전체 두절.

Ring

원을 그리며 통신 ( 버스 형태의 토폴로지에서 끝과 끝을 이은 형태 )

장점 : 설치 용이, 줄이 끊어졌을 때 끊어진 부분만 방어할 수 있는 메커니즘 존재
단점 : 방어가 되지 않으면 전부 고장, 줄이 연결됬다는건 경쟁적으로 데이터를 송수신 해야함.


Hybrid - Combination of Topologies

허브로 연결되어 있지만 각 줄에 스테이션들이 버스 형식으로 연결되어 있음.
따라서, 토폴로지는 조합이 가능하고 대부분 실행 중


Categories of Networks

1) Local Area Network (LAN)

하나의 방 혹은 방들이 연결되어 있는 층 혹은 층이 연결되어 있는 건물 혹은 건물들을 연결한 캠퍼스 규모
( 대학교는 하나의 거대한 LAN)
LAN은 하나의 소유주가 전체를 가지는 것.
W가 붙으면 Wireless 의미. WLAN ( 와이파이 )

2) Metropolitan Area Network ( MAN )

LAN들이 모여 도시만한 규모를 이루는 것.
도시규모의 네트워크.
LAN을 연결한 네트워크.
이동통신(3,4,5 세대 이동통신) 이 여기에 속함.

3) Wide Area Network

통상 LAN과 LAN을 연결하거나 WAN과 WAN을 연결하는 "줄"을 의미함.
먼 거리의 네트워크를 연결하는 기술을 의미함.

4) Combination of LAN/WAN/MAN

LAN들이 모여 MAN이 되고,
LAN과 LAN을 연결하거나 MAN과 MAN을 연결하는 WAN 존재.

  • PAN (Personal Area Network ) : 블루투스 (근거리, 무선랜은 아님 그보다 작은곳 커버 )
  • BAN (Body Area Network) : 인간의 심박수, 혈당 등 측정 (애플워치, 센서 활용 , 사람 기준)

Standard

서로 다른 회사에서 만든 컴퓨터 하드웨어와 소프트웨어 끼리 정보를 주고 받을 수 있어야함.
따라서 지켜야 할 법을 만듦 ( 프로토콜 ) - by Law (ex 이동통신 )

사람들이 많이 써서 표준화된 기술 ( 마이크로소프트 office 365 ) - by Fact


MAC Outline

Random, Controlled, Channelize access가 추상적인 동작원리에 대해 설명한다면 그 밑에 있는 용어들은 구체적인 기술을 의미함.

ex) CSMA/CA -> 와이파이 구현 기술, CSMA/CD -> 이더넷 (초고속 인터넷)


Random Access Protocols

Textbook: Behrouz A. Forouzan, “Data Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc.

가령, 앞쪽에서 버스 방식의 연결 형태에서 하나의 줄에서 여러개의 통신하고자 하는 스테이션들이 있을 때 어떻게 접근을 할것이냐의 문제.
랜덤 엑세스는 통신하고자 하는 스테이션이 있을 시 그냥 통신을 보냄.
랜덤 엑세스 방식에서는 분산 처리 하는 존재가 없음.
모두 다 독립적인 존재.
다른 스테이션을 배려하지 않음.

이렇게 만들어진 최초의 시스템이 "ALOHA"
하와이는 섬들이 굉장히 많아 서로 통신이 필요했고 무선으로 통신함.

그림과 같이 충돌을 고려하지 않고 보내고 싶을 때 보냄.
굉장히 단순한 시스템.
이런게 가능한 이유는 섬 과 섬 사이에 간헐적으로 소량의 데이터만 주고 받았기 때문.
문제는 노란색 부분처럼 다른 스테이션을 배려하지 않아 동시에 한꺼번에 쏘면 충돌 발생.
일정 시간대에 메시지가 겹치면 오류가 발생해 모두다 useless.

Textbook: Behrouz A. Forouzan, “Data Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc

K 라는 변수를 두고 ( 0으로 설정) 전송 -> 2 곱하기 T(p) 만큼의 시간을 기다림 -> ACK (응답) 받음 -> SUCCESS로 간주하고 송신 중단 -> if 응답이 오지 않으면 False -> 정해진 시간 내에서 다시 기다림 -> K가 K(MAX) 보다 큰지 확인 -> 크지않으면 충돌 피하기 위해 R(RANDOM) 값 선정 -> T(B) 시간 만큼 기다림 -> 재전송 -> K(MAX) 값에 도달할 때 까지 반복 수행.

  • T(p) : 메시지 보내고 잘 받았다고 응답이 올 때 까지 기다리는 시간.
  • K(MAX) : 응답이 안왔을 때 얼마만큼 기다릴 것 인지에 대한 최대값.
  • T(B) : Back - off time

랜덤 엑세스 프로토콜은 다른 스테이션을 배려하지 않고 쏘고 싶으면 쏨.
충돌 회피 불가.
충돌 발생 시 back - off, 최대한 시도 후 안되면 포기.
에러가 발생하는게 맞는 시스템.
또한 통제 시스템이 없어서 메시지 도달을 보장하지 못하는 시스템.

but...

과거에는 주고받고자 하는 데이터가 많지 않았어서 가능했"었"음.


Slotted - ALOHA network

Textbook: Behrouz A. Forouzan, “Data Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc

구획을 나눠놓음.
메시지들이 시작하는 시간과 끝나는 시간을 맞춤.
따라서, 에러가 발생하면 그 구획 안에서만 발생 하도록 하고 꼬리에 꼬리를 묶는 겪으로 에러가 발생하는 것을 막자 !
알로하 대비 성능 개선 효과 큼.
단점은, 스테이션끼리 해당 시간대를 맞춰야 하는데 어려움을 겪음.


CSMA ( Carrier Sense Multiple Access )

알로하 같은 경우엔 무선으로 하기에 충돌을 이해하는 것 즉, 다른 장치들이 쏜다는 것을 이해하고 적절히 대응하기 어려움.
하지만 유선 쪽에서 대규모 통신을 하고자 하는 욕망에서 태어난 것이 CSMA
가정은 제한된 길이의 유선 케이블 안에서의 통신.
내가 메시지를 케이블에 실기 전에 확인을 함 그래서, 그래서 특정 전자 신호가 있으면 누군가 쏘고 있다고 해서 쏘지 않음.
아무도 쏘지 않고 있다고 여겨지면 본인이 쏨. (listen before talk )

Space / Time model of a collision in CSMA

B가 t1에서 쏘고 가는 과정 중에 C가 t2 시점에 아무도 안쏘는 줄 알고 쏨.
C가 보낸 메시지와 B가 보낸 메시지가 섞임.
회색부분이 깨져버린 부분.
따라서 신호를 포착하고 포착된 신호가 있다면 쏘지 않는게 CSMA의 특징이지만, 특정 스테이션이 쏜 신호를 놓친 경우에는 에러 발생.

Vulnerable time in CSMA

Textbook: Behrouz A. Forouzan, “Data Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc

따라서, 특정 스테이션이 신호를 보낼 때 "얼마만큼" 기다려야 손실을 회피할 수 있는지에 대한 물음에 위의 그림과 같이 A 에서 D까지 도착하는 Propagation time 만큼 기다려야함.

Behavior of three persistence methods

1) 1 - Persistent

누군가 통신 신호를 보내는 것을 "busy"하다고 표현하는데, 계속해서 통신 신호의 존재 유무를 확인하다가 쏘지 않는 순간에 확률 1로 반드시 보냄.

장점 : 지연이 없음.
단점: 끊임없이 확인해야 하니 회로를 구동시켜야 하고 많은 전력 낭비 발생.

2) Nonpersistent

누군가 쏘면 기다림, 다시 센스하고 여전히 쏘고 있으면 기다림 , 쏘지 않으면 쏨.

장점 : 충돌 확률 적어짐, 전력 낭비 없어짐.
단점 : 긴급 시 바로 보내지 못함.

3) p - persistent

하이브리드 형태. 끊임없이 보면서 끝나는 시점을 확인했지만 곧바로 쏘지않고 다른 스테이션이 쏠 수 있는 상황을 대비해 랜덤의 시간만큼 기다렸다가 통신 보냄.


CSMA / CD (collision detect)

Textbook: Behrouz A. Forouzan, “Data Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc

아까 위의 그림에서 특정 스테이션이 쏘고 나서 자기 범위 안에서 들리지 않는다고 해서 쏴버려 에러가 발생했는데 이것을 극복.

C가 전송할 때 A가 쏜 신호를 확인하면 전송 중지.
또한 C가 쏜 신호가 A에게 도착한 시점에 A가 쏜 신호가 아니면 신호 전송 중지.

따라서, 쏘기 전에 듣고, 쏘면서도 듣는 기능 수행 가능.

초고속 인터넷 (이더넷) 을 만드는데 혁혁한 공을 세움.
유선 통신망에서 히트 침.


CSMA / CA (collision avoidance)

무선랜에서 사용됬지만, 무선에서는 충돌을 감지하는게 어려워서 CD의 방식인 충돌을 감지 하는 것 과는 다르게 충돌을 회피하는 쪽을 택함.

A 컴퓨터와 B컴퓨터 통신 시 데이터 통신 외에 RTS (Request to Send) 와 CTS ( Clear to Send) 메시지 주고 받음.

그리고 그 후 데이터 주고 받음.

데이터를 잘 받은 B는 A에게 ACK 메시지 전송.

RTS , CTS는 일종의 내가 메시지를 보낼 거야! 하고 모두에게 알리는 것.
단순히 양자간의 관계에서 주고받는 메시지를 넘어서 모든 스테이션들이 감지 가능.

따라서, RTS, CTS 신호를 날리면 다른 스테이션들도 충분히 인지 했다고 감안하고 데이터를 주고 받음.

ACK 신호 역시 다른 스테이션들에게도 전달됨.
이때, 이제는 A,B가 통신을 안하니 다른 스테이션들도 자신들이 통신이 가능해졌다는 걸 알 수 있음.

CSMA / CA 가 이와 같은 방식을 채택한 이유는 그림에서와 같이 B가 보낸 메시지는 A에게는 도착하고 C가 보낸 메시지 역시 A에게 도착하지만 , B와C는 서로 소통이 안됨.

따라서 무선의 경우엔 특정한 물리적 줄이 있는것이 아니라서 구체적인 거리감을 가지기 어렵기에 충돌 탐지 보다는 충돌 회피 쪽이 용이.

위에서 CSMA 의 방식 중 비어있으면 전송하는 1-persistent 의 방식을 채택하는 것과 더불어 또한 RTS, CTS를 주고 받은 Contention Window 도 가지고 있음.


정리

최초에 알로하 존재 -> 슬로티드 알로하 -> CSMA -> CSMA / CD (이더넷) -> CSMA / CA (무선랜)


Controlled Access Protocols

랜덤 엑세스 와는 다르게 컨트롤 타워 존재.

Reservation

5개의 노드가 있을 때 누가 송신 권한을 갖는냐 ?
1,3,4 번 노드가 쏠 수 있음.
다른 장치는 듣기만함 -> 충돌 no

일종의 미디움을 누가 얼마만큼 쓸 것인지에 대해 관리자가 알려줌.

장점: 충돌 없어짐, 채널을 꽉꽉 채워서 쓸 수 있음.
단점 : 내가 쏠 수 있을 때 긴급하게 쏘지 못함. (지연시간 증가)

Polling

스테이션에게 보낼게 있는지 물어보는 방식.
중앙 통제자가 노드들을 선택하고 데이터 송수신

장점: 에러가 없음. (충돌이 거의 없음)
단점 : 전력 낭비, 지연 증가


Token Passing

Token은 일종의 권한을 뜻함.


Channelization Protocols

유선 무선이든 수많은 노드, 스테이션들이 권한을 어떤식으로 Share할 것인지에 대한 문제.

FDMA

주파수를 특정 시작 주파수 대역부터 끝나는 주파수 대역 까지 나눔.
따라서 통신 원할 시 각각의 스테이션 마다 특정 주파수 사용 하면 됨.

TDMA

주파수 방식으로 운영해보니 굉장히 비싸고 하나의 주파수를 하나의 사람만 비싸게 사용하다보니 비효율적.
따라서 디지털 기술이 나옴.
사람의 음성을 일정 단위로 쪼갬.
이것을 압축해 4배빠른 네트워크로 보냄.
압축된 것을 풀어서 메시지 받는 사람의 귀에는 풀린 느린(상대적으로) 시간동안 들려줌
따라서 디지털 변환이 필요함.
말하는 것은 속도가 굉장히 느린데 이 느린것을 압축시켜 전송시에는 디지털로 변환 후 굉장히 빠르게 실어 보내고 듣는 사람에게는 해당 압축된 정보를 풀어서 느린 속도로 듣게끔 함.

따라서 "시간"을 기준으로 통신 스테이션마다 사용할 구간을 나눌 수 있음.
이렇게 함으로써 하나의 매체에 4명의 통신이 가능해짐. (시분할 방식)


CDMA

군사 기술에서 사용.
내가 데이터를 쏘지 않으면 무선 차원에서 소량의 시그널들이 흘러감.
내가 데이터를 보내면 다량으로 흘러감.

암호화를 할 때 많이 사용했었음.

"코드"로서 통신.
각 스테이션 마다 코드를 곱함.
본인의 코드 x 본인의 코드 = 1
본인의 코드 x 다른 코드 = 0
즉, 본인의 코드에게만 의미가 있고 다른 코드가 주어지면 의미가 없어짐.
따라서 일종의 암호화 기술.
그림처럼 곱해진 c1,c2,c3,c4를 알아야만 송/수신 시 해당 데이터를 풀 수 있음.

곱해진 데이터들은 무선 차원에서 더해짐.

보낼 데이터 비트가 0 이면 -1, 1을 보낼땐 +1 을 곱하고 보낼게 없으면 0을 곱함.


profile
WILL is ALL

0개의 댓글