앞선 설명보다 더 자세한 설명을 하려고 한다.
1) 단순한 네트워크
두 개의 컴퓨터가 서로 통신할 때, 우리는 다른 컴퓨터와 물리적으로 또는 무선으로 연결되어야 한다.
근데 컴퓨터의 개수가 늘수록 연결이 매우 복잡해진다.
예를 들어, 10대의 컴퓨터가 서로 통신한다면 각각의 컴퓨터는 9개의 플러그가 달린 총 45개의 케이블이 필요하다.
이것을 개선하기 위해서는 라우터를 사용하면 된다.
라우터를 사용하면 10대의 컴퓨터 통신을 위해 10개의 케이블만 필요하다.
2) 네트워크 속의 네트워크
그럼 수백, 수천, 수십억 대의 컴퓨터를 연결하는 건 어떨까?
하나의 라우터는 그 정도까지 감당할 수 없지만, 라우터는 라우터와도 연결이 가능하다!
이로써 우리는 컴퓨터를 라우터에 연결하고, 라우터에서 라우터로, 무한히 확장할 수 있다.
하지만 이 방식으로는 해당 네트워크 내에서만 통신이 가능하고 그밖에 있는 다른 네트워크들과는 통신할 수 없다.
이를 해결하게 위해서는 집과 다른 지역 사이에, 아주 먼 곳에 케이블을 연결해야 한다.
이게 가능할까 싶지만 우리에게는 전력 및 전화와 같이 집에 연결된 케이블이 있고 이것을 활용하면 장거리 네트워킹도 가능하다.
우리의 네트워크를 전화 시설과 연결하기 위해선, 모뎀(Modulator, and DEModulator)이라는 특수 장비가 필요하다.
(모뎀이란? 모뎀은 아날로그/디지털 변환기의 일종으로 컴퓨터의 디지털 신호를 아날로그 신호로 바꾸어 전송하고, 아날로그 신호를 받아 디지털 신호로 읽어낸다.)
모뎀은 우리 네트워크의 정보를 전화 시설에서 처리 할 수 있는 정보로 바꾸며, 그 반대의 경우도 마찬가지이다.
모뎀을 통해 우리의 네트워크는 전화 시설에 연결된다.
그리고 우리는 네트워크에서 도달하려는 네트워크로 메시지를 보내야 한다.
그렇게 하기 위해 네트워크를 인터넷 서비스 제공 업체(internet service provider, ISP)에 연결해야 한다.
ISP는 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 액세스 할 수 있는 회사이다.
따라서 우리 네트워크의 메시지는 ISP 네트워크의 네트워크를 통해 대상 네트워크로 전달된다.
인터넷은 이러한 전체 네트워크 인프라로 구성된다.
3) 컴퓨터 찾기
컴퓨터에 메시지를 보내려면 메시지를 받을 특정 컴퓨터를 지정해야 한다.
그리고 네트워크에 연결된 모든 컴퓨터에는 IP 주소(IP는 인터넷 프로토콜을 나타냄)라는 고유한 주소가 있다.
컴퓨터는 이러한 주소로 다른 컴퓨터를 찾아가는데 문제가 없다. 하지만 우리는 IP주소를 기억하기 힘들기 때문에 '도메인 이름'이라고 하는 사람이 읽을 수 있는 IP 주소의 이름을 지정할 수 있다.
4) 인터넷과 웹
웹 브라우저를 사용해서 웹을 탐색할 때 일반적으로 도메인 이름을 사용하여 웹 사이트에 접속한다.
그것은 인터넷과 웹이 같은 것을 의미할까?
그렇게 간단하지는 않다. 앞에서 보았듯이 인터넷은 수십억 대의 컴퓨터를 모두 연결하는 기술 인프라이다.
이러한 컴퓨터들 중에 일부는 '웹 서버'로서 웹 브라우저가 이해할 수 있는 서비스를 제공한다.
인터넷은 인프라이며, 웹은 그 인프라 기반 위에 구축된 서비스이다.
(웹 뿐만 아니라 인터넷 위에 구축된 다른 이메일, IRC 등 같은 서비스들도 있음)
5) 인트라넷과 엑스트라넷
인트라넷은 특정 조직의 구성원들만 접근할 수 있는 네트워크이다.
이는 주로 구성원들이 공유 리로스에 안전하게 접근하고, 협업하며 소통할 수 있는 포털을 제공하는 데 사용된다.
(예를 들어, 조직의 인트라넷은 부서나 팀 정보를 공유하는 웹 페이지, 주요 문서와 파일을 관리하는 공유 드라이브, 업무 관리 작업을 수행하는 포털, 위키, 토론 게시판, 메시징 시스템과 같은 협업 도구를 호스팅 할 수 있다.)
엑스트라넷은 인트라넷과 매우 유사하지만, 다른 조직관의 공유와 협업을 위해 사설 네트워크의 전체 또는 일부를 개방한다는 점이 다르다. 이는 일반적으로 기업과 긴밀히 협력하는 고객 및 이해관계자들과 안전하고 보안성 있게 정보를 공유하는 데 사용된다.
정보 및 파일 고융, 협업 도구, 토론 게시판 등 인트라넷이 제공하는 기능과 유사한 기능을 제공한다.
인트라넷과 엑스트라넷 모두 인터넷과 동일한 종류의 인프라에서 실행되며 같은 프로토콜을 사용한다.
따라서 권한을 부여받은 구성원들은 서로 다른 물리적 위치에서도 접근할 수 있다.
6) 패킷과 프로토콜
우리가 전송하는 데이터는 텍스트, 이미지 등이 있는데, 통째로 전송하지 않고 작게 나눠서 보낸다.
이 작게 나눈 데이터 조각을 패킷이라고 한다. 패킷을 사용하는 이유는 빠르고 효율적으로 데이터를 전달하기 위해서다.
(큰 파일을 그냥 한번에 보내는 게 쪼개서 보내는 것보다 빠르지 않을까? 싶을 수 있다. 하지만 현대의 컴퓨터는 하나의 프로그램에서 네트워크를 사용하지 않으며 다른 프로그램에서 데이터를 주고받는 데에 방해를 받을 수 있다.
전송되는 패킷은 전자 신호로 변환되어 이더넷 케이블이라는 전선을 먼저 통과해야 한다.
전자 신호는 0과 1로 이루어져 있고, 이 신호를 다른 컴퓨터에 전송하면 다시 원래의 데이터로 변환해야 하는데, 아무런 양식 없이 전송하면 다른 컴퓨터가 이 데이터가 텍스트인지 이미지인지 어떻게 변환해야 하는지 알 수 없다.
따라서 데이터를 전송하는 특정 양식(통신 규약)을 정해놓았는데, 이것을 프로토콜이라고 한다.
프로토콜은 장치마다 처리하는 역할마다 다양하다. 프로토콜을 각 역할로 구분하여 계층을 나눠놓은 것은 TCP/IP 4 layer이라고 한다.
이렇게 구분해 놓으면 서로 간에 간섭을 최소화하여 편리성을 높일 수 있다.
L4: 응용계층 (HTTP, FTP, SMTP 등) - 웹(HTTP), 이메일(SMTP), 파일전송(FTP) 같은 응용프로그램을 위한 프로토콜
L3: 전송계층 (TCP) - 응용프로그램을 구분하는 포트 번호를 통해 컴퓨터에서 돌아가는 프로그램들 중 특정 응용 프로그램 하나를 찾아감
L2: 인터넷 계층(IP) - IP 주소를 통해 수많은 컴퓨터들 중 특정 컴퓨터 하나를 찾아감
L1: 네트워크 연결 계층 - 전선과 장비들을 통해 물리적으로 데이터 전송하기 위해 적절한 디지털/아날로그 신호 등등으로 변환함
응용 프로그램에서 데이터를 전송하면 각 프로토콜에 따라 패킷이 만들어지고, 아래 계층으로 내려가며 각 계층의 프로토콜에 따라 해석되거나 다른 정보가 덧붙여져 그 아래 계층으로 내려간다. 네트워크 연결 계층까지 오면 전선과 장치들을 통해 인터넷으로 전송되고, 아래 계층부터 위 계층까지 차례대로 거쳐 프로토콜에 의해 원본 데이터에 해석된다. 이러한 구분을 통해 서로 간에 간섭이 최소화되어 편하지만, 응용 계층에서는 응용 프로그램끼리의 해석만 신경 쓰면 되고 그 밑에 이 응용 프로그램을 어떻게 찾아오는지, 컴퓨터를 어떻게 찾아가는지, 디지털/아날로그 신호로 어떻게 바꾸는지 신경 쓰지 않아도 되기 때문이다.
7) 인터넷의 동작 과정
1. 프로토콜: 인터넷은 TCP/IP라는 표준 프로토콜을 사용해 서로 다른 네트워크와 장치들이 통신할 수 있게 한다.
2. IP 주소: 인터넷상의 각 컴퓨터와 장치는 고유한 IP 주소를 가지고 있어, 정보를 교환할 때 정확한 위치를 찾을 수 있다.
3. DNS: 사용자 친화적인 도메인 이름을 해당 IP 주소로 변환해 주는 시스템.
4. router: 데이터 패킷을 목적지로 전송하기 위해 올바른 경로를 찾아주는 장치이다.
5. 웹 브라우저 및 서버: 웹 브라우저를 통해 인터넷을 이용하며, 웹 서버는 웹 페이지와 다양한 콘텐츠를 저장하고 제공한다.
reference:
'BackEnd' 카테고리의 다른 글
[인터넷] 도메인이란? (1) | 2024.12.24 |
---|---|
[인터넷] DNS란? (0) | 2024.12.23 |
[인터넷] HTTP란? (0) | 2024.12.23 |
인터넷의 작동 원리 (1) (3) | 2024.12.03 |
백엔드 로드맵 (0) | 2024.12.03 |