이더넷이란?
윈도우를 사용해보셨다면, 인터넷 연결 확인을 위해 한번쯤은 봤을 법한 화면입니다.
위에서 말하는 이더넷이란 무엇일까요?
일단 데이터 링크 계층의 중요한 역할은 네트워크 장비간에 신뢰를 주고 받는 규칙을 정하는 역할을 합니다. 랜에서 데이터를 정상적으로 받기위해 필요한 계층인데요. 데이터를 주고 받기위해 정해진 규칙들 중 현재는 이더넷
이라는 방식을 채택해서 사용중입니다.
그럼 우리는 이제 이더넷이 데이터를 주고 받기 위한 규칙이라고 이해할 수 있겠네요!
왜 이런 규칙들이 만들어졌을까요? 아래와 같은 상황을 살펴봅시다!
위와 같이 동시에 데이터를 송신한다면 어떻게 될까요?
네! 바로 데이터 간 충돌이 일어나게 됩니다. 이러한 현상을 이더넷은 어떻게 해결했을까요?
CSMA/CD
반송파 감지 다중 접속 및 충돌 탐지(Carrier Sense Multiple Access Collision Detection)의 약자인데요 너무 길죠.. 간단하게 설명하자면,
- CSMA/CD
- CS: 데이터를 보내려는 컴퓨터의 케이블에 신호가 흐르고 있는지 확인!
- MA: 케이블에 데이터가 흐르지 않다면 보내도 좋다!
- CD: 충돌이 발생하고 있는지를 확인한다!
이러한 규칙을 통해서 데이터를 주고 받으면 데이터가 충돌하는 것을 방지합니다.
위 규칙을 자세히 살펴보면 케이블에 이미 데이터가 송신되고 있다면, 다른 데이터를 보내기 위해서는 대기를 해야해요. 이러한 효율성 때문에 현재로선 CSMA/CD를 거의 사용하지 않습니다. 더 좋은 대안으로는 스위치(Switch)가 있습니다.(마지막에 배울거에요!)
MAC 주소
맥 주소란 아래와 같이 생겼습니다. (총 48비트)
AE:01:3D:9A:7B:C3
|______| |______|
랜카드 제조사가 붙인 일련번호
제조사 번호
맥주소는 중복될 가능성이 엄청나게 희박하기 때문에 전 세계에서 유일한 번호라고 합니다.
OSI 7계층의 데이터링크(TCP/IP 모델에서는 네트워크 계층에 해당) 계층을 거치게 되면, 이더넷 프레임
이라는 것이 됩니다. 이더넷 프레임은 이더넷 헤더
+ 데이터
+ 트레일러
붙이게 됩니다.
이더넷 헤더
목적지 MAC 주소, 출발지 MAC 주소, 유형 이렇게 3가지 정보가 포함되어 있습니다.
- 유형: 상위 계층 프로토콜의 종류를 말합니다.
- ex) 유형번호:
0800
→ 프로토콜:IPv4
- 즉, 프로토콜 종류를 식별하는 번호
- ex) 유형번호:
- 어디서 보냈고 어디로 보내는지에 대한 정보(목적지, 출발지 MAC 주소)를 의미합니다.
트레일러
FCS(Frame Check Sequence)라고도 하는데, 데이터 전송도중에 오류가 발생했는지 확인하는 용도로 사용됩니다.
허브의 단점을 보완 할 스위치!
아까 CSMA/CD 방식의 대안으로 스위치가 있다고 말씀드렸었죠? 그 스위치가 무엇인지 알아봅시다!
스위치는 데이터 링크 계층에서 동작합니다. L2 스위치 또는 스위칭 허브라고도 부릅니다. 스위치와 허브의 가장 큰 차이점은 특정 컴퓨터로 데이터를 송신할 수 있는지에 차이입니다.
허브는 모든 컴퓨터로 송신하지만, 스위치는 특정 컴퓨터에게만 데이터를 보낼 수 있습니다. 어떻게 이게 가능할까요?
MAC 주소 테이블
스위치는 MAC 주소 테이블을 가지고 있습니다. 다음과 같은 과정을 통해 MAC 주소 테이블을 활용합니다.
- 데이터를 송신할 때 이더넷 헤더를 열어본 뒤 목적지 MAC 주소과 일치하는지 테이블을 조회합니다.
- 만약 일치하는 MAC 주소가 없다면, 모든 포트로 플러딩이라는 작업을 통해 목적지 MAC 주소와 일치하는 포트에서 응답이 오면 해당 포트번호와 MAC 주소를 테이블에 저장시킵니다.
- MAC 주소 테이블의 목적지 MAC 주소와 일치하는 포트번호를 찾았다면 해당 포트로 데이터를 송신합니다. (MAC 주소 필터링)
이전에 배웠던 허브는 모든 포트로 데이터를 송신하는 불필요한 작업과 보안에 위험이 있었는데, 이번에 배운 스위치를 통해 특정 포트에게만 보낼 수 있게 되었습니다.
만약 인터넷으로 나갔을 때는 목적지를 어떻게 찾아갈까요? MAC 주소만으로 찾아갈 수 있을까요? 어떻게 하면 우리가 외부 PC로 찾아 갈 수 있는지, 이를 담당하는 네트워크 계층을 다음 시간에 배워보도록 하겠습니다!
[목차] 네트워크 기초 시리즈 (앞으로 쭉 포스팅할 예정!)
- 네트워크를 들어가기 앞서 (OSI 7 Layer, TCP/IP 5 Layer, 캡슐화란?)
- 물리 계층에서는 어떤 일을 할까? (TCP/IP 1 Layer)
- 데이터 링크 계층에서는 어떤 일을 할까? (TCP/IP 2 Layer)
- 네트워크 계층에서는 어떤 일을 할까? (TCP/IP 3 Layer)
- 전송 계층에서는 어떤 일을 할까? (TCP/IP 4 Layer)
- 응용 계층에서는 어떤 일을 할까? (TCP/IP 5 Layer
글 읽어주셔서 감사합니다.