개요.
예전에 festa 강의 신청해놓은게 있는데 약속있어서 못들었는데, 유튜브에 무료로 올라와서 정리 겸 포스팅한다.
URL 주소, www.google.com 으로 어떻게 네트워크 통신을 하는가
- 문자열 www.google.com 을 IP 로 변환해주어야 한다.
- DNS 서버를 통해 IP 주소로 변환요청을 해야한다.
- 만약 잘 알려진 도메인이 아닌 신규 도메인을 만들게 된다면, 앞단의 DNS 서버가 모르면 상위의 DNS 서버에게 신규 도메인의 IP 를 계층적으로 물어본다.
domain name 으로는 ping 이 안날라가고,
ip address 는 ping 이 날라간다.
- DNS 서버 설정이 되어있지 않음을 의심해볼 수 있다.
HTTP 통신 (curl 명령어 이용)
- curl -vI www.google.com
- -v : verbose 자세히 보겠다.
- I : 헤더값을 보겠다.
- curl www.google.com | less
- 바디 부분을 보겠다.
- curl -vI www.google.com 2>&1 | grep "> " (request)
- curl -vI www.google.com 2>&1 | grep "< " (response)
- 모든 프로그램은 파일이 세 개가 열려있다.
- input(1) / output(2) / error(3)
- 2>&1 : error 를 output 으로 출력하겠다.
TCP/IP 통신 : 어떤 라우터를 거쳐서 구글 서버까지 패킷이 도착하는가
- 세계 곳곳에 라우터가 존재하고 있다.
- 멀리있으면 멀리있을수록 라우터를 많이 거치게 된다.
- traceroute 명령어를 통해서 어떤 라우터를 거쳐가는지 추적할 수 있다.
- hostname -I 명령어를 통해 현재 호스트 IP 를 확인할 수 있다.
- 패킷이 살아있을 수 있는 시간 : TTL
- 살아있을 수 있는 시간이 적으면 라우터는 다음 라우터에게 패킷을 넘기지 않고 다시 되돌려보낸다.
HTTP 는 TCP/IP 기반 통신이고, 연결을 맺는것이 매우중요하다. TCP/IP 프로토콜은 3-Way-Handshake 를 통한 커넥션을 맺는다. 이후 데이터 통신을 수행하다가 4-Way-Handshake 를 통해 커넥션을 끊는다. 리눅스 상에 TCP/IP 커넥션 관련 명령어가 작성해서 터미널에서 확인할 수 있기도 하다.
'네트워크' 카테고리의 다른 글
2018-09-22 SSH 란 ? (수정 : 2022-05-21) (0) | 2022.05.21 |
---|---|
20200726 [web] Reverse Proxy vs Web Server 에 대한 구조도 그려보기. (0) | 2020.07.26 |
20200130 포트(Port) 를 개방한다는 건. (수정 : 2020-09-02) (0) | 2020.01.30 |
20190408 IDC 란 (0) | 2019.04.08 |
20180917 [cmd] Windows Command (0) | 2018.09.17 |