지금까지 애플리케이션 측에서 만든 메시지를 패킷이라는 디지털 데이터로 변환시킨 뒤 전기/빛 신호로 변환하였다.
이렇게 데이터가 신호로 변경되었다면 이젠 LAN 어댑터에서 케이블을 통해 신호를 송신해야 한다.
이때 LAN 어댑터와 연결되어 있는 케이블이 "트위스트 페어 케이블"이다.
트위스트 페어 케이블이라고 하니 뭔가 어려워 보이지만 평범한 LAN선을 생각하면 된다.
"트위스트(Twist)"를 직역하면 "꼬다"인데 이를 통해 트위스트 페어 케이블은 "꼬아져 있는 케이블"이라는 것을 알 수 있다.
그렇다면 무엇이 꼬아져 있는 것일까?
출처 : https://commons.wikimedia.org/wiki/Category:Twisted-pair_cables
아마 LAN선을 잘라 봤던 사람이라면 LAN선이 1개의 신호선으로 되어 있는 것이 아닌 얇은 신호선 2개가 꼬아져 있고 꼬아져 있는 형태의 선이 여러 개 존재하여 1개의 LAN 선을 구성한다는 것을 알고 있을 것이다.
즉, 신호선 "2개"가 "꼬아져"있는 "케이블"이라는 의미로 "트위스트 페어 케이블"이라고 부르는 것이다.
그렇다면 왜 굳이 2개 신호선을 1개로 묶은 뒤 꼬아서 만들었을까?
이유를 알기 위해선 잡음이라고도 부르는 "노이즈"에 대해서 알아야 한다.
"노이즈"를 제대로 이해하기 위해선 잠깐 전자기학 쪽으로 눈을 돌려야 할 필요가 있다.
전자기학에선 "앙페어의 오른손 법칙(Ampère's right-hand grip rule)"이라는 것이 존재한다.
그 원리에는 복잡한 이론이 존재하겠으나 지금 알 필요는 없는 내용이기 때문에 단순히 앙페어의 법칙에 대해서만 설명하자면 전류가 흐르는 전선에 전류의 방향과 손가락 방향을 일치시킬 경우 주먹을 쥐는 방향으로 자기장이 흐른다는 것이다.
위 사진처럼 파란색 선에 화살표 방향으로 전류가 흐를 경우 빨간색 자기장이 생성되는 것이다.
이전에 배웠듯 네트워크에서는 데이터를 전기 신호로 만든 뒤 신호선을 통해 흘려보냄으로써 목적지까지 보낸다.
즉, 전기 신호가 흐르는 전선이라는 상황이기 때문에 앙페어의 법칙에 따라 자기장이 만들어질 것이다.
여기에 원래 전기가 흐를 때 발생하는 전기장도 만들어질 것이다.
이런 상황에서 교류로 전류가 흐르게 되면 전기장과 자기장이 파동의 형태로 나타나게 되는데 이를 "전자파"라고 한다.
이렇게 만들어진 전자파는 다시 금속 등의 도전체에 닿아 전류로 변환될 수 있다.
그리고 이렇게 변환된 전류가 바로 노이즈의 정체이다.
이러한 노이즈는 크게 2 종류로 나눌 수 있는데 신호선 외부에서 들어오는 노이즈와 신호선 내부에서 들어오는 노이즈이다.
먼저 신호선 외부에서 들어온 노이즈는 모니터, 형광등, CRT 모니터 등의 기기에서 발생한 전자파에 의한 노이즈이다.
신호선 내부에서 들어오는 노이즈는 인접한 신호선에서 누설된 전자파에 의한 노이즈이다. 만약 인접한 신호선에서 발생한 전자파가 신호선에 닿을 경우 보내야 할 데이터와는 다른 전류이므로 노이즈로 여겨지며 이러한 내부 노이즈에 대한 영향을 "크로스토크(crosstalk)"라고 한다.
그리고 이러한 노이즈에 대한 문제점들은 2개 신호선을 꼬아 사용함으로써 해결할 수 있다.
먼저 첫 번째 상황, 신호선 외부에서 들어오는 잡음을 상쇄하는 과정이다.
아마 외부 기기에서 전자파가 발생했다면 앙페르의 오른쪽 법칙에 의해 노이즈의 방향은 위 이미지와 같이 될 것이다.
이때 신호선을 마주 꼬아 만들 경우 나선형이 되며 꼰 옆의 선에서 전류가 흐르는 방향이 반대가 된다.
위 이미지에서 같은 칸에 있는 초록색과 빨간색 신호선에 흐르는 노이즈 방향이 반대가 되는 것을 볼 수 있다.
결국 외부 기기에 의하여 발생된 전류는 신호선끼리 만나는 부분에서 서로 상쇄될 것이므로 노이즈에 의한 전류는 약해질 것이다. 동시에 실제로 전송되어야 할 데이터는 초록색과 빨간색 선에서 동일하므로 이런 구조에 의해 신호가 약해지지 않을 것이다.
이젠 어떻게 신호선을 꼬아 크로스토크 문제를 막을 수 있는지 알아보자.
이 문제는 케이블끼리 거리가 가까울 때 발생하는 것으로 원래라면 전자파는 발생 근원에서 떨어지면서 점차 약해지는데 케이블이 너무 가까울 경우 전자파가 충분히 약해지기 전 인접 신호선에 닿아 전류가 발생되어 버리는 것이다.
이런 문제를 해결하기 위하여 케이블에 담길 신호선을 꼬는 간격을 약간씩 다르게 한다.
꼬는 간격이 다를 경우 어떤 부분에선 플러스 신호선이 가까이에 있고 어떤 부분에선 마이너스 신호선이 가까이 있을 것이다.
이를 통해 플러스와 마이너스에선 노이즈의 영향이 반대가 될 것이며 이 때문에 균형이 잡히며 노이즈 영향이 줄어든다.
플러스와 마이너스라고 하니 헷갈릴 수 있지만 이는 아래에서 설명할 것이므로 일단 그렇구나 정도로만 알고 넘어가자.
케이블 성능을 향상시키는 방법은 트위스트 페어 케이블을 사용하는 것 외에도 다양하게 존재한다.
신호선 사이에 구분판을 넣거나 실드라고 부르는 전자파를 차단하기 위한 금속성의 피복을 입히는 등 여러 방법이 존재한다.
그 결과 성능이 다른 몇 종류의 케이블이 판매되고 있으며 "카테고리(Category)"라는 척도로 성능을 나타낸다.
각 카테고리가 그렇게 중요하진 않지만 한 번 알아보고 넘어가자
출처 : 성공과 실패를 결정하는 1%의 네트워크 원리
이더넷에서 송/수신되는 것은 데이터를 포함하고 있는 신호이지만, 단순하게 생각해 보면 그냥 전기이다.
전기는 +와 -의 전압으로 구성되어 있다.
이더넷에서도 신호는 LAN 어댑터 PHY(MAU) 회로의 플러스와 마이너스 신호 단자에서 나와 흐른다.
참고로 계속해서 PHY(MAU)라고 말하니 이 둘이 같다고 생각할 수 있을 것 같지만 이 둘은 엄연히 다르다.
PHY는 100메가비트/초 이상의 이더넷에서 활용하는 송/수신 회로이며 MAU는 이전에 사용했던 저속 방식의 이더넷에서 활용된 송/수신 회로이다.
어쨌든 PHY(MAU)는 MAC 회로에 의하여 만들어진 전기 신호를 송/수신할 네트워크 규칙에 맞도록 변형시킬 것이며 우린 이더넷을 메인으로 공부하고 있으므로 이더넷 규칙에 맞게 변형한다 간주하자.
데이터를 송/수신 할 때는 플러스와 마이너스를 한 조로 묶어 신호를 전달하는데 이때 트위스트 페어 케이블에 꼬여 있는 2개 신호선에 각각 보내는 것이다.
즉, 2개 신호선이 꼬여 있을 것이므로 전기 신호가 2개 흐를 수 있다는 것인데 플러스 신호와 마이너스 신호를 각기 다른 신호선에 보내는 것이다.
PHY(MAU)는 직접 트위스트 페어 케이블에 신호를 전달하지 않고 RJ-45 커넥터에 신호를 보내면 RJ-45 커넥터가 연결되어 있는 케이블에 신호를 흘리는 구조로 되어 있다.
RJ-45 커넥터와 PHY(MAU)를 연결한 방식에 따라 MDI와 MDI-X 인터페이스로 나눌 수 있다.
MDI에 대해 배우기 전 케이블에 대해 조금 더 알고 가야 한다.
트위스트 페어 케이블(UTP) 케이블의 종류엔 2가지가 존재하는데 "Direct Cable"과 "Cross Cable"이다.
UTP 케이블은 총 8가닥의 케이블(핀)로 이루어져 있다. 위 사진에서 RJ-45 커넥터나 허브에 1 ~ 8까지의 숫자만 적혀있는 것은 이후 숫자가 생략된 것이 아닌 실제로 8개로 이루어져 있기 때문이다.
이 중 "1-1, 2-2, 3-3, 4-4, 5-5, 6-6, 7-7, 8-8"처럼 양 쪽 끝 케이블의 번호가 같은 경우 "Direct Cable"이라고 한다.
그리고 한쪽 끝에서 "1↔3, 2↔6" 위치를 바꾼 케이블이 "Cross Cable"로써 "1-3, 2-6"이 연결되어 있다.
케이블에 대해 알았으면 이제 케이블을 연결 할 네트워크 장비에 대해서도 조금 알고 가야 한다.
네트워크 장비는 크게 DCE(Data Circuit Equipment)와 DTE(Data Terminating Equipment)로 나눌 수 있다.
DTE는 서버, PC, 라우터처럼 패킷을 생성하는 장치이다
DCE는 허브, 리피터와 같이 신호를 증폭하거나 신호를 분기하는 장치이다.
DTE는 MDI라는 연결 포트를 사용하며 DCE는 MDI-X를 사용한다.
MDI와 MDI-X 연결 포트는 아래와 같이 데이터를 송/수신한다.
이를 통해 우리는 "다이렉트 케이블"의 경우 "다른 기기 유형 간 통신(DTE-DCE)"에 사용되며, "크로스 케이블"의 경우 "같은 기기 유형 간 통신(DTE-DTE or DCE-DCE)"에 사용된다는 것을 알 수 있다.
조금 더 자세히 이야기 해보자.
위 사진처럼 LAN 어댑터와 허브를 케이블로 연결한다고 가정하자.
LAN 어댑터는 DTE에 속하는 하드웨어이기 때문에 MDI 연결 포트를 사용할 것이다. 따라서 1,2핀을 통해 데이터를 송신할 것이다.
허브는 DCE에 속하는 하드웨어 이므로 MDI-X 연결 포트를 사용할 것이며 1,2핀을 통해 데이터를 수신할 것이다.
따라서 LAN 어댑터와 허브는 "다이렉트 케이블"으로 연결되어 있을 것이다. 왜냐하면 LAN 어댑터가 1,2핀을 통해 송신하면 허브의 1,2핀을 통해 데이터를 수신할 수 있고 반대 상황도 동일하기 때문이다.
이런 점에서 다른 유형 간 통신에서는 다이렉트 케이블로 연결되어 있음을 알 수 있다.
이젠 허브에서 허브로 데이터를 보낸다고 가정하자.
허브는 3,6핀을 통해 데이터를 송신한다. 만약 다이렉트 케이블로 둘 사이를 연결할 경우 데이터를 수신해야 하는 허브는 3,6핀을 통해 데이터를 받아야 할 것이다. 하지만 허브는 1,2핀을 통해 데이터를 수신하므로 이것은 잘못된 상황이다.
따라서 크로스 케이블로 둘 사이를 연결시킴으로써 1번에서 송신한 데이터는 반대쪽 허브의 3번 핀에, 2번에서 송신한 데이터는 반대쪽 허브의 6번 핀에 도착하게 함으로써 정상적으로 데이터를 수신할 수 있게 만들어줘야 한다.
이런 점에서 같은 유형 간 통신에서는 크로스 케이블로 연결되어 있음을 알 수 있다.
참고로 스위칭 등의 장비에서 MDI를 사용하는 기기인지 MDI-X를 사용하는 기기인지를 자동으로 인식하여 송신과 수신 핀을 알아서 판단해 주는 Auto MDI/MDI-X라는 기술이 있다. 이 기술을 사용하면 어떤 케이블로 두 기기를 연결해야 할지 고민할 필요가 없어진다.
이런 식으로 리피터 허브에 신호가 도착하면 "리피터 회로"에 신호가 들어간다.
기본적인 리피터 회로의 역할은 들어온 신호를 그대로 커넥터(리피터 허브의 모든 송신 포트) 부분에 송출하는 것이지만 신호의 파형을 다듬고 오류를 억제하도록 연구한 제품도 존재한다.
이후 신호는 리피터 허브에 접속한 전체 기기(대표적으로 라우터)에 도달하며 신호를 수신한 기기는 MAC 헤더를 확인하여 수신처 MAC 주소와 자신의 MAC 주소가 같은지 확인할 것이다.
만약 같다면 다음 중계 노드에 대한 정보를 찾을 것이며 다르다면 그대로 패킷을 폐기할 것이다.