아래 도서 기반 정리
목차
- 케이블과 리피터, 허브 속을 신호가 흘러간다.
- 스위칭 허브의 패킷 중계 동작
- 라우터의 패킷 중계 동작
- 라우터의 부가 기능
케이블과 리피터, 허브 속을 신호가 흘러간다.
1. 하나하나의 패킷이 독립된 것으로 동작한다.
중계 동작은 패킷의 헤더에 기록된 제어 정보와 중계 장치의 내부에 있는 중계 대상을 중계 대상을 등록한 표로 목적지를 판단하고, 목적지에 가까워지도록 하여 패킷을 중계하는 형태다.
즉, 애플리케이션의 데이터나 TCP 프로토콜의 제어 정보의 내용이 패킷을 운반하는 동작에 영향을 주지 않는 것이다.
따라서 모든 패킷은 아무 관련도 없는 별개의 것으로 간주하고 목적지를 향해 중계된다.
- 리피터 허브, 스위칭 허브, 라우터를 경유해 인터넷에 나가는 것으로 간주한다.
2. LAN 케이블은 신호를 약화시키지 않는 것이 핵심이다.
LAN 어댑터의 PHY 회로에서 전기 신로호 형태를 바꾼 패킷이 송신되어 케이블로 나간다.
이 때, 송출한 신호는 그대로 허브에 도착하는 것이 아니라, 허브에 도착할 때는 신호가 약해져 있다.
케이블을 통과하는 사이에 신호의 에너지가 조금씩 떨어지므로, 케이블의 길이가 길어질수록 신호가 약해진다.
신호는 약해지기만 하는 것이 아니다.
이더넷은 사각형의 각진 신호를 사용하지만, 이 각이 뭉개져 둥글게 된다.
신호의 각진 부분은 전압이 급격히 변화하는데, 주파수가 높은 신호는 약해지므로 급격한 변화가 없어져 각이 뭉개지는 것이다.
잡음이 없고, 조건이 좋은 경우에도 신호가 도착할 때는 이와 같이 변형된다.
잡음의 영향까지 더해지면 매우 심각하게 변형된다.
이 경우 약해진 신호가 더욱 변형되므로, 0과 1을 잘못 판독할 수 있는데, 이것이 통신 오류의 원인이다.
3. '꼼'은 잡음을 방지하기 위한 방법이다.
LAN 케이블로 사용하는 트위스트 페어 케이블 (꼰 선쌍)을 사용해 잡음을 막을 수 있다.
트위스트 페어는 두 가닥의 신호선을 한 조로 마주 꼬았다는데서 붙인 이름이다.
4. 리피터 허브는 연결되어 있는 전체 케이블에 신호를 송신한다.
- 이더넷의 기본 원리 : 전체에 패킷의 신호를 뿌리고, 수신처 MAC 주소에 해당하는 기기만 패킷을 수신한다는 원리
- 리피터 허브 : 이더넷의 기본에 따라 신호를 뿌리는 장치다.
- 신호가 커넥터에서 나가면서, 리피터 허브에 접속한 전체 기기에 도달한다.
- 신호를 수신한 기기는 맨 앞에 있는 MAC 헤더에 쓰여진 수신처 MAC 주소를 조사한다.
- 자신이 수신처에 해당하면 수신하고, 아니면 수신한 신호를 무시한다.
- 리피터 회로의 신호를 그대로 뿌리는 것은 잡음의 영향을 받아 변형된다.
- 데이터가 변화한 것 같은 신호라도 그대로 흘려버린다.
- 이 후 신호가 디지털 데이터로 변환되고, FCS를 검사하는 곳에서 데이터 변화가 판명된 후 변화된 패킷은 폐기된다.
- 폐킷을 폐기하면 수신 확인 응답을 되돌려주지 않으므로, 프로토콜 스택의 TCP 담당 부분이 패킷을 다시 보낸다.
스위칭 허브의 패킷 중계 동작
1. 스위칭 허브는 주소 테이블로 중계한다.
스위칭 허브는 이더넷의 패킷을 그대로 목적지를 향해 중계한다.
- 신호가 커넥터 부분에 도달해 PHY 회로에서 수신되어 공통의 신호 형식으로 변환한 후 신호는 MAC 회로로 들어간다.
- 여기서 디지털 데이터로 변환 후, 패킷의 맨 끝에 있는 FCS를 대조해 오류 유무 조사해, 오류가 없으면 버퍼 메모리에 저장하고, 있으면 폐기한다.
- 스위칭 허브 안쪽에는 포트가 있다.
- 스위칭 허브의 각 포트는, PC의 LAN 어댑터와 같다.
- 그러나 LAN 어댑터에는 MAC 주소가 할당되어 있지만, 스위칭 허브의 포트는 수신처 MAC 주소를 검사하지 않고 모든 패킷을 수신하여 버퍼 메모리에 저장한다. 때문에 스위칭 허브의 포트에는 MAC 주소가 할당되어 있지 않다.
- 패킷을 버퍼 메모리에 저장하면 다음에 수신처 MAC 주소와 일치하는 것이 MAC 주소표에 등록되어 있는지 조사한다.
- 주소표엔 MAC 주소와 그 기기가 어느 포트에 존재하는지 등록되어 있다.
- 있다면, 해당 포트 번호로 패킷을 보낸다. 해당 포트번호가 송신측 포트가 된다.
- 이더넷 규칙에 따라 회로의 수신 부분에 신호가 흘러들어오지 않는 것을 확인한 후 소켓을 디지털 데이터에서 신호로 변환해 송신한다.
- 송신 동작 중 다른 기기가 보낸 신호가 수신측에 들어오면, 패킷이 충돌하므로 재밍 신호를 보낸 후 송신 동작을 중지하고 잠시 기다렸다 재전송한다.
2. MAC 주소 테이블을 등록 및 갱신한다.
스위칭 허브는 패킷을 중계할 때 MAC 주소표의 내용을 갱신하는 동작도 실행한다.
- 패킷을 수신했을 때 송신처 MAC 주소를 조사하고, 이것을 수신한 입력 포트 번호와 하나의 세트로 MAC 주소표에 등록한다.
- 송신처 주소를 등록해 두면, MAC 주소로 갈 패킷을 수신했을 때 이것이 존재하는 포트로 중계할 수 있다.
- 한 번이라도 패킷을 송신하면, 해당 기기의 MAC 주소가 MAC 주소표에 등록된다.
- MAC 주소표에 등록되어 있는 내용을 지운다.
- 더 이상 유효하지 않을 수 있기 때문에, 일정 시간이 경과하면 삭제한다.
- MAC 주소표에서 지워지기 전에 중계되어, 통신 동작이 올바르지 않을 수 있다.
- 이 경우 스위칭 허브를 리셋해 MAC 주소표가 전부 지워지면 정상 작동할 것이다.
- 스위칭 허브는 스스로 MAC 주소를 등록, 삭제, 리셋한다.
3. 예외적인 동작
- 주소표에서 일치하는 행을 찾아냈을 때, 주소표에 등록된 송신포트가 패킷을 수신한 포트와 일치할 때
- p.214 뿌린 패킷이 똑같이 뿌려져 돌아온 경우
- 이러한 문제를 방지하기 위해, 스위칭 허브는 수신한 포트와 송신한 포트가 같은 경우 패킷을 폐기한다.
- MAC 주소표에 수신처 MAC 주소와 일치하는 주소가 등록되어 있지 않은 경우
- 주소의 기기에 패킷이 한 번도 스위칭 허브에 도착하지 않았거나, 삭제된 경우다.
- 어느 포트에 송신해야 할지 알 수 없으므로, 전체 포트에서 패킷을 송신한다.
- 이더넷의 원리에 따라, 기기가 존재하지 않는 포트에서 패킷을 송신해도 무시된다.
- 패킷을 한 번 송신하면, MAC 주소에 입력되므로, 두 번째에선 전체 포트에 패킷을 보내지 않아도 된다.
+ 수신처 MAC 주소가 브로드캐스트 주소인 경우, 수신 포트를 제외하고 모든 포트에서 패킷을 송신한다.
4. 전이중 모드에서 송신과 수신을 동시에 실행한다.
전이중 모드
송신과 수신을 동시에 실행할 수 있는 스위칭 허브의 특징이다.
- 리피터 허브의 경우, 동신에 송신동작을 개시하면 리피터 허브의 내부에서 신호가 뒤섞여 파괴된다.
- 트위스트 페어 케이블, 스위칭 허브의 PHY, MAC 회로 등은 수신용, 송신용으로 선이 나누어져 있어 충돌하지 않는다.
- 따라서 이더넷 규칙을 개정해 신호가 흐르고 있어도 송신하므로 신호의 충돌을 검출하는 회로를 무효화했다.
- 전이중 모드는 양방향으로 동시에 송신할 수 있어, 송신 가능한 데이터 양의 상한선도 높아 성능이 좋다.
5. 최적의 전송 속도로 보내는 자동 조정
전이중 모드와 반이중 모드에서 동작 모드를 전환할 때, 접속한 상대가 전이중 모드를 지원하는지 검출하고, 동작 모드를 자동으로 전환한다.
6. 스위칭 허브는 복수의 중계 동작을 동시에 실행한다.
스위칭 허브는 수신처 MAC 주소의 기기가 존재하는 포트 이외엔 송신 동작을 실행하지 않는다.
다른 포트는 빈 상태가 되므로, 여기에 별도의 패킷을 흘릴 수 있으며 이렇게 동시에 여러 개의 패킷을 중계할 수 있다.
- 리피터 허브는 들어온 신호를 모든 포트에 뿌리므로, 동시에 두 개 이상의 신호가 들어오면 충돌할 수 있어 복수의 신호를 동시에 흘릴 수 없다.
라우터의 패킷 중계 동작
1. 라우터의 기본
리피터 허브나 스위칭 허브를 경유한 패킷은 결국 라우터에 도착해, 다음 라우터로 중계될 것이다.
- 라우터의 내부 구조는 중계 부분과 포트 부분으로 구성되었다.
- 중계 부분이 패킷의 중계 대상을 판단하는 동작을 담당한다. (like 프로토콜 스택의 IP)
- 포트 부분이 패킷을 송, 수신하는 동작을 담당한다. (like LAN 어댑터)
- 라우터의 포트 부분은 무선 LAN, ADSL, FTTH 등을 지원한다.
- 라우터의 내부구조
- 포트 부분에서 포트 부분의 통신 기술 규칙에 따라 패킷을 수신한다.
- 포트 부분이 하드웨어에 의뢰해 패킷을 수신한다 생각해라.
- 중계 부분에서 받은 패킷의 IP 패킷에 기록된 수신처 IP 주소와 중계 대상을 등록한 표를 대조해 중계 대상을 판단한다.
- 중계 대상측의 포트로 패킷을 옮기고, 포트 부분의 하드웨어 규치에 따라 패킷 송신 동작을 실행한다.
- 여기서 포트 부분에 의뢰해 패킷을 송신한다고 생각해라.
- 포트 부분이 패킷의 송, 수신처가 되어 패킷을 송, 수신한다.
- 포트가 이더넷인 경우 라우터의 포트에는 MAC 주소가 할당된다.
- 스위칭 허브는 들어온 패킷을 전송하기만 하고, 자신이 송신처나 수신처가 되지 않는다.
- 즉, 라우터의 각 포트에는 MAC 주소와 IP 주소가 할당되어 있다.
2. 경로표에 등록된 정보
라우터는 IP 헤더에 기재된 수신처 IP 주소로 중계 대상을 판단하기 때문에, 중계 대상의 주소를 등록하는 테이블의 내용도 다르다.
- 라우팅 테이블, 경로표 : 라우터의 테이블
- 수신처, 넷마스트, 게이트웨이, 인터페이스, 메트릭이 저장되어 있다.
- 라우터는 라우팅 테이블의 수신처에 등록된 IP 주소와 수신한 패킷의 수신처 IP 주소의 네트워크 번호만 비교해 그 행에 해당하는지 판단한다.
- 호스트 번호는 무시한다.
- 주소 비교 동작 실행시, 네트워크 번호의 비트수를 판단하기 위해 경로표의 넷마스크 항목이 있다.
- 실제로 서브넷에 할당된 넷마스크 값과 경로표에 등록된 넷마스크 값이 다를 수 있다.
- 주소 집약 : 몇 개의 서브넷을 모아서 한 개의 서브넷으로 간주한 후 묶은 서브넷을 경로표에 등록할 수 있다.
- 이렇게 경로표를 등록하는 건수를 줄일 수 있다.
- 주소 집약 실행 시 복수의 서브넷을 하나인 것으로 간주하기 위해, 넷마스크 값을 변경해 경로표에 등록하고, '수신처' 항목에 집야한 주소를 등록한다.
- 반대로 한 개의 서브넷을 세분화해 경로표에 등록하고,복수의 서브넷이 있는 것처럼 보이는 경우도 있다.
- 넷마스크 값을 전부 1로 만들면, 호스트 번호 부분에 값이 들어있는 개별 컴퓨터를 나타내는 주소를 수신처 항목에 등록할 수 있다.
- 즉, 넷마스크는 경로표에서 수신처를 대조할 때 비교 동작을 실행하는 비트수를 나타낸다.
- 게이트웨이, 인터페이스 항목은 패킷의 중계 대상을 나타낸다.
- 인터페이스에 등록된 인터페이스(포트)에서 게이트웨이에 등록된 IP 주소를 가진 라우터에 대해 패킷을 중계한다.
- 메트릭은 수신처 IP 주소에 기록된 목적지가 가까운지 먼 지를 나타낸다.
- 여기 등록된 수가 작을수록 가까운 것이다.
- 라우터가 경로표에 경로 정보를 등록하거나 갱신하는 동작은 패킷을 중계하는 것과 분리되어 있다. 즉, 패킷을 중계할 때 경로표의 내용에 손대지 않는다.
- 사람이 수동으로 경로 정보를 등록 / 갱신
- 라우팅 프로토콜 구조를 사용해 라우터들끼리 경로 정보 교환하고, 라우터 자체에서 경로표에 등록
- 라우팅 프로토콜 : RIP, OSPF, BFP 등
3. 라우터의 패킷 수신 동작
- 신호가 도착하면 PHY 회로와 MAC 회로에서 디지털 데이터로 변환한다.
- 패킷 끝 부분의 FCS 대조해 오류 유머 점검하고, 정상이면 MAC 헤더의 수신처 MAC 주소가 자신에게 해당하는지 조사한다.
- 자신에게 해당하면 패킷을 수신 버퍼 메모리에 저장하고, 아니면 폐기한다.
4. 경로표를 검색하여 출력 포트를 발견한다.
- 라우터는 패킷 수신 동작이 끝나면 맨 앞의 MAC 헤더를 폐기한다.
- 해당 헤더는 이 라우터에 패킷을 건네주는 걸로 역할이 끝났기 때문이다.
- MAC 헤더 뒤에 IP 헤더의 내용을 보고 패킷 중계 동작에 들어간다.
- 경로표의 수신처 항목과 수신한 패킷의 수신처 IP 주소를 비교해 중계 대상을 조사한다.
- 해당하는 행이 한 개도 발견되지 않는다면, 라우터는 패킷을 폐기하고 ICMP 메시지로 송신처에 사실을 통지한다.
- 스위칭 허브는 수천 대 정도의 네트워크 규모기 때문에 패킷을 뿌려도 문제가 없다.
- 라우터의 규모는 헤아릴 수 없이 커서, 패킷을 뿌린다면 네트워크가 혼잡해진다.
- 따라서 중계대상이 분명하지 않은 패킷은 폐기한다.
- p. 230 여러 행에 해당할 때, 네트워크 번호가 큰 경우를 선택한다.
- 네트워크 번호 크면 클 수록 -> 호스트 번호가 작아진다
- 호스트 번호가 작아지면 네트워크에서 찾아야할 클라이언트 PC 즉 호스트범위가 좁아지기 때문이다.
5. 해당하는 경로가 없는 경우에 선택하는 기본 경로
라우터 테이블에서 '넷마스크' 항목이 0.0.0.0인 행은 기본경로를 나타낸다.
- '게이트웨이' 항목에 인터넷으로 나가는 라우터를 등록해 두면, 다른 행에 해당한는 것이 없는 경우에는 패킷을 그곳으로 중계합니다. -> 기본 게이트웨이
+++ 기본 경로가 없으면 폐기하는듯..? 기본경로가 무조건 있는게 아니다. - 중계 대상을 모두 등록하는 것은 어렵다. 따라서 기본 경로를 등록한다.
- 기본경로는 네트워크 번호가 0이므로 비교하지 않아도 되는 경우다.
- 이러한 방법으로 '수신처' 항목에 서브넷과 개별 컴퓨터를 나타내는 IP 주소가 뒤섞였어도 중계 대상을 검색할 수 있다.
- 중계 대상이 분명하지 않은 사태도 방ㅇ지할 수 있다.
6. 패킷은 유효 기한이 있다.
라우터는 패킷을 송신하기 전에, IP 헤더 필드의 TTL(Time To Live, 생존 기간) 값을 갱신해야 한다.
- TTL은 패킷의 생존기간을 나타내며, 라우터를 경유할 때 1씩 줄이다 0이 되면 패킷을 폐기한다.
- 패킷이 순환하는 사태를 막기 위한 것이다.
- 현재 인터넷은 라우터 수가 많아야 수십개다. 따라서 순환하지 않으면 수명 전에 목적지에 도착한다.
7. 큰 패킷은 조각 나누기 기능으로 분할한다.
라우터 포트 부분의 종류에 따라 출력 포트측의 패킷의 최대 길이가 입력측보다 작을 수 있다.
이 경우 IP 프로토콜에 규정된 조각 나누기(Fragmentation)를 사용해 패킷을 분할한다.
조각 나누기 동작
- 출력 측의 MTU를 조사해 중계하는 패킷을 그대로 출력측에 송신 가능한지 조사한다.
- 출력측 MTU가 충분하다면, 분할하지 않고 송신한다.
- 작은 경우엔 여기에 저장할 수 있는 크기로 패킷을 분할하는데, IP 헤더의 플래그 필드를 조사해 분할해도 좋은지 확인한다.
- 플래그 필드가 분할 불가로 되어있다면, 패킷을 폐기하고 ICMP 메시지로 송신처에 통지한다.
- 분할 가능이면, 출력측 MTU에 맞춰 데이터 부분으르 맨 앞부분부터 차례로 잘라낸다.
- TCP 헤더 이후 부분을 분할 대상 데이터로 간주한다.
- 분할한 데이터에 IP 헤더를 붙인다. 이는 원래 패킷의 IP 헤더를 복사한 것이다.
- IP 헤더 일부 필드는 조각 나누기로 분할한 핵심 정보를 기록하기 위해 일부 고쳐 쓴다.
8. 라우터의 송신 동작은 컴퓨터와 같다.
송신 동작은 출력측 포트에 따라 다르다.
- 포트측 규칙에 따라 패킷을 신호로 변환해 송신한다.
- 여기선 출력 포트를 이더넷이라고 가정한다.
패킷의 맨 앞부분에 MAC 헤더를 부가하고, 여기에 값을 설정해 패킷을 완성한 후 전기 신호로 변환해 송신한다.
- 경로표의 '게이트 웨이' 항목에서 패킷을 건네줄 상대를 판단한다.
- 게이트 웨이에 IP 주소가 있으면 IP 주소가 건네줄 상대
- 게이트 웨이가 비어있으면, IP 헤더의 수신처 IP 주소가 건네줄 상대
- IP 주소가 결정되면, ARP로 IP 주소에서 MAC 주소를 조사하고, 결과를 수신처 MAC 주소로 설정한다.
- 라우터에도 ARP 캐시가 있으므로 캐시 먼저 찾아보고, 없으면 ARP로 조회를 보낸다.
- 송신처 MAC 주소 필드는 출력측 포트에 할당된 MAC 주소로 설정한다.
전기 신호로 변환해 포트에서 송신할 때의 동작도 반이중이나 전이중에 따라 송신한다.
출력측 포트가 이더넷이면, 송신한 패킷은 스위칭 허브를 경유해 다음 라우터에 도착할 것이다.
라우터들을 경유해 최종 목적지에 도착한다.
9. 라우터와 스위칭 허브의 관계
- IP 구조는 스스로 패킷을 운반하는 수단이 없기 때문에 이더넷에 의뢰해 운반한다.
- IP가 이더넷에 의뢰하는 것은 최종 목적지까지 패킷을 운반하는 것이 아닌, 다음 라우터에 패킷을 운반하는 것이다.
- 즉, 통신 상대까지 패킷을 전달하는 전체 동작은 IP(라우터)가 담당하고, 다음 라우터까지 패킷을 운반하는 부분은 이더넷(스위칭 허브)이 담당하는 것이다.
- 다음 라우터와의 사이에 연결된 것에게 패킷 운반을 의뢰하면 된다. 이더넷이 아닌 무선 LAN 등이 될 수 있다.
- 이렇게 다양한 통신 기술을 적재 적소에 구분해 사용할 수 있다는 것이 IP의 큰 특징이다.
- 이 덕에 인터넷과 같은 거대한 네트워크를 만들 수 있다.
라우터의 부가 기능
1. 주소 변환으로 IP 주소를 효율적으로 이용한다.
등장 배경
- 다른것과 중복되지 않는 고유한 주소를 할당하는데, 접속 대수가 많아지며 이러한 방법을 사용하면 장래에 할당할 주소가 없어진다는 예측이 나왔다.
해결 방법
- 독립된 네트워크끼리는 중복된 주소를 사용해도 문제가 일어나지 않는다는 원리를 이용했다.
- 즉, 사내 기기에는 다른 회사와 중복된 주소를 사용할 수 있도록 했다.
- global 주소 : 외부에서 사용되는 고유한 주소
- private 주소 : 사내용 주소
- 따라서 사내 네트워크가 인터넷과 왕래할 때는 공개용 서버에 글로벌 주소를 할당하고 통신하도록 한다.
- 사내 네트워크는 인터넷과 직접 통신하지 않도록 한다.
- 이것을 주소 변환이라고 한다.
'학교 > 네트워크' 카테고리의 다른 글
[네트워크] 5. 서버측의 LAN에는 무엇이 있는가? (0) | 2023.04.11 |
---|---|
[네트워크] 1~3장 요약 (0) | 2023.04.04 |
[네트워크] 2-2. TCP/IP의 데이터를 전기 신호로 만들어 보낸다. (0) | 2023.03.19 |
[네트워크] 2-1. TCP/IP의 데이터를 전기 신호로 만들어 보낸다. (0) | 2023.03.18 |
[네트워크] 1. 웹 브라우저가 메시지를 만든다. (0) | 2023.03.07 |