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) 회로
와 케이블
에 펄스형 신호
가 흐른다는 의미이므로 기기에 이상이 없다는 것을 보여줍니다.
펄스 신호는 설명한것과 같이 헬스 체크용으로만 사용했지만 이후에는 지원하는 전송 속도
와 동작 모드
를 상대에게 알려 조정 기능
을 통해 최적의 동작 모드를 설정
하도록 알리는 용도로 발전했습니다.
이때 사용하는 방법은 홀수 번째 펄스 신호
를 타이밍을 위해 일정 간격으로 보내는 무의미한 값으로 사용하고 짝수 번째 펄스 신호
의 전송 유무 패턴에 의미를 부여하여 동작 모드 등을 전달
합니다.