네트워크 관련 글 순서(참조 영상 기준)
애플리케이션 계층
- 네트워크 애플리케이션의 원리
- DNS
- TCP를 이용한 Socket 프로그래밍
전송계층
- 전송 계층 서비스의 원리
- rdt 원리
- 연결 지향 전송: TCP
- TCP 흐름 제어(3-way handshake, 4-way handshake)
- TCP 혼잡 제어
네트워크 계층
- 네트워크 계층 서비스
- Network Address Translation(NAT), DHCP
- 라우팅 알고리즘(Link State, Distance Vector)
- 계층적 경로 변경(AS)
링크 계층
- 다중 엑세스 프로토콜
- LANs(근거리 통신망)
무선 및 모바일 네트워크
- 무선 네트워크
웹 요청 시 일어나는일
네트워크 보안
- 대칭키 & 공개키,RSA 암호화
- Secure e-mail, SSL, MAC
- IPSec(ESP), Firewall(방화벽)
DNS(Domain Name System)
인터넷 주소창에 문자를 입력했을때, 해당하는 IP주소로 변경해주는 시스템.
www.naver.com -> 해당 ip주소 이동
EX) 전화번호부에서 이름을 검색하면 전화번호를 알려준다.
이것은 이름 : 전화번호 형태로 매핑되어있는것인데,
이처럼 이름 : 주소 형태로 매핑 되어있음.
간단하게 생각해서 한곳의 서버 테이블을 참조해서 변경하면 단점이 있다.
1) 대용량의 데이터가 테이블에 저장되어있을테니 검색하게되면 엄청 오래 걸린다
2) 테이블이 담겨있는 곳의 서버에 수많은 client가 참조하기때문에 부담이 생긴다
그래서 DNS의 정보를 분산화 및 계층화 시켜놨다.
DNS 서버 종류
ROOT
TLD(Top Level Domain)
authoritative DNS server
- SLD (Second Level Domain) DNS Server
- 실제 개인 도메인과 IP 주소의 관계가 기록/저장/변경되는 서버
- 도메인/호스팅 업체의 '네임서버'를 말하기도하고, 개인 DNS 서버를 구축한 경우도 해당
Recursive DNS server
- Local DNS server라고도 불리며, 사용자가 가장 먼저 접근하는 서버
- 한번 얻은 데이터를 캐시 형태로 저장해뒀다가, 사용자에게 전달. 없으면 상위 서버에 요청
- 브라우저는 캐시가 저장된 recursive DNS server를 사용하고, 변경/기록/저장 등은authoritative DNS server 에서 함
- 대표적으로 KT/LG/SK와 같은 ISP(통신사) DNS 서버 등이 있음
DNS 동작 원리
2가지 쿼리가 있다.
Iterative Query: 요청했다가 받아온 다음 다른 서버에 요청하는 형태.
Recursive Query: 요청을 하면 요청한 서버에서 다른 서버에 요청하고 최종적으로 받은게 돌아오면서 사용자에게 전달되는 형태.
아래는 Iterative Query 예시이다.
- 브라우저가 www.naver.com을 검색하면, 사용하고 있는 통신사의 ISP 서버(Recursive DNS server)에 도메인에 해당하는 IP 주소 요청
- ISP 서버에선 해당하는 캐시가 있을경우, 주소 반환. 없으면 Root DNS server에 문의.
- Root 는 xxx.xxxx.com 도메인을 보고 COM 도메인을 관리하는 TLD server주소를 안내
- ISP 서버는 COM TLD 서버에 다시 요청
- TLD 서버는 해당하는 authoritative DNS server 안내
- ISP 서버는 authoritative DNS server에게 또 다시 요청
- authoritative DNS server는 www.naver.com에 해당하는 IP주소를 반환
- ISP서버는 해당하는 정보를 캐시에 저장하고 브라우저에게 IP 주소 안내
이후 브라우저는 해당 IP주소에게 정보를 요청하게 됨.
Zone 파일
도메인에 대한 주소를 가지고 있는 파일.
해당 파일에는 Resource Record라고 불리는 Domain 내부 정보가 존재.
DNS records
- records는 name,value,type,ttl을 가지고 있다.
- ttl은 일관성 문제의 해결책으로 ttl이 지나면 이 레코드는 expire된다.
- type에 따라 name,value의 해석이 다르다
DNS는 UDP를 사용한다.
-> 크키가 작아서 유실될 확률도 낮고, 유실되더라도 접속을 위한 과정이라 큰 문제가 없음. 그래서 TCP보다 빠른 UDP를 사용
참조
KOCW 네트워크 강의 - 한양대 2018 1학기 이석복 교수님
https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/
'CS > NetWork' 카테고리의 다른 글
[네트워크] RDT 원리 (1.0, 2.0, 2.1, 2.2, 3.0) (2) | 2022.01.14 |
---|---|
[네트워크] 전송 계층 서비스의 원리(TCP,UDP) (0) | 2022.01.13 |
Socket Programming(소켓 프로그래밍) (0) | 2022.01.12 |
[네트워크] 애플리케이션 계층 및 구조(HTTP 프로토콜) (0) | 2022.01.11 |
OSI 7계층 (0) | 2022.01.05 |
댓글