Post

[1% network] Ch03. 케이블의 앞은 LAN기기였다

Ch03. 케이블의 앞은 LAN기기였다

학습할 것

  • 케이블과 리피터, 허브 속을 신호가 흘러간다.
  • 스위칭 허브의 패킷 중계 동작
  • 라우터의 패킷 중계 동작
  • 라우터의 부가 기능

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

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

  • 컴퓨터에서 송신된 패킷은 허브나 라우터라는 중계 장치에 의해 중계된다.
    • 패킷 헤더에 기록된 제어 정보와 중계 장치 내부에 중계 대상표로 판단한다.
  • 중계 장치는 데이터 부분을 보지 않고 패킷을 중계한다.
    • HTTP 메시지, TCP 수신 확인 시퀀스 번호 등은 상관하지 않는다.
  • 기본적인 흐름은 LAN 어댑터 → 리피터 허브 → 스위칭 허브 → 라우터를 경유해서 인터넷으로 나가는 것이다.

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

LAN 케이블

  • LAN 어댑터의 패킷이 송신되어 케이블로 나가는 동작을 살펴보자.
    1. LAN 어댑터의 PHY(MAU) 회로에서 전기 신호로 형태를 바꾼 패킷은 RJ-45 커넥트를 통해 트위스트 페어 케이블에 들어간다
    2. LAN 어댑터의 PHY 회로는 RJ-45 커넥터에 직접 결선되어 있으므로 커넥터의 1번 핀과 2번 핀에서 케이블로 신호가 흘러나간다
    3. 신호는 케이블 속을 흘러 리피터 허브의 커넥터 부분에 도착한다.
    4. 허브에 도착할 때는 신호가 약해져있다.

신호는 케이블을 지나며 약해지거나 잡음의 영향을 받아 변형되는데 이러한 잡음의 영향을 억제하는 대책이 존재한다.

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

앞서 LAN 케이블에서는 트위스트 페어 케이블을 사용하는데 이는 두 가닥의 신호선을 꼬아서 잡음을 막을 수 있다.

잡음이 생기는 원리

  • 잡음은 케이블 주위에서 발생하는 전자파로 인해 발생한다.
  • 케이블 주위에 전자파가 있으면 신호와 다른 전류가 케이블 안에 흐른다.
  • 그 결과 신호와 잡음의 전류가 섞여 신호의 파형이 변형된다.

잡음을 상쇄시키는 방법

  1. 외부에서 들어오는 잡음 상쇄
    • 모니터 형광등 같은 기기에서 오는 것이다.
    • 금속에 전자파가 닿으면 전자파 진행 방향의 오른쪽으로 전류가 생긴다.
    • 신호선을 마주 꼬면 형태가 나선형이 되어 꼰 옆의 선에서 전류가 흐르는 방향이 반대가 된다.
    • 그 결과 잡음에서 생긴 전류가 서로 상쇄되어 잡음에 의한 전류가 약해진다.
  2. 내부에서 생기는 잡음 상쇄
    • 신호도 전류이므로 전류에 의해 주위에 전자파가 생긴다. 이런 잡음에 대한 영향을 크로스토크라고 한다.
    • 한 개의 케이블에 들어간 신호선들의 꼬는 간격을 다르게 하여 잡음의 영향을 줄인다.

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

  • 신호가 리피터 허브에 도달하면 LAN 전체에 신호가 흩어진다.
  • 각 커넥터 안쪽에는 LAN 어댑터 내부에 있는 PHY(MAU) 회로와 같은 역할을 하는 회로가 있다. 허브 안에서 PHY의 회로와 커넥터 사이의 신호선을 교차시켜 접속한다.
  • PHY 회로의 수신부에 도달한 신호는 리피터 회로에 들어와 커넥터 부분에 송출한다.
  • 신호는 모든 커넥터에서 나가면서 리피터 허브에 접속한 전체 기기에 도달한다. 신호를 수신한 기기는 맨 앞에 있는 MAC 헤더에 쓰인 수신처 MAC 주소를 조사하여 자신이 수신처에 해당하면 이것을 수신하고 해당하지 않으면 수신한 신호를 무시한다.
  • 이 다음 스위칭 허브, 라우터, 서버 등에 도착해서 디지털 데이터로 변환되고, FCS를 검사하는 곳에서 오류가 나면 패킷을 폐기한다.

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

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

  • 트위스트 페어 케이블에서 흘러온 전기 신호가 PHY(MAU)회로를 거쳐 MAC 회로로 들어온다.
  • MAC 회로에서 디지털 데이터로 변환되고 FCS를 대조하여 오류 유무를 검사하여 문제가 없다면 메모리 버퍼에 저장한다.
  • 스위칭 허브의 안쪽에는 포트라고 불리는 회로 부분이 있다.
    • 이는 PC의 LAN 어댑터와 유사하다. 하나의 호스트에 각각의 LAN 어댑터가 있듯 스위치 허브에는 여러개의 포트가 존재한다.
    • LAN 어댑터와는 달리 포트에는 부여된 MAC 주소가 없다. 수신처 MAC 주소를 검사하지 않고 모든 패킷을 수신하기 때문이다.
  • 메모리 버퍼에 저장한 후 수신처 MAC 주소와 일치하는 것이 MAC 주소표에 등록되어 있는지 조사한다.
    • MAC 주소표에는 기기의 MAC 주소와 그 기기가 어느 포트에 존재하는지 정보가 등록되어있다.
  • 조사 후 스위치 회로를 경유하여 패킷을 송신측의 포트에 보낸다.
  • 송신 측의 포트에 패킷을 운반하면 MAC 회로나 PHY 회로가 송신 동작을 실행하고 케이블에 신호가 흘러간다.

스위치 회로의 구조도

  • 신호선에 격자 모양으로 배치되고 교점에 스위치가 있다.
  • 스위치는 개폐를 제어할 수 있기 때문에 복수의 신호를 동시에 흘릴 수 있다.
  • 입력측은 수신측 포트에 출력측은 송신측 포트에 각각 접속되어 있다.

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

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

갱신동작

  • 패킷을 수신했을 때 송신처 MAC 주소를 조사하고 이것을 수신한 입력 포트 번호와 하나의 세트로 MAC 주소표에 등록한다.
  • 일정 시간 경과한 경우 오래된 정보를 MAC 주소표에서 삭제한다.

3. 예외적인 동작

  • 주소표에 등록되어 있는 송신 포트가 패킷을 수신한 포트와 같을 경우 패킷을 중계하지 않고 폐기한다.
    • 리피터 허브에서 모든 포트에 뿌려지므로 최종 목적지에 패킷이 도달하는데 스위칭허브가 패킷을 중계하면 다시 리피터 허브로 도착하여 목적지에 중복되는 패킷이 도착하기 때문이다.
  • MAC 주소표에 수신처 MAC 주소와 일치하는 주소가 등록되어 있지 않은 경우 패킷을 수신한 포트 이외의 전체 포트에 패킷을 송신한다.
  • 수신처 MAC 주소가 브로드캐스트 주소인 경우에도 수신 포트를 제외하고 모든 포트에 패킷을 송신한다.

브로드 캐스트 주소 : 주소를 수신처 주소로 지정하여 패킷을 보내면 네트워크에 접속된 모든 기기에 패킷이 도착한다는 특별한 주소이다.

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

  • 전이중 모드(송수신을 동시에 실행하는 성질)도 리피터 허브에 없는 스위칭 허브의 특징이다.
  • 트위스트 페어 케이블의 신호서는 송신용과 수신용이 나뉘어져 있어 송수신 신호가 충돌하지 않는다.
  • 즉 스위칭 허브의 포트 부분이나 LAN 어댑터에 있는 PHY회로와 MAC 회로의 내부도 송수신이 나뉘어져 있다.

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

  • 전이중모드와 반 이중 모드를 전환할 경우 접속 상대가 전이중 모드를 지원하는지 검출하고 동작 모드를 전환할 수 있는 기능이다.
  • 링크 펄스라는 펄스형 신호를 사용한다.
    • 두 기기는 자체에서 지원하는 속도와 동작 모드를 펄스 신호로 보낸다.
    • 특정 패턴으로 펄스 신호를 송신하고 이 패턴에 의해 지원 가능한 모드와 전송 속도를 서로 통지하여 각각 자신을 설정한다.

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

  • 스위칭 허브는 수신처 MAC 주소의 기기가 존재하는 포트 이외에는 송신 동작을 실행하지 않으므로 비어 있는 포트에서는 별도의 패킷을 흘릴 수 있다.

라우터의 패킷 중계 동작

1. 라우터의 기본

라우터의 내부 구조

  • 중계 부분
    • 패킷의 중계 대상을 판단하는 동작을 담당한다.
    • 라우팅 테이블에 등록된 정보에 의해 중계 대상을 판단하여 패킷을 중계한다.
  • 포트 부분
    • 패킷을 송수신하는 동작을 담당한다.
    • 무선 LAN용 하드웨어를 장착한 기종일 경우 무선 LAN을 지원한다.
    • 광대역 회선 (ADSL, FTTP …) 을 지원한다.

라우터의 동작 방식

  • 포트 부분에서 패킷을 수신한다.
    • 포트 부분의 통신 기술 규칙 (이더넷, 무선 LAN, 통신 회선 등의 규칙)을 따른다.
    • 포트 부분이 패킷의 송신처 혹은 수신처가 되어 패킷을 송수신한다.
  • 중계 부분에서 받은 패킷의 IP 패킷에 기록된 수신처 IP 주소와 중계 대상을 등록한 표를 대조하여 중계 대상을 판단한다.
    • 중계할 때는 먼저 라우터의 포트 부분이 수신처가 되어 이더넷 패킷 수신 동작을 실행한다.
    • 중계 대상을 조사한 후 포트 부분이 송신처가 되어 이더넷 패킷 송신 동작을 실행한다.
  • 중계 대상측의 포트로 패킷을 옮기고 포트 부분의 하드웨어 규칙에 따라 패킷 송신 동작을 실행한다.

2. 경로표에 등록된 정보

스위칭 허브와 라우터의 중계 대상 판단

  • 스위칭 허브는 MAC 헤더에 기록되어 있는 수신처 MAC 주소로 중계 대상을 판단한다.
  • 라우터는 IP 헤더에 기재되어 있는 수신처 IP 주소로 중계 대상을 판단한다.

라우터의 경로표

수신처넷마스크게이트웨이인터페이스메트릭
10.10.1.0255.255.255.0—–e21
10.10.1.101255.255.255.255—–e21
192.168.1.0255.255.255.0—–e31
192.168.1.10255.255.255.255—–e31
0.0.0.0255.255.255.0192.0.2.1e11
  • 수신처
    • 수신처 정보가 들어있다.
    • 서브넷 자체를 나타내는 주소 (네트워크 번호만 비트 값이 있고 호스트 비트는 0인 IP 주소)
    • 이 항목에 등록된 IP 주소와 수신한 패킷의 수신처 IP 주소를 비교하여 해당 행을 판단한다.
      • 네트워크 번호의 부분만 조사한다.
  • 넷마스크
    • 주소 비교 동작을 실행할 때 네트워크 번호의 비트 수를 판단한다.
  • 게이트웨이 / 인터페이스
    • 패킷의 중계 대상을 나타낸다.
    • 인터페이스(포트)에서 게이트웨이 항목에 등록되어 있는 IP 주소를 가진 라우터에 대해 패킷을 중계한다.
  • 메트릭
    • IP 주소에 기록되어 있는 목적지의 거리를 나타낸다.
    • 등록된 수가 작으면 가까이에 크면 멀리 있음을 뜻한다.

라우터의 경로표에 경로 정보를 등록하는 방법

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

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

  • 신호가 커넥터 부분에 도착하면 PHY(MAU)와 MAC 회로에서 신호를 디지털로 변환한다.
  • 패킷의 FCS로 오류 유무 점검 후 정상이면 MAC 헤더의 수신처 MAC주소로 자신에게 해당하는지 확인한다. (아닐경우 폐기)

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

  • 라우터는 패킷 수신 동작이 끝나면 맨 앞의 MAAC 헤더를 폐기한다.
    • MAC 헤더의 역할은 라우터에 패킷을 건네주는 것이므로 패킷을 수신하면 역할이 끝나기 때문
  • IP 헤더의 내용을 보고 패킷 중계 동작에 들어간다.
    • 라우팅 테이블을 조사하여 중계 대상을 선택한다.
      • 수신한 패킷의 수신처 IP 주소와 경로표 수신처 항목을 조사하여 해당 행을 찾는다. (네트워크 번호로 판단)
        • 복수의 후보가 발견될 경우
          • 네트워크 번호의 비트 수가 가장 긴 것을 찾는다. 이는 호스트 번호 비트수가 짧은 것이므로 호스트 번호로 할당 가능한 번호 수가 적다는 뜻이다. 즉 이 서브넷에 접속 가능한 대수가 적다는 것이므로 범위가 축소되어 중계 대상을 더 정확하게 판단할 수 있다.
          • 네트워크 번호의 길이가 같을 경우 메트릭 값으로 판단한다. 값이 작은 쪽이 가까이 있음을 의미하므로 작은 쪽을 중계대상으로 판단한다.
        • 한 개도 발견되지 않는 경우
          • 패킷을 폐기하고 ICMP 메시지로 송신처에 이 사실을 통지한다.

5. 해당하는 경로가 없는 경우에 선택하는 기본 경로

  • 넷마스크가 0.0.0.0 인 행은 패킷의 수신처 IP 주소와 경로표의 수신처 항목을 비교할 때 비트 수가 0이라는 것이므로 비교 동작을 실행하지 않아도 된다. (모든 주소가 일치하기 때문에)
  • 이 행의 게이트웨이 항목에 인터넷으로 나가는 라우터를 등록해 두면 다른 행에 해당하는 것이 없는 경우 패킷을 그곳으로 중계한다.
  • 이 행을 기본 경로라고 하며 여기에 등록한 라우터를 기본 게이트웨이라고 한다.

6. 패킷은 유효 기한이 있다.

  • 패킷에는 IP헤더에 TTL(Time to Live) 필드가 있다.
  • 송신하기 전 라우터를 경유할 때 마다 이 필드 값을 1씩 줄이다가 0이 되면 패킷을 폐기한다.
    • 경로표에 등록된 정보에 오류가 있거나 일시적으로 경로가 혼란에 빠지는 사태로 인해 패킷이 같은 장소로 순환하는 사태를 막기위해
  • 처음 패킷을 송신할 때 이 값을 64 또는 128로 설정한다.

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

  • 중계하는 패킷의 크기가 출력측의 패킷 최대 길이를 초과하면 패킷을 IP 프로토콜에 규정된 조각 나누기 기법을 통해 패킷을 분할하여 중계한다.

조각 나누기 동작 방식

  • 출력측의 MTU를 조사하여 중계하는 패킷아 분할이 필요한지 조사한다.
  • 출력측의 MTU가 작은 경우 IP 헤더의 플래그 필드를 조사하여 분할해도 좋을지 확인한다.
    • 플래그 필드가 분할 불가일 경우
      • 패킷을 폐기하고 ICMP 메시지로 송신처에 통지한다.
    • 분할 가능할 경우
      • TCP 헤더부터 분할 대상 데이터로 간주하여 분할한다.
      • 데이터 분할 후 MAC헤더와 IP 헤더를 덧붙인다.

8. 라우터의 송신 동작은 컴퓨터와 같다.

  • 출력 포트에 따라서 송신 동작을 수행한다.
  • 수신처 MAC 주소 입력
    • MAC 헤더의 맨 앞에 있는 수신처 MAC 주소 필드에 값을 설정하기 위해 경로표의 게이트웨이 항목에서 패킷을 건네줄 상대를 판단한다.
      • 게이트웨이 항목에 IP 주소가 없을 경우 IP 헤더의 수신처 IP 주소를 참조한다.
    • ARP로 IP 주소에서 MAC 주소를 조사하고 결과를 수신처 MAC 주소로 설정한다.
  • 송신처 MAC 주소 입력
    • 출력 포트의 MAC 주소를 입력하고 타입 필드에 0800을 설정한다.
  • 송신 패킷을 전기 신호로 변환하여 포트에서 송신한다.
  • 출력포트가 이더넷이라면 송신 패킷은 스위칭 허브를 경유하여 다음 라우터에 도착한다.

9. 라우터와 스위칭 허브의 관계

  • IP 구조는 스스로 패킷은 운반하는 수단이 없으므로 패킷을 이더넷에 의뢰하여 운반한다.
  • 따라서 라우터는 스위칭 허브에 패킷을 운반하는 일을 의뢰하는 것이다.
  • 패킷은 바로 다음 라우터 목적지까지만 스위칭 허브에 의뢰하여 운반되고 이것이 반복되어 최종 수신처에 전달된다.
  • 이더넷 외의 무선 LAN, 통신 회선도 같은 역할이다.
  • IP 는 이렇게 다양한 통신 기술에 의뢰하여 패킷 운반을 의뢰할 수 있고 따라서 인터넷이라는 거대한 네트워크 구성이 가능한 것이다.

라우터의 부가 기능

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

IP 주소의 두가지 종류

  • 사내용 주소를 private 주소, 외부에서 사용되는 고유한 주소를 global 주소로 부른다.
    1. 프라이빗 주소
    • 독립되어 있는 사내 네트워크
    • private 주소는 아래 범위에 한정된다.
      • 10.0.0.0 ~ 10.255.255.255
      • 172.16.0.0 ~ 172.31.255.255
      • 192.168.0.0 ~ 192.168.255.255
        1. 글로벌 주소
    • 외부에서 사용되는 고유한 주소
  • 사내 네트워크에는 프라이비트 주소를 할당하고 인터넷과는 직접 패킷을 주고받지 않도록 특별한 구조를 사용하여 접속하는데, 이 구조가 주소 변환이다.

2. 주소 변환의 기본 동작

  • 패킷을 중계할 때 IP 헤더에 기재된 IP 주소와 포트 번호를 바꿔쓴다.
    • TCP의 접속 동작에서 최초로 흐르는 패킷을 인터넷에 중계할 때 송신처 IP 주소를 프라이빗 주소에서 글로벌 주소로 바꾸고 포트번호도 바꾼다. 해당 프라이빗 주소, 포트와 글로벌 포트, 주소를 주소 변환 장치의 대응표에 기록한다.
    • 회신 패킷이 돌아올 때 기재된 글로벌 주소와 포트 번호를 주소 변환 장치에서 프라이빗 주소와 포트로 바꾸어 사내 네트워크 패킷에 보낸다.
    • 이후 패킷도 대응표에 적힌대로 변환하여 중계된다. 접속 동작이 끝나면 대응표에 정보는 삭제된다.

3. 포트 번호를 바꿔쓰는 이유

  • 포트 번호를 바꿔쓰지 않으면 프라이빗 주소와 글로벌 주소가 1:1로 대응하기 때문이다.

4. 인터넷으서 회사로 액세스한다.

  • 인터넷에서 사내로 액세스 할 때는 대응표가 없다면 해당 글로벌 주소에 대응되는 프라이빗 주소를 알 수 없다.
    • 사내에서 먼저 인터넷으로 액세스 하지 않으면 연결할 수 없기 때문에 부정침입을 방지하는 효과가 있다.

5. 라우터의 패킷 필터링 기능

  • 패킷을 중계할 때 MAC 헤더, IP 헤더, TCP 헤더에 기록된 내용을 조사해서 사전에 설정한 조건에 합치되면 패킷을 중계하거나 폐기한다.
  • 방화벽이나 소프트웨어는 이 원리로 부정 침입을 방지한다.
This post is licensed under CC BY 4.0 by the author.