CS/네트워크

허브와 스위치, 라우터의 동작 과정과 기능

JWonK 2023. 7. 25. 23:39
728x90
반응형

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


 

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

  • 컴퓨터에서 송신된 패킷은 허브나 라우터라는 중계 장치에 의해 중계되어 목적지를 향해 진행한다.
  • 패킷의 헤더에 기록된 제어 정보와 중계 장치의 내부에 있는 중계 대상을 등록한 표로 목적지를 판단하고 목적지에 가까워지도록 하여 패킷을 중계하는 형태이다.

 

 

 

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

  • PHY(MAU)에서 나온 신호가 RJ-45로 들어가고 허브에 도착할 땐 약해진 상태로 도착한다.
  • 약해진 신호는 변형되어 디지털 신호가 0과 1을 잘못 판독할 수 있는데, 이것이 통신 오류의 원인이다.

 

 

 

11-3. '꼼'은 잡음을 방지하기 위한 방법

  • LAN 케이블로 사용하는 트위스트 페어 케이블(꼰 선쌍)에는 이러한 잡음의 영향을 억제하는 대책이 마련되어 있는데, 이것이 '꼼'이다
  • '트위츠스 페어(꼰 쌍)'라는 말은 두 가닥의 신호선을 한 조로 하여 마주 꼬았다는 데서 붙인 이름으로, 신호선을 마주 꼬아서 잡음을 막을 수 있다.
  • 잡음의 원인은 크게 두 가지이다.
    • 케이블의 주위에서 발생하는 전기파
    • 케이블 안의 인접한 신호선에서 누설되는 전자파 : 크로스토크(crosstalk)

 

 

 

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

  • 신호가 리피터 허브에 도달하면 LAN 전체에 신호가 흩어진다.
  • 이더넷의 기본이라는 원리, 즉 전체에 패킷의 신호를 뿌리고 수신처 MAC 주소에 해당하는 기기만 패킷을 수신한다는 원리를 실현한 것이 리피터 허브이다.
  • 리피터 허브에서 PHY(MAU) 회로의 수신부에 도달한 신호는 여기부터 리피터 회로에 들어간다. 리피터 회로의 기본은 들어오는 신호를 리피터 허브의 커넥터 부분에 뿌리는 데 있다.
  • 여기에서 신호의 파형을 다듬고 오류를 억제하도록 연구한 제품도 있지만, 기본은 들어온 신호를 그대로 커넥터 부분에 송출하는 것이다.
  • 이후 신호는 모든 커넥터에서 나가면서 리피터 허브에 접속한 전체 기기에 도달한다.
  • 리피터 회로의 기본은 신호를 그대로 뿌리는 것이므로 잡음의 영향을 받아 변형되고, 데이터가 변화한 것 같은 신호라도 그대로 흘려보낸다.
  • 이 경우 신호가 다음 기기, 스위칭 허브, 라우터, 서버 등에 도달하여 디지털 데이터로 변환되고, FCS를 검사하는 곳에서 데이터 변화가 판명된 후 변화된 패킷은 폐기된다.

 

 

 

 

 

 

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


 

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

다음은  패킷이 스위칭 허브를 경유하여 흘러갈 때의 동작이다. 스위칭 허브는 이더넷의 패킷을 그대로 목적지를 향해 중계하도록 만들어져있다.

 

  1. 먼저 신호가 커넥터 부분에 도달하여 PHY(MAU) 회로에서 수신되는 부분까지는 리피터 허브와 같다. 즉 커넥터와 PHY(MAU) 회로는 MDI-X로 접속되어 있고, 트위스트 페어 케이블에서 신호가 들어오면 이것이 PHY(MAU) 회로의 수신 부분에 들어간다.
  2. PHY(MAU) 회로에서 케이블을 흐르는 신호의 형식부터 공통의 신호 형식으로 변환한 후 신호는 MAC 회로로 들어간다. 그리고 여기에서 디지털 데이터로 변환한 후 패킷의 맨 끝에 있는 FCS를 대조하여 오류의 유무를 검사하고, 문제가 없으면 버퍼 메모리에 저장한다.
  3. 스위칭 허브의 포트는 수신처 MAC 회로에는 MAC 주소가 할당 되어 있지 않아 버퍼메모리에 모두 저장한다. 버퍼 메모리에서 MAC 주소를 확인한 후 스위치 회로를 거쳐 송신한다.
  4. 스위치 회로는 LAN 어댑터와 동작이 비슷하다. 
    1. 이더넷 규칙에 따라 먼저 아무도 송신 중이지 않다는 것을 확인한다. 누군가가 송신 중이면 끝날 때까지 기다린다
    2. 송신 동작이 끝나거나 아무도 송신하지 않으면 소켓을 디지털 데이터에서 신호로 변환하여 송신한다
    3. 송신 동작 중에 다른 기기가 보낸 신호가 수신측에 들어오면 패킷이 충돌하므로 재밍 신호를 보낸 후 송신 동작을 중지하고 잠시 기다렸다가 다시 보내는 동작 원리이다.

 

 

 

 

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

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

 

  • 패킷을 수신했을 때 송신처 MAC 주소를 조사하고, 이것을 수신한 입력 포트 번호와 하나의 세트로 MAC 주소표에 등록한다. 
    • 패킷이 들어온 포트의 앞에 패킷을 송신한 기기가 있을 것이므로 송신처 주소를 등록해 두면 MAC 주소로 갈 패킷을 수신했을 때 이것이 존재하는 포트에 중계할 수 있다.
  • 사용하지 않고 일정 시간 경과한 경우 오래된 정보를 MAC 주소표에서 삭제한다.
    • 이렇게 해서 MAC 주소표의 내용은 스위칭 허브 자체가 스스로 등록하거나 삭제하므로 수동으로 등록 및 삭제할 필요가 없다

 

 

 

 

12-3. 예외적인 동작

  • 스위칭 허브는 패킷을 수신한 포트와 송신하는 포트가 같을 경우 패킷을 중계하지 않고 폐기한다
  • MAC 주소표에 수신처 MAC 주속 등록되어 있지 않은 경우 어느 포트에서 송신해야 할지 판단할 수 없으므로 패킷을 수신한 포트 이외의 전체 포트에서 패킷을 송신한다

 

 

 

 

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

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

충돌이라는 현상은 이더넷의 중요한 성질이지만, 리피터 허브를 사용하면 이러한 사태가 일어나지 않는다.

 

  • 스위칭 허브의 포트 부분이나 LAN 어댑터에 있는 PHY(MAU) 회로와 MAC 회로의 내부도 송신과 수신이 나뉘어져 있어서 신호가 따로 흐르기 때문에 충돌하지 않는다.
  • 충돌이 일어나지 않으면 반이중 모드의 충돌 방지 대책(재밍 코드)을 마련할 필요가 없다.
  • 전이중 모드는 송신할 때 신호가 흐르고 있어소 이것이 끝나기를 기다릴 필요가 없으므로 그만큼 빠르게 동작한다.

 

 

 

 

 

 

 

13. 라우터의 패킷 중계 동작


 

13-1. 라우터의 기본

리피터 허브나 스위칭 허브를 경유한 패킷은 결국 라우터에 도착하고, 라우터에서 다음 라우터로 중계될 것이다.

구체적인 동작은 스위칭 허브와 다른데, 이것은 라우터의 바탕이 되는 IP라는 개념이 스위칭 허브의 바탕이 되는 이더넷과 다르기 때문이다

 

우터의 내부 구조는 중계 부분과 포트 부분이라는 두 부분으로 구성된 것을 알아야 한다.

 

  • 중계 부분 : 패킷의 중계 대상을 판단하는 동작을 담당
  • 포트 부분 : 패킷을 송·수신하는 동작 담당

 

라우터의 내부 구조를 알면 어떻게 동작하는지 대략 알 수 있다.

  • 먼저 포트 부분에서 패킷을 수신하는데, 이 동작은 포트 부분의 통신 기술의 규칙을 따른다.
  • 포트 부분의 하드웨어에 의뢰하여 패킷을 수신한다고 생각하면 되는데, 중계 부분에서 받은 패킷의 IP 패킷에 기록되어 있는 수신처 IP 주소와 중계 대상을 등록한 표를 대조하여 중계 대상을 판단한다
  • 그리고 중계 대상 측의 포트로 패킷을 옮기고 포트 부분의 하드웨어 규칙에 따라 패킷 송신 동작을 실행한다

 

→ 라우터의 각 포트에는 MAC 주소와 IP 주소가 할당되어 있다

 

 

 

 

13-2. 라우팅테이블(경로표)에 등록된 정보 

  • 중계 부분의 개념, 즉 테이블을 사용하여 중계 대상을 조사한다는 개념은 비슷하지만, 구체적인 동작은 스위칭 허브와 다르다
  • 스위칭 허브가 MAC 헤더에 기록되어 있는 수신처 MAC 주소로 중계 대상을 판단하지만, 라우터는 IP 헤더에 기재되어 있는 수신처 IP 주소로 중계 대상을 판단하기 때문이다
  • 라우터의 테이블은 라우팅 테이블 또는 경로표라고 부르며, 이를 보고 중계할 수신처를 조회한다.

 

라우터의 경로표에 경로 정보를 등록하는 방법은 다음과 같이 크게 두 가지로 분류할 수 있다.

  1. 사람이 수동으로 경로 정보를 등록/갱신
  2. 라우팅 프로토콜이라는 구조를 사용하여 라우터들끼리 경로 정보를 교환하고 라우터가 자체에 경로표에 등록

ex) RIP, OSPF, BGP 프로토콜 존재

 

 

 

 

13-3. 라우터의 패킷 수신 동작

  • 신호가 커넥터 부분에 도착하면 안쪽에 있는 PHY(MAU) 회로와 MAC회로에서 신호를 디지털 데이터로 변환한다.
  • 그리고 패킷 끝부분의 FCS를 대조하여 오류의 유무를 점검하고, 정상이면 MAC 헤더의 수신처 MAC 주소가 자신에게 해당하는지 조사하여 해당하면 패킷을 수신 버퍼 메모리에 저장한다
  • 라우터의 포트에는 MAC 주소가 할당됭어 있으며, 라우터는 자신의 주소에 해당하는 패킷만 수신하고 해당하지 않는 패킷을 폐기한다

 

 

 

 

13-4. 경로표를 검색하여 출력 포트를 발견한다

  • 라우터는 패킷 수신 동작이 끝나면 맨 앞에 MAC 헤더를 폐기한다. MAC 헤더의 역할은 이 라우터에 패킷을 건네주는 것이다. 
  • 패킷을 수신하면 역할이 끝나기 때문에 폐기하는 것이다
  • MAC 헤더의 뒤에 있는 IP 헤더의 내용을 보고 패킷 중계 동작에 들어간다.
  • 중계 대상을 조사할 때 가장 먼저 수신한 패킷의 수신처 IP 주소와 경로표의 '수신처' 항목을 조사하여 해당하는 행을 찾는다
  • 해당하는 행이 한 개도 발견되지 않는 경우 라우터는 패킷을 폐기하고 ICMP 메시지로 송신처에 통지한다.

 

 

 

 

13-5. 패킷은 유효 기간이 존재한다

  • 경로표에서 중계 대상을 찾아내면 패킷을 출력측의 포트로 옮기고 여기에서 송신하는데, 라우터에는 그 전에 몇 가지 해야 할 일이 있다. 우선 TTL(Time To Live)이라는 IP 헤더의 필드를 갱신한다
  • TTL이란 필드는 패킷의 생존 시간을 나타낸다. 라우터를 경유할 때 마다 이 값을 1씩 줄이다가 이 숫자가 0이 되면 패킷의 생존 시간이 만료되는 것으로 간주하여 패킷을 폐기한다.
  • 이 원리는 패킷이 같은 장소를 순환하는 사태를 막기 위한 것이다.

 

 

 

 

13-6. 큰 패킷은 조각 나누기 기능으로 분할한다

  • 어느 경우든지 중계하는 패킷의 크기가 출력측의 패킷 최대 길이를 초과하면 그대로는 패킷을 송신할 수 없다
  • 이 경우에는 IP 프로토콜에 규정된 조각 나누기(fragmentation)라는 방법을 사용하여 패킷을 분할하고, 패킷의 길이를 짧게 만든 후 중계한다
  • TCP가 데이터를 조각으로 분할하는 것과는 다르다
  • TCP의 데이터 분할은 패킷에 데이터를 저장하기 전에 이루어진다. 즉, 분할한 데이터 조각을 한 개의 패킷에 저장한다. 이 패킷은 한 개이므로 IP 조각 나누기의 관점에서 보면 분할되어 있지 않은 셈이다.
  • 반면 조각 나누기 쪽은 패킷이 만들어진 후 패킷을 분할하는 것을 가리킨다.

 

[조각 나누기 동작 과정]

  1. IP 헤더의 플래그 필드를 조사하여 분할해도 좋은지 확인
  2. 출력측의 MTU에 맞춰 데이터 부분을 맨 앞부분부터 자른다. 이 때 TCP 헤더 이후의 부분을 분할 대상 데이터로 간주
  3. 이렇게 데이터를 분할하면 여기에 IP 헤더를 덧붙인다. 내용은 원래 패킷의 IP 헤더를 그대로 복사한 것이라고 생각하면 되는데, 이 때 일부 필드는 고쳐쓴다
  4. 조각 나누기로 분할한 핵심 정보를 IP 헤더에 기록하기 위함이다

패킷 분할하는 조각 나누기

 

 

 

 

 

13-7. 라우터의 송신 동작을 컴퓨터와 같다

송신 동작은 출력 측 포트에 따라 다르다. 이더넷 - 이더넷 규칙 / ADSL - ADSL 규칙 등

 

[이더넷 기준]

  • 패킷의 맨 앞부분에 MAC 헤더를 부가하고, 여기에 값을 설정하여 패킷을 완성시킨 후 전기 신호로 변환해서 보냄
  • 먼저 MAC 헤더의 맨 앞에 있는 수신처 MAC 주소 필드에 값을 설정하기 위해 경로표의 '게이트웨이' 항목에서 패킷을 건네줄 상대를 판단한다.
  • '게이트웨이' 항목에 IP 주소가 쓰여있으면 이 IP 주소가 건네줄 상대이고, 이곳이 비어있으면 IP 헤더의 수신처 IP 주소가 건네줄 상대가 된다.
  • 이를 통해 상대의 IP 주소가 결정되면 ARP로 IP주소에서 MAC 주소를 조사하고 수신처로 설정한다.
    • 라우터에도 ARP 캐시가 있으므로 먼저 ARP 캐시를 찾아보고, 해다앟는 것이 없으면 ARP로 조회를 보내 MAC 주소를 조회
  • 그 다음은 송신처 MAC 주소 필드인데, 이것은 출력층의 포트에 할당된 MAC 주소를 설정
  • 이렇게 패킷이 만들어졌으므로 이것을 전기 신호로 변환하여 포트에서 송신
  • 출력측의 포트가 이더넷이면 송신한 패킷은 스위칭 허브를 경유하여 다음 라우터에 도달, 중계과정을 거쳐 목적지 도착

 

 

 

 

 

13-8. 라우터와 스위칭 허브 관계

둘의 관계를 알고 있는 상태에서 컴퓨터가 패킷을 송신할 때 또는 라우터가 패킷을 중계할 때 맨 앞에 MAC 헤더를 부가하는 부분이 중요

 

→ 통신 상대까지 패킷을 전달하는 전체의 동작은 IP(라우터)가 담당하고, 이 동작을 할 때 다음 라우터까지 패킷을 운반하는 부분은 이더넷(스위칭 허브)이 담당하는 것

 

→통신 상대까지 패킷을 전달하는 전체의 동작은 IP(라우터)가 담당하고, 이 동작을 할 때 다음 라우터까지 패킷을 운반하는 부분은 이더넷(스위칭 허브)이 담당한다.

 

 

 

 

 

 

 

 

14. 라우터의 부가 기능


 

14-1. 주소 변환으로 IP 주소를 효율적으로 이용한다

라우터는 주소 변환과 패킷 필터링 두 가지 중요 기능이 있다.

 

(1) 주소 변환

 

프라이비트 주소와 글로벌 주소로 나누어 관리

 

  • 네트워크 복잡성과 확장성이 증가하면서 효율적으로 관리하기 위해 프라이비트로 관리할 수 있는 방안 마련
  • 하지만 프라이비트와 글로벌 주소 간 통신을 위해서는 통일된 형식을 사용해야 함
  • 그래서 중간 과정 라우터에서 주소 변환 구조를 넣어 통일된 형식으로 통신할 수 있도록 지원하는 기능

 

포트 번호를 이용하여 IP 주소를 변환

 

  • 데이터 송·수신 동작을 끝내고 연결 끊기 동작의 패킷이 흐르다가 인터넷에 대한 접속 동작이 끝나면 대응표에 등록한 것을 삭제한다

 

 

(2) 패킷 필터링 기능

  • 패킷을 중계할 때 MAC 헤더, IP 헤더, TCP 헤더에 기록되어 있는 내용을 조사하여 그것이 사전에 설정한 조건에 합치되면 패킷을 중계하거나 폐기하는 동작을 실행
  • 대부분의 방확벽이라는 기기나 소프트웨어는 이 원리를 이용하여 부정 침입을 방지한다.
728x90
반응형