부트캠프

네트워크 - 웹 애플리케이션 작동원리 part1

hunm719 2023. 1. 26. 20:42

1.웹 애플리케이션에 대하여

1-1.네이티브 애플리케이션(Native-application)
 -특정기기에 설치해서 사용하는 애플리케이션
 -Apple iOS, Android OS, Windows 같은 특정 실행환경에 종속됨(아이폰에 설치되게끔 만들어진 애플리케이션은 갤럭시나 윈도우 컴퓨터에서 실행할 수 없음)

 -장점
  (1)인터넷 없이 사용 가능
  (2)애플리케이션이 설치된 기기의 시스템/기기의 리소스에 접근이 용이함(GPS 기능이나 카메라)
  (3)웹애플리케이션보다 빠르고 안전함(모바일의 경우 앱스토어에 승인 필요)

 -단점
  (1)빠른 업데이트가 힘듦
  (2)웹애플리케이션에 비해 개발비가 더 들어감
  (3)앱스토어에 승인 받기가 힘들고 비용이 발생함


1-2.웹애플리케이션(Web-application)
 -웹 브라우저를 통해 접근이 가능한 어플리케이션

 -장점
  (1)브라우저를 통해 실행되기 때문에 설치나 다운로드가 필요 없음
  (2)업데이트 등의 유지관리가 쉬움
  (3)네이티브 애플리케이션에 비해 만들기가 비교적 간편함
  (4)애플리케이션 스토어 승인이 필요 없음

 -단점
  (1)인터넷이 없으면 사용 불가
  (2)질적으로나 보안상 위험에 노출되기 쉬움
  (3)네이티브 애플리케이션에 비해 속도가 느림
  (4)애플리케이션 스토어에서 관리되지 않기 때문에 사용자 접근성이 떨어짐


2.네트워크를 만드는 기술


2-1.LAN 과 WAN
 -일반적으로 컴퓨터는 인터넷 제공업체에서 제공한 인터넷 라우터를 통해 인터넷에 연결되어 있고, 이러한 좁은 범위에서 연결된 네트워크를 LAN(Local Area Network)라고 부름
 -수 많은 LAN 들이 모여 세계의 네트워크를 구성하는 WAN(Wide Area Network)가 구성됨


2-2.인터네트워킹(Internetworking)
 -네트워크를 확장하는 방식은 아래와 같이 크게 두 가지 방법이 있음
  (1)하나의 네트워크를 확장하는 방법
  (2)네트워크와 네트워크를 연결하는 방법

 -(2)처럼 여러 네트워크를 연결하는 것을 인터네트워킹이라 부르고,  네트워크의 일부에서 고장이 나도 영향이 광범위하게 퍼지지 않는다는 점과, 불필요한 통신이 네트워크 전체로 확산하지 않는다는점, 개별 네트워크를 각각의 방침에 따라 관리가 가능하다는 등의 장점이 있음
  *전 세계적으로 인터네트워킹 하는 것이 우리가 사용하는 인터넷(Internet)


2-3.프로토콜(Protocol)
 -인터넷에 연결되어 있는 멀리 떨어진 컴퓨터들끼리 서로 소통하려면 공통된 약속이 필요하고, 이를 프로토콜이라고 함
  *공통된 약속 = '어느 컴퓨터든 일관되게 네트워크를 사용할 수 있게 하는 공통언어'

 -현재 주로 사용되는 약속은 'TCP/IP' 프로토콜


2-4.TCP / IP
 -인터넷 프로토콜 슈트(Internet Protocol Suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 통신규약(프로토콜)의 모음으로 인터넷 프로토콜 슈트 중 TCP와 IP가 가장 많이 쓰이기 때문에 TCP/IP 프로토콜 슈트라고도 불림

데이터가 계층모델을 통해 상대에게 도달하는 흐름

2-5.주소(Address)
 -어떤 건물이나 지역을 찾아가기 위해서는 해당하는 주소를 알아야 하듯 네트워크 상에서 어떤 PC에 접속하기 위해서는 해당 PC를 가리키는 주소를 알아야함
 -네트워크에 연결된 특정 PC의 주소를 나타내는 체계를 IP 주소(Internet Protocol address)라고 함
   *즉, IP 주소는 TCP/IP 구조에서 컴퓨터를 식별하기 위해 사용되는 주소이고 컴퓨터나 휴대전화, 서버, 인터넷 라우터 등 네트워크 장비에 각각의 IP 주소가 할당됨

 +IP주소에는 private주소와 public주소가 있는데, LAN 네트워크 내부에서 사용되면 private 주소, 인터넷에서 사용되면 public 주소이다
 +인터넷에 연결된 모든 PC는 IP 주소체계를 따라 xxx.xxx.xxx.xxx과 같이 4덩이의 숫자로 구분되는데 이를 IPv4(Internet Protocol version 4)라고 함

 +MAC 주소 : 각 네트워크 기기는 처음부터 제조사에서 할당하는 고유 시리얼인 MAC 주소를 IP 주소와 조합해야만 네트워크를 통한 통신이 가능함
  *같은 LAN에 속한 기기끼리 통신을 할 때는 우선 상대방의 MAC 주소를 파악하는 과정이 선행되는데, 이 때 사용하는 것이 ARP(Address Resoultion Protocol)임
  **ARP : MAC 주소를 파악하기 위해 네트워크 전체에 브로드캐스트를 통해 패킷을 보내고, 해당 IP를 가지고 있는 컴퓨터가 자신의 MAC 주소를 Response하게 됨으로써 통신할 수 있게 해주는 프로토콜

 +패킷(Packet)
  -기기끼리의 통신에는 회선 교환(Circuit Switching) 방식과 패킷 교환(Packet Switching) 두가지 방식이 있음
  -통신 회선을 설명하여 데이터 교환을 하는 회선교환 방식은 주로 음성전화 시스템에 사용되는데 전화는 일대일로 데이터를 교환하고, 전화간 통화 중에는 다른 상대와 전화통화가 불가능 함

  -하지만 컴퓨터 네트워크는 여러 상대와 통신이 가능해야 하기에 이를 극복하기 위해 생긴것이 패킷 교환 방식
  *패킷 교환은 원본 데이터를 패킷(packet) 이라고 하는 작은 단위로 나누고, 여러 회선을 공용해 통신을 주고 받음
  **하나의 패킷은 헤더와 페이로드로 구성되어 있고, 헤더에는 어떤 데이터의 몇번째 데이터인지의 정보와 보내는 곳 이나 최종 목적지에 대한 정보 등이 들어음
  ***이렇게 주고받을 데이터를 작게 분할하여 전송하더라도, 도착한 곳에서 원래대로 복원 가능


2-6.IP
 -IPv4 주소는 OOO.OOO.OOO.OOO 형식으로 10진수로 표기되어 있지만, 그 실체는 마침표로 구분된 4개의 8비트 필드(8자리 2진수 4개)로 되어있음
 -8자리의 2진수 묶음(OOO)를 옥텟이라 부르고, IPv4 주소는 각각 1옥텟, 2옥텟, 3옥텟, 4옥텟이라고 부름
 -IP주소는 네트워크부(part, 어떤 네트워크인지 알 수 있는 정보)와 호스트부(part, 해당 네트워크 안의 특정 컴퓨터를 지칭하는 정보)로 나뉨
  *1옥텟~3옥텟 : 네트워크부, 4옥텟 : 호스트부

2-7.TCP, UDP
 -TCP와 UDP는 2-4의 이미지를 다시 살펴보면 TCP/IP 4계층 모델 기준 IP의 2층(인터넷 계층)의 상위에서 동작함
 -전송계층에 속하는 TCP와 UDP는 2계층에서 동작하는 IP 와 4계층에서 동작하는 애플리케이션(http 등)을 중개하는 역할

 -TCP와 UDP는 중개하는 역할을 하는점에서는 동일하지만, 각각이 다른 아래와 같은 특징을 가짐

TCP와 UDP의 특징

 *TCP는 통신 신뢰성을 높이는 실현하는 기능이 구현되어 있음, UDP에는 신뢰성을 높이는 기능이 없는 대신 보다 높은 속도와 효율성을 제공함
 **데이터의 신뢰성을 필요로하는 애플리케이션은 TCP로, 빠른 속도나 실시간 통신이 중요한 애플리케이션의 경우 UDP로 구분해서 사용함


2-8.포트(Port)
 -IP프로토콜만 가지고는 한 IP에서 여러 애플리케이션이 동작할 때 특정 애플리케이션을 특정해 통신할 수 없음
 -포트번호는 대상 IP기기의 특정 어플리케이션(connection endpoint)을 특정하는 번호로 TCP와 UDP 둘 다 포트번호를 사용함

자주 사용되는 Well-known port
포트 번호별 주요 통신 규약

2-9.URL(Uniform Resource Locator)
 -URL(Uniform Resource Locator) 은 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타냄
 -인터넷상에서 HTML이나 이미지 등 리소스의 위치를 특정하기 위한 서식으로써 탄생함

URI의 요소

 -URL은 scheme, hosts, url-path로 구분할 수 있음
 -URI(Uniform Resource Identifier)는 URL의 기본요소에 query, bookmark를 포함하는 상위개념임


2-10.DNS(Domain Name System)
 -Domain name : 웹 사이트의 주소가 IP주소로만 작성된다면 기억하기 매우 어려울테니 이를 쉽게하기 위해 호스트이름과 도메인이름으로 바꾸는 것
 -호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템

Domain Name

 -예시를 들면 택시를 타고 목적지에 갈 때, 도로명주소(IP주소)를 말해도 목적지에 도착할 수 있지만 특정 상호나 건물의 이름(도메인이름)을 이용하면 보다 쉽게 나타낼 수 있음

 

 

 

 

이미지 및 내용 출처 - code states