전체상품목록 바로가기

본문 바로가기


현재 위치
  1. 게시판
  2. 자료실-통신관련

자료실-통신관련

광통신,시리얼통신,무선통신 및 네트웍통신관련 자료실입니다.

게시판 상세
제목 Auto Negotiation이란( Copper통신 과 광통신에서)
작성자 엑사통신 (ip:)
  • 평점 0점  
  • 작성일 2018-05-27 14:38:30
  • 추천 추천하기
  • 조회수 8145

Auto Negotiation http://blogimgs.naver.net/imgs/nblog/spc.gif이란( Copper 와 광통신에서) http://blogimgs.naver.net/imgs/nblog/spc.gif

출처: http://blog.naver.com/cisluser/10003311634  

 

일반적으로 Auto Nego는 서로 다른 2개의 장비 사이에 통신 속도나 방법에 대해서

자동으로 감지할 수 있는 기능을 의미한다.

 

따라서 Auto Nego는 기본적으로 양쪽이 모두 Auto Nego 기능이 가능해야 정상적으로

동작할 수 있으며 어느 한 쪽이 Auto Nego 설정이 되어 있지 않은 경우에 다른 한 쪽이

Auto Nego 기능이 있으므로 이를 맞추어 줄 수 있는 것은 아니다.

일반적으로 이 경우에 통신이 되지 않는 것이 보통이다.

 

간혹 어느 한 쪽이 Auto Nego가 되어 있고 다른 한 쪽이 Forced로 설정이 되어 있는 경우에

통신이 되는 경우도 있고 되지 않는 경우도 있다고 알고 있는 경우가 있는데 이는 원칙적으로

잘못 알고 있는 것이며, 아주 특별한 경우에 조건이 맞아서 통신이 되는 경우가 있는데

이를 parallel detection 기능이라 한다.

 

Auto Nego가 실행되도록 설정이 된 장비에서 Auto Nego가 되지 않을 경우에

여러 가지 상태로 장비가 놓일 수 있는데,

 

 - Auto Nego를 정기적으로 재 실행

 - Port disable

 - Port 강제 설정

 

등의 방법을 생각해 볼 수 있을 것이다.

 

이 중에서 Port 강제 설정이라는 것이 있는데,

요즘 신호 처리 기술의 발달로 통신 속도의 경우에 자동으로 검출할 수 있기 때문에

Duplex 설정을 Half로 맞추고 속도는 자동 검출한 상태로 변경하는 기능이 있다.

이러한 기법을 parallel detection이라 부르며 위와 같이 Auto Nego가 실패한 경우에

상대방의 속도를 자동 감지한 후 통신 상태를 half duplex로 설정하는 방법을 말한다.

 

이 경우에 상대방이 forced half duplex로 설정이 되어 있으면 통신이 되는 것이고

그렇지 않고 full duplex로 설정이 되어 있었다면 통신에 실패했을 것이다.

 

따라서, 결론은....

1. Auto Nego를 사용할 때에는 반드시 양쪽 다 이 Auto Nego 기능을 사용해라.

2. 그렇지 않을 경우에는 양쪽다 forced로 사용하고 통신 방법을 맞추어라.

3. 이런 것이 불가능할 경우에는 불가항력적으로 half duplex로 설정하고 사용해라.(Forced밖에 사용할 수 없는 경우)

웬만하면 이 기능은 사용하지 마라. ~~~

 

 

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

 

1. Auto-Nego의 개념

   Auto-Nego란 상대방의 전송 속도나 통신 방식을 모른 채로 상대 장비와의 통신을 위한 준비(?)를 자동으로 맞추어 주는 기술을 말한다. 요즘 개발되는 네트워크 장비의 기본적인 사양이 되고 있으며 커넥터에 케이블을 꽂으면 자동으로 속도와 통신 방식을 맞추어 설정이 된다. 예를 들어 10M 전용 장비와 10/100M 겸용 장비를 연결하게 되면 10Mbps로 통신 방식이 설정되도록 하는 기술이다.

   Auto-Nego의 개념이 필요하게 된 것은 100Mbps 이더넷 기술이 정의되면서 10Mbps 기술과 동일한 connector(RJ-45)를 사용하게 되었기 때문이다. 이전의 이더넷 기술들은 서로 다른 방식의 기술의 경우에는 사용하는 connector가 달랐기 때문에 케이블을 잘못 꼽게 될 수가 없었지만 10Base-T에 이어 100Base-Tx RJ-45를 사용하게 되면서 문제가 생기게 되었다. 이를 위해서 서로 다른 전송 속도, Flow-control 등에 상관 없이 자동으로 상대방과 협의(Nego?)하여 두 장비 사이의 통신 방식을 맞추게 하는 기술이 개발되었는데 이것이 바로 Auto-Nego의 기능이다.

   Auto-Nego에서 가장 중요하게 다루는 것이 바로 속도와 통신 방식(Half duplex or Full duplex)이다. 속도의 경우에는 오늘날 Gigabit Ethernet의 상용화로 10/100/1000Mbps의 세 가지 방식이 존재하고 통신 방식은 Half duplex Full duplex의 두 가지 방식이 있다.

 

     - 속도 : 10/100/1000Mbps

     - 통신 방식 : Full Duplex or Half Duplex

 

 

 

2. 물리 계층의 종류와 Auto-Nego

   현재 이더넷에서 사용되는 물리 계층의 종류는 크게 전기 신호를 이용하는 Copper 인터페이스와 광신호를 이용하는 Fiber 인터페이스로 구분할 수 있다. Copper Fiber라는 용어는 각각의 인터페이스가 전기 신호는 구리선(Copper wire)을 사용하고 광신호는 광케이블(Fiber cable)을 사용하기 때문에 붙여진 이름이다. Copper 인터페이스를 통해 전기 신호를 주고 받을 때에는 전기 신호의 레벨을 이용하여 데이터를 주고 받고 Fiber 인터페이스를 이용할 경우에는 레이저를 이용해 일정한 파장을 갖는 신호의 펄스를 발생시켜 데이터를 주고 받게 된다.

   이와 같이 서로 다른 물리 계층이 존재하기 때문에 Auto-Nego와 같은 동작도 서로 다른 방식으로 정의되어진다. 전기 신호의 경우에 속도에 상관 없이 물리적인 특성은 동일하지만 광신호는 속도에 따라서 물리적인 특성이 달라지기 때문에 원칙적으로 Auto-Nego Copper 인터페이스에 대해서 정의된다. 본 글에서도 Copper 인터페이스 위주로 Auto-Nego에 대해서 살펴보기로 한다.

 

 

 

3. Auto-Nego의 기본 원리

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

 

- Auto-Nego shared media가 아닌 point-to-point link에 대해서 정의된다.

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

 

- Auto-Nego Link의 초기화 과정에서만 수행된다.

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

 

- Auto-Nego의 신호는 실제 신호와는 다른 방식을 사용한다.

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

 

- Auto-Nego의 기본 원리는 "Advertise"

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

 

- Auto-Nego는 확장 가능하다.

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

 

- Auto-Nego의 이더넷에서만 사용이 가능하다.

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

 

 

 

4. Auto-Nego의 동작 방식

   Auto-Nego는 실제로 통신을 수행하기 전에 간단한 방식으로 데이터를 주고 받는 과정이다. Auto-Nego를 통해서 주고 받는 데이터의 포맷은 다음과 같은 16bit 단위의 "page"로 이루어져 있다.

0 1  2  3  4  5  6  7  9  8 10  11  12  13  14  15

 

 

 

 

 

 

 

 

 

 

 0 0 0 0 1           {Reserved}

 

 Message Type

(Ethernet = 0 0 0 0 1)

10 BASE-T Half-Duplex

10 BASE-T Full-Duplex

100 BASE-TX Half-Duplex

100 BASE-TX Full-Duplex

100 BASE-T4 Half-Duplex

Flow Control Support

Remote Fault Indicator

Acknowledgement

Next Page Present

 

 

 

   위의 데이터는 16bit base page와 그 의미를 나타낸 것이다. 위와 같은 16bit 단위의 데이터를 기본적으로 주고 받으며 맨 마지막에 있는 bit와 같이 추가적인 정보가 있는지를 나타내는 bit가 항상 있어서 데이터의 크기는 확장이 가능하게 된다.

 

 

5. Auto-Nego의 물리적인 신호(10/100)

   Auto-Nego가 위의 4번과 같이 일정한 format의 데이터를 주고 받는다고 설명한 바 있는데 이제 실제로 어떤 물리적인 모습으로 신호를 주고 받는지를 살펴보도록 한다. Auto-Nego에서는 clock과 데이터 bit를 순차적으로 일정한 크기의 펄스를 주고 받음으로써 정보의 교환이 이루어지도록 한다. 좀 더 자세한 이해를 위해 아래의 그림을 살펴보도록 하자.

 

Clock Data 0  |  Clock  Data 1  |  ...... | Clock  Data 14  |  Clock  Data 15

 

 

 

 

 

 

 

100ns nominal    62.5us nominal                                         2ms nominal

 

 

   위의 그림과 같이 중간에 clock pulse가 삽입된 형태로 각각의 data bit에 해당하는 bit pulse 혹은 GND 상태로 신호가 전송된다. 이와 같은 Auto-Nego 신호는 Auto-Nego가 종료될 때까지 약 16ms의 간격으로 계속해서 반복된다.

 

 

6. Optical Fiber Auto-Nego

   지금까지 설명한 내용들은 사실상 RJ-45 connector를 기반으로 하는 Copper 인터페이스에 대한 설명이었다. Optical fiber를 사용하는 Fiber 인터페이스의 경우에는 사실상 Auto-Nego라는 것이 어렵게 된다. Laser 펄스를 이용하는 Fiber 인터페이스는 서로 다른 파장을 사용하게 될 경우에 신호 교환 자체가 성립되지 않기 때문에 기본적으로 Auto-Nego라는 것 자체가 의미가 없고 항상 Manual 설정을 하도록 되어 있다. 다만, 1000 Base-X의 경우에는 양 쪽 모두가 1000Mbps인 것을 가정한 경우에 나머지 정보에 대해서는 Auto-Nego가 정의가 되도록 되어 있다. 이 경우에 10M, 100M에 대해서 고려할 필요도 없고 속도가 항상 1000M임이 가정되었기 때문에 1000 Base-X 신호가 그냥 사용된다. 결론적으로 Optical Fiber에서 Auto-Nego는 다음과 같이 생각할 수 있다.

 

   - Half or Full duplex

   - Flow control

 

 

   위의 데이터는 각각 다음과 같은 의미를 갖게 된다.

 

Local Device

Link Partner

Result

PAUSE

Asymmetry Direction

PAUSE

Asymmetry Direction

0

0

Any

Any

No flow control

0

1

0

Any

No flow control

0

1

1

0

No flow control

0

1

1

1

Asymmetric operation toward link partner

1

0

0

Any

No flow control

1

Any

1

Any

Symmetric flow control

1

1

0

0

No flow control

1

1

0

1

Asymmetric operation toward link partner

 

 

Remote Fault의 의미는 다음과 같이 해석할 수 있다.

Remote Fault 1

Remote Fault 2

Indication

0

0

No error

0

1

Device offline(link disabled)

1

0

Link failure

1

1

Auto-Nego error

 

 

7. Auto MDI/MDI-X

   10/100/1000 Base-T 기반의 이더넷에서 사용하는 UTP Cable은 양 쪽이 동일한 pin 번호를 갖도록 연결된 Straight Cable 2개의 pair 단위로 서로 꼬아서 연결해서 만든 Cross Cable의 두 가지 종류가 존재한다.(물론 여기에도 10/100 용과 1000 용이 약간 다르다.) 때문에 어떤 케이블을 사용해야 하는지를 잘 모르는 경우가 발생하고 경우에 따라서는 통신이 잘 안 되는 경우도 생기게 된다. 이러한 오류를 보완하기 위해서 Auto MDI/MDI-X 라는 기능이 최근의 스위치 장비에서 대부분 지원하는데 이는 Auto-Nego 동작 이전에 Cable의 종류를 사전에 detect하여 어떤 종류의 케이블을 사용하더라도 통신에 문제가 생기지 않게 지원하는 기술이다. 어떤 경우라도 한 쪽의 Tx는 다른 쪽의 Rx와 연결되어야 통신이 되는데 Tx끼리 연결되고, Rx끼리 연결되면 자동으로 자신의 Tx Rx를 바꾸어 주게 된다.

   하지만 이 경우에 양 쪽에서 모두 이 기능을 제공하여 계속해서 Tx Rx를 바꾸는 동작을 하게 된다면?  모를 일이다. 가끔씩 잘 되어야 할텐데 이상하게 Auto-Nego가 안 될 경우에는 케이블의 종류를 바꾸어서 테스트를 해 볼 것을 권한다.(싫음 말구) Auto MDI/MDI-X Auto-Nego의 부가적인 기능으로 제공되는 것이 보통이기 때문에 Auto-Nego disable하고(강제 모드로 설정하고) port를 사용하게 되면 Auto MDI/MDI-X 도 동작하지 않게 될 것이다. 참고하시길...

[출처] Auto Negotiation (2)|작성자 패션리더



첨부파일
비밀번호 수정 및 삭제하려면 비밀번호를 입력하세요.
관리자게시 게시안함 스팸신고 스팸해제 목록 삭제 수정 답변
댓글 수정

비밀번호 :

수정 취소

/ byte

비밀번호 : 확인 취소

댓글 입력
댓글달기 이름 : 비밀번호 : 관리자답변보기

영문 대소문자/숫자/특수문자 중 2가지 이상 조합, 10자~16자

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

관리자에게만 댓글 작성 권한이 있습니다.



장바구니 0
 

WORLD SHIPPING

PLEASE SELECT THE DESTINATION COUNTRY AND LANGUAGE :

GO
close