등장 배경
복사기 사업을 하는 제록스 사는 여러 대 컴퓨터와 복사기를 연결시키려는 연구를 시도하고 제록스 파크 연구소에서 로버트 멧칼프 등에 의해 연구가 진행되었다. 1980년대 첫 이더넷 상용제품이 소개되었으며 이후 DEC, 인텔, 제록스 3개 회사가 힘을 합쳐 DIX라는 표준을 만들게 되고 이를 바탕으로 1983년 IEEE 802.3 표준이 제정되었다.
이더넷
등장 배경을 보면 이더넷은 여러 단말 장치를 연결시키는 기술이라는 것을 알 수 있다. 이더넷을 통해 LAN을 구축하게 되고 지금에 이르러서는 거의 모든 LAN이 이더넷으로 구축되었다. 때문에 이더넷은 이더넷 프로토콜로 구축된 LAN, 즉 MAC 프로토콜로 CSMA-CD를 사용하는 버스 구조의 LAN이라고도 할 수 있다.
이더넷 구조
초기 이더넷 토폴리지는 버스형이었지만 후에 허브가 나오면서 별형 토폴리지로 대체되었다. (TP케이블이 동축케이블보다 저렴하기 때문) 그러나 별형 토폴리지라도 동작방식은 버스와 같다. 버스 구조는 하나의 통신 회선을 공유하기에 경제적이며 하나의 노드에서 데이터를 전송하면 모든 노드가 수신하는 특징을 지닌다. 마치 방송망과 같다. 이럴 경우 다른 사람에게 보낸 데이터를 제 3자가 볼 수 있는 보안 문제가 발생하기에 자신에게 온 데이터면 수신하고 아닌 데이터는 무시하도록 프로토콜이 정의되어 있다. 또한 회선은 하나기에 둘 이상의 노드가 데이터를 보낼경우 충돌이 발생하게 된다. 따라서 누가 회선을 점유할 것인지에 대한 제어인 MAC(Media Access Control)이 필요하다. 이더넷은 MAC 프로토콜로 CSMA-CD라는 방법을 사용한다. CSMA-CD는 LWT(Listen While Talk)방식으로 동작하는데 송신하기 전에 회선이 사용중이면 대기하고 송신 중 동시 충돌이 감지되면 일정 시간 후 재전송을 한다.
전이중통신, 반이중통신
이더넷은 MAC 프로토콜로 CSMA-CD를 사용하지만 스위치의 등장으로 인해 충돌이 발생하지 않아 사용하지 않게 되었다. 그 이유를 알기위해서는 반이중통신과 전이중통신을 알아야한다.
- 반이중통신 : 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식
- 전이중통신 : 두 개의 회선으로 송신과 수신을 동시에 하는 방식
반이중통신은 송신을 동시에 할 경우 충돌이 발생한다. 앞서 보았던 이더넷 구조는 반이중통신을 사용했다. 반면 전이중통신은 송신을 동시에 해도 충돌이 발생하지 않는다. 충돌이 일어날수록 네트워크 성능이 떨어지기에 전이중통신이 반이중통신보다 더 좋은 성능을 보인다. 스위치로 이더넷을 구축할 경우 전이중통신을 사용하게 되고 결국 기존의 이더넷은 스위치를 사용하는 이더넷으로 대체되었다.
스위치
OSI 2계층에 해당하는 장비이다. 스위치는 여러 컴퓨터를 연결시킨다는 점에서 허브와 같다. 하지만 허브에는 없는 똑똑한 기능을 제공한다. 스위치는 프레임의 MAC 주소를 보고 그 MAC 주소를 가진 노드로 프레임을 전송한다. MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라한다. 스위치는 어떻게 MAC 주소를 알까? 그것은 스위치 내부에 있는 MAC 테이블 덕분이다. MAC 테이블은 포트 번호와 해당 포트에 연결되어있는 노드의 MAC 주소가 등록된 데이터베이스이다.
그럼 스위치는 포트에 연결된 노드의 MAC 주소를 어떻게 MAC 주소 테이블에 등록할까? 송신된 프레임의 출발지 MAC 주소가 MAC 주소 테이블에 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록한다. 이를 MAC 주소 학습 기능이라 한다. 만약 송신된 프레임의 목적지 MAC주소가 아직 MAC 주소 테이블에 등록되어 있지 않다면 송신 포트 이외의 모든 포트에 프레임을 전송한다. 이러한 전송을 플러딩이라 한다.
허브 VS 스위치
정리하자면 허브로 노드들을 연결할 경우 각 노드는 반이중통신을 사용하기에 충돌이 발생할 수 있지만 스위치로 노드들을 연결할 경우 각 노드는 전이중통신을 사용하기에 충돌이 발생하지 않는다.
이더넷 규격
이더넷은 케이블 종류나 통신 속도에 따라 다양한 규격으로 분류된다. 다음 표는 이더넷의 대표적인 규격을 정리한 것이다.
ARP
같은 서브넷에서 이더넷으로 통신하기 위해서는 수신자의 MAC 주소가 필요하다. 우리는 IP 주소를 사용하기 때문에, IP 주소를 MAC 주소로 변환하는 프로토콜인 ARP(Address Resolution Protocol)를 사용한다.
출발지 노드가 목적지 노드의 MAC 주소를 모르면 목적지 IP 주소를 담은 ARP 패킷을 네트워크에 브로드캐스트 한다. ARP 패킷의 목적지 IP 주소에 해당하는 노드는 자신의 MAC 주소를 담은 ARP 패킷을 응답으로 보낸다. 이것으로 출발지 노드는 MAC 주소를 얻고 프레임을 전송할 수 있다. ARP 패킷은 이더넷 프레임으로 캡슐화되어 전송된다.
'Computer Science > Network' 카테고리의 다른 글
[데이터통신 - 9] 네트워크 계층 (2) (0) | 2022.08.17 |
---|---|
[데이터통신 - 8] 네트워크 계층 (1) (0) | 2022.08.09 |
[데이터통신 - 6] 데이터링크 계층 (0) | 2022.08.08 |
[데이터통신 - 5] 물리 계층 (0) | 2022.08.08 |
[데이터통신 - 4] 정보통신망(Network) (0) | 2022.08.07 |