본 글은 아래의 [변계사 Sam] 블로그에서 개인적인 공부의 목적으로 허가를 받고 발췌하였음을 밝힙니다.
https://better-together.tistory.com/101?category=887984

 


네트워크 인터페이스 계층의 역할

 

TCP/IP 모델의 최하층에 위치한 Network Interface Layer 는 물리적으로 직접 연결된 네트워크 기기 간에 데이터의 전송을 제어하는 역할을 한다. 즉, 전송 매체로 연결되어 전기 신호나 전파 같은 물리적 신호가 도달하는 범위 내에서 데이터를 제대로 전송하기 위한 규칙을 정한 계층이라고 할 수 있다.

 

Network Interface layer 속한 물리적인 네트워크 장비, 즉 하드웨어에는 랜카드(NIC), 스위치, 무선 AP 등이 있다.

이러한 하드웨어를 랜 케이블과 같은 전송 매체로 연결하여 데이터의 물리적 신호 전송이 가능한 유선 LAN이나 무선 LAN 같은 물리 네트워크를 만든다.

 

 

네트워크 인터페이스 계층의 핵심 하드웨어 - 랜카드(NIC)

 

유선이든 무선이든 컴퓨터가 전송 매체와 연결될 수 있는 것은 컴퓨터에 랜카드(NIC)가 장착되어 있기 때문이다.

컴퓨터에 랜카드가 장착되어야 랜 케이블을 연결할 수 있는 랜포트가 생기고, 랜포트에 케이블을 꽃음으로써, 다른 컴퓨터나 네트워크 장비를 연결하는 유선 네트워크를 만들 수 있게 된다.

컴퓨터에 무선 랜카드가 장착되어야 무선랜 인터페이스가 생기고, 무선랜 인터페이스와 무선 AP가 연결되는 무선 네트워크를 만들 수 있다. 따라서 네트워크에 연결하는 컴퓨터에는 반드시 하나 이상의 랜카드가 있어야 한다.

 

또한 네트워크 인터페이스 카드(NIC)라고도 불리는 랜카드는 컴퓨터와 네트워크의 물리적 연결 기능뿐만 아니라 컴퓨터가 만든 디지털 데이터를 전기 신호나 전파같은 물리적 신호로 변환하여 네트워크로 내보내거나, 네트워크로부터 받은 물리적 신호를 디지털 데이터로 변환하는 기능을 가지고 있다. 즉, 랜카드는 서로 다른 형태의 데이터를 전송하는 컴퓨터와 네트워크 간에 상호작용이 가능하도록 하는 네트워크 인터페이스이다. 

 

이처럼 랜카드는 컴퓨터와 전송 매체를 연결하는 장치로 컴퓨터와 네트워크 사이에서 Interface 역할을 하며 프로토콜의 처리를 담당하는 Network Interface Layer의 핵심적인 하드웨어 이다.

 


 

랜카드와 장치 드라이버

 

컴퓨터에 랜카드(NIC)를 장착한다고 해서 저절로 작동하지는 않는다.

당연히 물리적인 장비인 하드웨어를 용도에 맞게 사용하고, 제어하기 위한 소프트웨어가 필요하다.

 

랜카드는 OS에 랜카드를 작동시키기위한 장치 드라이버가 설치되어야 컴퓨터가 랜카드를 제어하고 프로토콜을 처리하며 Network Interface Layer의 역할을 구현할 수 있다.

 

그런데 대부분 프린트 장치 드라이버는 설치해본적은 있어도 랜카드 장치 드라이버를 설치해보적은 없을것이다.

그 이유는 대부분 컴퓨터에 플러그 앤 플레이 기능이 있어 컴퓨터에 기기를 연결하면 자동으로 그 기기를 이용할 수 있게 설정되어 있기 때문이다. 즉, OS에 처음부터 자주 사용되는 표준적인 기기들을 제어할 수 있는 장치 드라이버가 내장되어 있다. 랜카드(NIC) 장치 드라이버가 대표적이고 자주 사용하는 USB 장치 드라이버도 마찬가지로 내장되어 있다.

 


 

Network Interface Layer와 Protocol

 

TCP/IP 에서는 네트워크의 하드웨어적인 연결에 대해 특정 프로토콜을 규정하지 않고 모든 표준 규격과 기술적인 프로토콜을 지원하지만, 이더넷(IEEE 802.3*) 프로토콜과 무선 LAN(IEEE 802.11**) 프로토콜이 사실상의 표준으로 사용되고 있다. 랜 케이블을 따라 전기 신호로 데이터를 전송하는 유선 LAN은 이더넷 프로토콜을, 공기 중에서 전파로 데이터를 전송하는 무선 LAN은 무선 LAN 프로토콜에 따라 데이터를 전송한다.

*. IEEE 802.3은 LAN(근거리 통신망)을 구축하기 위해 개발한 이더넷(Ethernet)이라는 네트워크 통신 기술을 IEEE가 표준화한 규약을 의미한다. 이 규약이 정한 케이블과 외부 포트의 사양에 따라 만들어진 것이 랜 케이블(또는 이더넷 케이블), 랜 포트(또는 이더넷 포트)이다.

**. IEEE 802.11는 IEEE가 무선 랜 기술을 표준화한 규약을 의미한다. 이 표준 규약을 기반으로 무선 AP가 설치된 곳의 일정 거리 안에서 무선 인터넷에 접속할 수 있는 기술 또는 이 기술에 따라 만들어진 제품들의 브랜드명을 와이파이(Wi-Fi)라고 한다. 참고로 와이파이라는 이름은 무선(Wireless)방식으로 유선랜과 같이 뛰어난 품질(Fidelity)을 제공한다는 뜻의 'Wireless Fidelity'에서 나왔다.. 무선 LAN, IEEE 802.11, 와이파이는 사실상 동의어로 사용되고 있다.



 

Network Interface Layer의 프레임 전송

 

네트워크에 데이터를 전송하기 위해 연결된 물리적인 기기를 Node 라고 한다.

우편물을 주고 받기 위해 서로 다른 주소 체계가 필요하듯이 노드들도 데이터를 주고 받기위해 서로 구별되는 주소가 있어야한다. 따라서 Node 를 보다 정확히 표현하면 네트워크에 연결된 주소가 있는 물리적인 기기 를 의미한다.

 

물리적으로 직접 연결된 기기 간에 데이터 전송을 제어하는 Network Interface Layer의 역할을 다른 말로 표현하면 네트워크에 연결된 노드와 노드간의 데이터 전송을 제어하는것 이다. 

따라서 Network Interface Layer 의 프로토콜은 인접한 노드 간에 데이터가 제대로 전송될 수 있도록 전송을 제어하고, 전송 도중에 발생한 오류를 교정하는 일 등을 규정한다.

 

데이터 전송을 제어한다는 것은

  1. 데이터를 순차적으로 전송하기 위해 데이터에 번호를 부여하여 데이터 전송의 순서를 제어하며
  2. 수신지가 감당할 수 있을 정도의 전송 속도를 유지하기 위해 한 번에 전송하는 데이터 양을 조절하고, 데이터를 전송할 때 수신 여부룰 확인하는 기능을 수행하여 데이터의 흐름을 제어 한다는 것을 의미한다. 

 

네트워크 인터페이스 계층에서는 인접한 노드 중에서 데이터 수신지를 식별하기 위해 노드마다 갖고 있는 주소를 사용한다. 송신지 노드 ( 송신지 호스트 ) 에서는 이 주소를 포함하여 데이터 전송을 제어하는데 필요한 여러 정보를 헤더에 추가해서 프레임 이라는 데이터 단위를 만들어 네트워크로 전송한다. ( 구체적으로는 프레임을 전기 신호로 변환하여 랜 케이블로 전송한다. ) 네트워크에서 이 프레임을 받은 최종 수신지 노드 ( 수신지 호스트 ) 에서는 헤더 정보르 읽고 프로토콜에 따라 데이터를 처리한 후 헤더를 제거한 데이터를 인터넷 계층으로 넘기게 된다.

 

LAN의 표준화 규칙인 이더넷 프로토콜과 무선 LAN 프로토콜은 노드를 식별하기 위한 주소로 MAC 주소를 사용하여 전송 매체를 통해 프레임을 전송한다. 

 

MAC 주소는 전송매체(Media) 에 대한 접근(Access) 를 제어(Control) 하는 주소, 즉 전송 매체와 연결된 노드 중에 데이터의 수신지 노드를 식별하여 접근할 수 있게 하는 주소이다.

 


 

MAC 주소와 랜카드

 

컴퓨터를 네트워크에 연결하기 위해 반드시 필요하고, 네트워크 인터페이스 계층에서 핵심적인 역할을 담당하는 장치가 랜카드이라고 말했다. 이더넷 규격에 따라 만들어지는 각 랜카드에는 사람의 주민등록번호처럼 고유한 식별 번호가 할당된다. 이렇게 랜카드에 할당된 식별 번호가 바로 MAC 주소 이다.

 

랜카드를 제조하는 제조헙치( 벤더 ) 가 제조 단계에서 랜카드에 붙이는 MAC 주소는 전 세계에서 유일한 번호 로 할당 된다. MAC 주소는 기본적으로 한번 할당되면 변경할 수 없는 주소이기에 '물리 주소' 혹은 '하드웨어 주소' 라고도 불린다.

 

랜카드 뿐만 아니라 네트워크 인터페이스 역할을 하는 무선 AP, 라우터 도 제조 과정에서 고유한 MAC 주소를 할당 받는다. MAC 주소는 네트워크 인터페이스마다 할당된 번호이기 때문에 여러 개의 네트워크 인터페이스를 갖는 네트워크 장비에는 여러개의 MAC 주소가 할당될 수도 있다.

 

*. MAC 주소는 ① 랜카드를 제조한 업체를 식별하는 번호인 벤더 코드(Organizationally Unique Identifier, OUI)와 ②제조한 업체가 제품에 붙이는 일련번호로 구성되어 전 세계에서 동일한 MAC 주소로 설정된 랜카드 제품은 하나밖에 없다는 것을 보증합니다. 그러나 MAC 주소가 반드시 세계에서 유일한 값이라고는 할 수 없습니다. 1대의 컴퓨터에서 여러 개의 OS를 동시에 작동시키는 '가상 머신'이라는 기술에서는 물리적인 인터페이스가 없기 때문에 소프트웨어적으로 MAC 주소를 만들어 가상 머신의 각종 인터페이스에 할당하여 사용하기 때문입니다.


 


스위치

 

여러 대의 컴퓨터를 연결하여 LAN 이라는 소규모 네트워크를 만들 때 스위치라는 네트워크 장비가 사용된다.

 

랜포트가 여러 개인 스위치를 중간에 두고 스위치와 여러 대의 컴퓨터를 랜 케이블로 연결하여 스위치를 거쳐 여러 대의 컴퓨터가 동시에 통신이 가능한 소규모 네트워크를 구축한다. 스위치가 두대의 컴퓨터를 연결하는 랜 케이블을 분할하고 여러 대의 컴퓨터가 공유 할 수 있게 하는 역할을 하는 것이다.

 

 

이렇게 스위치는 여러 개의 랜포트를 통해 네트워크 인터페이스를 확장하는 역할을 하지만 서로 다른 기기나 네트워크가 상호 작용하도록 돕는 인터페이스는 아니다.

따라서 스위치에는 네트워크 인터페이스에만 할당되는 MAC 주소를 갖고 있지 않는다. 이런 면에서 스위치는 네트워크 인터페이스로서 고유한 MAC 주소가 할당되어 송신지 호스트와 수신지 호스트 사이에서 중간 노드 역할을 하는 무선 AP나 라우터와는 차이가 있다.

 

스위치는 자신의 포트에 연결되어 있는 컴퓨터의 MAC 주소를 학습하고 기억하는 기능이 있다. 이 기능을 통해 스위치로 전송되는 데이터를 제어하고 올바른 수신지로 데이터를 전달한다.

 

스위치가 포트 번호와 그 포트에 연결되어 있는 컴퓨터의 MAC 주소를 기억하기 위해 만드는 데이터베이스를 MAC 주소 테이블이라고 한다. 초기화된 스위치의 전원을 켠 상태에서는 MAC 주소 테이블에 아무것도 기록되어 있지 않지만, 스위치에 프레임이 수신될 때마다 학습 로직에 따라 MAC 주소와 포트 번호에 관한 정보를 수집하여 MAC 주소 테이블을 갱신한다.

 

 


MAC 주소에 의한 데이터 전송 과정

 

이더넷 프로토콜에 따른 통신

 

이더넷 프로토콜을 따르는 Network Interfave Layer 에서는 MAC 주소로 수신지를 식별한다. 따라서 상위 계층(인터넷 계층)으로부터 데이터(IP 패킷)을 넘겨받은 네트워크 인터페이스 계층은 수신지 MAC주소와 송신지 MAC 주소를 담은 이더넷 헤더를 데이터에 추가한 이더넷 프레임을 만들어 네트워크로 내보낸다. 

 

네트워크에서 이더넷 프레임은 랜 케이블을 거쳐 스위치에 도착한다.

이더넷 프레임을 수신한 스위치는 이더넷 프레임의 수신지 MAC 주소를 보고, MAC 주소 테이블을 확인하여 수신지 MAC 주소가 있는 포트로 이더넷 프레임을 전송한다. 위 그림에서는 스위치 1번 포트와 연결된 송신지 컴퓨터에서 보낸 프레임을 받은 스위치는 이더넷 헤더의 수신지 MAC 주소를 읽고 MAC 주소 테이블을 확인한 뒤, 4번 포트로 이더넷 프레임을 전송한다.

 

만약 MAC 주소 테이블에 송신지 MAC 주소가 등록되어 있지 않으면 송신 포트인 1번 포트 외에 아직 MAC 주소가 등록 되지 않은 나머지 포트에 프레임이 전송되는데 이러한  프레임 전송을 플러딩(Flooding)이라고 한다.

 

스위치로부터 랜 케이블을 거쳐 이더넷 프레임을 받은 수신지 Network Interface Layer는 이더넷 헤더에서 수신지 MAC 주소를 읽고 자신의 MAC 주소와 일치하는지 비교하여 자신에게 온 데이터가 맞는지를 확인한다. 자신에게 온 데이터가 맞으면 이더넷 프레임에서 이더넷 헤더를 삭제한 데이터(IP 패킷)을 상위 (인터넷) 계층으로 넘긴다. 

만약 자신에게 온 데이터가 아니라면 프레임을 폐기한다.

 

이렇게 스위치가 MAC 주소를 기준으로 수신지를 선택하는 것을 MAC 주소 필터링이라고 한다.


 

무선 LAN 프로토콜에 따른 통신

 

무선 LAN 프로토콜에 따라 통신을 할 경우에는 송신지와 수신지 사이를 무선 AP가 중계하게 된다.

따라서 프레임에는 송신지의 수신지의 MAC주소 외에 무선 AP의 MAC 주소에 대한 정보가 헤더에 추가된다.

 

 

 

+ Recent posts