
네트워크 인터페이스 선택 원리와 기준
호스트(노트북)가 유선(NIC)과 무선(Wifi)으로 각각 다른 통신사의 네트워크에 연결되어 있는 상태에서 프로세스(크롬)를 실행하면 소켓이 열리고, TCP/IP가 바인딩 된다. (유선과 무선에 개별 디바이스 드라이버 존재)
Q. 호스트의 IP주소는 몇 개인가?
더보기
A. (세팅하기 나름이지만) 2개
Q. 브라우저(e.g., 네이버)에 접속하면 어떤 네트워크에 연결되겠는가?
더보기
A1. 연결된 네트워크 인터페이스(e.g., NIC, Wifi)가 여러 개일 때 인터페이스 선택(Switching)을 하는 의사 결정 로직이 존재한다.
A2. 응용 프로그램이 소켓을 개방할 때 IP주소를 특정하지 않는다면 OS 수준에서 임의 선택한다. 이 때 가장 중요하게 작용하는 것은 '비용'이 되어야 하겠으나 실제로 Windows OS에서 실험해보면 여러 인터넷 회선 중 가장 먼저 연결된 것으로 계속 통신을 시도한다. 그러다가 해당 인터페이스로 더 이상 인터넷 접근이 어려우면 그 다음 연결된 회선으로 넘어간다.
Q. 무엇이 어떤 네트워크에 연결할지를 결정하는가?
더보기
A. 라우팅 테이블, 메트릭 값
라우팅 테이블

CMD에 route PRINT 명령어를 치면 IPv4 경로 테이블이 출력된다.
인터페이스에는 IP주소가 할당되어 있다.
메트릭 값은 비용(돈)이다.
PC의 경우, 주로 메트릭 값으로 인터페이스 선택이 결정된다. (즉, 라우팅 테이블에 근거해서 경로를 선택한다.)
인터페이스 선택 과정
- IP주소를 라우팅 테이블에 적혀 있는 모든 서브넷 마스크와 AND 연산을 취한다.
- 그 값을 모든 네트워크 대상과 비교한다.
- 일치하는 네트워크 대상에 대해 메트릭 값을 비교하고, 메트릭 값이 가장 작은 인터페이스를 선택한다.
- 소켓에 인터페이스에 대한 TCP/IP주소를 바인딩하고 요청을 세그멘테이션해서 전송한다. (통신)
* 네트워크 인터페이스: 존재할 수 있는 모든 네트워크 어댑터에 대한 지속적 인터페이스를 IP 계층에 제공하기 위해 네트워크 고유 장치 드라이버 및 IP 계층과 통신하는 네트워크 고유 소프트웨어
출처: https://youtu.be/094pRrSlYKg
'Studying > Network' 카테고리의 다른 글
초창기 웹 서비스 구조 (웹 서비스 작동 원리 #1) - 네트워크 기초 이론 (10/38) (0) | 2023.02.01 |
---|---|
웹 서비스를 만드신 분에 대하여 - 네트워크 기초 이론 (9/38) (0) | 2023.02.01 |
네트워크 단위 정리 - 네트워크 기초 이론 (7/38) (0) | 2023.01.30 |
Switch가 하는 일은 Switching - 네트워크 기초 이론 (6/38) (0) | 2023.01.28 |
SW 개발자 입장에서 Port번호 이해하기 - 네트워크 기초 이론 (5/38) (0) | 2023.01.27 |