[Ethernet] Auto-Negotiation이란?
목차
Introduction
Ethernet Auto-Negotiation은 switch, router, server 또는 기타 장치의 Port가 링크의 다른 쪽 끝에 있는 장치와 통신하여 연결에 대한 최적의 양방향 모드와 속도를 결정할 수 있도록 하는 기능입니다. 여기서는 Ethernet Auto-Negotiation의 세부 사항, 작동 방식, 네트워크 통신에서의 중요성에 대해 이야기하려고 합니다.
What is Ethernet Auto-Negotiation?
Ethernet Auto-Negotiation은 Ethernet 네트워크를 통해 연결된 장치가 속도, 이중 모드, flow control와 같은 전송 매개변수에 합의할 수 있도록 하는 프로토콜입니다. 이 프로세스에는 장치가 각자의 기능을 공유한 다음 둘 다 지원하는 highest performance transmission mode를 선택하는 과정이 포함됩니다.
Speed and Duplex
인터페이스의 속도는 일반적으로 초당 메가비트(Mbps)로 표시됩니다. 일반적인 Ethernet 속도에는 10Mbps, 100Mbps, 1,000Mbps가 있습니다. 1,000Mbps Ethernet은 Gigabit Ethernet이라고도 합니다.
이중은 인터페이스에서 데이터가 흐르는 방식을 나타냅니다. 반이중 인터페이스에서는 특정 조건이 만족하는 시간에만 데이터를 전송하거나 수신할 수 있습니다. 양방향 무전기의 대화는 일반적으로 반이중 방식이며, 각 사람이 버튼을 눌러야 대화할 수 있고, 대화하는 동안에는 다른 사람이 들을 수 없습니다. 반면 전이중 인터페이스는 데이터를 동시에 송수신할 수 있습니다. 전화 통화는 전이중 방식입니다.
How Auto-Negotiation Works
Auto-negotiation은 프로토콜이며, 다른 프로토콜과 마찬가지로 링크의 양쪽에서 모두 실행 중인 경우에만 작동합니다. 따라서 링크의 한쪽에서 Auto-negotiation을 지원하고 실행중이고 다른 쪽에서는 Auto-negotiation이 지원하지 않거나 실행되지 않는 경우 Auto-negotiation은 다른 쪽의 속도 및 이중화 구성을 결정할 수 없습니다. 간단하게 말해 두 기기(링크)에서 모두 Auto-negotiation를 지원하고 실행해야한다는 말입니다. 각 인터페이스는 작동할 수 있는 속도와 이중 모드를 알리고 가장 적합한 것을 선택하게 됩니다. 높은 전송속도 와 전이중모드가 선호됩니다.
When Auto-Negotiation Fails
10/100 links에서 auto-negotiation이 실패하는 경우, 가장 가능성이 높은 원인은 링크의 한쪽이 100/full로 설정되어 있고 다른 쪽이 auto-negotiation으로 설정되어 있기 때문입니다. 이 경우 한쪽은 100/full, 다른 쪽은 100/half으로 설정됩니다.
Half-Duplex vs Full-Duplex
반이중 환경에서는 수신(Rx) 라인이 모니터링됩니다. 따라 수신 링크에 프레임이 있는 경우 수신 라인이 비워질 때까지 프레임이 전송되지 않습니다. 송신(Tx) 라인에서 프레임이 전송되는 동안 수신(Rx) 라인에서 프레임이 수신되면 충돌이 발생합니다. 충돌이 발생하면 임의의 백오프 지연 후 collision error counter가 증가하고 송신 프레임이 재전송됩니다.
전이중 작동에서는 Rx 라인은 모니터링되지 않으며 Tx 라인은 항상 사용 가능한 것으로 간주됩니다. 전이중 모드에서는 수신 및 송신 라인이 완전히 독립적이므로 충돌이 발생하지 않습니다.
Half-Duplex
Full-Duplex
Misconfiguration
링크의 한 쪽이 전이중이고 다른 쪽이 반이중이면 반이중 쪽에서 많은 충돌이 발생합니다. 전이중 쪽은 Rx 라인을 확인하지 않고 프레임을 전송하기 때문에 사용 중인 장치인 경우 반이중 쪽이 전송하는 동안 프레임을 전송하는 경우가 많습니다. 이로 인해 반이중 측에서 충돌이 발생합니다. 그러면 반이중 측이 전송을 중지하고 충돌 카운터를 증가시킨 다음 임의의 백오프 지연 후 프레임을 재전송합니다. 전이중 측에서는 충돌을 인식하지 못한 채 프레임을 계속 전송합니다. 이로 인해 반이중 측에서 많은 수의 충돌이 발생하고 반이중 측이 Switch 포트인 경우 많은 수의 지연 충돌이 발생합니다.
The Importance of Ethernet Auto-Negotiation
Ethernet Auto-Negotiation은 최신 네트워킹에서 매우 중요한 기능입니다. 이 기능을 사용하면 디바이스 간의 원활한 통신을 통해 연결의 양쪽 끝이 가능한 최고 성능 수준에서 작동하도록 보장할 수 있습니다. 이는 다양한 성능의 디바이스가 서로 연결되어 있는 대규모 네트워크에서 특히 중요합니다. Auto-Negotiation은 이러한 디바이스가 수동 개입 없이도 효과적으로 통신할 수 있도록 보장합니다.
Efficiency and Flexibility
Ethernet Auto-Negotiation은 네트워크 관리에 효율성과 유연성을 제공합니다. 최적의 전송 매개변수를 자동으로 결정하기 때문에 수동 구성이 필요하지 않아 시간을 절약하고 구성 오류의 위험을 줄일 수 있습니다. 또한 Auto-Negotiation 프로세스가 새 디바이스의 기능에 맞게 전송 parameter를 자동으로 조정하므로 호환성 문제에 대한 걱정 없이 네트워크 디바이스를 업그레이드할 수 있는 유연성도 제공합니다.
Preventing Duplex Mismatch
Auto-Negotiation의 주요 이점 중 하나는 이중(duplex) 불일치 방지입니다. 이중 불일치는 두 개의 연결된 장치가 서로 다른 이중 모드로 구성되어 있을 때 발생합니다. 이는 네트워크 성능에 심각한 영향을 미쳐 전송 속도가 느려지고 충돌률이 증가할 수 있습니다. 자동 협상은 통신이 시작되기 전에 두 장치가 이중 모드에 대해 서로 동의함으로써 이를 방지합니다.
- 이중(duplex) 모드: Ethernet 연결에서 데이터 전송을 위해 사용되는 두 가지 모드 중 하나입니다. 전이중(full duplex) 모드에서는 두 장치가 동시에 데이터를 전송하고 수신할 수 있습니다. 반이중(half duplex) 모드에서는 한 장치가 데이터를 전송할 때 다른 장치는 데이터를 수신할 수 있습니다.
- 충돌(collision): 두 개의 장치가 동시에 같은 Ethernet 채널을 사용하여 데이터를 전송할 때 발생합니다. 충돌은 데이터 손실과 성능 저하를 유발할 수 있습니다.
Auto-Negotiation은 네트워크 성능을 최적화하고 장치 간 충돌을 방지하는 데 도움이 될 수 있습니다. 따라서 Ethernet 연결을 설정할 때 Auto-Negotiation을 활성화하는 것이 좋습니다.
Ethernet Auto-Negotiation and Gigabit Ethernet
Ethernet Auto-Negotiation 프로토콜은 Gigabit Ethernet 도입으로 크게 확장되었습니다. twisted pair을 통한 Gigabit Ethernet의 경우 auto-negotiation은 필수입니다. 즉, Gigabit Ethernet을 지원하는 모든 장치는 auto-negotiation도 지원해야 합니다.
Master-Slave Parameters
속도 및 이중 모드 외에도 auto-negotiation은 Gigabit Ethernet의 마스터-슬레이브 매개변수를 통신하는 데에도 사용됩니다. 이를 통해 두 장치 중 어떤 장치가 마스터로 작동하고 어떤 장치가 슬레이브로 작동할지 결정됩니다. 마스터 장치는 링크의 타이밍을 제어하고, 슬레이브 장치는 자신의 타이밍을 마스터의 타이밍과 동기화합니다.
Ethernet Auto-Negotiation: FAQs
1. Can I disable Ethernet Auto-Negotiation?
예, 대부분의 네트워크 장치에서 Ethernet auto-negotiation을 비활성화할 수 있습니다. 그러나 일반적으로 권장되지 않습니다. auto-negotiation을 비활성화하면 이중 불일치 및 기타 구성 문제로 인해 네트워크 성능이 저하될 수 있습니다.
2. What happens if Ethernet Auto-Negotiation fails?
Ethernet auto-negotiation이 실패하면 장치가 속도 및 이중 모드의 최하위 공통분모로 기본 설정됩니다. 일반적으로 10Mbps의 반이중 모드입니다. 이로 인해 네트워크 성능이 크게 저하될 수 있습니다.
3. Can Ethernet Auto-Negotiation work with different brands of network devices?
예, Ethernet auto-negotiation은 IEEE 802.3 표준에서 정의한 표준 프로토콜입니다. 즉, 이 표준을 준수하는 모든 네트워크 장치에서 작동해야 합니다.
4. How can I check if Ethernet Auto-Negotiation is working?
대부분의 네트워크 장치는 Ethernet auto-negotiation 상태를 확인할 수 있는 command-line 인터페이스 또는 GUI를 제공합니다. 네트워크 모니터링 도구를 사용하여 네트워크 연결의 속도와 이중 모드를 확인할 수도 있습니다.
5. What is the difference between full-duplex and half-duplex mode?
전이중 모드에서는 데이터가 동시에 전송 및 수신될 수 있습니다. 반이중 모드에서는 한 장치가 데이터를 전송할 때 다른 장치는 데이터를 수신할 수 있습니다.
References
- https://en.wikipedia.org/wiki/Autonegotiation
- https://www.fiberoptics4sale.com/blogs/archive-posts/95041222-what-is-ethernet-auto-negotiation