kakasoo

[Network] 케이블의 앞은 LAN 기기였다 (1) 본문

프로그래밍/네트워크

[Network] 케이블의 앞은 LAN 기기였다 (1)

카카수(kakasoo) 2021. 1. 31. 17:22
반응형

여기의 글은 성공과 실패를 결정하는 1%의 네트워크 원리 책을 읽고 스터디한 내용의 결과물이다.

 

이 장에서 배우는 내용

  • 케이블과 리피터, 허브 속에서 신호가 흘러가는 모습
  • 스위칭 허버의 패킷 중계 동작
  • 라우터의 패킷 중계 동작
  • 라우터의 부가 기능

01. 케이블과 리피터, 허브 속을 신호가 흘러간다

1. 하나하의 패킷이 독립된 것으로 동작한다

컴퓨터에서 송신된 패킷은 허브나 라우터라는 중계장치에 의해 목적지를 향해 진행한다. 이 때, 중계 장치들은 데이터를 보지 않고 중계하는 역할만 한다.

내용을 보지 않으므로 애플리케이션의 데이터나 TCP 프로토콜의 제어 정보를 운반하므로, 담고 있는 데이터가 전송에 영향을 주는 일은 없다.

실제 가정에서는 여러 기기들이 하나로 통합된 단일 기기를 사용하는 경우가 많지만, 설명을 위해서 각 기능 당 하나의 기기로 된 인터넷 접속 망을 생각해보자.

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

이 챕터는 LAN 어댑테에서 패킷이 송신되어 케이블로 나가는 부분부터 시작된다. ( 하드웨어 적인 부분이라서 설명은 간략하게 진행한다. )

LAN 어댑터는 트위스트 페어 케이블 (꼰 선쌍) 을 통해서 플러스와 마이너스 전압으로 이루어진 신호를 내보낸다.

전기 신호는 케이블이 길수록, 주파수가 높을 수록 에너지가 떨어지는 비율이 높아지는데, 이렇게 되면 신호가 변형이 된다. 여기에 잡음이 끼게 되면 더욱 심각하게 변형이 이루어진다.

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

전부 다 하드웨어와 관련된 내용이므로 생략한다.

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

신호가 리피터 허브에 도달하면 LAN 전체에 신호가 흩어진다. ( 뿌려진다. )

이는 전체에 패킷의 신호를 뿌리고 수신처 MAC 주소에 해당하는 기기만 패킷을 수신한다는 원리를 그대로 실현한 것이 리피터 허브이기 때문이다.

리피터 회로는 신호를 그대로 뿌리기 때문에 잡음의 영향을 받아 변형되고, 데이터가 변화한 경우에도 그대로 흘러보낸다.

이 경우에는 다음 기기 ( 스위칭 허브, 라우터, 서버 ) 등에 도달하여 디지털 데이터로 변환되고, FCS를 검사하는 곳에서 데이터 변화가 판명된 패킷을 폐기하게 된다.

패킷이 폐기되면 응답이 돌아오지 않기 때문에 TCP 담당 부분이 다시 패킷을 보낸다.

02. 스위칭 허브의 패킷 중계 동작

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

스위치의 내부에는 MAC 주소와 포트번호를 등록한 테이블이 있고, 이를 통해 어느 포트로 접속해야 하는지를 알 수 있다. 패킷을 중계할 때에는 이 테이블을 참고한다.

스위치를 위한, 스위치 회로는, 고속 신호선으로 연결되기도 하고, 공유 메모리로 되어 있기도 하다.

먼저 신호가 커넥터 부분에 도달하여 수신되는 것까지는 리피터 허브와 동일하다.

PHY ( MAU ) 회로에서 신호를 공통의 신호형식으로 변환한 후 MAC 회로로 보낸다. 여기서 디지털 데이터로 변환을 한 후, 패킷의 맨끝에 있는 FCS에 대조하여 오류의 유무를 검사한다.

오류가 없으면 버퍼 메모리에 저장한다.

커넥터 안쪽에 있는 회로 부분을 포트 라고 부르는데, 스위칭 허브의 각 포트는 PC의 LAN 어댑터와 거의 같다.

그러나 스위칭 허브의 포트는 수신처의 MAC 주소를 검사하지 않고 모든 패킷을 수신하여 버퍼 메모리에 저장하기 때문에 스위칭 허브의 포트는 LAN 어댑터와 달리 MAC 주소가 없다.

패킷을 버퍼 메모리에 저장한 다음, 수신처의 MAC 주소와 일치하는 것이 MAC 주소표에 있는지를 조사한다. 있을 경우에는 어느 포트에서 송신하면 되는지 확인한다.

스위치 회로의 구조

바둑판 같은 격자 모양 신호선이 있고, 각 신호선의 교점에는 스위치가 있다. 신호를 흘리면 신호선이 연결된 곳 전체로 신호가 흘러 들어 간다.

패킷이 충돌할 경우 재밍 신호를 보낸 후 송신을 중지했다가 다시 보내는 것, 이러한 부분은 LAN 어댑터와 같다.

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

스위칭 허브는 패킷을 중계할 때 MAC 주소표의 내용을 갱신하는 동작도 실행한다.

갱신은 두 종류가 있는데, 하나는 패킷을 수신했을 때 송신처 MAC 주소를 조사하고, 이것을 수신한 입력 포트 번호와 하나의 세트로 MAC 주소표에 등록하는 것이다.

다른 한 동작은 삭제하는 동작이다.

노트북을 가진 유저가, 노트북을 들고 방에서 나와 회의실로 갔다고 했을 때, 스위칭 허브에서는 이러한 사실을 알 방법이 없으므로 주기적으로 오래된 정보를 삭제하는 것이다.

그러나 이런 주기에서도 패킷이 잘못 도착하는 경우가 나타날 수는 있는데, 이 경우에는 스위칭 허브를 리셋하여 MAC 주소표를 전부 지운 후 재작동한다.

따라서 스위칭 허브를 수동으로 등록 및 삭제할 필요성은 없다.

3. 예외적인 동작

PC A와 PC B, 스위칭 허브가 리피터 허브를 중계로 두고 연결되어 있는 경우, PC A에서 신호를 보내면 리피터 허브를 통해 전 회로로 신호가 보내진다.

따라서 PC B에는 신호가 흐른다.

여기서, 스위칭 허브는 리피터 허브에 자신이 받은 신호를 반송하게 되면 리피터 허브로 돌아가 다시 전체로 신호가 흘러보내져서 PC B에는 신호가 2번 가게 된다.

PC A는 자신이 보낸 신호가 제대로 갔다고 생각한다.

이러한 착오가 생길 수 있기 때문에, 스위칭 허브에서는 송수신 포트가 서로 같은 경우에는 중계하지 않고 폐기한다.

또한, MAC 주소표에서 어느 포트로 보내야 하는지 판단할 수 없는 경우에도 수신한 포트 이외의 전체 포트에 패킷을 송신한다. 어딘가에는 있을 것이기 때문에 그러하다.

이런다고 해서 딱히 문제가 생기지는 않는다. 자신의 수신처 MAC 주소와 일치하지 않으면 기기는 패킷을 무시하기 때문이다.

마지막으로, 수신처 주소가 브로드캐스트 주소인 경우에도 수신 포트를 제외한 모든 포트에 패킷을 송신한다.

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

전이중 모드는 송수신을 동시에 실행할 수 있는 성질로, 리피터 허브에는 없는 스위칭 허브만의 특징이다.

여러 대의 컴퓨터가 동시에 송신 동작을 하게 되면 리피터 허브 내부에서 신호가 뒤섞여서 신호가 파괴된다. 이러한 것을 충돌이라고 부르는데, 스위칭 허브에는 이러한 현상이 발생하지 않는다.

이는 하드웨어적으로, 송수신 회로가 나뉘어져서 따로 흐르기 때문이다.

충돌이 일어나지 않으므로 충돌 방지 대책이 필요없고, 송수신을 동시에 실행해도 문제가 없다. 따라서 더 빠르고, 데이터의 상한선도 높다.

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

전이중 모드가 등장함에 따라 전이중 모드와 반이중 모드를 전환할 필요성이 생겼다. 상대방이 전이중 모드를 지원하는지, 반이중 모드를 지원하는지를 검출하고 자동으로 모드를 전환하는데,

이를 자동 조정 ( auto negotiation ) 이라고 한다.

이더넷은 데이터가 흐르고 있지 않을 때에는 링크 펄스라는 펄스형의 신호를 보내는데, 이를 통해 데이터가 흐르지 않아도 상대가 올바르게 작동하는지, 케이블을 멀쩡한지 확인할 수 있다.

이 펄스 신호를 통해 상대방이 지원하는 전송 방식과 속도를 알 수 있는데, 이것에는 우선 순위가 있어서 가장 빠른 것 중에서, 전이중, 반이중 순서로 신호를 맞춘다.

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

스위칭 허브는 수신처 MAC 주소의 기기 외에는 송신 동작을 실행하지 않으므로 다른 포트는 빈 상태가 된다.

반응형