##본 포스팅은 '모두의 네트워크(길벗)'을 공부하고 정리한 글입니다.
데이터 링크 계층의 역할과 이더넷
랜에서 데이터를 주고 받으려면, 아래에서 두번째 계층인 데이터 링크 계층의 기술이 필요하다.
**OSI에서는 데이터 링크 계층 / TCP/IP에서는 네트워크 계층
데이터 링크 계층의 역할
- 네트워크 장비 간에 신호를 주고 받는 규칙 - 이더넷을 정함
- 이더넷 : 랜에서 적용되는, 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고 받을 때 사용하는 규칙
**허브 : 약해지거나 파형이 뭉그러진 전기 신호를 복원시키고, 해당 전기 신호를 전달받은 포트를 제외한 나머지 포트에 전달
이 떄 대상이 아닌 컴퓨터로 보내지는 데이터의 내용을 못보게 하는 확실한 규칙이 저해져있는데,
그 규칙에 따라 보내려는 데이터에 목적지 정보를 추가해서 보내고 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 된다.
하지만, 허브는 받은 데이터를 그대로 다른 포트로 보내기에
컴퓨터 여러대가 동시에 데이터를 보내면 데이터들이 서로 부딪히는데, 이것을 충돌이라고 한다.
그래서 이더넷의 구조는 : 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조이다.
데이터를 동시에 보내지 않고, 보내는 시점을 늦추는 것인데 이를 CSMA/CD라고 한다.
<CSMA/CD>
- CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 확인
- MA : 케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다는 규칙
- CD : 충돌이 발생하고 있는지를 확인
현재는 효율이 좋아 CSMA/CD는 거의 사용하지 않는다.
스위치를 사용한다.
MAC 주소의 구조
랜카드에는 MAC 주소가 정해져있다.
<MAC 주소>
- 물리주소
- 제조할 때 새겨지는 번호로, 전 세계에서 유일한 번호로 할당
- 총 48비트 : 제조사 번호(24) + 제조사가 붙인 일련번호(24)
데이터링크 계층(네트워크 계층)에서 데이터에 이더넷 헤더와 트레일러를 붙인다.
<이더넷 헤더>
유형엔 이더넷으로 전송되는 상위 계층의 프로토콜의 종류를 식별하는 번호가 들어간다.
<트레일러>
FCS(Frame Check Sequence)라고도 하며, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용
프레임 = 데이터 + 이더넷 헤더 + 트레일러
보내는 측에서는 자신의 MAC 주소와 받는 측의 MAC 주소를 헤더에 넣어 프레임을 만들어 전송한다.
이 때 캡슐화가 일어나는 것이다.
데이터는 컴퓨터 2~5 모두에 전송되지만, MAC 주소가 다르면 파기되고 같으면 수신한다.
받는 측에서는 전송된 데이터를 비트열로 변환하고 데이터 링크계층에서 이더넷 헤더와 트레일러를 분리한다.
이 때 역캡슐화가 진행된다.
두개의 컴퓨터가 다른 컴퓨터에 동시에 데이터를 전송할 땐, 충돌 방지를 위해 CSMA/CD 방식이 사용된다.
스위치
데이터 링크 계층에서 동작하며 레이어 2 스위치, 또는 스위칭 허브라고 불린다.
- 내부에 MAC 주소 테이블이라는 것이 있다.
- MAC 주소 테이블 : 스위치의 포트번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스
- MAC 주소 학습 기능 : 스위치의 전원을 켠 상태에서는 테이블에 아무것도 등록되어있지 않지만, 컴퓨터에 목적지 MAC 주소가 추가된 프레임이 전송되면 테이블을 확인하고 등록되어있지 않으면 출발지 MAC 주소를 포트와 함께 등록
주소 테이블에 등록되어있지 않으면 모든 곳에 데이터가 전송되는데, 이를 '플러딩'이라고 한다.
등록되어있다면 MAC 주소를 기준으로 목적지를 선택하여, 목적지에만 데이터가 전송된다. 이를 'MAC 주소 필터링'이라 한다.
데이터가 케이블에서 충돌하지 않는 구조
<통신방식>
- 전이중 통신 방식
데이터 송수신을 동시에 하는 방식
반이중보다 더 좋은 방식
컴퓨터끼리 직접 랜 케이블을 연결한다면 선을 네 쌍 사용하게 되므로 전이중 통신 방식 - 반이중 통신 방식
회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식
허브가 사용하는 방식
허브를 사용하면 충돌이 생기면서 네트워크 지연이 발생하기 때문에 최근에는 네트워크로 스위치를 사용하는 것이 표준이다.
스위치가 더 효율이 좋다.
<충돌 도메인>
충돌이 발생할 때 그 영향이 미치는 범위를 의미한다.
허브의 경우, 충돌 도메인이 접속되어있는 모든 컴퓨터가 충돌 도메인
스위치의 경우, 충돌이 잘 일어나지 않고 충돌 범위도 매우 좁다.
충돌 도메인의 범위가 넓을 수록 네트워크가 지연된다.