Skip to content

Latest commit

 

History

History
70 lines (66 loc) · 7.28 KB

스위칭허브.md

File metadata and controls

70 lines (66 loc) · 7.28 KB

스위칭 허브

스위칭 허브는 MAC 주소를 조사해!

RJ-45커넥터PHY(MAU) 회로MDI-X로 접속되어 있고, 트위스트 페어 케이블에서 신호가 들어오면 PHY(MAU) 회로에서 공통의 신호 형식으로 변환하여 MAC회로로 보냅니다.
MAC회로에서 디지털 데이터로 변환한 후 패킷의 FCS를 검사한 뒤 문제가 없으면 버퍼 메모리에 데이터를 저장합니다.

이 과정은 리피터 허브와 동일하고, 스위칭 허브의 커넥터, 그리고 이와 연결 된 회로 부분을 포트라고 부르므로 각 허브의 포트는 PC의 LAN 어댑터와 거의 같습니다.
다른 점은 LAN 어댑터에는 MAC 주소가 할당되어 있어서 수신한 패킷의 수신처 MAC 주소가 자신에게 할당 된 것이 아니면 폐기하지만 스위칭 허브의 포트는 수신처 MAC 주소를 검사하지 않고 모든 패킷을 수신하여 버퍼 메모리에 저장하기 때문에 스위칭 허브의 포트에는 MAC 주소가 할당되어 있지 않습니다.

우선 패킷을 받아 버퍼 메모리에 저장하고 나면 스위치는 수신처 MAC 주소를 MAC 주소표에 등록 된 값들과 비교합니다.
MAC 주소표에는 패킷을 수신할 때 수신 포트와 송신처의 MAC 주소를 함께 등록 해 둡니다.
이를 이용해 어느 포트에서 송신하면 좋을지를 판단하고 스위치 회로를 경유하여 송신측의 포트로 패킷을 보냅니다.

스위치 회로를 경유하여 송신측의 포트에 패킷을 운반하면MAC 회로PHY(MAU) 회로가 송신 동작을 실행하고 케이블에 신호가 흘러갑니다.
이후 동작은 모두 LAN 어댑터와 같습니다.

스위칭 허브는 패킷을 중계하면서 MAC 주소표의 내용을 지속하여 갱신합니다.
갱신에는 두 가지가 있는데 하나는 등록이고 다른 하나는 삭제입니다.

등록은 패킷을 수신 했을 때 송신처 MAC 주소를 조사하여 수신한 입력 포트와 함께 MAC 주소표에 등록하는 동작입니다.
패킷이 들어온 포트의 앞에 패킷을 송신한 기기가 있을 것이기 때문에 송신처 주소를 등록해 두면 MAC 주소로 갈 패킷을 수신했을 때 이것이 존재하는 포트에 중계 할 수 있습니다.
스위칭 허브는 패킷을 수신 할 때마다 이 동작을 실행하고, 한 번이라도 패킷을 송신하면 해당 기기의 MAC 주소MAC 주소표에 등록합니다.

삭제는 기기를 이동한 경우의 불편함을 방지하기 위한 것으로 일정 시간이 지나면 자동으로 사용되지 않는 값을 MAC 주소표에서 삭제합니다.
기기를 이동 한 곳에서는 송신과 함께 MAC 주소표에 등록 되기 때문에 문제가 없지만 기존의 MAC 주소가 살아 있을 경우 문제가 생기기 때문입니다.
이처럼 스위칭 허브는 MAC 주소를 스스로 등록하고 수정하고, 주소표 내용에 문제가 생긴 경우라도 직접 기기를 재시작하여 리셋이 가능합니다.



스위칭 허브의 예외

스위칭 허브가 리피터 허브와 연결 되어 있을 경우 예외가 발생 할 수 있습니다.

같은 리피터 허브에 연결 된 A에서 B로 보낼 경우 리피터 허브는 연결 된 모든 신호 선에 패킷을 중계합니다.
이때 A, B가 패킷을 각 하나씩 받습니다.
이때 스위칭 허브는 B로 갈 패킷임을 확인하여 다시 돌려보내게 되어 B는 또 다시 패킷을 받습니다.
이 상황은 다시말해 스위칭 허브 입장에서는 리피터 허브로부터 받은 패킷을 돌려주려면 동일 포트로 다시 패킷이 나가야 하기 때문에 주소표에 등록되어 있는 송신 포트가 패킷을 수신한 포트와 같은 경우가 됩니다.

이런 상태로는 통신 동작이 제대로 이뤄지지 않기 때문에 스위칭 허브는 패킷을 반송하지 않고 폐기합니다.

또 다른 예외 상황으로 MAC 주소표에 등록 되지 않은 경우가 있을 수 있습니다.
주소의 기기에서 패킷이 한번도 스위칭 허브에 도착하지 않은 경우나 일정 시간이 지나 주소표에서 삭제된 경우입니다.

이 경우엔 어느 포트로 송신해야 할지 판단 할 수 없기 때문에 패킷을 수신한 포트를 제외한 전체 포트로 송신합니다.
이 동작을 통해 어딘가에 있을 MAC 주소의 수신처에서 수신응답을하고 응답을 보내면 주소표에 등록합니다.
예외 상황은 아니지만 이와 같이 전체 포트로 송신하는 경우는 수신처 MAC 주소가 브로드캐스트 주소일 경우입니다.

  • LAN 브로트 캐스트 주소 FF:FF:FF:FF:FF:FF
  • IP 주소 255.255.255.255


전이중 모드

송신과 수신을 동시에 실행 할 수 있는 특징으로 리피터 허브의 반이중 모드와 다른 스위칭 허브의 특징입니다.
트위스트 페어 케이블의 신호선과 케이블이 연결 된 대상인 스위칭 허브의 포트 부분이나 LAN 어댑터에 있는 PHY(MAU) 회로 MAC 회로의 내부는 송신용수신용으로 나뉘어져 있어 신호가 따로 흐르기 때문에 신호가 충돌하지 않습니다.

이더넷에서의 규칙은 한번에 한 신호만 흐르는 것이기 때문에 스위칭 허브여도 일단은 대기해야 했지만 이 문제도 동시 송신이 가능하도록 이더넷의 규칙을 개정하여 신호의 충돌을 검출하는 회로를 무효화하는 모드를 추가하는 것으로 해결했습니다.
이 모드가 바로 전이중 모드입니다.

전이중 모드가 등장함에 따라서 접속 상대가 전이중 모드를 지원하는지 검출하고 자동으로 동작 모드를 전환하는 자동 조정 기능이 추가 되었습니다.

이더넷은 데이터가 흐르고 있지 않을 때는 링크 펄스라는 펄스형의 신호를 흘리는데 이 신호는 헬스 체크 신호라고 볼 수 있습니다.
덕분에 신호선에는 항상 무언가의 신호가 흐르게 되고, 이를 통해 상대가 올바르게 작동하는지, 단선이 된건 아닌지 등을 판단 할 수 있습니다.

보통 이더넷의 기기에는 커넥터 주변에 초록 LED 표시 등을 두는데, 이것이 켜져 있으면 PHY(MAU) 회로케이블펄스형 신호가 흐른다는 의미이므로 기기에 이상이 없다는 것을 보여줍니다.

펄스 신호는 설명한것과 같이 헬스 체크용으로만 사용했지만 이후에는 지원하는 전송 속도동작 모드를 상대에게 알려 조정 기능을 통해 최적의 동작 모드를 설정하도록 알리는 용도로 발전했습니다.

이때 사용하는 방법은 홀수 번째 펄스 신호를 타이밍을 위해 일정 간격으로 보내는 무의미한 값으로 사용하고 짝수 번째 펄스 신호의 전송 유무 패턴에 의미를 부여하여 동작 모드 등을 전달합니다.