떠도는..개발자 취준생

네트워크 구조 : 데이터 링크 계층 - 이더넷,MAC주소 본문

네트워크

네트워크 구조 : 데이터 링크 계층 - 이더넷,MAC주소

iamjaewhan 2021. 9. 14. 20:54

이더넷

데이터 링크 계층은 같은 네트워크에 있는 여러대의 컴퓨터에게 데이터를 알맞게 주고 받기 위한 모듈이다. 즉 랜에서 데이터를 정상적으로 주고 받기 위해서 필요한 계층으로 네트워크 장비 간에 신호를 주고받는 규칙을 정하게 되는데, 가장 많이 사용되는 규칙이 이더넷이다.

충돌

위와 같이 5대의 컴퓨터가 연결된 네트워크가 존재한다. 컴퓨터 2가 케이블을 통해 데이터를 전송하게되면, 데이터는 해당 허브에 연결된 모든 컴퓨터, 즉 네트워크 내의 모든 컴퓨터에 데이터를 전송하게 된다. 그러나 만약 여러대의 컴퓨터에서 동시에 데이터를 전송하게 되면 케이블 내에서 데이터들이 충돌하여 데이터가 올바르게 전송되지 않는다. 이처럼 동시에 전송된 데이터가 부딪히는 것을 충돌이라고 한다.

CSMA/CD

충돌이 발생하면 데이터가 올바르기 전송되지 않기 때문에 충돌이 발생하지 않도록 데이터를 보내는 시점을 서로 다르게 만들어야한다. 이처럼 이더넷에서 데이터 전송 시점을 늦추는 방법을 CSMA/CD 라고한다.

CS - 데이터를 보내려고 하는 컴퓨터가 전송할 케이블에 신호가 흐르는지 아닌지 확인

MA - 케이블에 데이터가 흐르지 않고 있다면 데이터를 보내기

CD - 충돌이 발생하고 있는지 확인

이렇게 CSMA/CD 규칙을 통해 데이터가 흐르지 않는 시점에 데이터를 전송하게 되고, 충돌이 발생하는지 확인하는 과정을 통해 데이터가 충돌없이 전송되도록 한다. 하지만 현재는 이러한 CSMA/CD 방식은 거의 사용되지 않는다.

MAC 주소

1계층인 물리 계층에서 데이터는 전기 신호로 바뀌어 전송된다고 했다. 이러한 변환은 랜카드라는 하드웨어에서 이루어지며, 모든 랜카드에는 MAC 주소라는 번호가 정해져있다. MAC 주소는 랜카드가 제조될 때 새겨지며 전 세계에서 유일한 번호로 할당된다.

MAC 주소는 16진법의 숫자 12개로 이루어져 각 숫자당 4비트, 총 48 비트 숫자로 이루어져 있다. 앞의 숫자 6개 24비트는 랜 캐드를 만든 제조사 번호이고, 뒤의 숫자 6개 24비트는 제조사가 랜케드에 붙인 일련번호이다.

이더넷헤더 , 트레일러

데이터 링크 계층에서 추가되는 헤더는 데이터를 수신하는 목적지 컴퓨터의 MAC 주소(6바이트), 출발지 컴퓨터의 MAC 주소(6바이트) 그리고 유형(2바이트)로 구성되어있다. 유형은 이터넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다. 프로토콜 유형은 16진수 숫자 4개로 나타내어 총 2바이트로 구성되며, 이 번호로 프로토콜을 구분하게 된다.

트레일러는 헤더가 추가된 데이터의 끝부분에 추가되는 필드이다. 이러한 부분을 FCS(Frame Check Sequence)라고 수신측에서 데이터를 전송하는 과정에서 오류가 발생하였는지 확인할 때 사용된다. 수신자 컴퓨터는 자신이 가지고있는 FCS와 전송되어온 데이터의 FCS를 비교하며 에러 발생 여부를 확인하고, 확인시에는 수신한 데이터를 폐깋고 재전송을 요구하게 된다.

데이터 링크 계층에서는 이와 같이 상위 계층으로부터 전달받은 데이터에 헤더와 트레일러를 붙여 하위 계층으로 넘겨주게 된다. 이처럼 데이터의 앞, 뒤에 헤더, 트레일러가 삽입된 형태를 프레임(Frame)이라고 부르며 프레임을 만드는 것을 프레이밍(Framing)이라고 한다. 이와 같은 프레임은 전송된 데이터를 다른 데이터들과 구분하는 역할도 하게된다.