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 함.
▪
모든 인터페이스에 대해서 전부 보내봄