모두의 네트워크 정리 (4)

조민서·2021년 9월 29일
12

네트워크

목록 보기
5/7
post-thumbnail

🌏 4장 데이터 링크 계층 : 랜에서 데이터 전송하기


OSI 모델의 2계층인 데이터 링크 계층에 대해서 알아보자.

🚩 이 장의 목표

  • 이더넷을 이해한다.
  • CSMA/CD방식을 이해한다.
  • MAC 주소를 이해한다.
  • 스위치를 이해한다.
  • 충돌 도메인을 이해한다.
  • 이더넷 표준을 이해한다.

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

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


1. 이더넷이란?

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

이더넷은 랜에서 적용되는 규칙.

예를 들어 허브의 특징은 허브 포트에 컴퓨터 A, B, C, D, E가 연결되어 있을 때 컴퓨터 A가 컴퓨터 C에게 데이터를 전송하면 컴퓨터 B, C, D, E 모두에게 데이터가 전송된다. 하지만 컴퓨터 B, D, E 에는 불필요한 데이터 이다. 이런 경우를 위해 데이터의 내용을 못보게 하는 규칙이 정해져있다.

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

🍕 여러 컴퓨터가 충돌이 일어나지 않는 구조에 대해 알아보자.

예를 들어 컴퓨터 B와 컴퓨터 C가 동시에 컴퓨터 A에게 데이터를 보내려고 한다. 데이터를 동시에 보내면 충돌이 일어난다. 그래서 이더넷에서 보내는 시점을 늦추는 CSMA/CD방법을 이용한다.

CSMA/CD란 Carrier Sense Multiple Access with Collision Detection의 약어로 반송파 감지 다중 접속 및 충돌 탐지라는 뜻을 가지는데 용어가 너무 어렵다.

우선 CSMA/CD에서 CS는 '데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다.'는 규칙이다. 그리고 MA는 '케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다'라는 규칙이다. 마지막으로 CD는 '충돌이 발생하고 있는지를 확인한다'는 규칙이다. 이러한 규칙으로 데이터를 주고받으면 충돌이 일어나지 않는다.

하지만 지금은 효율이 좋지 않다는 이유로 CSMA/CD는 거의 사용하지않고 스위치(switch)라는 네트워크 장비를 사용하여 충돌을 막는다.


2. Lesson 12 정리

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

LESSON 13. MAC 주소의 구조

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


1. MAC 주소란?

랜 카드는 비트열(0과 1)을 전기 신호로 변환한다고 했다. 이런 랜카드에는 MAC 주소라는 번호가 정해져 있다. MAC 주소는 Media Access Control Address(물리주소)의 약어다.

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

MAC 주소는 제조할 때 전 세계에서 유일한 번호로 할당하려고 노력하지만 종종 MAC 주소 충돌 문제가 발생한다. 실제로 과거에는 제조사에서 MAC 주소 충돌에 대한 문제를 심각하게 생각하지 않아서 충돌 문제가 발생했다.
참고

🍔 MAC 주소를 사용한 통신에 대해 알아보자.

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

이더넷 헤더는 목적지의 MAC주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트) 총 14바이트로 구성되있다.

목적지 MAC 주소 (6바이트)출발지 MAC 주소 (6바이트)유형 (2바이트)

이더넷 유형(Ethernet type)은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다.

유형 번호프로토콜
0800IPv4
0806ARP
8035RARP
814CSNMP over Ethernet
86DDIPv6

이더넷 유형에 프로토콜 종류를 식별하는 번호가 들어간다는 내용 정도는 기억해두자.

OSI의 데이터 링크 계층(TCP/IP의 네트워크 인터페이스 계층)에서 데이터 앞에 이더넷 헤더 뿐만 아니라 데이터뒤에 트레일러도 추가 한다고 했다. 이것은 FCS(Frame Check Sequence라고도 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용한다.

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


2. Lesson 13 정리

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

  • 이더넷 헤더는 목적지 MAC 주소 (6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트)으로 총 14바이트로 구성된다.

  • 데이터 링크 계층(OSI 모델), 네트워크 인터페이스 계층(TCP/IP 모델) 에서 데이터 앞에 추가하는 것을 이더넷 헤더라고 하고 데이터 뒤에 추가하는 것을 트레일러라고 한다.


LESSON 14. 스위치의 구조

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


1. MAC주소 테이블이란?

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

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

스위치의 전원을 켰을때 MAC 주소 테이블에는 아무것도 등록되어 있지 않다. 하지만 컴퓨터 에서 목적지 MAC 주소가 추가된 프레임이 전송되면 MAC 주소 테이블을 확인하고 출발지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록한다. 이를 MAC 주소 학습 기능이라고 한다. 이는 더미 허브에는 없는 기능이다.

🍅 예를 들어 스위치에 컴퓨터 A, B, C, D, E가 연결 되있다고 하자.
나는 스위치를 처음키고 컴퓨터 A에서 컴퓨터 D로 데이터를 전송하고 싶다. 근데 컴퓨터 D의 목적지 MAC 주소가 MAC 주소 테이블에 등록되어 있지않아서 컴퓨터 D뿐 만 아니라 컴퓨터 B, C, D, E 모두에게 데이터(프레임)을 전송하는데, 이 전송을 플러딩(flooding, 홍수)라고 한다.
이 플러딩을 거치고 데이터가 컴퓨터 D에 도착하면 목적지 MAC 주소를 확인하여 MAC 주소 테이블에 컴퓨터 D 의 MAC 주소를 등록한다.

만약 컴퓨터 A가 또 컴퓨터 D에게 데이터를 전송한다면 MAC 주소 테이블에 컴퓨터 D의 MAC 주소가 등록되어 있으므로 플러딩 과정 없이 바로 컴퓨터 D에게만 데이터가 전송된다. 이것을 MAC 주소 필터링이라고 한다.


2. Lesson 14 정리

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

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

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

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

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


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

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


1. 전이중 통신과 반이중 통신

전이중 통신 방식은 데이터의 송수신을 동시에 통신하는 방식이고, 반이중 통신 방식은 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식이다.

전이중 통신 방식은 데이터를 동시에 전송해도 충돌이 발생하지 않지만, 반이중 통신 방식은 데이터를 동시에 전송하면 충돌이 발생한다.


컴퓨터를 두 대를 랜 케이블을 직접 연결한 경우


위 사진은 직접 랜 케이블을 연결하여 네 쌍을 사용한 전이중 통신 방식이다. 컴퓨터 A와 컴퓨터 B는 송신과 수신 부분이 나뉘어 있기 때문에 충돌이 일어나지 않는다.


컴퓨터 두 대를 허브에 연결한 경우


위 사진은 허브를 사용하여 회선 하나에 송신과 수신이 번갈아가면서 사용하는 반이중 통신 방식이다. 이때 만약 송신과 수신을 동시에 하면 충돌이 일어나기 때문에 송신과 수신을 번갈아 해야한다. 그래서 효율이 낮다.


컴퓨터 두 대를 스위치에 연결한 경우

위 사진은 스위치의 구조로 송신과 수신이 구분되어 있기 때문에 동시에 송신과 수신이 가능한 전이중 통신 방식이다. 그래서 효율이 매우 높다. 그래서 최근에는 네트워크로 스위치를 사용하는것이 표준이다.


2. 충돌 도메인이란?

허브는 반이중 통신 방식으로 동시에 데이터를 전송하면 충돌이 일어난다고 했다. 이 충돌이 발생할 때 그 영향이 미치는 범위를 충돌 도메인(collsion domain)이라고 한다. 이 충돌 도메인이 넓을수록 네트워크가 지연된다.

허브로 연결된 경우는 반이중 통신 방식이기 때문에 충돌이 일어난다. 그리고 허브는 한 포트에 영향이 가면 모든 포트에 영향을 끼친다. 그래서 위 사진처럼 모든 포트의 컴퓨터가 충돌 도메인이 된다.

스위치로 연결된 경우는 전이중 통신 방식이기 때문에 충돌 자체가 일어나지 않고 충돌 도메인은 각각의 포트별로 분리된다.


3. Lesson 15 정리

  • 전이중 통신 방식이란 데이터의 송신과 수신을 동시에 수행하는 통신 방식이다.

  • 반이중 통신 방식은 회선 한 개로 송신과 수신을 번갈아가며 수행하는 통신 방식이다.

  • 데이터 충돌이 발생하고 그 충돌 영향이 미치는 범위를 충돌 도메인이라고 한다.


Lesson 16. 이더넷의 종류와 특징

이더넷의 종류와 규격 이름의 뜻을 알아보자.


1. 이더넷 규격

다음 표에 이더넷의 대표적인 규격을 정리해뒀다.

규격 이름통신 속도케이블케이블 최대 길이표준화 연도
10BASE510Mbps동축케이블500m1982년
10BASE210Mbps동축케이블185m1988년
10BASE-T10MbpsUTP케이블(Cat3이상)100m1990년
100BASE5-TX100MbpsUTP케이블(Cat5이상)100m1995년
1000BASE-T1000MbpsUTP케이블(Cat5이상)100m1999년
10GBASE-T10GbpsUTP케이블(Cat6a이상)100m2006년

🍉 10BASE-T 의미를 파헤쳐 보자.

10: Mbps 단위인 통신 속도
BASE: BASEBAND라는 전송 방식
T: 케이블 종류

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


2. Lesson 16 정리

주요 이더넷 규격에는 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 주소가 실려있다.

profile
내 두뇌는 휘발성 메모리다. 😪

2개의 댓글

comment-user-thumbnail
2021년 9월 30일

좋은 글 감사합니다. 틀린 부분이 있어서 댓글 남깁니다.

제조할 때 전 세계에서 유일한 번호로 할당되있다.

과거(현재까지도 그런지는 잘 모르겠습니다.)에 실제로 제조사에서는 conflict에 대한 문제를 심각하게 생각하지 않아서 conflict이 발생합니다. 실제 사례도 검색하면 종종 보실 수 있을거예요.

그리고 MAC address를 변경할 수도 있으니, 벤더사가 잘 만들었더라도 conflict이 발생하는 경우가 있습니다.

참고

1개의 답글