1. 인터넷(Internet)의 의미
1. 인터넷의 의미
인터넷은 '여러 통신망을 하나로 연결한다'라는 의미입니다.
'전 세계의 컴퓨터들을 하나로 연결하는 아주 큰 통신망'
이라고 합니다 !
1-1 인터넷의 구성
여러 컴퓨터가 각각 클라이언트(Client)와 서버(Server)로써 연결되어 구성된 망을
'컴퓨터 네트워크(Computer Network)'라고 합니다.
인터넷은 이러한 컴퓨터 네트워크가 전세계적인 규모로 수없이 많이 모여서 이루어진 일종의 컴퓨터 네트워크 시스템입니다.
즉, 인터넷(Internet)이란 수많은 클라이언트 컴퓨터와 서버 컴퓨터, 그리고 이들로 구성된 테트워크들의 집합체인 것입니다.
1-2 인터넷의 특징
1. 인터넷은 서로 동시에 참여할 수 있는 쌍방향 통신을 제공합니다.
2. 컴퓨터는 저장이 가능하므로 메시지를 보내는 사람과 받는 사람 모두 시간에 제약을 받지 않고 컴퓨터가 네트워크에 연결만 되어있다면 언제든지 메시지를 주고 받을 수 있습니다.
3. 초기 인터넷에서는 텍스트로만 통신이 가능했지만 현재에는 이미지, 음성, 동영상 등을 다양한 포맷으로 통신이 가능합니다.
4. 인터넷은 직업이나 사회적 지위, 직책, 인종, 나이 등을 서로 알 수 없도록 익명성을 제공합니다.
2. 인터넷(Internet)의 동작 원리
2-1 인터넷의 발전
1. 단순 네트워크(NetWork)
두개의 컴퓨터가 통신이 필요할때 우리는 다른 컴퓨터와 물리적인 연결 또는 무선으로 연결되어야 통신이 가능할 겁니다.
하지만 10대의 컴퓨터를 1:1 관계로 연결을 하게된다면 아주 복잡해 지겠죠?
2. 라우터 연결
위 문제를 해결하기 위해 네트워크의 각 컴퓨터는 라우터라고 하는 특수한 소형 컴퓨터에 연결됩니다.
이 라우터는 단 하나의 작업만 하는데요.
철도역의 신호원처럼 주어진 컴퓨터에서 보낸 메시지가 올바른 대상 컴퓨터에 도착하는지 확인하는 것입니다.
컴퓨터 B에게 메세지를 보내려면 컴퓨터 A가 메시지를 라우터로 보내야 하며, 라우터는 메시지를 컴퓨터 B로 전달하고 메시지가 컴퓨터로 C로 전달되지 않도록 해야한다.
3. 네트워크 속의 네트워크
연결되는 컴퓨터가 점점 늘어나면 라우터에 그만큼의 플러그가 필요한고 모든 컴퓨터에 연결되어야 할까요?
단일 라우터를 그렇게까지 많이 확장을 할 수 없기 때문에 라우터도 컴퓨터와 마찬가지로 라우터끼리 연결합니다.
컴퓨터를 라우터에 연결하고, 라우터에서 라우터로 연결함으로써 연결을 무한히 확장할 수 있습니다.
이러한 네트워크는 우리가 인터넷이라고 부르는 겅에 매우 근접합니다.
상대적으로 많은 컴퓨터를 현재엔 적은 케이블로 연결할 수 있어졌습니다. 하지만 아직까지 우리에게는 물리적인 한계가 있는데요.
예를 들어 아주 먼 곳까지, 수 십 개의 라우터를 유선 케이블로 연결할 수는 없을 것입니다. 근데 우리는 이미 집집마다 연결된 케이블이 있는데요, 전화선이라고 하는 케이블인데, 이 전화선을 통해 장거리 네트워크를 연결하도록 했습니다.
하지만 여기서 우리는 네트워크와 전화 시설을 연결하기 위해 모뎀(MODEM, Modulator and DEModulator)이라는 특수 장비가 필요합니다.
모뎀은 우리 네트워크의 정보를 전화 시설에서 처리할 수 있는 정보로 바꾸며, 그 반대의 경우도 마찬가지 입니다.
모뎀을 통해서 우리의 네트워크는 전화 시설에 연결되는데요.!
연결을 하더라도 우리의 네트워크에서 도달하려는 네트워크에 메시지를 보내주어야 합니다.
이 메세지가 전달될 수있도록 인터넷 서비스 제공 업체(ISP, Internet Service Procider)에 연결되어야 합니다.
ISP는 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 엑세스 할 수 있는 회사입니다.
우리나라를 예로 SKT, KT, LG 등이 있습니다.
따라서 우리 네트워크의 메시지는 ISP 네트워크의 네트워크를 통해 대상 네트워크로 전달 됩니다.
2-2 인터넷의 동작 과정
1. 인터넷은 요청과 응답의 시스템이다.
인터넷을 사용할 때, 우리가 웹사이트에 접속하려는 것은 컴퓨터가 서버에 요청(request)를 보내는 것과 같습니다.
예를 들어, 네이버에 접속하고 싶다면 브라우저에 ex)www.naver.com을 입력해서 네이버 서버에 접속 요청을 보내는것과 같습니다.
2. DNS
www.naver.com과 같은 URL은 우리가 쉽게 기억할 수 있도록 만든 주소입니다. 그런데 인터넷에서는 이런 주소를 실제로 사용하진 않습니다. 대신 IP 주소(IP Adress)라는 숫자형식의 주소가 필요합니다.
예시 : 127.0.0.1 (localhost)
이때 DNS(Domain Name System)가 등장하는데, 이것은 URL을 IP 주소로 변환해 주는 역할을 합니다. DNS는 인터넷의 전화번호부라고 생각하시면 조금더 이해하기 쉬울 것 같네요 !
3. 라우팅
요청을 보낼 때, 데이터는 단순히 곧장 서버로 가지 않습니다. 여러 라우터(router)를 통해 최적의 경로를 찾아가게 됩니다.
라우터는 데이터가 어디로 가야 할지 길을 안내하는 네비게이션 같은 역할을 합니다.
4. 서버와 클라이언트(Server / Client)
네이버 서버에 요청이 도착하면, 서버는 요청을 처리해서 응답을 보냅니다. 이 응답에는 클라이언트가 요청한 웹페이지가 담겨 있습니다. 클라이언트(Client/User)는 이 응답을 받아서 웹페이지를 화면에 표시합니다.
5. 패킷(Packet)
우리가 보내고 받는 데이터는 한번에 큰 덩어리로 움직이지 않고, 데이터를 여러개의 패킷으로 나눠서 보내는데, 패킷은 작은 조각들로 생각하면 됩니다. 이 패킷들이 목적지까지 다양한 경로를 통해 이동하고, 다시 모여서 하나의 완전한 데이터가 되는 겁니다 !
6. HTTP/HTTPS 통신 규칙
웹사이트에 접속할 때 HTTP나 HTTPS를 사용하는데, 이건 인터넷에서 데이터를 주고받는 약속된 규칙(프로토콜 Protocol)입니다. HTTP는 데이터를 주고받는 방법을 정의하고, HTTPS는 그 데이터가 암호화되어 안전하게 주고받을 수 있게 해줍니다.
7. 브라우저가 최종적으로 렌더링
서버에서 데이터를 받아오면, 브라우저는 HTML, CSS, JavaScript 등을 해석해서 우리가 보는 화면으로 렌더링해줍니다. 이때 비로소 네이버 웹페이지가 눈앞에 나타나는 것과 같아요!
생각보다 많이 복잡한것 같지만 기본적으로는 '요청하고 응답을 받는 과정으로 동작'한다.
라고 이해하시면 아주 좋을 것 같습니다 !
다음 게시글에는 Domain에 관해서 작성해 보겠습니다. 감사합니다 :)
'Java > 웹 어플리케이션(Web Application)' 카테고리의 다른 글
(Web Programing) 1. Web이란 ? (4) | 2024.10.10 |
---|