OSI 2계층 데이터링크 계층은 랜에서 데이터를 주고 받기 위해 필요한 일을 합니다.
즉 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층입니다.
데이터 링크 계층에는 두 가지 주요 기능이 있습니다.
데이터 링크 계층에서 가장 많이 사용되는 프로토콜이 이더넷(Ethernet)입니다.
이더넷은 랜에서 데이터를 정상적으로 주고 받기 위한 규칙입니다.
데이터 충돌을 막기 위해 CSMA/CD 방식을 사용합니다.
랜 카드에는 MAC(Media Access Control Address) 주소라는 번호가 정해져 있습니다. 이 번호는 제조할 때 전 세계에서 유일한 번호로 할당 되기 때문에 물리주소 라고 불립니다.
이더넷의 헤더
이더넷의 헤더에는 목적지의 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트) 14바이트로 구성되어 있습니다.
이 중에서 유형에는 이더넷을 통해 전송되는 상위 계층 프로토콜을 식별하는 번호가 들어갑니다.
이더넷의 트레일러
트레일러는 헤더 외에 데이터 뒤에 추가되는 것으로 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용됩니다.
프레임
이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 합니다.
컴퓨터 1에서 컴퓨터 3으로 데이터를 전송한다고 했을 때, 이더넷 헤더에 컴퓨터 3의 MAC주소(목적지 MAC주소)와 자신의 MAC주소(출발지 MAC주소) 정보를 넣고 데이터를 전송합니다. 허브는 컴퓨터 1이 보낸 데이터를 1포트로 수신하고 2,3,4,5 모든 포트로 전송합니다. 이 때 2,4,5 컴퓨터는 목적지 MAC 주소가 자신과 다르기 때문에 데이터를 파기합니다. 만약 컴퓨터 1과 2가 동시에 컴퓨터 3에 데이터를 전송한다고 하면 충돌을 방지하기 위해 CSMA/CD 방식이 사용됩니다. 충돌이 감지되면 컴퓨터 2는 잠시 대기하고 데이터를 다시 전송합니다.
스위치는 데이터 링크 계층에서 동작하고 레이어 2 스위치, 스위칭 허브라고도 불립니다.
느리고 충돌이 생기는 허브의 단점 개선 위해 프레임을 목적지까지 포워딩 시키는 OSI Layer 2 MAC 주소 기반 네트워크 장치입니다.
스위치에는 스위치의 포트 번호와 그 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스인 MAC 주소 테이블이 있습니다.
스위치의 기능
learning
출발지 주소가 MAC 주소 테이블에 없으면 MAC 주소를 포트와 함께 등록합니다.
flooding(플러딩)
목적지 MAC 주소가 MAC 주소 테이블에 없으면 송신 포트를 제외한 전체 포트에 데이터를 전송합니다.
filtering(필터링)
MAC 주소를 기준으로 목적지를 선택하여 해당 포트로만 데이터를 전송합니다.