모두의 네트워크 정리 - 데이터 링크 계층

mainsain·2022년 3월 7일
0

CS

목록 보기
8/20

데이터 링크 계층의 역할과 이더넷

랜에서는 데이터를 주고받는 규칙으로 이더넷을 사용한다.
이번엔 이더넷에 대해 알아보자.


이더넷이란?

이번엔 데이터 링크 계층의 역할과 이더넷에 대해 알아볼 것.

데이터 링크 계층은 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 데이터를 정상적으로 주고받기 위해 필요한 계층이다.
그 규칙들 중 일반적으로 가장 많이 사용되는 규칙이 이더넷이다.

이더넷은 랜에서 적용되는 규칙
또한 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고 받을 때 사용한다.

허브를 같이 사용하는 랜 환경에선 특정한 컴퓨터 한 대에 데이터를 보내려고 해도 다른 모든 컴퓨터에 전기 신호가 전달되는데 (더미 허브), 데이터의 내용을 못보게 하는 확실한 규칙이 정해져 있다.

그 규칙에 따라 데이터에 목적지 정보를 추가해서 보내고 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 되어있다.

또한 허브는 들어온 데이터를 그대로 모든 포트에 보내므로 더미 허브라고 불린다고 했다. 그래서 컴퓨터 여러 대가 동시에 데이터를 보내면 데이터들이 서로 부딪힐 수도 있다. 이것은 충돌이라고 한다.
그래서 이더넷여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어있다.

예를 들어 그림과 같이 데이터가 동시에 케이블을 지나가면 충돌할 수밖에 없는데, 그래서 데이터를 보내는 시점을 늦춘다.

이처럼 이더넷에서 시점을 늦추는 방법을 CSMA/CD라고 한다.

CS

데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다

MA

케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다

CD

충돌이 발생하고 있는지를 확인한다

이러한 규칙들 덕분에 충돌이 일어나지 않는다.
하지만 지금은 효율이 좋지 않다는 이유로 잘 안쓰이고, 곧 배울 스위치라는 네트워크 장비를 사용한다.


정리

  • 이더넷은 랜에서 데이터를 정상으로 주고받기 위한 규칙이다.
  • 이더넷은 데이터 충돌을 막기 위한 규칙으로 CSMA/CD 방식을 사용한다.
  • CSMA/CD 에서 CS는 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 확인하는 규칙, MA는 케이블에 데이터가 흐르고 있지 않으면 데이터를 보내도 된다는 규칙, CD는 충돌이 발생하고 있는지 확인하는 규칙이다.

MAC 주소의 구조

랜 카드를 제조할 때 정해지는 물리적인 주소에 대해서 알아보자.


MAC 주소란?

랜 카드는 비트열(0과 1)을 전기 신호로 변환한다고 했는데, 이러한 랜 카드에는 MAC 주소라는 번호가 정해져 있다.

MAC 주소는 48비트 숫자로 구성되있고, 앞쪽 24비트는 랜카드를 만든 제조사 번호 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호다.

제조할 때 새겨지기에 물리 주소라고도 부르는데 전 세계에서 유일한 번호로 할당되어 있다.

(그렇지만 종종 MAC 주소 충돌 문제가 발생한다. 실제로 과거에는 제조사에서 MAC 주소 충돌에 대한 문제를 심각하게 생각하지 않아서 충돌 문제가 발생했다.)

MAC 주소를 사용한 통신

OSI 모델이나 TCP/IP 모델을 생각하면, 각 계층에서 헤더를 붙였었다.
OSI 는 데이터 링크 계층
TCP/IP 는 네트워크 계층에 해당되는데, 이 계층에서 이더넷 헤더트레일러를 붙인다.

유형 번호를 기억할 필요는 없지만 유형에 프로토콜 종류를 식별하는 번호가 들어간다는 내용 정도는 기억하자.

이더넷 헤더 외에 데이터 뒤에 추가하는 것을 트레일러라고 했었는데, 이것은 FCS (Frame Check Sequence)라고도 한다. 데이터 전송 도중에 오류가 발생하는지 확인하는 용도.

이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 한다.

컴퓨터 1에서 컴퓨터 3으로 데이터를 전송시켜 보자.

컴퓨터 1은 이더넷 헤더에 데이터의 목적지인 컴퓨터 3의 MAC 주소(목적지 MAC 주소)와 자신의 MAC 주소(출발지 MAC 주소)정보를 넣고 데이터를 전송한다.

보내는 측의 컴퓨터 1에서 캡슐화가 일어난다.
데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 프레임을 만들고, 물리 계층에서 이 프레임 비트열을 전기 신호로 변환하여 네트워크를 통해 전송하는 것.

허브는 컴퓨터 1이 보낸 데이터를 (1)포트로 수신하고 (2) ~ (5)의 모든 포트로 전송한다.
그러면 데이터는 컴퓨터 2 ~ 5에 전송되지만, 컴퓨터 2, 4, 5는 목적지 MAC 주소가 자신의 MAC 주소와 다르기 때문에 데이터를 파기한다.
반면 컴퓨터 3은 자신의 MAC 주소가 컴퓨터 1이 보낸 데이터의 목적지 MAC 주소와 같으므로 데이터를 수신한다.

당연하게 컴퓨터 3에서는 물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환하고 데이터 링크 계층에서 이더넷 헤더와 트레일러를 분리한다. (역캡슐화를 한 다음에 데이터를 수신)


정리

  • MAC 주소는 48비트 숫자로 구성되어 있다. 그중 앞쪽 24비트는 랜 카드를 만든 제조사 번호고 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호다.
  • 이더넷 헤더는 목적지 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형 (2바이트)으로 총 14바이트로 구성된다.
  • 데이터 링크 계층에서 데이터 뒤에 추가하는 것을 트레일러라고 한다.

스위치의 구조

스위치는 허브와 달리 데이터 충돌이 발생하지 않는다. 네트워크 구성에서 빠질 수 없는 스위치에 대해 알아보자.


MAC 주소 테이블이란?

스위치는 데이터 링크 계층에서 동작하고 레이어 2 스위치 또는 스위칭 허브라고도 불린다. 장비 외형은 허브와 비슷하다.

스위치의 특징
스위치 내부에는 MAC 주소 테이블(=브릿지 테이블 bridge table)이라는 것이 있다. MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스다.

스위치의 전원을 켠 상태에서는 아직 MAC 주소 테이블에 아무것도 등록되어 있지 않는데,

컴퓨터에서 목적지 MAC 주소가 추가된 프레임이라는 데이터가 전송되면 그림과 같이 MAC 주소 테이블을 확인하고 출발지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록한다. 이를 MAC 주소 학습 기능이라고 한다.
이는 허브(더미 허브)에는 없는 기능이다.

하지만 컴퓨터 1에서 컴퓨터 3에 데이터를 전송한 시점에서는 아직 컴퓨터 3의 목적지 MAC 주소가 MAC 주소 테이블에 등록되어 있지 않아 그림과 같이 송신 포트 (1) 이외의 포트인 (2) ~ (5)에 데이터(프레임)가 전송되는데 이러한 데이터(프레임) 전송을 플러딩(flooding, 홍수)이라고 부른다.

Q. MAC 주소 테이블에 목적지 MAC 주소가 등록되어 있었다면?

그림과 같이 MAC 주소 테이블에 컴퓨터 3의 MAC 주소가 등록되어 있다고 가정,
그러면 컴퓨터 2, 4, 5에는 데이터가 전송되지 않고 컴퓨터 3에만 데이터가 전송된다.

MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라고 한다. 이것으로 불필요한 데이터를 네트워크에 전송하지 않게 한다.

Q. 그럼 이 상태에서 컴퓨터 1이 컴퓨터 2에 데이터를 보내면?

A. 컴퓨터 2의 MAC 주소가 등록되어 있지 않아 플러딩이 일어난다. 그러므로 데이터가 다시 컴퓨터 2 ~ 5에 보내진다.


정리

  • 스위치는 데이터 링크 계층(OSI 모델), 네트워크 인터페이스 계층(TCP/IP 모델)에서 동작하며, 레이어 2 스위치 또는 스위칭 허브라고도 부른다.

  • 스위치에는 MAC 주소 테이블이 있다.

  • MAC 주소 테이블은 스위치의 포트 번호와 그 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스다.

  • 스위치가 수신 포트 이외의 모든 포트에서 데이터를 송신하는 것을 플러딩이라고 한다.

  • 스위치에서 MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라고 한다.


데이터가 케이블에서 충돌하지 않는 구조

케이블에 데이터가 아무리 많이 전송되어도 데이터가 충돌하지 않는 구조에 대해 설명한다.


전이중 통신과 반이중 통신

통신 방식에는 전이중 통신 방식과 반이중 통신 방식이 있다.
전이중 통신 방식은 데이터의 송수신을 동시에 통신하는 방식(데이터를 동시에 전송해도 충돌이 발생하지 않는다.)이고, 반이중 통신 방식은 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식(데이터를 동시에 전송하면 충돌이 발생한다.)이다.


컴퓨터 1과 컴퓨터 2를 직접 랜 케이블로 연결한다면 여덟 개, 즉 선을 네 쌍 사용하기에 전이증 통신 방식이 된다.


반면 허브 내부에는 송수신이 나누어져 있지 않기에 컴퓨터 1과 컴퓨터 2를 허브(더미 허브)로 연결하면 동시에 데이터를 보낼 때 충돌이 일어난다.
이처럼 허브를 사용하면 회선 하나를 송신과 수신이 번갈아가면서 사용하는 반이중 통신 방식을 사용하게 된다.

Q. 허브가 아닌 스위치라면?

A. 스위치는 그림과 같이 충돌이 일어나지 않는 구조로 되어 있기에 전이중 통신 방식으로도 데이터를 주고받을 수 있다.
따라서 최근에는 네트워크로 스위치를 사용하는 것이 표준이다.


충돌 도메인이란?

허브는 반이중 통신 방식으로 동시에 데이터를 전송하면 충돌이 일어난다고 설명했는데, 충돌이 발생할 때 그 영향이 미치는 범위를 충돌 도메인(collision domain)이라고 한다.

그림과 같이 허브는 연결되어 있는 컴퓨터 전체가 하나의 충돌 도메인이 된다.
허브는 충돌의 영향이 모든 컴퓨터에 미친다는 뜻.

그림과 같이 스위치는 데이터를 동시에 송수신할 수 있는 전이중 통신 방식이기에 충돌이 일어나지 않고 충돌 도메인의 범위도 좁다.

충돌 도메인의 범위가 넓을수록 네트워크가 지연되는데, 이 관점에서 보더라도 스위치를 사용하는게 통신 효율이 높아진다는 걸 알 수 있다.


정리

  • 전이중 통신 방식이란 데이터의 송신과 수신을 동시에 수행하는 통신 방식이다.
  • 반이중 통신 방식은 회선 한 개로 송신과 수신을 번갈아가며 수행하는 통신 방식이다.
  • 데이터 충돌이 발생하고 그 충돌 영향이 미치는 범위를 충돌 도메인이라고 한다.

이더넷의 종류와 특징

이더넷의 종류와 규격 이름의 뜻을 설명한다.


이더넷 규격

이더넷은 케이블 종류나 통신 속도에 따라 다양한 규격으로 분류된다.

Q. BASE는 무슨 뜻?

A. 10BASE-T를 대표로 설명을 하자면

10 -> Mbps 단위인 통신 속도로 10Mbps라는 뜻
BASE -> BASEBAND라는 전송 방식을 나타냄.
T -> 케이블 종류를 나타냄.

하이픈(-) 뒤에는 케이블의 최대 길이나 케이블 종류를 나타내고, 동축케이블은 케이블의 최대 길이를 100미터 단위로 표시힌다. 10BASE-5는 케이블의 최대 길이가 500미터 이므로 5이다.
UTP 케이블은 케이블 종류를 표시하는데, 10BASE-T는 UTP 케이블을 말하는 것.


정리

  • 주요 이더넷 규격에는 10BASE5, 10BASE2, 10BASE-T, 100BASE-TX, 1000BASE-T, 10GBASE-T가 있다.

보강

ARP

ARP(Address Resolution Protocol)는 목적지 컴퓨터의 IP 주소를 이용하여 MAC 주소를 찾기 위한 프로토콜이다. 이더넷 프레임을 전송하려면 목적지 컴퓨터의 MAC 주소를 알아야 하는데 출발지 컴퓨터가 목적지 MAC 주소를 알아내기 위해 네트워크에 브로드캐스트하는데 이것을 ARP 요청(ARP Request)라고 한다.

여기서 브로드캐스트(Broadcast)는 출발지 컴퓨터에 연결된 모든 컴퓨터에 요청을 보내는 방식을 말한다. 이 요청에 대해 지정된 IP 주소를 가지고 있지 않은 컴퓨터는 응답하지 않고 지정된 IP 주소를 가지고 있는 컴퓨터는 MAC 주소를 응답으로 보낸다. 이것을 ARP 응답(ARP Response)라고 한다. 이 때에는 유니캐스트를 사용한다. 유니캐스트(Unicast)는 자신의 MAC 주소와 목적지의 MAC 주소를 첨부하여 전송하는 방식을 말한다.

ARP 응답으로 출발지 컴퓨터는 MAC 주소를 얻게 되고 이더넷 프레임을 만들 수 있게 된다. 또한, 출발지 컴퓨터는 MAC 주소와 IP 주소의 매칭 정보를 메모리에 보관하는데 이를 ARP 테이블(ARP Table)이라고 한다. 이후 데이터 통신은 자신의 컴퓨터에 보관된 ARP 테이블을 참고하여 전송한다.

하지만 IP 주소가 변경되면 해당 MAC 주소도 함께 변경되므로 제대로 통신할 수 없다. 따라서 ARP 테이블에서는 보존 기간을 ARP 캐시로 지정하고 일정 기간이 지나면 삭제하고 다시 ARP 요청을 한다.

윈도우에서 ARP 캐시의 내용을 확인하려면 cmd 창에서 arp -a 명령어를 사용하면 되고 ARP 캐시를 강제로 삭제하려면 arp -d 명령어를 사용하면 된다.

정리

  • ARP: 네트워크 계층 주소와 데이터 링크 계층 주소 사이의 변환을 담당하는 프로토콜이며 IP 주소를 물리 주소인 MAC 주소로 변환하는데 사용한다.

  • ARP 캐시: 가장 최근에 변환한 IP와 하드웨어 주소(MAC 주소)를 매핑하려 보관하고 있는 램의 한 영역이다.

  • ARP 요청: IP 주소를 대치할 수 있는 물리 주인 MAC 주소를 찾아내기 위해 보내는 브로드캐스트 패킷 요청이다.

  • ARP 응답: ARP 요청에 대한 응답으로 요청한 IP 주소에 대한 물리 주소인 MAC 주소가 실려 있는 유니캐스트 패킷 응답이다.


용어 정리

데이터 링크 계층(data link layer) : 네트워크 기기 간에 데이터를 전송하고 물리 주소를 결정한다.

이더넷(Ethernet) : 컴퓨터 네트워크 기술 중 하나로 전 세계의 사무실이나 가정에서 일반적으로 사용되는 랜에서 가장 많이 활용되는 기술 규격이다.

충돌(collision) : 데이터를 한 번에 하나만 전송 할 수있는 채널에 전송 장치 두 개가 같은 시점에 패킷을 보낼 때 일어나는 데이터 충돌을 말한다.

MAC 주소(Medium Access Control address) : 랜에 사용되는 네트워크 모델인 이더넷의 물리적인 주소로 컴퓨터 네트워크에서 각각의 기기를 구분하기 위해 사용하는 주소다.

스위치(switch, 스위칭 허브) : 랜을 구성할 때 사용하는 단말기 간 스위칭 기능이 있는 통신망 중계 장치다. 컴퓨터(호스트)에서 특정한 다른 다른 단말기로 패킷을 보낼 수 있는 기능이 있어 통신 효율이 향상된다.

전이중 통신 방식(full-duplex communication) : 전화 회선과 같이 송신과 수신이 양쪽에서 동시에 이루어지는 양방향 통신이다. 서로 다른 회선이나 주파수를 이용하여 데이터 신호가 충돌되는 상황을 방지한다. 스위칭 허브를 사용하면 랜 카드와 허브 간의 동시 송수신이 가능해진다.

ARP(Address Resolution Protocol, 주소 변환 프로토콜) : 네트워크 계층 주소와 데이터 링크 계층 주소사이의 변환을 담당하는 프로토콜이다. IP 주소를 물리 주소인 MAC 주소로 변환하는 데 사용한다.

ARP 캐시(ARP cache) : 가장 최근에 변환한 'IP 대 하드웨어 주소'를 보관하고 있는 램(RAM)의 한 영역이다.

ARP 요청(ARP request) : IP 주소를 대치할 수 있는 물리 주소인 MAC 주소를 찾아내기 위해 보내는 브로트캐스트 패킷 요청이다.

ARP 응답(ARP reply) : ARP 요청(request)에 대한 응답으로 요청한 IP 주소에 대한 물리 주소인 MAC 주소가 실려있다.


출처
https://velog.io/@minseojo/%EB%AA%A8%EB%91%90%EC%9D%98-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%A0%95%EB%A6%AC-4

profile
새로운 자극을 주세요.

0개의 댓글