본문 바로가기

전자공학/전자회로

Ethernet Auto-Negotiation & MDI Signal에 대한 정보

IPS가 관리콘솔과 연결이 끊어지고 연결이 안되길래.. 원인을 찾다가

Auto-Negoiaton이란 기능을 On하고 재연결하니까 연결이 뿅!! 하고 됬다.

우왕..이게 무슨기능이지?? Auto-Negotiation이란 기능에 대해서 찾아봤다..

아래글은 http://spiderpig.egloos.com/1723732 에서 퍼온글이다.

이해하기 쉽게 잘 설명되어 있다.

추가적으로 Auto MDI/MDI-X기능도 궁금했던건데 굿굿
Auto-Negotiation

이더넷의 가장 하부 계층을 담당하는 L1, L2 계층은 각각 물리 계층(Physical Layer : PHY)과 Data LinkLayer(MAC : Media Access Control 을 보통 지칭) 계층으로 불리우며 네트워크를 구성/설계하는데 있어가장 기본적이면서도 필수적인 기능이다. 때문에 가장 흔하게 접하게 되는 용어 중 하나가 바로Auto-Negotiation(Auto-Negotiation)과 MAC이라는 단어인데 워낙 다양한 종류가 존재하고 기술 개발의 속도가 빠르기때문에 이들에 대해서 정확히 개념 정립을 하는 것이 필요하다. 본 글에서는 Auto-Negotiation의 기본적인 개념에 대해서 설명을하고자 한다.

1. Auto-Negotiation의 개념
Auto-Negotiation란 상대방의 전송 속도나 통신 방식을 모른 채로 상대 장비와의 통신을 위한 준비(?)를 자동으로 맞추어 주는 기술을말한다. 요즘 개발되는 네트워크 장비의 기본적인 사양이 되고 있으며 커넥터에 케이블을 꽂으면 자동으로 속도와 통신 방식을 맞추어설정이 된다. 예를 들어 10M 전용 장비와 10/100M 겸용 장비를 연결하게 되면 10Mbps로 통신 방식이 설정되도록 하는기술이다.
Auto-Negotiation의 개념이 필요하게 된 것은 100Mbps 이더넷 기술이 정의되면서 10Mbps 기술과 동일한connector(RJ-45)를 사용하게 되었기 때문이다. 이전의 이더넷 기술들은 서로 다른 방식의 기술의 경우에는 사용하는connector가 달랐기 때문에 케이블을 잘못 꼽게 될 수가 없었지만 10Base-T에 이어 100Base-Tx가 RJ-45를사용하게 되면서 문제가 생기게 되었다. 이를 위해서 서로 다른 전송 속도, Flow-control 등에 상관 없이 자동으로상대방과 협의(Nego?)하여 두 장비 사이의 통신 방식을 맞추게 하는 기술이 개발되었는데 이것이 바로 Auto-Negotiation의기능이다.
Auto-Negotiation에서 가장 중요하게 다루는 것이 바로 속도와 통신 방식(Half duplex or Full duplex)이다. 속도의경우에는 오늘날 Gigabit Ethernet의 상용화로 10/100/1000Mbps의 세 가지 방식이 존재하고 통신 방식은Half duplex와 Full duplex의 두 가지 방식이 있다.

- 속도 : 10/100/1000Mbps
- 통신 방식 : Full Duplex or Half Duplex

2. 물리 계층의 종류와 Auto-Negotiation
현재 이더넷에서 사용되는 물리 계층의 종류는 크게 전기 신호를 이용하는 Copper 인터페이스와 광신호를 이용하는 Fiber인터페이스로 구분할 수 있다. Copper와 Fiber라는 용어는 각각의 인터페이스가 전기 신호는 구리선(Copperwire)을 사용하고 광신호는 광케이블(Fiber cable)을 사용하기 때문에 붙여진 이름이다. Copper 인터페이스를 통해전기 신호를 주고 받을 때에는 전기 신호의 레벨을 이용하여 데이터를 주고 받고 Fiber 인터페이스를 이용할 경우에는 레이저를이용해 일정한 파장을 갖는 신호의 펄스를 발생시켜 데이터를 주고 받게 된다.
이와 같이 서로 다른 물리 계층이 존재하기 때문에 Auto-Negotiation와 같은 동작도 서로 다른 방식으로 정의되어진다. 전기 신호의경우에 속도에 상관 없이 물리적인 특성은 동일하지만 광신호는 속도에 따라서 물리적인 특성이 달라지기 때문에 원칙적으로Auto-Negotiation는 Copper 인터페이스에 대해서 정의된다. 본 글에서도 Copper 인터페이스 위주로 Auto-Negotiation에대해서 살펴보기로 한다.

3. Auto-Negotiation의 기본 원리
Auto-Negotiation를 설계할 때 기본적으로 다음과 같은 원리들을 가정하였다. 이러한 자동 configuration기술이 모든 것을 완벽하게 포함할 수는 없기 때문에 필연적으로 이와 같이 제약 사항들을 포함하게 된다.

- Auto-Negotiation는 shared media가 아닌 point-to-point link에 대해서 정의된다.
Auto-Negotiation는 데이터 통신을 수행하기 위한 두 개의 장비 사이에서의 속도 및 통신 방식을 맞추기 위한 기술이므로 shared media가 아닌 point-to-point link에서 동작한다.

- Auto-Negotiation는 Link의 초기화 과정에서만 수행된다.
Auto-Negotiation는 장비가 초기화되어 link를 설정하는 초기 단계에서만 수행된다. 즉 정상적으로 동작하는 중간에 Auto-Negotiation가수행되는 일은 없으며 이런 개념에서 Auto-Negotiation는 Quasi-static한 configuration 과정이다. 따라서Link Up 상태에서 Auto Nego가 다시 수행되지는 않으며 속도 및 통신 방식을 변경하기 위해서는 반드시 Link가down된 후 Auto-Negotiation를 재수행해야한다.

- Auto-Negotiation의 신호는 실제 신호와는 다른 방식을 사용한다.
Auto-Negotiation는 속도나 통신 방식이 결정되기 이전의 통신 방식이기 때문에 실제 통신 속도와는 무관하게 매우 간단한 신호 및 통신방식을 사용한다. 모든 속도 및 통신 방식에서 동일하게 적용될 수 있는 간단한 신호 방식이 채택되었다.

- Auto-Negotiation의 기본 원리는 "Advertise"
Auto-Negotiation의 기본 원리는 "Advertise" 방식이다. 즉 여러 가지 전송 방식 중에서 자신이 지원 가능한 방식을 서로상대방에게 광고(Advertise)하고 이들 중에서 가장 우수한 방식(HCD, Highest CommonDenominator)을 상호 채택하는 방식이다. 따라서, 초기에 케이블을 꽂으면 장비는 자신이 수행가능한 통신 방식을전송(광고)하고 상대방의 전송된 기능(광고)을 보아 자신의 기능과 비교하여 가장 우수한 통신 방식을 두 장비 사이의 통신방법으로 결정하는 것이다.

- Auto-Negotiation는 확장 가능하다.
Auto-Negotiation는 기본적으로 16bit 단위의 "page"를 기본 통신 단위로 삼는다. 이 16bit field에 자신의 기능을 담은field가 정의되어 있고 추가로 광고할 내용이 있는 경우에 16bit field의 맨 마지막에 있는 Next-page라는bit를 이용하여 추가로 주고받을(Nego) 정보가 있음을 알리게 된다.

- Auto-Negotiation의 이더넷에서만 사용이 가능하다.
Auto-Negotiation는 이더넷이 아닌 통신 규약을 따르는 장비와는 호환되지 않는다. RJ-45 커넥터를 사용하면서도 이더넷이 아닌 Token Ring방식 등을 사용하는 장비들이 있는데 이들에는 사용할 수 없는 기술이다.

4. Auto MDI/MDI-X
10/100/1000Base-T 기반의 이더넷에서 사용하는 UTP Cable은 양 쪽이 동일한 pin 번호를 갖도록 연결된 StraightCable과 2개의 pair 단위로 서로 꼬아서 연결해서 만든 Cross Cable의 두 가지 종류가 존재한다.(물론 여기에도10/100 용과 1000 용이 약간 다르다.) 때문에 어떤 케이블을 사용해야 하는지를 잘 모르는 경우가 발생하고 경우에따라서는 통신이 잘 안 되는 경우도 생기게 된다. 이러한 오류를 보완하기 위해서 Auto MDI/MDI-X 라는 기능이 최근의스위치 장비에서 대부분 지원하는데 이는 Auto-Negotiation 동작 이전에 Cable의 종류를 사전에 detect하여 어떤 종류의케이블을 사용하더라도 통신에 문제가 생기지 않게 지원하는 기술이다. 어떤 경우라도 한 쪽의 Tx는 다른 쪽의 Rx와 연결되어야통신이 되는데 Tx끼리 연결되고, Rx끼리 연결되면 자동으로 자신의 Tx와 Rx를 바꾸어 주게 된다.
하지만 이 경우에 양 쪽에서 모두 이 기능을 제공하여 계속해서 Tx와 Rx를 바꾸는 동작을 하게 된다면? 모를 일이다. 가끔씩 잘 되어야 할텐데 이상하게 Auto-Negotiation가 안 될 경우에는 케이블의 종류를 바꾸어서 테스트를 해 볼 것을권한다.(싫음 말구) Auto MDI/MDI-X는 Auto-Negotiation의 부가적인 기능으로 제공되는 것이 보통이기 때문에Auto-Negotiation를 disable하고(강제 모드로 설정하고) port를 사용하게 되면 Auto MDI/MDI-X 도 동작하지않게 될 것이다

출처 - http://dokydoky.tistory.com/189

'전자공학 > 전자회로' 카테고리의 다른 글

RC 회로의 임피던스  (1) 2016.12.08
MCU) SPI 통신 및 CC2420란?  (0) 2016.05.31
USB to UART 설계 !! 기초부터 설계까지 !!  (0) 2016.05.31
데이터시트 읽는 방법  (4) 2016.04.12
Transformer에 대해서(변압기)  (1) 2016.03.23