전공공부/컴퓨터망 (Computer Network)

[컴퓨터망] Link Layer (4) - Ethernet

jooona 2021. 1. 24. 23:24
반응형

이더넷은 현재 가장 많이 사용되는 유선 네트워크 기술로, 앞에서 잠깐 공부했던 CSMA/CD 프로토콜을 이용해 통신을 합니다. 물론 이더넷 말고도 토큰 링, FDDI 등의 네트워크 기술들이 존재하지만, 이더넷이 압도적으로 많이 사용되고 있습니다.

 

이더넷은 LAN(Local Area Network)를 위해 개발된 네트워크 기술로, 현재는 IEEE 802.3 규약으로 표준화되어 있습니다. 이번 글에서는 이 이더넷에 대해 알아보도록 하겠습니다.

 

1. 물리적 배치 (Physical Topology)

토폴로지란 컴퓨터 네트워크의 요소들을 물리적으로 연결해 놓은 방식을 뜻합니다. 가장 대표적인 3가지 방법에 대해 알아보겠습니다.

 

1. 버스(Bus) 형

 

BUS

버스 형은 1990년대 중반에 가장 많이 쓰이던 방식으로, 하나의 케이블에 네트워크의 모든 컴퓨터가 연결되어 있는 방식입니다. 가장 간단한 방법이지만 버스를 공유하기 때문에 한 대의 컴퓨터만 데이터 전송이 가능합니다. CSMA/CD를 공부할 때 나왔듯이, 동시에 여러 개의 컴퓨터가 데이터를 전송하면 충돌이 발생하여 다시 전송해야 합니다.

 

비용이 저렴하고 확장도 쉽다는 장점이 있지만, 연결된 컴퓨터 수가 많아지면 충돌이 증가하여 효율이 떨어지고, 어딘가에서 문제가 발생해도, 그 위치를 찾기 힘들다는 단점이 있습니다.

 

2. 링(Ring) 형

 

Ring

링형은 위의 그림과 같은 형태의 구조를 뜻하며, 토큰을 사용하여 데이터의 충돌을 방지합니다. 데이터를 안정적으로 전송할 수 있다는 장점이 있지만, 하나의 노드가 고장 나면 모든 노드가 네트워크를 사용할 수 없게 되고, 네트워크 확장이나 구조 변경이 어렵다는 단점이 있습니다.

 

3. 스타(star) 형

 

Star

스타형은 현재 가장 많이 사용되는 형태로 중간에 스위치 또는 허브를 두고 중앙 집중 형태로 통신을 하게 됩니다. 위의 그림에 나오는 컴퓨터를 가장 위의 컴퓨터를 1번 그리고 오른쪽으로 돌아가면서 2, 3, 4번이라 한다면, 1번과 2번 컴퓨터가 통신을 하고 있어도, 3번과 4번 컴퓨터가 동시에 통신을 할 수 있습니다. 다시 말해, 여러 노드가 동시에 통신을 해도 충돌이 일어나지 않습니다. 그리고 한 노드에서 오류가 나거나 케이블이 끊어져도 다른 노드들은 통신을 지속할 수 있습니다.

 

2. Frame Structure

데이터 링크 계층에서는 상위 계층인 네트워크 계층으로부터 패킷을 전달받아 자신의 정보를 붙여서 프레임으로 만드는 작업을 한다고 공부했었습니다. 이번에는 이더넷에서는 어떤 형식으로 프레임을 만드는지 알아보겠습니다.

 

Frame Structure

1. Preamble: Preamble은 8바이트로 구성되어 있으며, 동기화를 위해 사용됩니다. 앞의 7바이트는 10101010이 7번 반복되는 형태이고, 마지막 8번째 바이트만 10101011을 가집니다. 앞의 7개의 바이트를 통해 물리적 계층에서 통신을 할 때 싱크를 맞춰주고, 8번째 바이트를 이용해 본격적인 데이터의 시작을 알립니다.

 

2. Address: 목적지와 자신의 주소를 담고 있는 영역입니다. 받는 입장에서 자신의 주소와 데이터의 목적지 주소가 같으면 상위 계층인 네트워크 계층으로 해당 데이터를 올려 보내 줍니다. 

 

3. Type: 상위 계층인 네트워크 계층의 프로토콜에 관한 정보를 담고 있습니다. 보통 IP를 사용하지만, Novell IPX나 AppleTalk와 같은 다른 타입의 프로토콜을 사용하는 경우도 있습니다. 또한 만일 해당 데이터가 ARP 메시지라면 Type 영역에 ARP라고 명시되어 있습니다. 이런 경우에는 ARP의 규약에 따라 행동하게 됩니다.

 

4. Packet: 네트워크 계층으로부터 내려받은 데이터입니다.

 

5. CRC: Error control을 할 때 공부했던 그 CRC 값입니다.

 

3. 이더넷의 특성

이더넷은 Unreliable과 Connectionless라는 특성을 가집니다. Unreliable은 송신자 입장에서 수신자가 데이터를 일관성 있게 받았는지에 대해 확인할 수 없다는 의미입니다. 즉, 수신자가 내가 보낸 데이터를 받기는 받았는지, 받았다면 오류 없이 잘 받았는지에 관한 어떤 정보도 얻을 수 없습니다.

 

Connectionless는 송신자가 수신자의 상태를 고려하지 않고 그냥 메시지를 보낸다는 뜻입니다. 수신자가 받을 준비가 되어있는지에 관해서는 송신자는 신경 쓰지 않습니다.

 

 

반응형