데이터 링크 계층
•
데이터 링크 계층은 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 안전한 정보의 전달을 수행할 수 있도록 도와준다.
•
하나의 네트워크 내에서 MAC 주소를 통해 알맞는 장치에 도달할 수 있도록 도와준다.
•
송신측과 수신측의 속도 차이를 조정하여 흐름을 제어하고, 오류의 검출과 회복을 통한 오류 제어, 프레임의 순서 제어, 프레임 동기화 등의 역할을 맡고 있다.
이더넷
•
이더넷이란 LAN에서 적용되는 규칙으로, 허브와 같은 장비에서 컴퓨터와 데이터를 주고 받을 때 사용된다.
•
허브를 통해 연결되어 있는 네트워크에서는 다른 컴퓨터에 데이터를 보내려하면 허브에 연결되어 있는 모든 컴퓨터에 데이터를 송신한다. 이더넷에서는 데이터에 목적지 정보를 추가하여 목적이 이외의 컴퓨터는 데이터를 받더라도 무시하도록 되어있다.
•
또한 허브에서는 모든 포트에 데이터를 송신하려하기 때문에, 여러 컴퓨터에서 동시에 데이터를 송신하려하면 충돌이 발생한다. 이더넷에서는 CSMA/CD를 통해 데이터 송신 시점을 조절하여 이러한 충돌을 해결한다.
CSMA/CD
•
CSMA/CD(Carrier Sense Multiple Access/Collision Detetion)은 이더넷에서 충돌이 발생하는 상황에 데이터를 보내는 시점을 늦추어 충돌을 피하는 방법이다.
•
이더넷 환경에서 통신을 하기 전에 PC나 서버에서 네트워크 상에 캐리어가 있는지(통신 중인지) 검사한다.(Carrier Sense)
•
네트워크가 통신 중이면(캐리어 감지되면) 데이터를 보내지 않고 대기하고, 네트워크가 통신 중이 아니면(캐리어가 감지되지 않으면) 데이터를 네트워크에 보낸다.
•
캐리어가 감지되지 않았을 때 여러 PC나 서버에서 데이터를 동시에 보내는 경우를 Multiple Access이라 하고, 충돌이 감지(Collision Detection)되었다고 한다.
•
충돌이 발생하면 데이터를 전송하려던 PC나 서버들에서 랜덤한 시간 동안 대기 후 다시 데이터를 전송한다.
•
이러한 충돌이 15번 이어서 발생하면 통신을 끊는다.
•
최근에는 효율이 좋지 않다는 이유로 잘 사용되지 않고, 스위치라는 네트워크 장비를 주로 사용한다.
MAC 주소
•
물리 계층의 랜 카드에서는 0과 1의 비트열을 전기 신호로 변환하는데, 이러한 랜 카드에는 각자 고유한 MAC 주소를 할당받아 가지고 있다.
•
MAC 주소는 다른 MAC 주소와 중복되지 않도록 규칙이 정해져있는데, 랜카드를 만든 제조사 번호 24비트와 해당 랜 카드에 부여된 일련번호 24 비트로 총 48비트로 이루어져 있다.
•
데이터를 송신하기 위해 캡슐화할 때 데이터 링크 계층에서 이더넷 헤더와 트레일러를 붙이는데, 이더넷 헤더는 출발지 MAC 주소와 목적지 MAC 주소, 프로토콜 유형으로 구성되어 있다. 트레일러에서는 데이터 오류 검출을 위한 FCS(Frame Check Sequence)가 있고, 이더넷 헤더와 트레일러를 붙인 데이터를 프레임(Frame)이라 부른다.
이더넷 헤더의 유형
이더넷으로 전송되는 상위 계층의 프로토콜 정보를 나타내는 16진수 값이다.
•
데이터에 출발지와 목적지 MAC 주소를 넣어 허브에 전송하면, 허브에서 데이터를 수신 후 해당 포트 외의 모든 포트에 데이터를 전송한다. 나머지 컴퓨터에서는 데이터를 수신 후, MAC 주소가 자신과 다르다면 데이터를 파기하고 같다면 데이터를 수신한다.
스위치
•
데이터 링크 계층에서 동작하는 스위치는 L2(Layer 2) 스위치 또는 스위칭 허브라고 불리며, 스위치 내부에 MAC 주소 테이블을 두어 데이터를 받았을 때 MAC 주소에 맞게 데이터를 전송하는 역할을 맡는다.
•
MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 장치의 MAC 주소가 등록되어 있는 데이터베이스이다.
•
MAC 주소 테이블은 다음과 같은 절차를 통해 MAC 주소들을 등록하는데 이를 MAC 주소 학습이라 한다.
1.
스위치를 처음 켜게 되면 MAC 주소 테이블에 아무것도 등록이 되어있지 않다.
2.
연결되어 있는 포트에서 프레임 데이터를 전송하면, 해당 프레임의 이더넷 헤더에서 출발지 MAC 주소를 읽어 테이블에 등록한다.
3.
목적지 MAC 주소를 찾는다.
a.
목적지 MAC 주소가 어떤 포트에 연결되어 있는지 테이블에 없다면, 모든 포트에 해당 프레임을 전송한다.(플러딩 flooding)
b.
목적지 MAC 주소가 테이블에 존재한다면, 해당 포트에만 데이터를 전송한다.(MAC 주소 필터링)
전이중 통신 vs 반이중 통신
•
통신 방식에는 송신과 수신을 동시에 진행할 수 있는 전이중 통신(Full Duplex)과 송신과 수신을 동시에 하지 못하고 번갈아가며 진행하는 반이중 통신(Half Duplex), 단방향으로만 통신할 수 있는 단방향 통신(Simplex)이 있다.
•
물리 계층에서 설명했듯이, 이더넷에서 두 대의 컴퓨터가 연결된 상황에서 크로스 케이블을 사용한다면 서로 충돌이 발생할 여지 없이 전이중 통신 방식으로 통신한다.
•
허브와 컴퓨터 간의 연결도 마찬가지로 문제가 없지만, 허브 내부에서는 송수신이 나누어져있지 않기 때문에 서로 다른 컴퓨터에서 동시에 송신을 시도하면 충돌이 발생하게 된다. 이러한 이유로 허브를 사용하면 반이중 통신 방식을 사용하게 된다.
•
하지만 스위치는 내부에도 충돌이 발생하지 않는 구조로 되어있어, 스위치로 네트워크를 구성하면 전이중 통신 방식을 사용할 수 있다.
충돌 도메인
•
충돌이 발생했을 때 그 영향이 미치는 범위를 충돌 도메인이라 부른다.
•
위의 허브와 스위치의 연결 구조를 이어서 살펴보면, 반이중 통신을 사용하는 허브에서는 충돌이 발생하면 허브에 연결된 모든 장치들이 그 영향을 받는다. 다시말해, 허브의 경우에는 연결되어 있는 모든 컴퓨터가 충돌 도메인이 된다.
•
반면 스위치의 경우에는 전이중 통신 방식을 사용하기 때문에 충돌이 발생하지 않기 때문에, 각 포트가 별도의 충돌 도메인이 된다.
•
충돌 도메인의 범위가 넓을수록 네트워크 지연에 영향을 크게 받는데, 이 때문에 충돌 도메인을 좁히는 것이 중요하고 허브보다 스위치를 사용하는 것이 통신 효율이 높다.
ARP
•
ARP(Address Resolution Protocol)는 목적지의 IP 주소를 이용해 MAC 주소를 찾기 위한 프로토콜이다.
•
이더넷 프레임을 전송하려면 MAC 주소를 알아야하는데 목적지 MAC 주소를 모르는 경우, 네트워크에 브로드캐스트하여 MAC 주소를 알아내는데 이러한 요청을 ARP 요청(ARP Request)라 한다.
•
브로드캐스트는 출발지 컴퓨터에 연결된 네트워크의 모든 장치들에 요청을 보내는 것인데, ARP 요청을 보내면 요청과 IP 주소가 맞지 않으면 응답하지 않고 맞는 IP 주소를 가진 컴퓨터는 MAC 주소를 응답으로 보낸다. 이때의 응답을 ARP 응답(ARP Response)라 부른다.
•
ARP 응답으로 받은 MAC 주소와 IP 주소를 매핑하여 ARP 테이블을 만들어 저장하고, 이후 통신 시 해당 테이블을 참고하여 데이터를 전송한다.
•
IP 주소가 바뀌면 해당 MAC 주소 정보도 사용하지 못하기 때문에, 테이블에서는 매핑 정보를 ARP 캐시로 지정하여 일정 기간이 지나면 삭제하고 다시 ARP 요청을 보낸다.
이더넷 규격
•
이더넷 규격은 사용되는 케이블의 종류와 통신 속도, 전송 방식에 따라 분류된다.
•
이더넷 규격을 표현할 때는 통신 속도 + 전송 방식 + 케이블 종류로 나타낸다.
•
예를 들면 10BASE-T의 경우에는 10Mbps의 통신 속도를 가지며 basband 방식으로 데이터를 전송하며, UTP 케이블을 사용한다는 의미이다.
•
통신 속도는 Mbps 단위이며, 케이블 종류에 T가 오는 경우에는 UTP 케이블을 말하고 숫자가 오면 동축 케이블을 100m 단위로 표시한 것이다.