네트워크 기본

김성수·2022년 9월 30일
1

알고리즘이 끝났다... 기분 너무 좋다.
당분간은 머리 뽀개질 필요가 없다..

Native-application : 특정 실행환경에서 종속되는 애플리케이션

  • 장점

    • 웹애플리케이션보다 빠르다.
    • 애플리케이션이 설치된 기기의 시스템/기기의 리소스에 접근이 용이하다.
    • 인터넷 없이 사용 가능
    • 웹애플리케이션에 비해 안전
  • 단점

    • 웹 애플리케이션에 비해 개발비가 더 들어감.
    • 빠른 업데이트가 힘들다
    • 앱스토어에 승인 받기 힘들고, 비용이 발생한다.

Web--application : 웹 브라우저를 통해 접근 가능한 어플리케이션

  • 장점
    • 브라우저를 통해 실행되기에 설치나 다운로드가 필요 없다.
    • 업데이트 등의 유지관리가 보다 쉽다.
    • 네이티브 애플리케이션에 비해 만들기가 비교적 간편하다.
    • 애플리케이션 스토어 승인이 필요 없다.
  • 단점
    • 인터넷이 없으면 사용이 안된다.
    • 네이티브 애플리케이션에 비해 속도가 느리다.
    • 애플리케이션 스토어에서 관리되지 않기에, 사용자 접근성이 떨어진다.
    • 질적으로나 보안상 위험에 노출되기가 쉽다.

네트워크 기본

LAN(Local Area Network) : 좁은 범위에서 연결된 네트워크
WAN(Wide Area Network) : 수많은 LAN들이 모여서 구성된 세계의 네트워크

인터네트워킹(internetworking)

  • 네트워크끼리 연결하는 네트워크라는 의미
    • 인터넷이라는 단어가 인터네트워크에서 유래됨.
  • 네트워크 확장 방식
    • 하나의 네트워크 확장
    • 네트워크와 네트워크를 연결하는 방법
  • 장점
    • 네트워크의 일부에서 고장이 나더라도, 영향이 광범위하게 퍼지지 않음.
    • 불필요한 통신이 네트워크 전체로 확산하지 않음.
    • 개별 네트워크마다 각각의 방침에 따라 관리가 가능

인터넷 : 전 세계적으로 인터네트워킹 하는 것

프로토콜(protocol)

  • 약속 || 통신규약 || 어느 컴퓨터든 일관되게 네트워킹할 수 있도록 하는 공통언어

TCP/IP

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

  • TCP/IP 4계층 모델

패킷

*OSI Layer 7계층에서, 네트워크 계층에서 사용하는 데이터 전송단위로 알고 있다.
기기끼리의 통신에는 회선 교환(Circuit Switching) 방식과 패킷 교환(Packet Switching) 두 가지 방식이 있음.

  • 회선 교환 방식
    • 1:1로 데이터를 교환하고, 데이터 교환 중에는 다른 데이터가 끼어들 수 없다.
      *ex) 음성 전화

컴퓨터 네트워는 여러 상대와 통신이 가능해야 하기때문에, 패킷교환 방식을 사용한다.

  • 패킷 교환 방식
    • 원본 데이터를 패킷(packet) 이라고 하는 작은 단위로 나누고, 여러 회선을 공용해 통신을 주고 받는다.
    • 하나의 패킷은 헤더와 페이로드로 구성되어 있다.
      • 헤더에는 어떤 데이터의 몇번째 데이터인지의 정보, 혹은 보내는 곳 or 최종 목적지에 대한 정보 등이 담겨있다.
    • 이렇게 주고받을 데이터를 작게 분할해서 전송하더라도, 도착한 곳에서 원래대로 복원 가능하다.

TCP, UDP 차이

이와 같은 차이점으로 인해서, 데이터의 신뢰성을 필요로 하는 애플리케이션은 TCP로,
빠른 속도나 실시간 통신이 중요한 애플리케이션의 경우 UDP로 구분해서 사용한다.

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

TCP 3-way handshake

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

  • Step 1 (SYN): 처음으로, 송신자는 수신자와 연결 설정을 위해, segment(전송계층의 데이터 단위)를 랜덤으로 설정된 SYN(Synchronize Sequence Number)를 보낸다. 이 요청은 수신자에게 송신자가 통신을 시작하고 싶다고 알립니다.

  • Step 2(SYN / ASK): 수신자는 받은 요청을 바탕으로 SYN/ACK 신호 세트를 응답
    *Acknowledgement(ACK) 응답으로 보내는 segment(전송계층의 데이터 단위)가 유효한 SYN요청을 받았는지를 의미.

  • Step 3(ACK): 송신자는 받은 ACK를 수신자에게 전송을 하고, 신뢰성 있는 연결이 성립되었다는 사실 송신자와 수신자 양쪽에서 알았다면, 실제 데이터 전송이 시작된다.

포트 번호의 정보들

URL(Uniform Resource Locator)

  • 웹에 게시된 어떤 자원을 찾기 위한 브라우저에서 사용되는 메커니즘(원리, 과정)

  • 리소스의 위치를 특정하기 휘한 서식

  • URL은 서버가 제공되는 환경에 존재하는 파일의 위치를 나타냄.

  • URL의 각 위치들의 요소

Domain name

  • 4억개에 달하는 도메인을 관리하는 곳은 ICANN(비영리 단체)

    • Registry
      • 도메인 관리 기관
      • 각 도메인 정보의 데이터베이스를 관리하고, Registry에 따라 도메인 종류가 달라짐.
    • registrar
      • 중개 등록 없체
      • Registry의 데이터베이스에 직접 도메인 정보를 등록 가능
  • 도메인 종류

    • gTLD – generic Top Level Domain
      • 전세계에서 등록가능한 .com / .net / .org / .edu / .gov / .int / .mil / .biz / .name / .info
      • VERISIGN 등의 회사가 registrar이고, 국내 ICANN 인증 registrar는 가비아, 후이즈 등이 있음.
    • gTLD – generic Top Level Domain
      • .kr / .us / .jp 등 200개 이상이 있음.
      • 각국 네트워크 정보센터에서 위임받아 관리
      • .kr의 경우 한국 인터넷 진흥원이 registry / registrar는 가비아, 후이즈 등이 있음.
  • m(모바일), www(기본), store(스토어)등의 도메인에 따라 사이트의 구성이 달라짐..

  • 도메인 서버

    • 모든 도메인을 관리하는 루트 네임 서버
    • TLD를 관리하는 네임 서버
    • 권한 있는 네임 서버로 구성
    • 도메인 이름 서버는 하나의 서버로 구성
      • 안정성을 위해 최소한 두 개 이상의 서버가 하나의 도메인 네임을 담당
      • 여러 개의 서버를 구성한다면 단 하나의 서버로 운영될 때, 생길 수 있는 여러 문제에 대해 효율적으로 대응가능

어차피 잘 될 쌩수

profile
쌩수 Git >> https://github.com/SsangSoo?tab=repositories

2개의 댓글