2023. 4. 11. 00:13ㆍ데이터통신 , 네트워크
1.
두 개의 sublayer로 나눌 수 있다.
하나는 데이터 링크 제어(DLC)
또 하나는 미디어 접근 제어(MAC)

2.
IP 주소만으로 datagram을 목적지까지 도달시킬 수 없다.
패킷이 통과해야 할 Link-layer 주소도 있어야 함.

* 출발 IP 주소와 도착 IP주소는 고정
* 거쳐가는 Link-layer 주소는 계속 바뀜.
3. Link-layer 주소 종류
- unicast : LAN, Ethernet에서 주로 볼 수 있다.
16진수 12개=48비트로 이루어진 숫자.
예) MAC 주소: 네트워크에서 장치를 고유하게 식별하는 데 사용, 제조업체에서 할당.
A2:34:45:11:92:F1 //두 번째 숫자는 짝수이다. - multicast : LAN, Ethernet에서 주로 볼 수 있다.
16진수 12개=48비트로 이루어진 숫자.
예) MAC 주소: 네트워크에서 장치를 고유하게 식별하는데 사용, 제조업체에서 할당.
A3:34:45:11:92:F1 //두번째 숫자는 홀수이다. - broadcast :
예) FF:FF:FF:FF:FF:FF
4. ARP(Address Resolution Protocol) :
링크 내 다른 노드에게 IP 데이터그램을 보내려는 경우, 보내는 노드는 수신 노드의 IP 주소를 가지고 있다.
다음 노드의 IP 주소가 아닌 링크 계층 주소가 필요하다. 이때 주소 해석 프로토콜(Address Resolution Protocol, ARP)이 도움이 된다.

5. Error Detection and Correction
1) Error의 종류
- Single-bit error
- Burst error : Single-bit error들이 여러 개 모인 것
2) Redundancy(중복성)
오류를 감지하거나 수정하는 핵심 개념.
보낼 때 데이터와 함께 추가 비트(중복 비트)를 보낸다.
-> 수신자가 손상된 비트를 감지하거나 수정할 수 있도록 한다.
3) Block coding- 오류 검출 방법
메시지를 k비트씩의 블록=data words로 나눈다.
각 블록에 r개의 중복 비트를 추가하여 길이 n=K+r로 만든다.
결과적으로 얻어지는 n비트 블록을 codewords라고 한다.
4) Hamming distance: 두 Codewords 사이에 해당 bit 사이의 차이의 수
예) 000과 011 두 words 사이에 Hamming distance는 2 (bit 2개가 다르므로)
- 최대 s개의 비트에러를 탐색하기 위해서는 최소 Hamming distance 개수는 s+1개이다.
- 패리티 체크도 오류검출이므로 Hamming distance 개수를 따른다.
-> 기본 패리티 체크는 even-parity check : 1의 개수를 짝수개 만들어준다.

5) Cyclic Redundancy Check(CRC)
CRC를 이용한 Codewords 만드는 방법
: 1. 나누는 수의 최고가 2^3이므로 Dataword 뒤에 0을 3개 붙인다.
2. 만들어진 Dataword+000을 나누는 수로 나눈다.
3. 나누기를 한 후 나머지를 Dataword 뒤에 붙이면 Codeword 완성

*polynomials로 바꿔서 사용하기

*만약 generator가 x^0의 계수가 1이고, 항이 1개 이상이면
-> 모든 단일 비트 오류를 검출 할 수 있다.
*수신자가 올바르게 받았는지 확인하는 방법
: 받은 Codeword를 나누는 수로 나누면 나머지가 0이 되어야 한다.

6) Checksum
- 보내는 데이터들의 합 구하기
- 합을 이진수로 변환 후, 4bit씩 끊어서 더하기
- 더한 값을 보수 취하면 Checksum 완성.
- Checksum을 보낼 데이터들과 함께 보내기
* 수신자 입장에서 Checksum을 구했을 때 0이 나온다면 올바르게 전송된 것!
아니라면 그 데이터들은 거절.

7) 에러 수정 방법
Using Hamming Distance : t개의 오류를 수정하려면 최소 Hamming Distance는 2t+1이어야 한다.
6. DLC services
DLC(Data Link Control) : 인접한 두 개의 노드 간의 통신을 위한 프로토콜.
framing과 flow, error control 기능을 포함한다.
1) Framing
- 한 장치에서 다른 장치로 메시지를 전송할 때 메시지를 서로 구별(식별)하도록 한다.
- 편지를 봉투에 넣는 것과 같다. 봉투로 편지를 구별하도록 한다.
- 송신지 주소와 목적지 주소 추가함으로써 메시지를 구분.
- DLC가 비연결형 프로토콜이 될 수도 있고 연결형 프로토콜이 될 수 도 있다.
*비연결형 프로토콜:
- 데이터가 독립적인 프레임의 형태로 전송
(각 프레임은 서로 독립적) - 프레임들은 넘버링이 안되서 순서가 없다.
- 예) LAN
2) 프로토콜의 정의
- syntax, symmetric, timing
- event, action, format
3) stop-and-wait protocol
: 송신자는 한 번에 하나의 프레임을 보내고 다음 프레임을 보내기 전에 확인 응답을 기다린다.

- 송신자는 frame을 보내고 타이머를 잰다.
- 수신자가 메시지를 받으면 잘 받았다는 수신확인 신호인 ACK를 보낸다.
- 송신자는 타이머를 멈춘다.
- frame이 수신자에게 도착하지 않은 경우:
타이머가 만기 될 때까지 ACK를 못 받았다면 frame 재전송하고 타이머 재시작 - frame이 수신자에게 도착한 경우:
ACK을 보냈지만 손실되서 송신자가 못 받았다면 frame 재전송하고 타이머 재시작
-> 이 경우 패킷이 중복되는 현상 발생

* 이미 받은 frame이라서 Frame0은 폐기되었다.
-> 중복 방지
'데이터통신 , 네트워크' 카테고리의 다른 글
| 데이터 통신 - 유선랜: 이더넷 (4) | 2023.06.03 |
|---|---|
| 데이터 통신 - 무선랜: Random-access protocols (1) | 2023.04.12 |
| 데이터 통신 - 스위칭 방법과 구조 (0) | 2023.04.10 |
| 데이터 통신 챕터2 - physical layer (0) | 2023.04.02 |
| 데이터 통신 챕터1 (0) | 2023.04.01 |