티스토리 뷰

[ 케이블의 앞은 LAN 기기였다 ]

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

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

  • 컴퓨터에서 송신된 패킷은 헤더에 기록된 제어 정보와 허브나 라우터라는 중계 장치에 중계되어 목적지로 향한다.
  • 중계 장치는 패킷의 내부 데이터를 보지 않고 단지 패킷을 전달하는 역할만 한다.
    • 따라서 모든 패킷은 모두 별개의 것으로 간주되어 목적지를 향해 중계된다.

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

  • 패킷은 LAN 어댑터의 회로에서 전기 신호로 형태를 바꾼 뒤 RJ-45 커넥터를 통해 트위스트 페어 케이블에 들어간다.
  • 전기 신호는 케이블을 흘러 리피터 허브의 커넥터에 도착하게 되지만, 이 과정에서 신호의 에너지가 조금씩 떨어져 신호가 약해진다.

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

  • LAN 케이블로 사용하는 트위스트 페어 케이블은 선을 '꼼'으로써 잡음의 영향을 억제한다.
  • 잡음은 케이블 주위에서 발생하는 전자파 때문에 발생한다.
  • 신호선을 마주 꼬면 잡음의 영향을 줄이고 케이블의 성능이 향상되지만 성능 향상 대책은 이것만이 아니다.
    • 신호선 사이에 구분판을 넣거나 피복을 입히는 등 여러 가지 대책이 있다.

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

  • 신호가 리피터 허브에 도달하면 LAN 전체에 신호가 흩어진다.
  • 리피터 허브에서 PHY(MAU) 회로의 수신부에 도달한 신호는 리피터 회로로 들어간다.
  • 리피터 회로는 들어오는 신호를 리피터 허브의 커넥터에 뿌린다.
  • 이후 신호는 모든 커넥터에 나가면서 리피터 허브에 접속한 전체 기기에 도달하고, MAC 헤더에 있는 수신처 MAC 주소에 해당하면 패킷을 수신, 그렇지 않다면 패킷을 무시한다.
  • 리피터 회로는 신호를 그대로 뿌리는 것이므로 잡음의 영향을 받아 변형되든, 데이터가 변화한 신호든 그대로 흘려보낸다.
    • 신호는 스위칭 허브, 라우터, 서버 등 다음 기기에서 디지털 데이터로 변환되고, FCS를 검사하는 곳에서 데이터 변화를 판명하고 변화됐다면 폐기를 이룬다.
    • 패킷이 폐기될 경우 수신 확인 응답(ACK)를 되돌려주지 않으므로 프로토콜 스택의 TCP 담당 부분이 패킷을 재송신한다.

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

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

  • 스위칭 허브의 커넥터 안쪽에는 LAN 어댑터와 거의 같은 포트 회로 부분이 존재한다.
  • 둘의 차이는 LAN 어댑터에는 MAC 주소가 할당되어 있고, 스위칭 허브의 포트는 모든 패킷을 수신하여 버퍼 메모리에 저장하므로 MAC 주소가 할당되어 있지 않다.
  • 패킷을 버퍼 메모리에 저장하고 MAC 주소 테이블에서 MAC 주소를 조사하고 해당하는 포트에서 신호를 송신한다.

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

  • 스위칭 허브에선 패킷을 중계할 때 MAC 주소표의 내용 또한 갱신한다.
    • 패킷 수신 시 송신처 MAC 주소를 조사하고, 입력 포트 번호와 함께 MAC 주소표에 등록한다.
    • 등록 동작 실행 후 패킷을 송신하면 해당 기기의 MAC 주소가 주소표에 등록된다.
  • 기기가 이동했을 경우 불편함이 생길 수 있어 MAC 주소표에 등록된 내용을 지우기도 한다.
    • 기기가 이동하는 것은 스위칭 허브에서 기존에 접속되어 있던 기기가 실종되는 것이고, 이 상태에서 기존 기기에 패킷을 수신하면 없는 기기에 패킷을 보내는 것이다.
    • 이렇게 되면 제대로 된 통신이 아니기에 오래된 정보는 지워야하는데, 기기가 사라진 것을 스위칭 허브에 알릴 방법이 없다.
    • 따라서 MAC 주소표에 등록된 정보는 그대로 두지 않고 일정 시간마다 삭제 처리를 한다.

예외적인 동작

  • 만약 주소의 기기에서 패킷이 한 번도 스위칭 허브에 도착하지 않거나, 어느정도 시간이 경과하여 MAC 주소표에서 삭제됐을 수 있는데, 이러한 경우 어느 포트에서 송신해야 할지 판단이 어려우므로 패킷을 수신한 포트 외 전체 포트에서 패킷을 송신한다.

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

라우터의 기본

  • 리피터 허브나 스위칭 허브를 경유하는 패킷은 결국 라우터에 도착하고, 다음 라우터로 중계된다.
    • 공통점: 중계 대상을 등록한 표를 참고해 패킷을 어디로 중계해야 할지 판단하는 부분이 공통된다.
    • 차이점: 개념적인 바탕으로 봤을 때, 라우터의 바탕은 IP 개념이고 스위칭 허브는 이더넷이므로, 구체적인 동작이 다르다.
  • 라우터의 내부는 간략하게 봤을 때, 중계 부분포트 부분이라는 두 부분으로 구성된다.
    • 중계 부분: 패킷의 중계 대상을 판단하는 동작을 담당한다.
    • 포트 부분: 패킷을 송수신하는 동작을 담당한다.
  • 라우터의 포트 부분은 통신 기술의 규칙에 따라 패킷을 송수신한다.
    • 포트 부분이 이더넷이라면 이더넷 규칙, 무선 LAN이라면 무선 LAN 규칙에 따라서 동작한다.
  • 라우터의 각 포트에는 MAC 주소와 IP 주소가 할당되어 있다.

경로표에 등록된 정보

  • 스위칭 허브는 MAC 헤더의 수신처 MAC 주소로 중계 대상을 판단하고, 라우터는 IP 헤더의 수신처 IP 주소로 중계 대상을 판단한다.
  • 취급하는 주소가 다르기에 중계 대상 주소를 등록하는 테이블의 내용 또한 다르다.
수신처 넷마스크 게이트웨이 인터페이스 매트릭
10.10.1.0 255.255.255.0 ---- e2 1
10.10.1.101 255.255.255.255 ---- e2 1
  • 라우터의 테이블은 라우팅 테이블 또는 경로표라고 불린다.
    • 수신처: 수신처의 정보
    • 넷마스크: 네트워크 번호의 비트 수를 판단하기 위한 정보
    • 게이트웨이: 패킷의 중계 대상 정보
    • 인터페이스: 패킷의 중계 대상 정보
    • 매트릭: 수신처 IP 주소에 기록된 목적지와의 거리를 나타내는 숫자. (수가 높을 수록 멈)

라우터의 패킷 수신 동작

  • 라우터의 포트에는 MAC 주소가 할당되어 있으며, 라우터는 자신의 주소에 해당하는 패킷만 수신하고 해당하지 않는 패킷은 폐기한다.

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

  • MAC 헤더 뒤의 IP 헤더 내용을 보고 패킷 중계 동작에 들어간다.
  • 중계 동작 과정
1.  경로표에서 중계 대상을 조사한다.
2.  가장 먼저 수신한 패킷의 수신처 IP 주소와 경로표의 수신처와 부합하는 행을 찾는다.
3.  넷마스크 항목에 등록된 값에서 네트워크 번호 비트 수를 판단해 네트워크 번호 부분만 비교한다.
4.  찾은 행이 복수의 경우 네트워크 비트 수가 가장 긴 것을 찾는다.
5.  찾은 행이 없다면 라우터는 패킷을 폐기하고 ICMP 메시지로 송신처에 이를 통지한다.  
  • 라우터의 네트워크는 매우 방대하기에 중계 대상이 분명하지 않은 패킷은 폐기해버린다.

패킷은 유효 기간이 있다

  • IP 헤더의 필드 중에는 패킷의 생존 기간을 나타내는 TTL이란 필드가 있다.
  • 라우터를 경유할 때마다 이 값을 1씩 줄이다가 0이 되면 패킷을 폐기한다.
  • TTL이 없다면 패킷이 같은 장소를 계속 순환하는 사태가 일어날 수 있다.

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

  • IP라는 구조는 스스로 패킷을 운반하는 수단이 없으므로 이더넷에 의뢰하여 패킷을 운반한다.
  • IP가 이더넷에 의뢰하는 것은 패킷을 최종 목적지까지 운반하는 것이 아닌, 다음 라우터에 패킷을 운반하는 것을 요청하는 것을 나타낸다.
  • 이 동작을 반복해 패킷이 IP의 목적지, 즉 송신 상대에게까지 운반되는 것이다.
  • 즉 통신 상태까지 패킷을 전달하는 동작은 IP(라우터)가 담당하고, 다음 라우터까지 패킷을 운반하는 부분은 이더넷(스위칭 허브)가 담당하는 것이다.

4. 라우터의 부가 기능

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

  • 라우터엔 기본적인 동작들을 포함해 주소 변환패킷 필터링이란 기능을 포함하고 있다.
  • 기기를 식별하기 위해서는 기기의 주소가 다른 기기들과 중복되지 않는 고유한 주소를 가져야 한다.
  • 하지만 수많은 기기들이 생겨나면서 할당할 주소가 부족해지는 것에 대처하기 위해 프라이빗 주소, 글로벌 주소가 나왔고 이를 변환하는 주소 변환이란 개념이 생겼다.

주소 변환의 기본 동작

  • 주소 변환의 구조는 패킷을 중계 시 IP 헤더에 있는 IP 주소와 포트 번호를 바꿔쓰는 것이다.
  • 패킷을 인터넷에 중계할 때 송신처 IP 주소를 프라이빗에서 글로벌 주소로 바꿔쓴다.
  • 바꿔쓰기 전의 프라이빗 주소와 포트 번호, 바꿔쓴 후의 글로벌 주소와 포트 번호를 세트로 해서 주소 변환 장치 내부의 대응표에 기록한다.
  • 패킷을 주고받을 때는 대응표에서 프라이빗 주소와 글로벌 주소의 대응 관계를 조사해 주소와 포트 번호를 바꿔쓰고 패킷을 중계한다.
  • 데이터 송수신이 끝나면 대응표에 등록된 정보를 삭제한다.

패킷 필터링 기능

  • 패킷 필터링 기능은 패킷 중계 시 MAC 헤더, IP 헤더, TCP 헤더에 기록된 내용을 조사해 사전 설정 조건과 합치되면 패킷을 중계하거나 폐기하는 동작을 수행한다.
  • 대부분 방화벽이나 소프트웨어는 이 원리로 부정 침입을 방지한다.

참고

책 정보

성공과 실패를 결정하는 1%의 네트워크 원리

목차

1장: 웹 브라우저가 메시지를 만든다
2장: TCP/IP의 데이터를 전기 신호로 만들어 보낸다
3장: 케이블의 앞은 LAN 기기였다
4장: 액세스 회선을 통해 인터넷의 내부로!
5장: 서버측의 LAN는 무엇이 있는가?
6장: 웹 서버에 도착하여 응답 데이터가 웹 브라우저로 돌아간다

댓글
링크
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday