-
네트워크3 - 네트워트 데이터 전송과정, DNS, 와이어샤크CS지식/네트워크 2024. 7. 16. 12:43
1.내 컴퓨터 ➡️ 다른 컴퓨터로 데이터가 전송되는 전체 과정
1.1. 클라이언트 컴퓨터에서 출발
목적지 ip를 알고 있는 이유는 다음과 같다. 여기서 다른 컴퓨터를 naver 서버라고 가정하면, naver의 서버 컴퓨터를 알고 있는 이유는 naver의 도메인을 를 DNS Resolver의 변환을 이용해서 naver 서버의 ip를 알 수 있기때문이다.
하지만 다른 컴퓨터에 보낼 프레임 데이터를 보낼때 목적지의 MAC 주소를 알기는 어려움으로 일단 해당 컴퓨터가 속한 네트워크를 형성하는 라우터의 MAC주소를 목적지로 설정해 데이터를 전송한다.
그러면 해당 데이터가 바로 naver 서버 커퓨터로 가는 것이 아니라 일단 MAC주소에 해당하는 라우터로 간다.
1.2. 네이버 서버 MAC 주소에 도달하는 과정
라우터에 도착하면 목적지MAC주소와 출발지 MAC주소는 사라진다. 그리고 네트워트 라우터는 라우팅테이블을 통해서 네이버 라우터에 MAC 주소를 알고 있다. 그래서 목적지MAC 주소와 출발지 MAC 주소를 바꾸어 다시 네이버 네트워크 라우터로 전송한다.
이때, 네이버 네트워크 라우터는 해당 데이터를 목적지·출발지 MAC 주소를 각각 출발지 MAC => 네이버 네트워크 라우터 MAC으로 출발지 MAC => 네이버 서버 MAC 주소로 바꾸어 재전송하여 최종적으로 nave 서버 컴퓨터에 해당 데이터가 최종 도착할 수 있도록 한다.
2. DNS와 레코드
참고 페이지
https://www.cloudflare.com/ko-kr/learning/dns/what-is-dns/
2.1. Complete DNS Lookup and Webpage Query
2.2. DNS 조회 과정
- 루트 네임 서버 (Root Name Server):
- 클라이언트가 도메인 이름을 요청하면, 먼저 루트 네임 서버로 요청이 전송됩니다.
- 루트 네임 서버는 도메인의 최상위 도메인(TLD)을 담당하는 네임 서버 정보를 제공합니다.
- TLD 네임 서버 (Top-Level Domain Name Server):
- 루트 네임 서버의 응답을 받은 후, 클라이언트는 해당 TLD(예: .com, .net) 네임 서버로 요청을 보냅니다.
- TLD 네임 서버는 해당 도메인의 권한 있는 네임 서버 정보를 제공합니다.
- 권한 있는 네임 서버 (Authoritative Name Server):
- TLD 네임 서버의 응답을 받은 후, 클라이언트는 해당 도메인의 권한 있는 네임 서버로 요청을 보냅니다.
- 권한 있는 네임 서버는 도메인에 대한 최종 DNS 정보를 가지고 있으며, 클라이언트에게 요청한 도메인의 IP 주소를 반환합니다.
2.3. Common DNS Record Types
Record Description A Address record(IPv4) AAAA Address record(IPv6) CNAME Canonical Name record MX Mail Exchanger record NS Nameserver record PTR Pointer record SOA Start of Authority record SRV Service Location record TXT Text record - CAME : 도메인 이름이 다른 도메인이름의 별칭임을 나타내는 레코드 유형이다. CNAME 레코드는 하나의 도메인 이름을 다른 도메인 이름으로 매핑하는 역할을 하며, 이를 통하여 여러 도메인 이름이 동일한 IP주소나 서비스로 연결될 수 있다.
- 별칭 생성 : CNAME 레코드는 하나의 도메인 이름(별칭) 다른 도메인 이름(정식 이름)으로 매핑한다. 예를들어 'www.example.com'을 'example.com'으로 매핑할 수 있다.이는 웹 사이트가 여러 도메인 이름을 사용할 때 유용하다.
- 유연성 제공 : CNAME 레코드를 사용하면 여러 도메인 이름이 동일한 서비스로 연결될 수 있습니다. 예를 들면 'blog.example.com'과 'store.example.com'이 동일한 IP 주소를 가리키도록 설정할 수 있다.
- 간단한 유지 관리 : CNAME 레토드를 사용하면 IP주소를 직접 관리할 필요 없이, 정식 이름의 IP 주소를 변경하면 자동으로 별칭 도메인에도 적용된다.
- NS(Name Server) : 레코드는 도메인 네임 시스템에서 매우 중요한 역활을 한다. NS 레코드는 도메인에 대한 DNS 조회 요청을 처리할 네임 서버(Name Server)를 지정하는 레코드이다. 이 레코드는 도메인 영역(Zone)을 관리하는 네임 서버를 나타내며, 도메인의 DNS 정보를 어디서 찾아야하는지 알려준다.
- 네임 서버 지정 : 도메인에 대한 DNS 쿼리를 처리할 네임 서버를 명시한다.
- DNS 트래픽 관리 : 여러 네임 서버를 지정함으로써, DNS 요청을 분산치켜 트래픽을 관리하고 도메인 가용성과 안정성을 높인다.
- DNS 구조의 계층성 유지 : DNS는 계층적인 구조를 가지며, NS 레코드는 상위 도메인에서 하위도메인으로 경로를 설정한다.
2.4. 리눅스 /etc/hosts 파일
리눅스 계열의 파일 시스템을 보면 etc 디렉토리에 hosts파일이 존재한다. 그리고 이 hosts파일이 dns 서버 역할을 한다. 예를 들어, 주소창에 localhost라고 입력했을때 해당 도메인을 127.0.0.1로 바꾸어 주는 것이다.
cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip-allrouters
3. 와이어샤크(WireShark)
OSI 7 Layer에서 전기신호를 데이터 왔다갔다 하면서 전송되는것을 캡쳐해주는 프로그램이다. 즉 어떤 프레임들이 해당 컴퓨터에서 들어오고 나갔는지 사용자가 보기 편하게 보여주는 툴이다.
[출처 - 비전공자의 전공자 따라잡기-네크워트,HTTP, 저 조현영]
'CS지식 > 네트워크' 카테고리의 다른 글
네트워크2 - OSI 7 Layer(전송계층, 응용계층, 총정리) (0) 2024.07.13 네트워크 1 - OSI 7 Layer(물리계층,데이터 링크 계층, 네트워크 계층) (0) 2024.07.13 - 루트 네임 서버 (Root Name Server):