- 이번 퀘스트에서는 인터넷이 어떻게 동작하며, 서버와 클라이언트, 웹 브라우저 등의 역할은 무엇인지 알아보겠습니다.
- 서버와 클라이언트, 그리고 웹 브라우저
- 인터넷을 구성하는 여러 가지 프로토콜
- IP
- TCP
- HTTP
- DNS
-
인터넷은 어떻게 동작하나요? Internet Protocol Suite의 레이어 모델에 입각하여 설명해 보세요.
-
인터넷은 컴퓨터 네트워크들의 모음으로 이루어져 있으며, 이 네트워크들은 서로 다른 기술과 프로토콜을 사용하여 상호 연결되어 있습니다. 이러한 연결은 인터넷 프로토콜 스위트(Internet Protocol Suite)라고 불리는 네트워크 프로토콜의 집합을 사용하여 관리됩니다.
-
Internet Protocol Suite의 레이어 모델
- (1) Application Layer :사용자가 인터넷을 통해 데이터를 송수신하는 애플리케이션과 인터넷을 연결해주는 레이어 / HTTP, FTP, SMTP, POP3
- (2) Transport Layer: 애플리케이션 레이어에서 송신한 데이터를 목적지 컴퓨터까지 신뢰성 있게 전송하는 역할 / TCP, UDP
- (3) Internet Layer: 전 세계의 다양한 네트워크들을 연결해주는 레이어 / IP
- (4) Network Access Layer : 인터넷에 연결된 각각의 컴퓨터나 라우터를 식별하고, 데이터를 물리적인 신호로 변환하여 전송하는 역할 / Ethernet, Wi-Fi, PPP(Point-to-Point Protocol)
-
동작과정
-
사용자가 인터넷을 통해 데이터를 송수신, (1) 레이어 -> 송신한 데이터를 목적지까지 신뢰성있게 전달, (2) 레이어 -> 전송 레이어를 통해 전달된 데이터는 인터넷레이어 (3)에서 패킷 단위로 나위어 전송됨, 각 패킷에는 목적지와 출발지 주소가 포함된다. -> 패킷은 인터넷에 연결된 다른 컴퓨터나 라우커에 전송되며 라우터는 IP주소를 통해 패킷을 전달하고 목적지 주소를 확인해 목적지와 가장 가까운 다음 라우터로 전송한다. 이과정을 최종 목적지까지 반복한다. -> 마지막으로 패킷은 네트워크 액세스 레이어(4)에서 물리신호로 변환되어 인터넷에 연결된 달라우터나 컴퓨터로 전송된다 -> 최종 목적지 컴퓨터는 패킷을 수신하고 패킷헤더의 IP주소를 확인하여 올바르게 도착했는지 확인하고 패킷내용을 추출하여 어플리케이션 레이어에서 해당 데이터를 처리한다.
-
-
근거리에서 서로 떨어진 두 전자기기가 유선/무선으로 서로 통신하는 프로토콜은 어떻게 동작할까요?
-
무선 통신의 경우, 가장 일반적으로 사용되는 프로토콜 중 하나는 Wi-Fi입니다. Wi-Fi 프로토콜은 무선 인터넷 연결을 제공하는 기술이며, 기기들은 Wi-Fi 통신을 통해 서로 데이터를 주고받을 수 있습니다. Wi-Fi 통신은 일반적으로 무선 액세스 포인트(AP)을 통해 이루어집니다.
- AP는 인터넷에 연결된 장치로서, 다수의 Wi-Fi 기기들과 통신할 수 있습니다. Wi-Fi 기기는 AP에 연결되어 인터넷과 통신하며, AP를 통해 다른 Wi-Fi 기기들과 통신할 수 있습니다. Wi-Fi 통신은 IEEE 802.11 표준에 따라 동작하며, 이 표준은 무선 통신을 위한 규칙을 정의합니다.
-
유선 통신의 경우, 일반적으로 사용되는 프로토콜 중 하나는 이더넷(Ethernet)입니다. 이더넷은 랜(LAN)에서 컴퓨터들이 서로 데이터를 주고받을 수 있게 해주는 프로토콜입니다. 이더넷은 물리적인 케이블을 사용하여 데이터를 전송하며, 데이터 전송 속도는 케이블의 종류에 따라 달라집니다. 이더넷 프로토콜은 TCP/IP 프로토콜 스위트에 속하며, 이 프로토콜 스위트는 인터넷에서 데이터를 안정적으로 전송하기 위한 구조를 제공합니다.
-
근거리에 있는 여러 대의 전자기기가 서로 통신하는 프로토콜은 어떻게 동작할까요?
-
무선 LAN(Local Area Network) -> 일정 범위 내의 사용자로 하여금 어느곳에서든지 어떠한 물리적 연결 없이도 네트워크에 접속 할 수 있게 해주는 기술
-
참고:https://goodmilktea.tistory.com/100 / https://doongdangdoongdangdong.tistory.com/248 /https://security-nanglam.tistory.com/188
-
-
아주 멀리 떨어져 있는 두 전자기기가 유선/무선으로 서로 통신하는 프로토콜은 어떻게 동작할까요?
-
유선통신: 아주 멀리 떨어져 있는 두 전자기기가 유선으로 서로 통신하기 위해서는 인터넷 서비스 제공자(ISP)를 통해 광케이블, 구리케이블 등의 전선망을 연결하여 데이터를 전송할 수 있습니다. 이 경우에는 일반적으로 인터넷 회선을 이용하여 통신을 합니다. 각 전자기기는 인터넷에 접속하기 위해 모뎀(Modem) 장치를 이용하여 인터넷 회선에 연결합니다. 그리고 인터넷을 통해 다른 전자기기와 통신을 할 수 있습니다.
-
무선통신: 아주 멀리 떨어져 있는 두 전자기기가 무선으로 서로 통신하기 위해서는 위성 통신(Satellite communication)을 이용하거나, 광대역 무선 접속(WiMAX)과 같은 기술을 이용하여 데이터를 전송할 수 있습니다. 위성 통신은 위성을 통해 데이터를 송수신하는 방식으로, 전 세계 어디서든 빠르고 안정적으로 통신이 가능합니다. 하지만 고비용과 지연시간이 큰 단점이 있습니다. WiMAX는 광대역 무선 접속 기술로, 기지국과 전자기기 간에 무선으로 데이터를 전송합니다. WiMAX는 일반적으로 인터넷을 이용한 통신에 많이 사용됩니다.
- 또한, 인터넷 회선이나 위성 통신, WiMAX와 같은 기술을 이용한 무선 통신에서는 라우터(Router)를 이용하여 각 전자기기 간의 통신을 연결합니다. 라우터는 IP 주소와 포트 번호 등의 정보를 이용하여 데이터를 송수신할 전자기기를 판별하고, 데이터를 정확하게 전송할 수 있도록 합니다.
-
-
두 전자기기가 신뢰성을 가지고 통신할 수 있도록 하기 위한 프로토콜은 어떻게 동작할까요?
- -> 웹과 사용자간의 대표적인 통신규약인 HTTP는, SSL인증을 적용한 HTTPS 프로토콜을 사용한 것이 가장 대표적인 보안적용의 예이다.
- -> HTTP프로토콜을 통한 데이터통신 과정에 SSL/TLS 암호화 방식(양방향 암호화)을 적용하여 상대적으로 안전한 데이터 전달이 가능하도록 한 방식이다.
-
HTTP는 어떻게 동작할까요?
-
정의: HTTP(HyperText Transfer Protocol)는 웹 브라우저와 웹 서버 간의 데이터 통신을 위한 프로토콜입니다. HTTP는 클라이언트와 서버 간의 요청과 응답으로 구성됩니다.
-
동작과정
- 클라이언트가 웹 브라우저를 통해 서버에 요청을 보냅니다. 이 요청은 URL(Universal Resource Locator)을 통해 식별됩니다.
- 서버는 요청을 받고, 요청된 리소스(HTML, CSS, JavaScript, 이미지 등)를 찾아서 응답합니다.
- 서버는 응답 결과를 HTTP 응답 메시지에 담아서 클라이언트에게 보냅니다. 이 응답 메시지는 HTTP 버전, 상태 코드, 응답 헤더, 응답 본문 등으로 구성됩니다.
- 클라이언트는 서버로부터 받은 응답 메시지를 처리하고, 웹 브라우저를 통해 결과를 보여줍니다.
-
-
-
우리가 브라우저의 주소 창에 www.knowre.com 을 쳤을 때, 어떤 과정을 통해 서버의 IP 주소를 알게 될까요?
- 사용자가 웹브라우저에 www.knowre.com 입력
- 웹브라우저는 캐싱된 DNS 기록들을 통해 해당 도메인주소와 대응하는 IP주소를 확인 -> 캐싱된 기록이 없을 경우 다음단계로 넘어간다.
- 웹브라우저가 HTTP를 사용하여 DNS에게 입력된 도메인 주소를 요청
- DNS가 웹브라우저에게 찾는 사이트의 IP주소를 응답 -> ISP(Internet Service Provider)의 DNS서버가 호스팅하고 있는 서버의 IP주소를 찾기 위해 DNS query를 날린다.
- 웹브라우저가 웹서버에게 IP주소를 이용하여 html문서를 요청
- 웹어플리케이션서버(WAS)와 데이터베이스에서 우선 웹페이지 작업을 처리
- 위의 작업처리 결과를 웹서버로 전송
- 웹서버는 웹브라우저에게 html 문서결과를 응답
- 웹브라우저는 화면에 웹페이지 내용물 출력
- tracert(Windows가 아닌 경우 traceroute) 명령을 통해 www.google.com 까지 가는 경로를 찾아 보세요.
- 어떤 IP주소들이 있나요?
- 그 IP주소들은 어디에 위치해 있나요?
- Wireshark를 통해 www.google.com 으로 요청을 날렸을 떄 어떤 TCP 패킷이 오가는지 확인해 보세요
- TCP 패킷을 주고받는 과정은 어떻게 되나요?
- 각각의 패킷에 어떤 정보들이 담겨 있나요?
- telnet 명령을 통해 http://www.google.com/ URL에 HTTP 요청을 날려 보세요.
- 어떤 헤더들이 있나요?
- 그 헤더들은 어떤 역할을 하나요?
- HTTP의 최신 버전인 HTTP/3는 어떤 식으로 구성되어 있을까요?
- TCP/IP 외에 전세계적인 네트워크를 구성하기 위한 다른 방식도 제안된 바 있을까요?