[네트워크] 네트워크 액세스 계층의 역할
네트워크 액세스 계층(물리 계층 + 데이터 링크 계층)은 연결된 장치들 간에 직접적으로 통신을 하며 제어하는 역할을 한다. 바로 윗 계층인 인터넷계층이 경로를 확인한다면 탐색된 경로로 데이터를 내보내는 것이다.
이 계층에서는 통신 중 발생하는 문제들을 제어하는 기능을 가지고 있다. 대표적인 역할은 아래와 같다.
- MAC 주소를 이용해 다음 노드로 직접 통신
- 전기 신호의 충돌 감지 및 제어
- 오류 감지 및 제어
데이터 송수신 방법
네트워크 액세스 계층에서는 상위 계층의 데이터에 헤더와 트레일러를 추가해 프레임
이라고 불리는 데이터 유닛을 만들어낸다. 이후 이 프레임을 전기 신호로 변환하여 네트워크로 전송하게 된다.
이때 케이블을 통해 전송하게 되는데 송수신 방식에 따라 전송방식이 나뉘어 진다.
반이중화 방식
회선 하나로 송신과 수신을 번갈아가며 통신하는 방식이다. 데이터를 동시에 전송시에는 충돌이 발생하며 이를 제어하기 위해 CSMA/CA(충돌회피), CSMA/CD(충돌 방지)와 같은 충돌 제어 프로토콜들이 있다.
- 동축케이블, 이더넷 케이블(UTP, STP)
- 유선 LAN(Ethernet)
- 무선 LAN(Wi-Fi)
- Bluetooth
전이중화 방식
데이터를 동시에 송수신 할 수 있는 방식이다. 하나의 케이블 안에서 송신과 수신을 병렬로 처리한다. 때문에 전송속도가 빠르다는 장점이 있다. 하지만 경로를 나누는만큼 비용이 많이 든다. 또한 많은 양의 케이블이 필요하여 설치가 어렵다. 장애 발생 시 유지 보수에 어렵다는 문제 또한 존재한다.
- 광케이블, 광섬유
- 유선 LAN(Ethernet Full Duplex)
- WAN 등 대규모 네트워크 환경에서 많이 사용된다.
전이중화 방식에서는 송수신 병렬처리를 위해 다중화 기술을 사용한다. 시간 단위로 여러개의 신호를 번갈아 전송하는 TDM(Time Division Multiplexing), 주파수 대역을 여러 개로 분할하여 동시에 통신하는 FDM(Frequency Division Multiplexing) 방식 등이 있다.
💡 Ethernet(이더넷)
유선 LAN 구성 시 사용하는 통신 기술이다. 주로 케이블을 통해 데이터를 송신하며 과거에는 반이중화 방식을 많이 사용하였으며 현대에는 전이중화 방식을 많이 사용하고 있다.
충돌 제어 방식
반이중화 방식은 하나의 채널로 송수신을 하기 때문에 양측에서 동시에 데이터를 전송한다면 충돌이 일어난다. 하나의 회선에서 다중 접근(Multiple Access)을 하기 때문에 충돌이 일어날 가능성이 있다. 이러한 문제를 케어하기 위해 여러 메커니즘이 존재한다.
Multiple Access 기술은 위해 크게 Random Access
와 Controlled Access
두 가지 방식으로 나뉘어진다.
Random Access
노드들이 채널을 공유하는 방식, 노드는 전송할 데이터를 충돌을 피하기 위해 임의의 시간이후 전송하는 방식이다.
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
유선 LAN(이더넷)에서 사용하는 충돌감지 방식이다. 충돌을 해결하고 전송 효율을 높이는 역할을 수행하나 재전송해야 하기 때문에 전송 기간이 길어지는 단점이 있다.
- 검사(Carrier Sense)
- 통신 채널을 확인한다. 채널이 사용중이면 전송지연, 채널이 비어있으면 전송시작
- 데이터 전송(Multiple Access)
- 데이터가 흐르지 않는다면 전송한다.
- 이때 서로 확인 후 동시전송 가능성이 있음(다중 접근) ->
충돌 발생
- 충돌 발생(Collision Detection)
- 충돌 발생시 각 컴퓨터가 일정 시간을 대기하고 재전송 한다.
- 재전송 제한
- 여러번(15번) 충돌이 일어나면 통신을 끊는다.
CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)
무선 LAN에서 사용하는 충돌회피 방식이다. 무선 네트워크에서는 유선 LAN과 다르게 공유 매체인 케이블을 사용하지 않고 무선 주파수를 이용하며 전파 충돌 시 서로 간섭하게 되어 충돌 감지가 어렵다. 따라서 충돌감지 방식인 CSMA/CD 대신 충돌회피 방식인 CSMA/CA를 사용한다.
- CCA(Clear Channel Assessment)
- 채널이 비어있는지 확인
- IFS(Inter-Frame Space) 기다리기
- CSMA/CD에서 이야기 한 것과 서로 확인 후 같이 전송할 수도 있다.
- 이를 위해 전송 전 일정 기간(IFS)을 기다린다.
- RTS/CTS(Request to Send/Clear to Send)
- 데이터 전송 전 선점권을 요청하는 방식
- RTS(송신측프레임을 전송하겠다는 요청신호),
- CTS(프레임을 전송해도 된다는 확인신호)
- 히든 노드 문제 해결(노드간 직접 통신하지 않는 상황에서 동시에 채널을 사용하려고 하는 문제)
- 전송 완료
- 데이터 전송이 완료되면 ACK을 송신측에 보낸다.
- ACK을 받지 못하면 송신측은 데이터를 재전송한다.
- 충돌 발생
- 전송 중 채널이 사용중인 것을 감지하면 재전송을 수행한다.
- IFS를 다시 지정하고 기다린 후 재전송한다.
Controlled Access
노드 간의 채널 사용을 제어하며 데이터를 전송하는 방식이다. 이 방식은 충돌 없이 자원을 공유할 수 있는 기술이다. 접근 권한을 할당받은 노드들만 자원을 사용할 수 있다.
이러한 방법은 안정적이지만 노드간의 협력이 필요하므로 복잡한 프로토콜이 필요하며 대역폭 활용이 효율적이지 않다. 군사통신망, 전화망에서 이러한 방식을 사용한다.
예약방식(Reservation)
미리 일정한 시간동안 접근을 예약한 노드만 매체에 접근할 수 있는 방식
Polling
특정 노드가 다른 노드들에게 매체 접근 권한을 주는 방식
오류 제어
데이터 송수신 시 전선 상의 노이즈, 충돌, 전송 중 잘못된 비트 전송 등 여러가지 오류가 발생할 수 있다. 이러한 문제제어를 위해 네트워크 액세스 계층에서는 오류를 감지하고 제어하는 기능을 가지고 있다.
오류 감지
- 패리티 비트
데이터의 비트들 중 1의 개수가 홀수인지 짝수인지에 따라 1비트의 패리티 비트를 추가한다. 수신측에서 동일한 방식으로 확인하여 오류를 감지한다. - CRC(Cyclic Redundancy Check)
데이터에 대한 다항식 연산을 통해 생성한 CRC 코드를 전송, 수신측도 같은 다항식 연산을 수행하여 비교하는 방식, 코드가 일치하지 않으면 오류가 발생한 것으로 판단한다. 오류 검출 능력이 높으며 빠른 속도로 동작한다. - 해밍코드
데이터 비트에 일정한 규칙에 따라 여분의 비트를 추가하는 방식이다. 이 방식으로 검출 및 수정이 가능하지만 일반적으로 1개의 오류만 검출하고 수정할 수 있다.
오류 제어
TCP와 마찬가지로 재전송 기반의 오류 제어 메커니즘을 이용한다. 전송 계층에서는 목적지로 전송된 데이터의 무결성을 보장하기 위해 수행된다면 이 계층에서는 네트워크 안에서 전송되는 데이터 프레임의 무결성을 보장하기 위해 수행된다. 두 계층에서 사용하는 메커니즘은 ARQ 방식으로 동일한다.
전송 계층 오류제어 방식 보러가기
- Stop-and-Wait ARQ
- Go-back-N ARQ
- Selective-Repeat ARQ
댓글남기기