III : 케이블의 앞은 LAN 기기였다
1% 네트워크 원리 을 읽고 정리한 문서입니다 ;)
케이블과 리피터, 허브 속에 신호가 흘러간다
LAN 어댑터의 PHY (MAU) 회로에서 전기 신호로 형태를 바꾼 패킷은 RJ-45 커넥터를 통해 UTP (트위스트 페어 케이블)에 들어간다.
송출한 신호는 그대로의 모습으로 다음 기기에 도착하는 것이 아니라, 신호가 약해지고 왜곡이 생기는데, 이는 주변에 전자파가 금속 등의 도전체에 닿으면 전류가 발생하기 때문이다.
이러한 현상을 최소화 하기 위해 UTP 케이블 내부 선들은 두 가닥씩 꼬여 있다.
크로스토크 (crosstalk)라고 하는 내부 선끼리 잡음을 유발시키는 것 또한 선을 마주 꼬아 플러스와 마이너스 균형을 맞추어 해결한다.
이것보다 확실한 방법으로, 신호선들 사이에 금속의 차폐막을 넣는, STP 케이블 또한 존재한다.
다이렉트 케이블은 다른 기기간 연결에, 크로스 케이블은 같은 기기간 연결에 사용한다. 이는 서로의 송신을 수신으로 연결할지, 송수신을 서로 연장할 지에 따라 다른 것이다.
정리
- 리피터 허브 (더미 허브)는 들어온 신호를 모든 포트로 전달해준다.
- 잡음을 최소화하기 위해 신호선들을 꼬아 만든 케이블이 UTP이며, STP 또한 존재한다.
스위칭 허브의 패킷 중계 동작
스위칭 허브에 연결된 회선으로부터 들어온 신호는, MAC 회로로 들어간다. 이후 스위칭 허브는 이를 디지털 데이터로 변환시켜서 FCS 검사를 진행한다.
스위칭 허브 내부는 포트^2개의 스위치로 이루어진 스위치 회로가 있고, 이로 인해 신호가 타고갈 경로가 중복되지 않는다면 복수의 포트를 통해 복수의 신호를 동시에 흘릴 수도 있다.
스위칭 허브는 이 신호를 보낸 송신측의 MAC 주소와, 이 신호가 들어온 포트를 MAC 주소표에 등록한다. 이후 사용하지 않고 일정 시간이 경과한 MAC주소-포트 쌍 데이터는 삭제한다.
만일 주소표를 통해 찾아낸 보내야 할 스위칭 허브의 포트가, 이 신호를 보낸 측과 동일하다면, 이는 리피터 허브가 접속되어 있는 경우로 볼 수 있으므로, 이를 보내지 않고 폐기함으로서 오동작을 막는다.
만일 주소표에 없는 목적지 MAC 주소가 있다면, 이는 어쩔 수 없이 모든 포트로 뿌려지게 되지만, 이 패킷을 받은 기기가 MAC 주소 검사 후 대상이 아니라면 폐기하기에 문제는 없다.
맥 주소가 FF:FF:FF:FF:FF:FF인, 혹은 IP 주소가 255.255.255.255인 브로드캐스트 주소라면, 이 또한 모든 포트로 뿌려지게 된다.
스위칭 포트는 전이중 모드를 지원하는 기기로서, 송신과 수신을 동시에 할 수 있다. 하지만 이더넷의 기본 동작 원리는, 이더넷에 수신 신호가 흐르고 있을 때는 이것이 끝나기를 기다렸다가 송신하는 것이 원칙이므로, 규칙을 개정하여 동작 모드를 추가한 것이 전이중 모드이다.
이더넷에서는 데이터가 흐르고 있지 않을 때 링크 펄스라는 펄스형의 신호를 보내는데, 이 신호를 이용하여 자신의 상황, 즉 자신이 지원하는 전송 모드와 최대 전송 속도를 알릴 수 있게 되었다.
이 링크 펄스를 해석하여 스위칭 허브는 포트마다 어떠한 동작으로, 어떠한 속도로 제어되면 될 지 자동으로 설정하여 동작시킬 수 있는 것이다.
정리
- 스위치는 내부에 스위치 회로가 있기에 여러 포트에서의 여러 신호를 동시에 처리 가능하다.
- 포트와 포트로 들어온 송신처 MAC을 MAC 주소 테이블에 저장하여 스위칭할 수 있다.
- 링크 펄스를 통해서 연결된 기기가 어떠한 모드와 속도를 지원하는지 알아내서 동작한다.
라우터의 패킷 중계 동작
라우터는 중계 부분과 포트 부분으로 구성된다. 이는 프로토콜 스택의 IP 부분 역할 과 LAN 어댑터 역할 분담과 같다.
포트 부분은 담당하는 통신 기술의 규칙을 따른다. 이더넷 포트라면 이더넷의 규칙에 따라서 송수신하고 동작하는 것이고, 무선 LAN 이라면 무선 규칙을 따름으로서 다양한 하위 계층에 대한 호환이 가능하게 된다.
포트가 이더넷인 경우, 라우터의 포트에는 MAC 주소가 할당되며, IP 주소 또한 할당되어 이더넷의 송신처나 수신처가 될 수 있다.
스위칭 허브는 MAC 헤더에 기록되어 있는 송신처 MAC 주소로 중계 대상을 판단하지만, 라우터는 IP 주소 헤더의 수신처 IP 주소로 중계 대상을 판별한다.
라우터의 테이블은 라우팅 테이블이라고 하며, 네트워크 번호 부분을 수신처 IP 와 일치하는지 확인하기 위해, 항목마다 넷 마스크가 존재한다. 단 라우팅 테이블의 수신처는 항상 네트워크 번호인 것은 아니고, 여러 주소를 주소 집약을 통해 연산을 간소화 시킨 경우도 있으며, 넷 마스크를 255.255.255.255로 설정한, 특정 한 호스트 지명 또한 가능하다.
이후 해당 목적지를 찾으면, 라우팅 테이블에서 인터페이스로 등록되어 있는 인터페이스(포트) 에서 게이트웨이 항목에 등재되어 있는 IP 주소를 가진 라우터로 패킷을 전송한다. 또한 TTL을 설정함으로서 네트워크에 패킷이 무한이 떠돌 수 없도록 한다.
이러한 라우팅 테이블에는 수동으로 경로 정보가 등록되고 삭제될 수 있으며, 혹은 라우터 간 BGP, OSPF, RIP 등의 라우팅 프로토콜을 이용하여 자동으로 관리되기도 한다.
라우터는 패킷 수신이 끝나면 맨 앞의 MAC 헤더는 역할을 다 하였기 때문에 폐기하고, IP 헤더의 수신처를 자신의 라우팅 테이블과 비교한다. 이 때 복수의 항목과 일치한다면 최장 일치 원칙에 따라 가장 세분화된 네트워크로 보내게 되고, 메트릭 또한 짧은 곳으로 보내게 된다.
만일 해당하는 행이 단 하나도 없다면, 패킷을 폐기하고 ICMP 메시지를 통해 송신처에 이 사실을 통지한다.
넷마스크 항목이 0.0.0.0 이라면 비교 동작을 수행하지 않는다는 의미이며, 이는 곧 라우팅 테이블에서 일치하는 다른 행이 전혀 없다면, 패킷을 이 기본 경로로 기본 게이트웨이를 통해 보내게 된다.
출력측 포트로부터 MTU 를 전달받아 만일 보내려는 패킷이 이 MTU 보다 작다면, IP 계층에서 fragmentation (조각 나누기)를 수행한다. 이 때 조각을 나눌 때는 TCP 헤더 뒤에 붙은 데이터를 나누게 된다. 만일 IP 헤더의 분할 가능 비트가 0이라면 패킷을 폐기 후 ICMP로 송신측에 통보할 것이다.
라우터에서 패킷을 송신할 때에는, 경로표의 게이트웨이 항목을 통해 보낼 대상을 알아내고, ARP 캐시나 프로토콜을 통해 대상의 MAC을 알아내 이를 MAC 헤더의 수신처 MAC 주소로 설정한다.
만일 경로표의 게이트웨이 항목에 IP 주소가 쓰여있다면 그 IP 주소가 건네줄 상대이고, 게이트웨이 항목이 공란이라면 더이상 게이트웨이가 없다는 뜻이기에 IP 헤더의 수신처 IP 주소가 건네줄 상대인 것이다.
라우터는 패킷을 운반하는 일은 스위칭 허브에 의뢰하는 것이지만, 대부분의 라우터에는 스위칭 허브를 내장하였기 때문에, 라우터 기기에서 모두 처리된다.
정리
- 라우터는 IP를 담당하는 중계 부분과, LAN카드 역할을 하는 포트 부분으로 구성된다.
- 직접 입력되거나 다른 라우터와 정보를 교환하여 관리하는 라우트 테이블의 네트워크 주소 부분을 비교함으로서 라우팅이 이루어지고, 인터페이스 항목을 통해 게이트웨이 주소로 보내진다.
- 보내려고 하는 측의 MTU와 IP 헤더의 플래그에 따라 패킷의 TCP 데이터가 분할될 수 있다.
라우터의 부가 기능
라우터는 주소 변환 기능과 패킷 필터링 기능을 가진다.
주소 변환 기능은 인터넷에서 제한된 IP 주소를 사설 IP 시스템과 상호 변환시켜주는 시스템이다. 본래 인터넷에 접속하는 기기는 원래 고유의 주소를 가져야만 하는 것이지만, 두 회사가 같은 주소를 사용했더라도 네트워크가 독립되어 있다면 문제가 일어나지 않는다.
그렇기 때문에 IP 주소는 private address와, global address로 나뉘며, private address는 특정 대역이 존재하기에 구별하기 쉽다.
- 10.0.0.0/8 (10.0.0.0 ~ 10.255.255.255)
- 172.16.0.0/12 (172.16.0.0 ~ 172.31.255.255)
- 192.168.0.0/16 (192.168.0.0 ~ 192.168.
라우터가 접한 공개용 서버쪽에는 글로벌 주소를 할당하고, 사내 네트워크에는 프라이빗 주소를 할당하여 인터넷과는 직접 패킷을 주고받지 않도록 한다.
주소 변환은 패킷의 IP 헤더에 기재된 IP 주소와 포트 번호를 바꿔쓰는 행위이다. 송신처의 IP 주소를 프라이빗 주소에서 글로벌 주소로 바꿔 쓰고, 포트 번호는 미사용 번호를 주소 변환 장치가 적당히 선택하여 사용한다. 이후 이 기존 주소,포트와 변환 후 주소,포트 쌍을 테이블에 저장한다.
인터넷에서 사내로 패킷을 중계할 때는 이 테이블에 저장되어 있지 않으면 중계할 수 없기에, 이는 부정 침입을 방지하는 효과를 가지고 있다.
패킷 필터링 기능은 패킷의 MAC 헤더, IP 헤더, TCP 헤더를 조사하여 사전에 설정된 조건에 부합하면 패킷을 중계하거나 폐기하는 기능으로서, 방화벽의 효과를 가진다.
정리
- 라우터는 내부의 사설망과 외부의 공개망을 연결해주는 기능이 있으며, 이는 패킷의 IP 주소와 포트 주소를 직접 변경함으로서 작동한다.
- 외부로부터 무차별 연결 시도를 방지할 수 있으며, 패킷 필터링을 통해 방화벽 기능도 가진다.
'공부한 이야기 > 네트워크' 카테고리의 다른 글
1% 네트워크 VI : 웹 서버에 도착하여 응답 데이터가 웹 브라우저로 돌아간다 (0) | 2023.04.29 |
---|---|
1% 네트워크 V : 서버측의 LAN에는 무엇이 있는가 (0) | 2023.04.29 |
1% 네트워크 II-I IP와 이더넷의 패킷 송수신 동작 (0) | 2023.04.29 |
1% 네트워크 II : TCP/IP의 데이터를 전기 신호로 만들어 보낸다 (0) | 2023.04.29 |
1% 네트워크 I : 웹 브라우저가 메시지를 만든다 (0) | 2023.04.29 |