본문 바로가기

[Network] Beginner

2계층(Data-link) 세부설명

Layer 2. Data-Link

 

Data-link계층은 WAN에서 인접한 노드끼리 또는 같은 LAN 상의 노드 끼리 연결하여 데이터를 전달하는 계층이다. 같은 네트워크 상에서 발생되는 Frame을 전달하며 서로 다른 네트워크로 데이터를 전달하는 라우팅 기술은 더 높은 계층의 기능이므로 서로 다른 네트워크로는 전달할 수 없다.

 

1계층이 어떤 Media를 사용하고 있느냐에 따라 서로 다른 Protocol로 동작할 수 있으며 이것을 2계층에서 구분하여 결정한다. 또한 해당 Protocol에서 사용하는 물리적 주소를 구분하여  목적지로 전달해주는 역할을 하고 있다.

LAN 에서는 주로 Ethernet을 사용하고, Point-to-Point 구간에서는 PPP, HDLC 등을 사용한다.

 

LAN 에서 사용하는 Protocol : Ethernet, Token-ring, FDDI ..

WAN에서 사용하는 Protocol : PPP, HDLC, Frame-relay ...

 

 


1. 네트워크별 통신 방식

물리적 연결 구성방식에 따라 세 가지로 분류된다. 


BMA (Broadcast Multiple Access)

: Broadcast 가 전달되는 다중 접속 환경을 말하며, 일반적으로 LAN 구간이 여기에 해당된다.

Broadcast 동일한 네트워크에 연결된 모든 장비에게 전달하는 메시지 타입을 말한다.

여기서 사용되는 프로토콜로는 Ethernet, Token-ring, FDDI 등이 있으며, Ethernet이 주로 사용되고있다.

Ethernet에서 사용하는 물리적 주소를 MAC주소라고 부르며 이 주소가 2계층의 물리적주소로 많이 표현되고 있다.

 

 NBMA (Non-Broadcast Multi-Access)

: Broadcast 가 전달되지 않는 다중 접속 환경을 말하며, WAN 통신구간이 여기에 해당된다.

WAN 구간은 많은 네트워크가 연결된 다중 접속 환경이기 때문에 Broadcast 가 되면 너무 많은 Broadcast 메시지로 인해 장비의 부하를 주며 성능저하를 가져오게 된다. 따라서 Broadcast 는 하나의 네트워크 안에서만 사용할 수 있도록 기본적으로 설정되어 있다.

이 방식에서 주로 사용하는 프로토콜은  Frame-relay가 있다.

 

 Point-to-Point

: 점대점 연결을 말하며 중간에 다른 장비가 연결되지 않고 케이블이 End-to-End로 직접 연결된 환경을 말한다.

이 방식에서 사용하는 프로토콜로는 PPP, HDLC 등이 있으며, 장비를 2계층에서 구분할 필요가 없기 때문에 물리적 주소가 필요 없다는 특징이 있다.

 



 

2. 이더넷(Ethernet)


 Ethernet 특징

LAN 환경에서 사용하는 대표적 프로토콜이다. 데이터 통신 발생 시 즉시 데이터링크에 접근하여 통신을 시도하는 랜덤 액세스 방식으로 동작하며, 구축 및 유지보수가 간편하여 비용이 저렴한 편이다. 다만 회선을 공유하는 다중 접속 환경에서 다른 장비의 통신 데이터와 충돌(Collision)하는 문제가 발생하여 대규모 네트워크로 구축하기엔 어렵다. 충돌을 최소화하기 위해 데이터링크에서는 매체접근제어(MAC)를 위해 CSMA/CD 기능을 사용한다. 





 Ethernet Header

Ethernet 헤더는 다음과 같이 두 종류가 있으며, IEEE 802.3 헤더가 표준이다. 이 둘은 802.2 부분이 있느냐 없느냐의 차이점이 있는데 데이터링크에서 오류제어와 흐름제어를 위해 필요한 기능이다. 하지만 현재는 사용하지 않아 대부분의 통신에서는 EthernetⅡ 헤더가 주로 사용된다.



 Preamble

 Frame 앞에 붙는 제어신호로 헤더의 시작 위치를 정확히하기 위해 사용한다. 

 Destination address

 목적지 MAC address를 표기한다. 

 Source address

 출발지 MAC address를 표기한다.

 Type

 상위계층의 프로토콜을 표기한다. (IP, ARP 등) 

 FCS

 Frame Check Sequence의 약자로 데이터 오류를 확인하기 위한 값을 표기한다.




 

3. 매체접근제어 (Media Access Control)

하나의 링크를 공유해서 여러 장비가 다중 접속 되어 있는 경우 여러 장비에서 발생한 데이터 신호로 인해 Collision(충돌)이 발생하여 이를 제어하기 위해 CSMA/CD 기능을 사용하였다. 스위치(Switch) 장비를 사용하면서 현재는 이더넷 환경에서도 충돌 문제가 발생하지 않는다. 

 

 CSMA (Carrier Sense Multiple Access)

공유매체에 동시접근할 경우 충돌이 일어날 수 있으므로, 다른 장비가 통신중인지를 미리 확인하여 충돌을 최소화 하는 기능이다. 공유매체에 아무런 전기적 신호가 감지되지 않는 경우(Idle)에는 데이터 전송을 시도하고, 다른 장비가 사용하고 있는 중(Busy)이면 잠시 기다렸다가 전송을 시도한다.

 

 CD (Collision Detection)

충돌을 최소화 할 수는 있어도 완전히 없앨 수는 없다. 만약 충돌이 일어나게 되면 이를 감지하여 대처를 해야 하는데 이 기능을 CD라고 한다. 충돌이 일어남을 감지한 포트에서는 연결된 모든 장비에게 Jamming Signal을 전달하여 충돌이 일어났음을 알려주고, 이 신호를 받은 장비들은 랜덤한 시간을 기다렸다가 재전송을 한다.

 



 

4. 장비 (Switch)

 Switch의 특징

Switch는 Hub와 마찬가지로 여러개의 포트를 가지고 있어 하나의 네트워크에서 다수의 장비를 연결하기 위한 다중접속 장비이다. Switch 부터는 Data를 인식할 수 있고 전달받은 전기신호를 Decoding하여 2계층의 Header를 처리한다.

Header 안의 목적지를 확인하여 다시 전기신호로 Encoding 하여 내보내므로 다시 새로운 신호로 전달되어 데이터의 변질의 위험성이 없다. 따라서 Switch 장비는 Hub와 다르게 무한정 설치할 수 있다.

 

Switch는 Learning, Forwarding, Filtering 기능을 가지며 이를 Switch의 3대 기본기능이라 부르기도 한다.

 

Learning은 주소학습 기능을 말한다.

Switch는 Frame을 전달하는 과정에서 물리적 주소인 MAC주소를 학습하고, 이를 MAC-address Table 이라는 공간에 저장한다. 저장된 내용을 토대로 Header 안의 목적지 주소의 포트 위치를 파악하여 전달해줄 수 있다.

MAC-address Table 에 자동적으로 학습되는 정보는 기본적으로 300초간 유지되고 이 시간을 Aging Time이라고 한다. 목적지를 찾아 전달하기 위해 정보를 사용한 경우 Aging Time은 다시 300초로 리셋되어 더 오랫동안 Table에 남아있을 수 있게 되며, 중간에 통신되지 않아 300초의 시간이 지나는 경우 Table에서 삭제되고 이를 Aging Out 이라고 한다.

 

Forwarding과 Filtering은 Switch가 데이터를 전달 처리 방식을 말하며, Forward, Flood, Filter 가 있다.

Forward : Header 안에 표시된 목적지 물리적 주소를 구분하여 해당 장비가 연결된 포트로 전달해주는 처리방식

Flood : 데이터가 유입된 포트를 제외한 모든 포트로 전달하는 방식으로, Hub에서 동작되는 처리방식이기도 하다

Filter : 목적지 구분을 하여 전달하지 않아야 하는 포트로 전기신호가 나가지 않도록 차단하는 처리방식

 


 Switch는 Full-Duplex 로 동작한다

Switch 이상의 장비들은 데이터를 전달하는 과정에서 Collision이 발생되지 않기 때문에 송신과 수신을 동시에 할 수 있는 Full-Duplex 로 동작한다. Switch에서 Collision이 발생되지 않는 이유는 다음과 같다.

 

① Switch는 주소학습 기능을 가진다

위에서 말했듯이 Switch는 주소 학습 기능을 가지고 있다.

어떤 MAC 주소가 어느 포트에 연결되어 있는지 헤더 안의 출발지 주소를 학습하여 저장하고 이를 통해 전달해야 하는 데이터의 목적지가 어느 포트에 연결되어 있는지 MAC-address Table 에서 확인하여 특정 포트로만 전달이 가능하다.

특정 포트끼리 통신을 하게 되면 다른 포트에 영향을 주지 않아서 장비들은 송수신을 동시에 할 수 있게 된다.

 

② Buffer를 사용하여 데이터 전달을 순차적으로 처리한다

Switch는 먼저 전송되고 있는 Frame이 목적지 포트로 모두 빠져나가는 동안 Buffer 라는 임시기억저장소를 이용하여 그 뒤로 들어온 Frame을 저장해두고 순차적으로 처리될 수 있도록 하고 있다.

따라서 만약 여러 장비가 어떤 특정 장비 하나와 통신을 하고자 Frame을 보내게 되도 Buffering 기능으로 인해 충돌이 발생되지 않는 것이다. 

 

'[Network] Beginner' 카테고리의 다른 글

Subnet-Mask (서브넷 마스크)  (0) 2014.07.21
3계층 보충-IPv4  (2) 2014.07.21
3계층(Network) 세부설명  (0) 2014.07.20
1계층(Physical) 세부설명  (0) 2014.07.18
TCP/IP와 OSI 7Layer 개요  (4) 2013.07.24