다음은 성공과 실패를 결정하는 1%의 네트워크 원리 를 읽고 정리한 내용입니다. 본 글은 CH3. 케이블의 앞은 LAN 기기였다_허브와 스위치, 라우터의 탐험입니다 🙌



🛺 [Story1] 케이블과 리피터, 허브 속을 신호가 흘러간다

1. 패킷 하나하나가 독립적으로 동작한다

  • 케이블로 흘러간 패킷은 중계 장치를 경유해서 목적지에 도착한다.
  • 중계 장치는 데이터의 내용을 보지 않고 헤더에 적힌 정보만 보고 중계한다.
  • 기본적인 흐름은 LAN 어댑터 → 리피터 허브 → 스위칭 허브 → 라우터를 경유해서 인터넷으로 나가는 것이다.

2. LAN 케이블은 신호를 약화시키지 않는 것이 핵심이다

  • LAN 어댑터의 PHY(MAU)회로에서 신호가 나가 케이블에 흘러 리피터 허브의 커넥터 부분에 도착한다.
  • 이때 케이블을 이동하고 그 길이가 길어지면서 신호가 약해져서 변형된다.

3. 꼼은 잡음을 방지하기 위한 방법이다.

  • 선을 꼬게 되면서 전자파에 의한 잡음을 상쇄한다.

4. 리피터 허브는 연결되어 있는 전체 케이블에 신호를 송신한다

  • 신호가 리피터 허브에 도착하면 LAN 전체에 신호가 흩어진다.
  • 신호를 수신한 기기는 맨 앞의 MAC 헤더에 쓰인 수신처 MAC 주소를 확인하고 자신이 아니면 무시한다.
  • 이 다음 스위칭 허브, 라우터, 서버 등에 도착해서 디지털 데이터로 변환되고, FCS를 검사하는 곳에서 오류가 나면 패킷을 폐기한다.

🛺 [Story2] 스위칭 허브의 패킷 중계 동작

1. 스위칭 허브는 주소 테이블로 중계한다

  • 트위스트 페어 케이블에서 흘러온 전기 신호가 PHY(MAU)회로를 거쳐 MAC 회로로 들어온다.

  • MAC 회로에서 디지털 데이터(0101로 이루어진 데이터)로 변환되고 FCS를 대조하여 오류 유무를 검사하여 문제가 없다면 메모리 버퍼에 저장한다.

  • 스위치 허브의 안쪽에는 포트가 있다.

    • 하나의 호스트에 각각의 LAN 어댑터가 있는 것과 같이 여러개의 포트가 존재한다.
    • 하지만 LAN 어댑터와는 달리 여기에는 각각 부여된 MAC 주소는 없다. 자기에게 할당된 패킷을 걸러서 받는 것이 아니라 모든 패킷을 수신하기 때문에 자신에게 부여된 MAC 주소가 필요 없다.
  • 메모리 버퍼에 저장한 후 MAC 주소표에 수신한 패킷의 수신처 MAC 주소와 일치하는 정보가 있는지 확인한다. 이 표에는 MAC주소와 포트가 짝지어져 있다.

  • 존재한다면 해당 포트 번호로 패킷을 보낸다. 해당 포트가 송신처 포트 번호가 된다.


    출처: 상위 1% 네트워크

  • 스위치 회로는 격자 모양의 배치로 교점에 스위치가 있어 개폐를 제어할 수 있기 때문에 복수의 신호를 동시에 흘릴 수 있다.

  • 실제로 패킷을 송신하는 PHY(MAU) 회로에서 케이블로 신호가 흘러가는데 이때는 이더넷의 규칙에 따라 아무도 송신하고 있지 않는 것을 확인하고 디지털 데이터를 신호로 변환하여 송신한다.

    • LAN 어댑터와 마찬가지로 동시에 수신을 하게 되면 재밍 신호를 보낸 후 기다렸다가 재송신한다.

2. MAC 주소 테이블을 등록 및 갱신한다

이 때 스위칭 허브는 MAC 주소표의 내용을 갱신해야 한다.

  • 패킷을 수신했을 때 송신처 MAC 주소를 조사하여 수신한 입력 포트와 함께 주소표에 등록한다.
    • 따라서 한번이라도 패킷을 송신하면 MAC 주소가 주소표에 등록된다.
  • 일정 시간이 지나면 오래된 MAC 주소 정보는 삭제한다. (더이상 유효하지 않을 수 있기 때문이다)
  • 잘못된 주소로 인해 패킷 통신 동작에 오류가 생기면 스위칭 허브를 리셋하여 MAC 주소를 초기화시키고 다시 주소가 등록되도록 하면 된다.
  • 스위칭 허브 자체가 알아서 MAC 주소를 등록하므로 수동으로 갱신 및 등록 할 필요가 없다.
    • 스스로 등록, 삭제, 리셋을 한다.

3. 예외적인 동작

  • 스위칭 허브에 리피터 허브가 접속되어 있는 경우 패킷이 수신된 포트와 송신할 포트가 같을 수 있다.
    • 상황1 - A 에서 B로 패킷을 보낸다.
    • 상황2 - 리피터 허브에 A, B, 스위치 허브가 연결되어 있다.
    • 문제 - 리피터 허브에서 전체 중계할 때 B, 스위치 허브에 모두 패킷이 간다. 이때 B 에게 패킷이 도착한다. 하지만 스위치 허브에서도 패킷을 받아서 중계하기 때문에 중복된 패킷이 B에게 도착한다.
    • 위 문제를 방지하기 위해 스위칭 허브는 수신한 포트와 송신하는 포트가 같을 경우 패킷을 중계하지 않고 폐기한다.
  • 최초이거나 삭제된 이후라서 MAC 주소표에 MAC 주소가 등록되어 있지 않은 경우가 있다.
    • 패킷을 수신한 포트를 제외한 모든 포트에서 패킷을 송신한다. (이 중 하나는 올바른 포트 이므로 패킷이 잘 송신된다)
    • 잘 송신한 이후 응답이 오면 해당 MAC 주소가 주소표에 등록이 되므로 그 다음 부터는 전체에게 보내지 않아도 된다.
  • 수신처 MAC 주소가 브로드캐스트 주소인 경우 수신 포트를 제외하고 모든 포트에서 패킷을 송신한다.

4. 전이중 모드에서 송신과 수신을 동시에 실행한다

  • 스위칭 허브는 송신과 수신을 동시에 실행할 수 있는 전이중 모드다.
  • 스위칭 허브의 포트, PHY(MAU), MAC 회로 내부가 모두 송신과 수신이 나뉘어져 있다.

5. 최적의 전송 속도로 보내는 자동 조정

접속 상대가 전이중 모드를 지원하는지 검출하여 동작 모드를 자동으로 전환하고 상대의 속도도 검출한다.

6. 스위칭 허브는 복수의 중계 동작을 동시에 실행한다

  • MAC 주소가 존재하는 포트 이외의 포트는 빈 포트가 되어 송신 동작을 하지 않는다.
  • 이 비어있는 포트에 별도의 패킷을 흘려 동시에 여러개의 패킷을 중계할 수 있다.