네트워크

DY_DEV·2023년 3월 28일
0

TIL

목록 보기
9/17

웹 애플리케이션

특정기기에 설치해서 사용하는 애플리케이션을 네이티브 애플리케이션(Native-application) 이라고 부릅니다.

  • 네이티브 애플리케이션은 Apple iOS, Android OS, Windows 와 같은 특정 실행환경에 종속

네이티브 애플리케이션의 장점

  • 웹애플리케이션보다 빠릅니다.
  • 애플리케이션이 설치된 기기의 시스템/기기의 리소스에 접근이 용이합니다.(GPS 기능이나 카메라).
  • 인터넷 없이 사용 가능합니다.
  • 웹애플리케이션에 비해 안전합니다.(모바일의 경우 앱스토어에 승인을 받아야 합니다.).

네이티브 애플리케이션의 단점

  • 웹애플리케이션에 비해 개발비가 더 들어간다(아이폰과 안드로이드 간의 멀티 플랫폼 개발 등).
  • 빠른 업데이트가 힘들다.
  • 앱스토어 에 승인 받기가 힘들고 비용이 발생한다.

웹애플리케이션은 웹 브라우저를 통해 접근이 가능한 어플리케이션 입니다.

웹애플리케이션의 장점

  • 브라우저를 통해 실행되기 때문에 설치나 다운로드가 필요 없다.
  • 업데이트 등의 유지관리가 쉽다.
  • 네이티브 애플리케이션에 비해 만들기가 비교적 간편하다.
  • 애플리케이션 스토어 승인이 필요 없다.

웹 애플리케이션의 단점

  • 인터넷이 없으면 사용이 안된다.
  • 네이티브 애플리케이션에 비해 속도가 느리다.
  • 애플리케이션 스토어에서 관리되지 않기 때문에 사용자 접근성이 떨어진다.
  • 질적으로나 보안상 위험에 노출되기가 쉽다.

TCP/IP

유선이 되었든 무선이든 라우터에 연결이 되어있지 않다면 인터넷을 사용할 수 없습니다.

  • 좁은 범위에서 연결된 네트워크를 LAN(Local Area Network)라고 부릅니다.
  • 작은 거점의 네트워크 구성인 LAN 이 WAN 으로 확장하기 위해서는 각 거점을 연결하는 통신회선 서비스를 이용해야 합니다.
    KT등의 통신 사업자가 이러한 회선 서비스를 구성하고 고객에게 서비스를 제공합니다. 우리가 사용하는 인터넷은 이러한 통신 사업자의 설비를 빌려야 회선 서비스를 이용한 WAN 에 접속이 가능하기 때문에. 비용을 지불하게 됩니다.

internetworking

네트워크를 확장하는 방법?

  • 한 네트워크를 확장하는 방법.
  • 네트워크와 네트워크를 연결하는 방법.

여기서 후자가 인터네트워킹.

인터네트워킹은 그 네트워크의 일부에서 고장이 나도 영향이 광범위하게 퍼지지 않는다는 점과, 불필요한 통신이 네트워크 전체로 확산하지 않는다는점, 개별 네트워크를 각각의 방침에 따라 관리가 가능하다는 등의 장점이 있습니다.

전 세계적으로 인터네트워킹 하는 것이 우리가 사용하는 인터넷(The Internet) 입니다.

프로토콜(protocol)

  • 어느 컴퓨터든 일관되게 네트워크를 사용할 수 있게 하는 공통언어가 바로 프로토콜입니다.

TCP / IP

인터넷 통신 스위트(Internet Protocol Suite) 은 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약의 모음입니다.

이 모음은 다른 컴퓨터나, 다른 운영체제, 다른 회선간의 통신이 가능하게 해줍니다.

인터넷이 처음 시작하던 시기에 정의되어 현재까지 표준으로 사용하고 있는 TCP(Transmission Control Protocol) 와 IP(Internet Protocol) 에서 가져와 TCP/IP 라고 부릅니다.

TCP/IP 4계층 모델

P 주소에는 private 주소와 public 주소가 있습니다. LAN 네트워크 내부에서 사용되는 것이 Private IP 주소이고, Public IP주소는 인터넷에서 사용이 됩니다.

  • IP는 Internet Protocol의 줄임 말로, 인터넷상에서 사용하는 주소체계를 의미합니다. 인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분됩니다. 이렇게 네 덩이의 숫자로 구분된 IP 주소체계를 IPv4라고 합니다. IPv4는 Internet Protocol version 4의 줄임 말로, IP 주소체계의 네 번째 버전을 뜻합니다.
  • 터미널 들어가서 nslookup을 입력하면 IPv4 주소를 확인할 수 있습니다.
  • localhost, 127.0.0.1 : 현재 사용 중인 로컬 PC를 지칭합니다.
  • 0.0.0.0, 255.255.255.255 : broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소입니다. 서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있습니다.

MAC 주소

IP address 만 가지고는 네트워크 상에서 송수신이 가능하지는 않습니다. 각 네트워크 기기는 처음부터 제조사에서 할당하는 고유 시리얼인 MAC 주소를 IP 주소와 조합해야만 네트워크를 통한 통신이 가능합니다.

  • 이더넷에서는 네트워크상의 송수신 상대를 특정하고자 MAC 주소를 사용하고, TCP/IP 에서는 IP address를 사용하기 때문입니다.

같은 LAN 에 속한 기기끼리 통신을 할때는 우선 상대방의 MAC 주소를 파악하는 과정이 있게 됩니다.

이때 사용하는 것이 ARP (address resolution protocol) 입니다. MAC 주소를 파악하기 위해 네트워크 전체에 브로드캐스트를 통해 패킷을 보내고.

해당 IP를 가지고 있는 컴퓨터가 자신의 MAC 주소를 Response하게 됨으로써 통신할 수 있게 해주는 프로토콜 입니다.

패킷

기기끼리의 통신에는 회선 교환(Circuit Switching) 방식과 패킷 교환(Packet Switching) 두가지 방식이 있습니다.

  • 회선교환: 음성전화 시스템등에 사용된다. > 일대일간의 데이터 교환만 가능한 경우
  • 패킷교환: 원본 데이터를 패킷(packet) 이라고 하는 작은 단위로 나누고, 여러 회선을 공용해 통신을 주고 받습니다.

  • 하나의 패킷은 헤더와 페이로드로 구성, 헤더에는 데이터의 정보가 들어가있습니다.
  • 주고받을 데이터를 작게 분할해 전송해도 도착한 곳에서 원래대로 복원이 가능합니다.

IP

서브넷 마스크(subnet mask): IPv4 주소에서 네트워크부가 어디까지인지 나타내는 것

  • IPv4 주소는 OOO.OOO.OOO.OOO 의 형식
  • 마침표로 구분된 4개의 8비트 필드(8자리 2진수 4개)로 되어있다.
  • 각 8비트 필드는 IPv4 주소에서 1바이트를 나타낸다.
  • IPv4 주소의 바이트를 나타내는 이러한 형식을 점으로 구분된 십진수 형식이라고도한다.
  • IP 주소는 네트워크부와 호스트부로 나뉜다.
    • 네트워크부는 어떤 네트워크인지를 알 수 있는 정보이고, 호스트부는 그 네트워크 안의 특정 컴퓨터를 지칭하는 정보다.

8자리의 2진수 묶음을 옥텟이라고 부릅니다. IPv4 주소는 4개의 옥텟으로 이루어져 있고, 각각을 1옥텟, 2옥텟, 3옥텟, 4옥텟이라고 부릅니다.

위 서브넷 마스크의 경우는, 1에서 3까지의 옥텟을 네트워크부로 사용하는 서브넷 마스크 입니다. 따라서 4옥텟은 호스트부로 사용하고 있음을 알수 있습니다.

호스트부를 변경해 가면서 IP 할당이 이루어 지게 됩니다.

  • 위와 같은 예라면, 호스트부는 8자리로 이루어진 2진수이므로, 할당할 수 없는 시작(0)과 끝 숫자(255)를 제외한 번호로 할당이 가능합니다.
  • 호스트부가 0으로 만 이루어진 것은 네트워크 주소로 그 네트워크를 의미합니다.
  • 호스트부가 1로만 이루어진 것은 브로드캐스트 주소로 ARP 와 같은 기능을 사용하기 위해 사용합니다.
  • 시작(0) 과 끝(255)를 제외한 254개의 주소만이 할당가능.

IP프로토콜의 한계

  • 비연결성
  • 비신뢰성

TCP, UDP

  • 특징

웹애플리케이션에서 많이 사용하는 HTTP의 경우 모든 데이터를 제대로 송수신이 가능해야 하는 특성상, TCP를 사용합니다.

TCP 3-way handshake

TCP 3-way handshake 는 양 끝단의(end to end) 기기의 신뢰성 있는 데이터 통신을 위해, TCP 방식이 연결을 설정하는 방식입니다.

  • 첫 번째 SYN: sender는 receiver와 연결 설정을 위해, segment를 랜덤으로 설정된 SYN(Synchronize Sequence Number)와 함께 보냅니다.
  • 두 번째 SYN / ACK: receiver 는 받은 요청을 바탕으로 SYN/ACK 신호 세트를 응답합니다. Acknowledgement(ACK) 응답으로 보내는 segment가 유효한 SYN요청을 받았는지를 의미합니다.
  • 세 번째 ACK: sender는 받은 ACK를 receiver에게 전송을 하면서, 신뢰성 있는 연결이 성립되었다는 사실을 sender와 receiver 양쪽에서 알 수 있고, 실제 데이터 전송이 시작되게 됩니다.

PORT

포트번호는 대상 IP 기기의 특정 어플리케이션을 나타내는 번호입니다.
local pc IP주소: 127.0.0.1

  • 이미 사용중인 포트는 중복해서 사용할 수 없습니다.
  • 포트 번호는 0~ 65,535 까지 사용할 수 있습니다.

EX)

URL, DNS

URL(Uniform Resource Locator)

URL(Uniform Resource Locator)은 웹에 게시된 어떤 자원을 찾기 위한 브라우저에서 사용되는 메커니즘 입니다.

  • 인터넷 상에서 HTML이나 이미지 등 리소스의 위치를 특정하기 위한 서식으로 사용된다.
  • URL은 서버가 제공되는 환경에 존재하는 파일의 위치를 나타냅니다.
  • URL은 scheme, hosts, url-path로 구분
    • scheme: 통신방식(프로토콜)을 결정
    • host: 웹 서버의 이름, 도메인, ip를 사용해 주소를 나타냄
    • url-path: 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타냅니다.

URI(Uniform Resource Identifier)

URL의 기본 요소인 scheme, hosts, url-path에 더해 query, bookmark를 포함합니다.

Domain name

registry: 도메인 관리 기관 , 각 도메인 정보의 데이터베이스를 관리하고, registry에 따라 도메인 종류가 달라집니다.

register: 중개 등록업체. Registrar는 중개 등록업체 입니다.

도메인은 두종류로 나뉩니다.

  • gTLD – generic Top Level Domain
    • 전세계에서 등록이 가능한 .com, .net, .org, .edu, .gov, .int, .mil 입곱 가지로 시작하여 현재까지 .biz, .name, .info 등이 추가되어 왔습니다. VERISIGN 등의 회사가 registrar이고, 국내 ICANN 인증 registrar 는 가비아, 후이즈 등이 있습니다.
  • ccTLD – country code Top Level Domain
    • .kr, .us, .jp 등 200개 이상이 있습니다. 각국 네트워크 정보센터에서 위임받아 관리하며 .kr 의 경우 한국인터넷진흥원이 registry로 그리고 registrar는 가비아, 후이즈 등이 있습니다.

DNS

브라우저의 검색창에 도메인 이름을 입력하여 해당 사이트로 이동하기 위해서는, 해당 도메인 이름과 매칭된 IP 주소를 확인하는 작업이 반드시 필요합니다. > 네트워크에는 이것을 위한 서버가 별도로 존재.

  • Domain Name System의 줄임말로, 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템입니다.
  • 도메인 주소는 오른쪽 부터 왼쪽으로 최상위 도메인과 여러 개의 도메인으로 구성.
  • 탑 레벨 도메인: .com, .kr, .net 등 도메인의 가장 오른쪽에 위치하는 도메인 국가 코드를 사용하는 도메인은 co, ac와 같은 2단계 도메인과 함께 사용되기도 합니다.
  • 서브도메인: www, m와 같은 제일 왼쪽에 위치한 도메인들이 해당
  • 도메인 서버(존): 도메인을 관리
    • 루트 네임 서버
    • TLD네임 서버
    • 권한 있는 네임서버

0개의 댓글