본문 바로가기
Quality control (Univ. Study)/Computer Network

Link Layer

by 생각하는 이상훈 2023. 11. 21.
728x90

Link Layer

이제 network layer 밑에 존재하는 link layer에 대해서 알아보자. 아래 그림에서 볼 수 있듯이 link layer는 모든 네트워크 기기에 구현되어있는 계층이다.

Link layer는 간헐적으로 detection과 correction을 진행하는데 이는 말그대로 간헐적인 correction이지100% 보장하는 것이 아니다. 또한 broadcast 채널을 나눠서 이용하는 multiple access 기능도 지원한다.

한 switch에 걸려있는 host들에 대해서 IP를 추적해서 네트워킹을 해줄 논리 주소 관리 능력이 switch에는 없기 때문에 새로운 주소가 필요한데 이것이 MAC address이다.

Link layer는 대부분 위와 같이 Hardware에 구현되어있다.


Error detection

위와 같이 data의 뒤쪽에 EDC(Error Detection and Correction bits)를 추가해주어 bit-error를 찾아낸다.

 

Parity checking

가장 간단한 error detection 방법이다. 아래와 같이 parity bit를 전체합이 odd 또는 even으로 일정하게 되도록 설정하여 odd로 결정했는데 even이 나오거나 even으로 결정했는데 odd가 나오면 error가 생겼다는 것을 detection 하게 되는 것이다.

이때 error bit가 짝수개이면 detect할 수 없다.

 

아래는 2차원 bit parity이다.

위와 같이 error가 생긴 부분을 행과 열을 기준으로 이중 검사를 하는 방식을 이용하면 정확도가 좀더 올라간다.

 

Cyclic redundancy check (CRC)

기본적으로 D는 data bits를, R은 CRC bits를, G는 <D,R>을 나누어 떨어지도록하는 generator를 의미한다.

이때 연산에서 modula 2 arithmetic을 이용하는데 여기서는 오버플로우를 무시하기 때문에 덧셈과 뺏셈과 XOR 계산의 결과가 모두 같다.

D와 R을 붙혀서 bit pattern을 만드는데 이를 수식으로 설명하면 (2^n)*D+R이다. CRC bit 즉 R의 bit size를 n이라고 둔 것이다. 이때 generator G의 bit size는 n+1이 된다.

위의 식을 이용하여 아래 예시에서 CRC bit를 찾아보자.

M=11001, G=11001로 주어졌을때 R을 구해보자.

R이 1001이 나오는 것을 볼 수 있다.

따라서 결과값 T는 M*2^4+R이 되어 1100111001이 된다.


 

728x90

'Quality control (Univ. Study) > Computer Network' 카테고리의 다른 글

ARP  (0) 2023.11.29
Multiple Access Protocols  (2) 2023.11.23
Routing algorithms - Hierarchical routing  (0) 2023.11.14
Routing algorithm - Distance vector  (0) 2023.11.10
Routing algorithm - Link state  (0) 2023.11.07