Search

Link

Error Detection

EDC = Error Detection bits
D = Data
100% reliable 하지 못하다
Parity checking
짝수개의 1로 맞추는 것
2차원이 가능하다
CRC
cyclic redundancy check
r을 정하고 D 뒤에다가 붙임
그리고 G로 계속 나눔
그리고 나온 나머지가 R
수신측에서도 같게 해서 같은 R이 나오는지 확인

Hub vs Switch vs Router

half duplex: 한 번에 하나의 방향으로만 통신 가능
full duplex: 양방향 통신 가능

Multiple access Protocol

Shared Broadcast Channel
여러 노드가 하나의 채널을 공유
동시에 전송 시 충돌이 발생할 수 있음
어떤 노드가 언제 전송 가능한지를 결정하는 분산 알고리즘
노드들이 알아서 정해야해서 오버헤드 존재
여러 종류가 있음
channel partitioning
각 노드에게 고정된 자원 배정
자기 차례일 때 전송 가능
TDMA
time을 나누는 거임
FDMA
frequency를 나눠서 bandwidth를 나누는거임
random access
자유롭게 접근, 충돌 허용, 발생 시 복구
ALOHA
동기화가 필요 없는 ALOHA
slotted ALOHA
타임을 슬롯으로 놔두고, 충돌 발생 시 , 확률 p로 다시 보내게 하는 것
한 노드만 활성 상태이면 연속적 전송 가능
중앙 통제 없이 동작 가능
구현 간단
충돌 발생 시 대역폭 낭비임
슬롯이 놀고 있을 수 있음
충돌 감지 시간보다 프레임 전송 시간이 긴 경우 비효율적임
Np(1-p)^(N-1)에 따라서 max efficiency가 1/e 즈음 됨. 0.37이다.
CSMA
만약 채널이 비어있으면 전송, 아니면 연기함
그럼에도 충돌 발생 가능
전파 지연
NodeA가 전송 시작했는데 B는 아직 그 신호를 못 들어서 동시에 전송을 시작할 수 있음. 그 결과 두 개의 전송이 충돌 한다.
CSMA/CD
전송 중에도 듣고 있다.
누군가 얘기하면 멈추는 것
충돌 발생 시 jam signal + 백오프
CSMA/CA
taking turn
노드들이 차례로 전송. 더 많은 데이터 가진 노드는 더 긴 전송 시간 가질 수 있음
채널 파티셔닝은 high load에는 efficient하고 fairly 하지만, 없을 때는 inefficient 함
random access는 low load에서 efficient 한데, high load에서는 collision overhead가 있음
taking turn은 이 두 가지를 절충한 케이스임
polling, master가 초대하는 경우
token, 다른 노드에서 다른 노드로 토큰 옮기는 것

LAN

ARP

address resolution protocol
ARP table이 있다.
IP/MAC 주소 매핑임
TTL 이 지나면 만료된다.
만약 보내고 싶으면 모르면 ARP query를 브로드캐스트한다. IP 주소로 찾는 거임
FF-FF-FF-FF-FF-FF 로 찾음
받으면 답장을 함.
이걸 테이블에 저장을 함
각 노드는 각자 테이블을 만듬

다른 LAN으로 보내기

처음에 IP 주소는 목적지로 설정하고 frame의 경우에는 라우터의 mac 주소를 목적지 주소로 설정함
라우터는 까서 IP 를 본다.
그리고 다시 B의 MAC 주소를 목적 주소로 보낸다.
이 때 B의 IP는 DNS로 안다
R의 IP는 기본 게이트웨이 설정으로 안다
R의 MAC은 ARP 프로토콜 통해 안다

이더넷

topology 존재
버스, 스타 등
connectionless: 핸드쉐이크가 없다
unreliable: NIC으로 주고 받는건 ACK,NACK이 없다
CSMA/CD를 사용함
| preamble | dest. address | source address | type | data (payload) | CRC |
preamble: 송수신간 클럭 동기화 용도임
address: MAC 주소
type: 상위 계층 프로토콜 지정
CRC: 수신측 에러 감지 위한 해시값

스위치

선택적으로 보낼 수 있다.
transparent 한데, 호스트가 있는지 모른다는 뜻
충돌이 없음
동시 송수신 가능
여러 호스트 쌍이 동시에 통신 가능
incoming frame에 대해서 자동으로 학습한다.
만약에 안 찾아지면 flood 함.
모든 인터페이스에 대해서 전부 보내봄