데이터 링크 계층 : OSI 모델의 두번째 계층
역할: 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 데이터를 주고받기 위해 필요.
그 규칙들 중 가장 맣이 사용되는 규칙 -> 이더넷(Ethernet)
이더넷은 데이터 충돌을 막기 위한 규칙으로 CSMA/CD 방식을 사용한다.
CS는 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 확인하는 규칙
MA는 케이블에 데이터가 흐르고 있지 않으면 데이터를 보내도 된다는 규칙
CD는 충돌이 발생하고 있는지 확인하는 규칙
지금은 효울이 좋지 않다는 이유로 이 방식은 거의 사용되지 않음 -> 스위치라는 네트워크 장비로 대체
<MAC 주소>
랜 카드는 0과 1로 이루어진 데이터를 전기 신호로 변환하는데 이 랜 카드에는 MAC 주소라는 번호가 정해져있다. 전세계에서 유일한 번호로 할당됨.
- 48비트 숫자로 구성되며 앞 24비트는 랜카드 제조사 번호, 뒤 24비트는 제조사가 랜 카드에 붙인 일련 번호
ex) 00-23-AE-D9-7A-9A
<이더넷 헤더>
총 14바이트로 구성 = 목적지 MAC 주소(6바이트) + 출발지 MAC 주소(6바이트) + 유형(2바이트)
유형이란 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다. 프로토콜 종류를 식별하는 번호 16진수가 이더넷 헤더 가장 마지막 2바이트에 들어감.
<트레일러>
FCS(Frame Check Sequence)라고도 하며 데이터 전송 도중 오류가 발생하는지 확인하는 용도로 사용됨
그리고 데이터에 이더넷 헤더와 트레일러가 추가된 것을 프레임이라고 한다.
전체 과정
컴퓨터 a에서 컴퓨터 b로 데이터를 전송할 때, a는 데이터에 이더넷 헤더와 트레일러를 붙여 프레임으로 만든다음 물리계층에서 이를 전기신호로 변환하여 네트워크를 통해 전송하게 됨(캡슐화). 이때 허브는 받은 데이터를 연결된 모든 포트에 전송하는데 각 포트에 연결된 컴퓨터들은 mac 주소를 확인하여 자신의 주소가 아니라면 데이터를 파기한다. 이러한 과정에 의해 목적지에 맞는 컴퓨터만 데이터를 수신함(역캡슐화)
<스위치>
데이터링크 계층에서 동작하며 레이어 2 스위치, 스위칭 허브라고도 불림.
스위치 내부엔 MAC 주소 테이블(MAC address table)이 존재. 스위치의 포트번호와 해당 포트에 연결된 컴퓨터의 MAC주소가 등록되는 일종의 데이터베이스이다.
컴퓨터에서 프레임 데이터가 전송되면 스위치는 테이블을 확인하고 출발지 MAC 주소가 등록되있지 않다면 MAC 주소를 포트와 함께 등록한다. 이를 MAC 주소 학습 기능이라 부른다.
목적지 MAC 주소가 테이블에 등록되있지 않다면 프레임을 연결된 포트 모두에 전송하는데 이를 플러딩(flooding, 홍수)라고 부름. 등록이 되어있다면 목적지 컴퓨터에만 데이터가 전송됨. 이를 MAC 주소 필터링이라고 한다.
전이중 통신 - 데이터의 송수신을 동시에 통신
반이중 통신 - 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식 -> 충돌 발생 가능성
허브는 반이중인 반면 스위치는 전이중이라 충돌이 일어나지 않는다.
<충돌 도메인이란?>
충돌이 발생할때 영향이 미치는 범위. 허브는 연결되있는 컴퓨터 전체가 하나의 충돌 도메인이 됨. 반면 스위치는 전이중 통신 방식이라 충돌 도메인 범위가 작다. 네트워크 지연을 막기 위해선 이 영역을 줄이는 것이 중요.
<ARP>
Adress Resolution Protocol, 주소 변환 프로토콜 - 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당.
IP 주소를 물리주소인 MAC 주소로 변환하는데 사용됨.
ARP cache : 가장 최근 변환한 IP 대 하드웨어 주소를 보관하고 있는 램의 한 영역
ARP request: IP 주소를 대치할 수 있는 물리주소인 MAC주소를 찾아내기 위해 보내는 브로트캐스트 패킷요청.
ARP reply: 요청에 대한 응답으로 MAC 주소가 실려있음
댓글