안녕하세요 허언증입니다.
책에 있는 내용을 이해하고 서술 하듯 글을 적어 내려 갑니다. 저도 공부하는 차원에서 정리하는 글 이고 네트워크 과정에서 생략되는 부분도 발생할 수 있기 때문에 부족한 점도 있다는거 인지 하시고 편안하게 읽어주세요!! 역사처럼 물 흐르는식으로 스타일로 글을 작성합니다
chapter03
1. 케이블과 리피터, 허브 속을 신호가 흘러간다
2. 스위칭 허브의 패킷 중계 동작
3. 라우터의 패킷 중계 동작
4. 라우터의 부가 기능
3. 라우터의 패킷 중계 동작
클라이언트PC의 LAN 어댑터 -> 리피터허브 -> 스위칭허브 -> 라우터 -> 인터넷 접속용 라우터 -> 인터넷 순이다.
앞에 게시글에서 스위칭허브까지 패킷이 도착했고 이제는 스위칭허브에서 라우터로 중계가 된 상태이다.
라우터는 크게 중계부분 + 포트 부분으로 나뉜다. 중계부분과 포트부분은 프로토콜 스택의 IP담당부분과 LAN 어댑터 부분과 기능이 유사하다.
주소 식별(라우팅 테이블) | 전송(포트) | |
라우터 | 중계부분 | 포트부분 |
프로토콜 스택 | IP담당 부분 | LAN 어댑터 |
프로토콜 스택은 IP를 사용했지만, 라우터는 MAC주소를 이용해서 식별한다. 라우터는 라우팅 테이블에서 주소를 식별하고 식별한 통신 종류에 맞는 포트로 전송을 한다. (식별한 통신 종류 : ADSL, FTTH, 전용 회선, 무선 LAN, 이더넷)
라우팅 테이블의 세부항목들은?
Cmd 창에 "route print"를 입력하면 네트워크대상, 네트워크 마스크, 게이트웨이, 인터페이스, 메트릭표를 볼 수 있다.
라우터는 네트워크대상에 있는 네트워크 부분만 참조를 한다. (호스트x) 네트워크 번호의 비트수를 판단해야 하기 때문에 넷마스크가 필요하다.
이제 인터페이스와 게이트웨이, 메트릭이 남는데 위 2가지 항목으로 위치를 확인했으면 인터페이스(포트)을 통해 게이트웨이로 보내지게 된다. 마지막으로 메트릭은 가장 가까운 라우터를 찾는데 숫자가 낮을수록 가깝고 높을 수록 멀리 떨어져 있다. 그래서 낮은 수 쪽으로 보내게 된다.
라우터의 패킷 수신 동작
다양한 방식중 이더넷에 초점에 맞춰 설명을 하겠습니다. 라우터의 패킷 수신 동작은 PC의 LAN 어댑터와 거의 같다고 생각을 하면된다.
신호가 커넥터 부분에 오면 디지털 테이터로 변환 -> PHY(MAU) / MAC 회로에 전송 -> 패킷 끝 부분인 FCS로 오류의 유무 체크 -> 정상일 경우 -> MAC헤더의 수신처 MAC주소를 확인하고 맞으면 버퍼 메모리에 저장
이렇게 버퍼에 저장이 되면 MAC 헤더를 폐기를 한다. MAC헤더를 처음 받을 때 수신처의 MAC주소를 알기 때문에 해당 정보만 추출해서 사용하면 더이상 MAC헤더가 필요가 없기 때문이다. 이제 IP헤더로 넘어가는데 이때 중계가 시작된다.
패킷의 수신 IP가 192.168.1. 이고 수신처 항목도 192.168.1. 이면 중계 대상이라고 생각을 하면 되고 만약 수신처 항목이 5개가 있는 그중 3개가 192.168.1. 같은 곳이 있다면 메트릭 값 가장가까이 있는 곳으로 중계 대상을 선택한다.
만약 한개도 발견이 되지 않을 땐 ICMP를 이용해서 송신처에 사실을 통지한다.
그런데 한개의 라우터에 모든 정보를 저장 할 수 없는데, 누락 된 주소정보는 어떻게 해결 할 것인가?
이 점을 해결 하기 위해선 기본 경로를 설정한다. 기본경로는 0.0.0.0 이고 하나의 약속이기 때문에 기본경로로 라우터간 연결이 다 되어있다. 그래서 해당 정보가 많약 없다고 하더라도 0.0.0.0을 통해 다른 라우터에게 물어물어 정보를 알 수 있다.
(*패킷도 생존 기간이 있는데 이를 TTL 이라고 하고 OS마다 설정 값이 다르고 한 번 라우터를 지날 때 마다 -1씩 감소하게 된다)
큰 패킷은 조각 나누기 기능으로 분할 한다.
앞에 MTU에 대해 잠깐 설명을 했다. MTU는 한 번에 보낼수 있는 데이터량이다. 만약 MTU 기준에 초과하게 되면 데이터를 분할 해서 전송을 해야 한다. (IP 헤더의 플래그 필드 조사를 통해 분할 유/무 확인) TCP 헤더는 놔두고 데이터 부분만 잘라서 재전송을한다 두 번째부터 잘린 패킷은 [MAC헤더 + IP헤더 + 잘린 데이터]이다.
라우터의 송신
데이터 보낼 준비가 완료가 되었으니 전송을 동작으로 넘어간다. 제일 처음 배웠던 PC 어댑터와 같다. 프로토콜 스택에 있는 IP담당 부분이 MAC헤더에 정보를 입력하면 이제 LAN 어댑테어 전기적 신호로 변환해서 보내듯이
보낼 준비가 완료된 데이터들에 MAC헤더 주소 필드에 게이트웨이 항목에 정보가 있으면 보내주고 없으면 IP헤더의 수신처 주소
라우터와 스위칭 허브와 관계
통신 상대까지 패킷을 전달하는 전체의 동작은 라우터가 담당 / 이 동작을 할 때 다음 라우터까지 패킷을 운반하는 부부은 스위칭 허브의 담당이다. 라우터는 하드웨어 라우터를 생각을 하고 스위칭 허브의 담당은 회선(LAN선)의 정보를 확인하고 보낸다고 생각하면 된다!
4. 라우터의 부가 기능
첫 번째 기능은 "주소 변환"이다. 컴퓨터 이용수가 증가로 인해 IP주소가 부족해 졌고, 이 때문에 프라이비트 주소, 글로벌 주소로 해결책을 내 놓았다.
A라는 회사에 10.10.1.2 IP가 있고, B라 회사도 10.10.1.3가 있다. 그런데 외부IP는 195.18.8.31 인데 내부와 IP 대역이 다른데 어떻게 통신????
라우터는 프라이비트 주소, 글로벌 주소 2가지가 있는데 라우터라는 똑똑해서 신호를 척척 바꿔서 알아서 내부로 연결을 시켜준다. 196.18.2.5 IP는 글로벌 주소 / 10.10.1.1 이 프라이비트 주소이다. 그럼 옆동네 회사는 어떨까?
옆동네의 라우터의 글로벌 주소만 다를 뿐 각 회사들은 같은 IP대역을 사용하고 있다. A회사=C회사 / B회사=D회사
자 그럼 이 경우엔?
A회사와 D회사가 같은 망 내에 있는데 중복이 되므로 통신의 오류가 발생한다 라우터가 10.10.1.2 데이터를 받았는데 조사를 해봤더니 A회사 D회사 둘다 10.10.1.2이다 그럼 누구할테 줄지 난감한 상황이기 때문이다. 이처럼 인터넷에서 사내 망으로 들어올 때 사용한다.
'# Study > [ 성공과 실패를 결정하는 1%의 네트워크원리 ]' 카테고리의 다른 글
[허언증/네트워크] chapter04-② (성공과 실패를 결정하는 1%의 네트워크 원리) (0) | 2020.02.22 |
---|---|
[허언증/네트워크] chapter04-① (성공과 실패를 결정하는 1%의 네트워크 원리) (0) | 2020.02.22 |
[허언증/네트워크] chapter03-① (성공과 실패를 결정하는 1%의 네트워크 원리) (0) | 2020.02.15 |
[허언증/네트워크] chapter02-③ (성공과 실패를 결정하는 1%의 네트워크 원리) (0) | 2020.02.11 |
[허언증/네트워크] chapter02-② (성공과 실패를 결정하는 1%의 네트워크 원리) (0) | 2020.02.10 |