1) Message
송신 하는 쪽에서 수신하는 쪽으로 보내는 정보.
2) Sender
메시지를 보내는 디바이스 (컴퓨터들)
3) Receiver
Sender가 보내는 메시지를 수신하는 디바이스
4) Medium
Sender가 Receiver에게 메시지를 보낼 때 사용되는 매체 (1계층) - 유무선으로 구성됨
5) Protocol
Sender가 Medium을 통해 Reciver에게 메시지를 보낼 때의 정해진 규약
데이터 자체가 어떤식으로 흘러가는지에 대한 방향성 의미.
Simplex : 특정 기기가 다른 기기로에게 단방향으로 보내는 것. (라디오, Tv)
Half - duplex : 보낼 땐 보내기만 하고 받을 떈 받기만 하는 것 ( 워키토키 )
Full - duplex : 양방향 동시 통신 (전화, 인터넷)
Point to Point : Station을 한 점으로 볼 때 점과 점을 한 줄로 이은 것.
MultiPoint : 줄 하나에 여러 Station이 붙은 것.
컴퓨터 디바이스들을 어떤 모양으로 연결할건지 ?
본인을 제외한 모든 스테이션과 연결.
장점 : 스테이션과 스테이션이 소통할 때 다른 스테이션으로부터 방해 받지 않음.
특정 줄이 고장나도 다른 스테이션을 통해 소통가능. (안정적)
스테이션 간 전용의 줄이 있으므로 다른 스테이션 측에서는 해당 정보에 접근 불가능 (보안성 강화)
단점: 노드의 개수가 많아지면 이어줄 줄이 점점 많아짐 (물리적으로 힘듬)
그래서 작은 네트워크끼리 묶고 해당 네트워크들끼리 묶을 때 자주 사용하는 방식.
Hub가 나무의 뿌리역할을 하고 각각의 스테이션이 해당 뿌리로 연결된 상태.
Hub라는 중간장치 존재
장점: 스테이션이 늘어나도 각각의 스테이션이 가져야 할 줄은 한개만 존재. (줄의 개수가 적어짐)
단점: 허브가 고장나면 모든 통신 두절.
한 줄을 여러개의 컴퓨터가 공유
장점: 설치가 용이 , 가격저렴
단점: 오류 발생 시 네트워크 전체 두절.
원을 그리며 통신 ( 버스 형태의 토폴로지에서 끝과 끝을 이은 형태 )
장점 : 설치 용이, 줄이 끊어졌을 때 끊어진 부분만 방어할 수 있는 메커니즘 존재
단점 : 방어가 되지 않으면 전부 고장, 줄이 연결됬다는건 경쟁적으로 데이터를 송수신 해야함.
허브로 연결되어 있지만 각 줄에 스테이션들이 버스 형식으로 연결되어 있음.
따라서, 토폴로지는 조합이 가능하고 대부분 실행 중
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 존재.
서로 다른 회사에서 만든 컴퓨터 하드웨어와 소프트웨어 끼리 정보를 주고 받을 수 있어야함.
따라서 지켜야 할 법을 만듦 ( 프로토콜 ) - by Law (ex 이동통신 )
사람들이 많이 써서 표준화된 기술 ( 마이크로소프트 office 365 ) - by Fact
Random, Controlled, Channelize access가 추상적인 동작원리에 대해 설명한다면 그 밑에 있는 용어들은 구체적인 기술을 의미함.
ex) CSMA/CA -> 와이파이 구현 기술, CSMA/CD -> 이더넷 (초고속 인터넷)
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) 값에 도달할 때 까지 반복 수행.
랜덤 엑세스 프로토콜은 다른 스테이션을 배려하지 않고 쏘고 싶으면 쏨.
충돌 회피 불가.
충돌 발생 시 back - off, 최대한 시도 후 안되면 포기.
에러가 발생하는게 맞는 시스템.
또한 통제 시스템이 없어서 메시지 도달을 보장하지 못하는 시스템.
but...
과거에는 주고받고자 하는 데이터가 많지 않았어서 가능했"었"음.
Textbook: Behrouz A. Forouzan, “Data Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc
구획을 나눠놓음.
메시지들이 시작하는 시간과 끝나는 시간을 맞춤.
따라서, 에러가 발생하면 그 구획 안에서만 발생 하도록 하고 꼬리에 꼬리를 묶는 겪으로 에러가 발생하는 것을 막자 !
알로하 대비 성능 개선 효과 큼.
단점은, 스테이션끼리 해당 시간대를 맞춰야 하는데 어려움을 겪음.
알로하 같은 경우엔 무선으로 하기에 충돌을 이해하는 것 즉, 다른 장치들이 쏜다는 것을 이해하고 적절히 대응하기 어려움.
하지만 유선 쪽에서 대규모 통신을 하고자 하는 욕망에서 태어난 것이 CSMA
가정은 제한된 길이의 유선 케이블 안에서의 통신.
내가 메시지를 케이블에 실기 전에 확인을 함 그래서, 그래서 특정 전자 신호가 있으면 누군가 쏘고 있다고 해서 쏘지 않음.
아무도 쏘지 않고 있다고 여겨지면 본인이 쏨. (listen before talk )
B가 t1에서 쏘고 가는 과정 중에 C가 t2 시점에 아무도 안쏘는 줄 알고 쏨.
C가 보낸 메시지와 B가 보낸 메시지가 섞임.
회색부분이 깨져버린 부분.
따라서 신호를 포착하고 포착된 신호가 있다면 쏘지 않는게 CSMA의 특징이지만, 특정 스테이션이 쏜 신호를 놓친 경우에는 에러 발생.
Textbook: Behrouz A. Forouzan, “Data Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc
따라서, 특정 스테이션이 신호를 보낼 때 "얼마만큼" 기다려야 손실을 회피할 수 있는지에 대한 물음에 위의 그림과 같이 A 에서 D까지 도착하는 Propagation time 만큼 기다려야함.
1) 1 - Persistent
누군가 통신 신호를 보내는 것을 "busy"하다고 표현하는데, 계속해서 통신 신호의 존재 유무를 확인하다가 쏘지 않는 순간에 확률 1로 반드시 보냄.
장점 : 지연이 없음.
단점: 끊임없이 확인해야 하니 회로를 구동시켜야 하고 많은 전력 낭비 발생.
2) Nonpersistent
누군가 쏘면 기다림, 다시 센스하고 여전히 쏘고 있으면 기다림 , 쏘지 않으면 쏨.
장점 : 충돌 확률 적어짐, 전력 낭비 없어짐.
단점 : 긴급 시 바로 보내지 못함.
3) p - persistent
하이브리드 형태. 끊임없이 보면서 끝나는 시점을 확인했지만 곧바로 쏘지않고 다른 스테이션이 쏠 수 있는 상황을 대비해 랜덤의 시간만큼 기다렸다가 통신 보냄.
Textbook: Behrouz A. Forouzan, “Data Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc
아까 위의 그림에서 특정 스테이션이 쏘고 나서 자기 범위 안에서 들리지 않는다고 해서 쏴버려 에러가 발생했는데 이것을 극복.
C가 전송할 때 A가 쏜 신호를 확인하면 전송 중지.
또한 C가 쏜 신호가 A에게 도착한 시점에 A가 쏜 신호가 아니면 신호 전송 중지.
따라서, 쏘기 전에 듣고, 쏘면서도 듣는 기능 수행 가능.
초고속 인터넷 (이더넷) 을 만드는데 혁혁한 공을 세움.
유선 통신망에서 히트 침.
무선랜에서 사용됬지만, 무선에서는 충돌을 감지하는게 어려워서 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 (무선랜)
랜덤 엑세스 와는 다르게 컨트롤 타워 존재.
5개의 노드가 있을 때 누가 송신 권한을 갖는냐 ?
1,3,4 번 노드가 쏠 수 있음.
다른 장치는 듣기만함 -> 충돌 no
일종의 미디움을 누가 얼마만큼 쓸 것인지에 대해 관리자가 알려줌.
장점: 충돌 없어짐, 채널을 꽉꽉 채워서 쓸 수 있음.
단점 : 내가 쏠 수 있을 때 긴급하게 쏘지 못함. (지연시간 증가)
스테이션에게 보낼게 있는지 물어보는 방식.
중앙 통제자가 노드들을 선택하고 데이터 송수신
장점: 에러가 없음. (충돌이 거의 없음)
단점 : 전력 낭비, 지연 증가
Token은 일종의 권한을 뜻함.
유선 무선이든 수많은 노드, 스테이션들이 권한을 어떤식으로 Share할 것인지에 대한 문제.
주파수를 특정 시작 주파수 대역부터 끝나는 주파수 대역 까지 나눔.
따라서 통신 원할 시 각각의 스테이션 마다 특정 주파수 사용 하면 됨.
주파수 방식으로 운영해보니 굉장히 비싸고 하나의 주파수를 하나의 사람만 비싸게 사용하다보니 비효율적.
따라서 디지털 기술이 나옴.
사람의 음성을 일정 단위로 쪼갬.
이것을 압축해 4배빠른 네트워크로 보냄.
압축된 것을 풀어서 메시지 받는 사람의 귀에는 풀린 느린(상대적으로) 시간동안 들려줌
따라서 디지털 변환이 필요함.
말하는 것은 속도가 굉장히 느린데 이 느린것을 압축시켜 전송시에는 디지털로 변환 후 굉장히 빠르게 실어 보내고 듣는 사람에게는 해당 압축된 정보를 풀어서 느린 속도로 듣게끔 함.
따라서 "시간"을 기준으로 통신 스테이션마다 사용할 구간을 나눌 수 있음.
이렇게 함으로써 하나의 매체에 4명의 통신이 가능해짐. (시분할 방식)
군사 기술에서 사용.
내가 데이터를 쏘지 않으면 무선 차원에서 소량의 시그널들이 흘러감.
내가 데이터를 보내면 다량으로 흘러감.
암호화를 할 때 많이 사용했었음.
"코드"로서 통신.
각 스테이션 마다 코드를 곱함.
본인의 코드 x 본인의 코드 = 1
본인의 코드 x 다른 코드 = 0
즉, 본인의 코드에게만 의미가 있고 다른 코드가 주어지면 의미가 없어짐.
따라서 일종의 암호화 기술.
그림처럼 곱해진 c1,c2,c3,c4를 알아야만 송/수신 시 해당 데이터를 풀 수 있음.
곱해진 데이터들은 무선 차원에서 더해짐.
보낼 데이터 비트가 0 이면 -1, 1을 보낼땐 +1 을 곱하고 보낼게 없으면 0을 곱함.