데이터 링크 계층은 전기 신호를 모아 알아볼 수 있는 데이터 형태로 처리한다.
출발지와 도착지 주소를 확인하고 내게 보낸 것이 맞는지 혹은 내가 처리해야 하는지에 대해 검사한 후 데이터 처리를 하는 것이 주된 역할
여기서 주소를 확인한다는 것은 한 명과 통신하는 것이 아니라 동시에 여러 명과 통신할 수 있다는 것이기 때문에 무작정 데이터를 주고 받는 것이 아니라, 받는 사람이 데이터를 받을 수 있는지 확인하는 작업부터 해야한다.
이런 역활을 플로우 컨트롤(flow control) 라고 한다.
2계층에서 동작하는 네트워크 구성 요소는 네트워크 인터페이스 카드와 스위치가 있다.
네트워크 인터페이스 카드는 여러 이름을 가지고 있다. 우리는 흔히 랜 카드라고 부르기도 하고 네트워크 카드, 네트워크 인터페이스 컨트롤러(Network Interface Controller), 네트워크 어댑터(Network Adapter) 등으로 부르기도 한다.
네트워크 인터페이스 카드는 컴퓨터를 네트워크에 연결하기 위한 하드웨어 장치이며, 노트북과 데스크톱에서는 기본 장착되는 부분이므로 추가할 필요가 없다.
- 직렬화(Serialization) : NIC는 전기적 신호를 데이터 신호 형태로, 혹은 그 역으로 변환해 줍니다. 이러한 상호 변환작업을 직렬화라고 한다.
MAC 주소 : NIC는 고유한 MAC 주소를 가지고 있는데 이 MAC 주소는 Media Access Control의 줄임말로, 네트워크에 접속하는 모든 장비는 MAC 주소라는 물리적 주소가 있어야 하고, 변경할 수 없도록 하드웨어에 고정되어 있다.
NIC는 입력되는 전기 신호를 데이터 형태로 만들고 데이터에서 도착지 MAC주소를 확인한 후 자신에게 들어오는 전기 신호가 맞는지 확인합니다. 자신에게 들어오는 전기 신호가 아니면 버리고, 맞으면 이 데이터를 상위계층에서 처리 할 수 있도록 메모리에 적재합니다.
스위치는 여러 장비를 연결하고 통신을 중재하며, 케이블을 한 곳으로 모아주는 역할을 하는 2계층의 장비
주어진 MAC 주소를 보고 어디로 연결되는지, 포트는 어디인지 확인하며 이 데이터를 기반으로 통신할 때 포트를 적절히 필터링 하고 정확한 포트로 포워딩 하는 역할을 한다.
패킷이 스위치에 들어온 경우, 도착지 MAC주소를 확인하고 자신이 가진 MAC 테이블과 비교해 맞는 정보가 있으면 매치되는 해당 포트로 패킷을 포워딩 하는데 이때 다른 포트로는 해당 패킷을 보내지 않으므로 이 동작을 필터링이라고 부른다.