티스토리 뷰

728x90

https://cs.fyi/guide/how-does-internet-work 

원문

 

의역많음

 

 

인터넷이란

인터넷이 무엇인지 알기 전에, 네트워크가 무엇인지 알 필요가 있다. 네트워크는 서로 연결된 여러 기기, 컴퓨터의 그룹이다. 예를 들어, 당신의 집에는 컴퓨터와 기기들의 네트워크가 있을 것이다. 옆집에 사는 당신의 친구도 비슷한 기기의 네트워크가 있을테고, 다른 이웃도 역시 그럴 것이다. 이런 네트워크들이 서로 연결되면 인터넷을 형성하게 된다.

인터넷은 네트워크들의 네트워크이다.

인터넷은 1960년 말 미국 국방부에 의해 핵 공격을 방어하기 위한 분산형 통신 네트워크를 만들기 위해 개발되었다. 시간이 지나 전 세계를 아우르는 복잡하고 정교한 네트워크로 발전하게 되었다.

오늘날 인터넷은 현대 사회의 근간이며, 전 세계 수억명의 사람들이 정보에 접근하고, 친구나 가족에게 연락하거나, 일 할때나 그 외 많은 일을 할 때 사용한다. 개발자로써 인터넷이 어떻게 작동하는지, 그리고 그를 뒷받침하는 다양한 기술과 프로토콜에 대한 확실한 이해는 필수적이다.

 

인터넷은 어떻게 작동하는가 : 개요

높은 수준에서, 인터넷은 표준화된 프로토콜의 집합을 함게 사용하는 기기와 컴퓨터 시스템을 연결함으로써 작동된다. 이런 프로토콜은 기기 간에 어떻게 정보가 교환되는지를 정의하고 데이터의 안정적이고 안전한 전송을 보장한다.

인터넷의 핵심은 상호연결된 라우터의 글로벌 네트워크이다. 라우터는 다른 기기와 시스템 사이의 트래픽 경로를 책임진다. 당신이 데이터를 인터넷을 통해 보내려 할 때, 데이터는 라우터에 보낼 수 있도록 작은 패킷으로 나눠진다. 라우터가 패킷을 검사하고 목적지로 향하는 다음 라우터에 이를 전송한다. 이런 과정을 패킷이 목적지에 도착할 때 까지 반복한다.

패킷이 정확히 도착하고 전달되었는지를 확인하기 위해 인터넷은 IP(internet protocal)이나 TCP(transmission control protocol) 과 같은 다양한 프로토콜을 사용한다. IP는 패킷을 정확한 목적지에 라우팅(경로 설정?)할 수 있도록 하고, TCP는 그동안 패킷이 정확한 요청에 확실히 전송되었는지를 보장한다.

이런 핵심 프로토콜 외에도 다른 기술과 프로토콜들이 인터넷을 통한 데이터 교환과 통신에 사용되고 있다. Domain Name System(DNS), Hypertext Transfer Protocol(HTTP)나 Secure Sockets Layer/Transport Layer Security(SSL/TLS) 프로토콜 등이 있다. 개발자는 어떻게 이런 기술들과 프로토콜이 인터넷을 통해 데이터 교환과 통신을 가능하게 하는지에 대한 확실한 이해가 필요하다.

 

기본 개념과 용어(Terminology)

인터넷을 이해하기 위해 기본적인 개념과 용어에 친숙해질 필요가 있다.

Packet: 데이터의 작은 단위로 인터넷 상에서 전송된다.

Router: 서로 다른 네트워크 간에 데이터 패킷을 전달하는 장치

IP Address: 네트워크 상에 있는 각 장치의 유일 식별 확인자. 데이터 경로 지정에(route) 사용된다.

Domain Name: 사람이 읽을 수 있도록 만든 웹사이트의 고유 이름. 예) google.com 

DNS: 도메인 이름을 IP 주소로 번역하는 역할을 하는 시스템

HTTP: 클라이언트(웹브라우저)와 서버(웹사이트) 사이에서 데이터를 전달하고자 할 때 사용됨

HTTPS: HTTP의 암호화 버전. 클라이언트와 서버 사이 보안 통신 제공.

SSL/TLS: 인터넷상에서 보안 통신에 주로 사용되는 프로토콜.

 

인터넷에서 프로토콜의 역할

프로토콜은 인터넷 상에서 통신과 데이터 교환을 가능하게 하는 중요한 역할을 한다. 프로토콜은 기기와 시스템 간의 정보 교환 방식이 정의된 표준과 규칙의 집합이다. 

세상 많은 프로토콜이 인터넷 통신에 사용된다. Internet Protocal(IP), Transmission Control Protocol(TCP), UserDatagram Protocol(UDP), Domain Name System(DNS) etc.

IP는 데이터 패킷을 정확한 목적지에 도착할 수 있도록 하는 역할이고, TCP랑 UDP는 패킷이 안전하고 효율적으로 전송될 수 있도록 하는 역할을 한다. DNS는 도메인 이름을 IP 주소로 번역하고, HTTP는 클라이언트와 서버 사이 데이터를 전송할 때 쓰인다.

표준화된 프로토콜을 사용할 때의 장점은 제조사나 공급업체가 다른 시스템이나 장치도 매끄럽게 소통이 가능하다는 점이다. 예를 들어 한 회사가 개발한 웹 브라우저는 둘 다 HTTP 프로토콜을 준수하는 한 다른 회사에서 개발된 웹 서버와 통신할 수 있다.

개발자로써 인터넷 통신에 사용되는 다양한 프로토콜과 프로토콜이 어떻게 인터넷 상에서 데이터와 정보를 전송하는지 이해하는 것은 중요하다.

 

IP주소와 도메인 이름의 이해

IP주소와 도메인 이름은 인터넷 작업 시 이해해야할 매우 중요한 개념이다.

IP주소는 네트워크에서 각 장치를 지정하는 유일 식별자이다. 데이터를 정확한 목적지에 라우팅할 때(경로설정) 사용되며, 정보가 지정된 수신자에게 보낸 것임을 보장한다. IP 주소는 전형적으로 '192.168.1.1'과 같이 점으로 구분된 4개의 숫자들로 표현된다.

도메인 이름, 다른 말로 사람이 읽을 수 있는 이름은 웹사이트와 다른 인터넷 리소스를 식별할 때 사용된다. 'google.com'과 같이 점으로 구분된 두 개 이상의 파트로 구성된다. 도메인 이름은 DNS를 사용해서 IP주소로 번역된다.

DNS는 인터넷 하부구조(infrastructure)에서 중요한 부분을 담당한다. 도메인 이름을 IP주소로 번역하는 것이다. 당신이 웹 브라우저에서 도메인 이름을 쳤을 때, 당신의 컴퓨터는 DNS 쿼리를 DNS 서버로 보내 도메인 이름에 상응하는 IP 주소를 반환한다. 당신의 컴퓨터는 반환받은 IP 주소로 웹사이트나 당신이 요청한 다른 리소스에 접속할 수 있게한다.

 

HTTP와 HTTPS

인터넷 기반의 애플리케이션과 서비스에서 가장 흔하게 쓰이는 프로토콜이다.

HTTP는 클라이언트와 서버간에 데이터를 전송할 때 쓰이는 프로토콜이다. 당신이 웹사이트를 방문하면 브라우저가 HTTP요청을 서버로 보내 당신이 요청한 웹페이지나 다른 리소스를 물어보고, 서버는 요청한 데이터가 담긴 HTTP응답을 클라이언트에게 보낸다.

HTTPS는 HTTP에서 더 안전한 버전으로, 전송될 데이터를 SSL/TLS 암호화를 사용해 암호화한다. 이는 security의 추가적인 층을 제공해서, 로그인 정보나 결제 정보같은 민감한 정보를 보호하도록 한다.

HTTPS를 사용하는 웹사이트에 방문하게 되면, 당신의 브라우저는 자물쇠 모양 아이콘을 주소창에 띄우는데, 이는 이 연결이 안전하다는 것을 의미한다. 또한 "https" 라고 웹사이트 주소가 시작되는 것도 마찬가지이다.

 

TCP/IP 로 애플리케이션 생성하기

TCP/IP(Transmission Control Protocol/Internet Protocol) 은 대부분의 인터넷 기반 어플리케이션과 서비스에서 사용되는 기본적인 통신 프로토콜이다. 이 프로토콜은 다른 장치간에 운영되고 있는 어플리케이션 사이에서 안전하고, 정해진 순서에 따라 오류가 검증된 데이터 전달을 할 수 있다.

TCP/IP 어플리케이션을 생성할 때 꼭 이해해야만 하는 개념:

  • Ports: 포트는 장치에서 실행되는 서비스나 어플리케이션을 식별하기 위해 사용된다. 각각의 어플리케이션과 서버는 고유한 포트 번호가 지정되어 데이터가 올바른 방향에 보내질 수 있도록 한다.
  • Sockets: 소켓은 IP주소와 포트넘버를 합한 것으로, 통신에서 특정 endpoint를 대표한다. 소켓은 장치간의 연결이나 어플리케이션간의 데이터 전송을 하고자할 때 사용된다.
  • Connections: 커넥션은 두 개의 장치가 서로 통신하고 싶을 때 두 개의 소켓에서 설립된다. 연결 설립(establishment) 과정에서 기기들은 최대 분할 사이즈나 창 크기와 같이 연결 상에서 데이터가 어떻게 전송될지에 대한 다양한 파라미터를 협의한다.
  • Data transfer: 커넥션이 형성되면 데이터는 각 장치에서 실행되는 어플리케이션 사이를 오갈 수 있다. 데이터는 일반적으로 분할되어 전송되고, 각각 분할은 연속된 숫자와 믿을 만한 전달을 보증하는 메타데이터를 가지고 있다.

TCP/IP를 사용하여 어플리케이션을 생성할 때, 당신의 앱이 적절한 포트, 소켓, 커넥션과 작업할 수 있도록 고안되었는지 확인해야 한다. 또한 TCP/IP와 흔히 사용되는 HTTP, FTP, SMTP(Simple Mail Tranfer Protocol)과 같은 다양한 프로토콜 및 표준에 익숙해질 필요가 있다. 이런 개념과 프로토콜을 이해하는 것은 효율적이고, 확장가능한, 안전한 인터넷 기반 어플리케이션과 서비스를 만들 때 필수적인 요소이다.

 

SSL/TLS와 안전한 인터넷 통신하기

앞서 말했듯이, SSL/TLS는 데이터가 인터넷 상에서 전송되기 전에 암호화를 하기 위해 사용된다. 웹 브라우저, 이메일 클라이언트나 파일 전송 프로그램같은 어플리케이션에서 안전한 연결을 제공하고자 할 때 주로 사용된다.

SSL/TLS를 사용해서 인터넷 통신을 보호하고자 할 때는 아래와 같은 개념을 이해할 필요가 있다.

Certificates: SSL/TLS 인증(certifications)은 클라이언트와 서버간의 신뢰를 형성한다. 인증은 서버를 식별하는 정보가 포함되어 있고, 신용할 수 있는 제 3자에 의한 서명이 포함된다.

Handshake: SSL/TLS 핸드셰이크 과정에서 클라이언트와 서버는 암호화 알고리즘과 안전한 커넥션에 필요한 다른 파라미터를 협의한다.

Encryption: 보안 연결이 성립되면 데이터는 알고리즘을 사용하여 암호화되며 클라이언트와 서버 간에 안전한 데이터 전달을 할 수 있게 한다.

인터넷 기반 서비스나 어플리케이션을 만들 때는 어떻게 SSL/TLS 가 작용하는지 이해하는 것이 중요하다. 그리고 어플리케이션이 민감한 정보를 전송할 때 SSL/TLS를 사용하도록 고안되었는지 확인해야 한다. 또한 서버에 대한 유효한 SSL/TLS 인증서를 획득 및 유지하고 SSL/TLS 연결을 구성 및 보호하기 위한 모범 사례를 따라야 합니다. 그렇게 하면 유저들의 데이터를 보호할 수 있고 인터넷을 통한 어플리케이션의 무결성(integrity)과 기밀성(confidentiality)을 보장할 수 있다.

 

미래: 떠오르는 트렌드, 기술

인터넷은 지속적으로 발전하고 새로운 기술과 트렌드가 매일 떠오른다. 개발자는 혁신적이고 효과적인 앱과 서비스를 구축하기 위해 계속해서 개발 사항을 최신 상태로 유지해야 한다.

5G: 5G는 모바일 네트워크 기술의 최신 세대로, 빠른 속도와 적은 지연, 이전 세대보다 더 큰 수용량을 제공한다. 자율주행 또는 원격 수술과 같은 새로운 어플리케이션과 케이스에 사용될 것으로 예상된다.

Internet of Things(IoT): 물리적 기기, 차량, 가전제품이나 다른 인터넷과 연결된 제품의 네트워크를 반영하여 데이터를 교환할 수 있도록 한다. IoT가 성장하면 헬스케어, 운송, 제조같은 산업 분야의 혁신이 기대된다.

Artificial Intelligence(AI): 머신러닝이나 자연어 프로세싱 같은 인공지능 기술은 이미 넓은 범위의 어플리케이션과 서비스에서 사용되고 있다. 음성비서에서 fraud detection(사기 탐지?) 까지.. 

Blockchain: 블록체인은 distributed ledger technology(분산원장기술)로 분산된 안전한 트랜잭션을 가능하게 한다.

Edge computing: 에지 컴퓨팅은 중앙 집중식 데이터 센터가 아닌 네트워크 에지에서 데이터를 처리하고 저장하는 것을 말합니다. 실시간 분석 및 저지연 애플리케이션과 같은 새로운 사용 사례 및 애플리케이션을 가능하게 할 것으로 예상됩니다.

 

결론

인터넷은 상호연결된 컴퓨터들의 글로벌 네트워크다. 데이터를 교환하기 위해서는 통신 프로토콜의 표준 세트를 사용해야 하낟.

인터넷은 IP나 TCP같은 표준화된 프로토콜을 사용해 장치와 컴퓨터 시스템이 연결됨으로써 작용한다.

인터넷의 핵심은 장치와 시스템 사이 트래픽을 전달하는 상호연결된 라우터의 글로벌 네트워크이다.

익숙해져야할 개념과 용어에는 패킷, 라우터, IP주소, 도메인네임, dns, http, https, ssl/tls 가 있다.

프로토콜은 인터넷을 통한 통신 및 데이터 교환을 가능하게 하는 데 중요한 역할을 하므로 다양한 제조업체 및 공급업체의 장치와 시스템이 원활하게 통신할 수 있다.

 

728x90
댓글
250x250
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함