Link Layer에서는 Packet을 Frame이라는 용어로 사용.
(완전히 같은 것은 아니지만, 의미 상 비슷함)
Link Layer에서는 주로 MAC 주소를 사용.
Frame은 마치 포장지와 같은 역할, Packet에 Frame을 위한 여러 요소들을
추가하고, 해당 요소들을 통해 목적지 인식, 오류 검사 등의 다양한 행동
flow control
-> node(router) 사이의 데이터의 flow control
error detection
-> (에러 발견)잡음, 누락 등으로 인한 에러를 발견 (이후 재전송 등의 조치)
error correction
-> 에러가 발생하였다면, 해당 에러 위치를 찾아 수정
half-duplex and full-duplex

Preamble : 송, 수신자의 동기화를 위한 신호
SFD : 데이터 시작 위치 알림
Dest Mac Add : Dest의 Mac 주소
Source Mac Add : Source의 Mac 주소
Type : 상위 계층 Protocol 정보 (Next header Protocol 정보)
Length : 0x6000 보다 작으면 IEEE, 크면 Ethernet Type 이다.
CRC : 오류 검출을 위한 내용. FCS라는 내용이 들어가기도 한다.
FCS도 마찬가지로 오류 검출 기능.

기본 Datagram에 Error Detection을 위해 추가적인 bit를 더하고,
이와 함께 사용하기 위한 EDC 를 추가하여 송신한다.
수신측은 해당 내용을 통해 Error를 여부를 검사.
수신을 결정한다.

Parity Bit를 추가하여, 1의 개수를 통해 오류를 검출하는 방식이다.
간단하지만, 비효율적인 방법이다.
기본 데이터 D에 추가적인 CRC Bit인 R을 추가하는 방식.

원본 Data의 bit D를 G (제수) 라는 값으로 나눈다.
G값은 송, 수신자가 미리 가지고 있는 값이며, 해당 값으로 원본을 나누어
발생하는 나머지를 R로 설정,
원본 D + 나머지 R의 데이터를 송신하면, 수신측에서는
D+R을 G값으로 나누어, 나누어 떨어지면 Error 없음.
떨어지지 않으면 Error가 발생했다고 판단한다.
하나의 채널을 공유하여 사용
Channel Partitioning ( 채널 분배 )
채널을 나누는 방식은 3가지
1. TDMA ( 시간 기준 )
- 시간 순으로 채널을 나누어 돌아가며 사용
2. FDMA ( 주파수 기준 )
- 주파수 별로 채널을 나누어 사용
- 단, 충돌 방지를 위해 주파수 사이에 일정 간격을 벌려 놓아야 함. ( 공간이 낭비 )
3. CDMA ( 코드 기준)
- FDMA + TDMA
- 이동 통신에서 사용되며 각 신호를 암호화 하여 보냄
Taking Turns ( 순서 설정 )
- Polling
- 하나의 Master Node를 두어 해당 node가 다른 node 들의 통신 순서를 결정
- Overhead 발생, 지연 등의 문제 발생- Token Passing
- Token을 통해 Token을 받은 node가 통신 차례를 가짐.
- Token을 돌려가며 순서대로 통신한다.
- Token 전달 시 Overhead 발생과 지연 문제점이 있음.
3. Random Access ( 무작위 접근 )
- node들이 자율적으로 순서 지정 없이 보낸다.
- 단, 충돌을 최소화하기 위한 방식이 있고, 충돌 발생 시 재전송을 한다.
- ALOHA Protocol
- 각자 node들이 알아서 통신을 하지만, 만약 겹치게 되어 충돌 (Collision)이
발생하면, 이후 재전송한다.
- 아래 그림과 같은 시간에 겹치게 되면 Collision 발생, 이후 재전송해야 한다.
- node들이 예측하며 충돌이 일어나지 않을 것 같을 때 보낸다.
- Slotted ALOHA (ALOHA에서 시간 개념을 추가한 버전.)
- 시간으로 나누어, 딱 떨어지는 시간 내에 전송을 한다.
- 한 슬롯에서 충돌이 발생하지 않은 node는 완전한 통신을 할 수 있다.
- 단, 충돌 발생 시 해당 슬롯 만큼이 낭비된다.
- 중간에 비는 공백이 슬롯 만큼 낭비된다.
- CSMA ( Carrier sense multiple access )
- 전송하기 전에 다른 node들을 탐지한다. (다른 node가 전송 중인지)
- 단, 신호 전송에도 시간이 필요하기 때문에, 충돌을 완전히 방지하지는 못한다.
- A가 통신을 위해 신호를 보내어 전달.
- A가 보낸 신호가 C에 도달하기 전에 C가 통신 신호를 보냄
- A와 C의 신호가 만나는 순간 충돌( Collision 발생 )
- 각 node는 통신 중에 다른 node의 신호를 받고 충돌 감지 ( Collision Detection )