그림으로 배우는 네트워크 스터디 3

  1. 인터넷의 기기와 구성

    • 이더넷은 전 세계에서 폭넓게 이용되고있는 네트워크 규격이다.
    • 현대 컴퓨터에 탑재되어 있는 유선 네트워크 인터페이스는 거의 100%가 이더넷이다.
    • 허브/스위치를 몇 단계 접속하는 것을 cascade접속이라고 한다.
    • 이더넷은 접속을 작게 분할해서 프레임이라고 부르는 형태로 만들고 이걸 전기신호나 광신호로 변환해서 통신 매체에 전송한다.
  2. L2 스위치

    • 일반적으로 허브, 스위치, L2스위치는 거의 동일한 의미로 사용된다.
    • L2스위치는 받아들인 이더넷 프레임의 수신처 MAC주소를 알아내 그 MAC주소를 가진 컴퓨터가 접속되어 있는 포트로 이더넷 프레임을 송출한다.
    • 위와 같이 할 수 있는 이유는 포트와 MAC주소의 대응 여부를 MAC주소 테이블에 기록하고 있기 때문이다.
    • 등록되지 않은 컴퓨터 앞으로 이더넷 프레임을 보내는 경우 L2 스위치는 프레임이 도달한 포트 이외의 포트 전체에 그 프레임을 송출한다. 이 동작을 플러딩(flooding)이라고 한다.
    • 플러딩을 한 후 이걸 수신한 컴퓨터가 어떤 형태의 송신을 하기 위해 이더넷 프레임을 L2스위치로 송출하면 여기에 포함된 송신처 MAC주소와 포트 번호가 MAC 주소 테이블에 등록된다.
    • L3 스위치는 그 이름대로 레이어3, 즉 IP 패킷을 처리하는 스위치다. 라우터와 L3 스위치는 기본적으로 동일한 기능을 갖는다고 봐도 무방하다.
    • L4 스위치는 즉 TCP 나 UDP에서 패킷을 할당하는 기능을 가지며 부하 분산 등의 목적을 갖는다.
    • L3 스위치는 LAN 를 많이 갖고 있어 단말기가 많이 설치된 네트워크의 말단에 가까운 영역에서도 이용하기 쉽다는 특징을 갖지만 L3 스위치에 문제가 생기면 라우터 기능과 스위치 기능 양쪽 다 못쓰게 된다.
  3. 무선 LAN

    • 무선 LAN은 LAN 케이블 대신 무선을 사용해서 네트워크에 접속하는 기술이다.
    • 무선 LAN은 유선 LAN보다 보안이 약하다.
    • 본래 무선 LAN 그 자체는 유선 접속을 무선으로 치환해서 허브/스위치에서의 접속과 동일한 기능(브릿지)을 제공하는 것이다.
  4. 포트 기반 VLAN과 태그 기반 VLAN

    • 물리적으로는 한 개의 네트워크를 논리적으로 여러 개의 네트워크로 분할하는 기술을 VLAN(virtual LAN)이라고 한다.
    • 포트 기반 LAN은 스위치나 라우터에 탑재되어 있는 포트를 그룹 몇개로 지정해서 그 그룹에 속한 포트군을 독립시켜 하나의 LAN처럼 보이게 하는 기술이다.
    • 태그 기반 VLAN은 LAN 케이블 한개 내에 여러개의 LAN 정보를 흘려 보내는 기술이다. 이더넷 프레임 내에 VLAN 를 나타내는 정보(태그)를 내장함으로써 LAN 케이블 한개에 흘리는 정보를 VLAN으로 구분한다.
  5. VPN이란

    • VPN(virtual Private Network)은 인터넷 등 기존 네트워크 내에 새로운 가상 네트워크를 만드는 기술이다.
    • VPN을 이용하는 경우 만의 하나 도청 등을 당하는 상황에서도 일정 수준의 기밀을 보장하도록 암호화를 병용한다.
    • 터널 기술은 어떤 통신회선 내에 만들어낸 가상 통신 회선이다. 터널을 여러 개 만들면 통신 회선 한 개를 여러 개의 가상화 통신 회선으로 이용할 수 있게 된다.
  6. 가상화

    • 가상화란 물리적인 네트워크나 컴퓨터를 사용해서 논리적인 네트워크나 컴퓨터를 만들어 내는 기술이다.
    • 가상화로 물리적인 장비 한 대 내에 여러 대의 논리적인 장비를 만들어내거나 반대로 여러 대의 물리적인 장비를 한대의 논리적인 장비로 보이게 할 수 있다.
    • 가상화의 장점으로 물리적인 장비의 대수나 장소에 제약을 받지 않고 기능을 이용할 수 있다는점. 장비의 처리 능력을 효과적으로 사용할 수 있다는점. 장비 각각이 갖는 것 이상의 능력을 낼 수 있다는점 . 필요에 따라 규모 확장/축소가 쉽다는 점이 있다.
  7. 클라우드

    • 클라우드의 특징은 이용자가 직접 web 화면 등을 통해 컴퓨터, 네트워크, 각종 서비스를 자유롭게 조합해서 필요한 시스템이나 서비스를 구성한 후 이걸 네트워크를 경유하여 이용할 수 있다는 점이다. 이 배경에는 가상화 기술이 중요한 역할을 한다.
    • Iaas(Infrastructure as a Service)
    • Paas(PlatForm as a Service)
    • SaaS(Software as a Service)
  8. 웹을 지탱하는 기술

    • 하이퍼텍스트에는 문서 내에 하이퍼링크라고 불리는 다른 문서에 대한 참조가 있고 하이퍼링크를 따라가면 어러 개의 문서를 연관 지어서 전체적으로 거대한 정보를 나타낼 수 있다.
    • URL : Web에 존재하는 문서나 각종 파일의 위치를 표시하는데 사용됨
    • URL은 크게 나눠 scheme, host, path 세부분으로 나뉜다.
    • 정적 컨텐츠는 미리 제작해서 서버에 보존되어 있는 컨텐츠이다.

      • 항상 동일하도록 유지되면 좋은것에 사용된다.
    • 동적 컨텐츠는 읽기 요청할 때마다 프로그램이 동작해서 만들어내는 커텐츠이다.

      • 접속할 때마다 결과가 바뀔 가능성이 있는 것에 사용한다.
  9. HTTP

    • HTTP(HypertextTransfer Protocol)는 web서버와 web클라이언트 간에 web 정보를 주고받기 위한 프로토콜이다.
    • 이전에 무엇을 요청했는가에 따라 응답이 변하는 일이 없이 동일한 조건이라면 요청에 대해서든 응답이 상항 동일하다고 나오는데 사실 method에 따라 다르다. post는 다를 수 있음.

      • 서버의 정보가 안전한 것은 head와 get이다.
      • 멱등성을 가지는 메서드는 get delete put head 등이 있다.
    • HTTP 요청을 TCP/IP로 서버에 보내면 서버는 이걸 받아서 요청 내용을 처리하고 그 결과를 HTTP dmdekqdmfh qhsosek.
    • 요청에는 요청 대상, 헤더필드, 메시지 본체의 각 부분이 있으며 하고자 하는 조작 요청을 대상 메서드로 지정한다.
    • 응답에는 상태값, 헤더 필드, 메시지 본체의 각 부분이 있으며 처리 결과는 상태코드로 표시된다.
  10. HTTPS와 SSL/TLS

    • HTTPS는 HTTP통신에서의 통신을 안전하게 보호하기 위한 구조다.
    • 포트번호 443이 할당되어져 있다.
    • HTTPS는 SSL(Secure Sockets Layer)/TLS(Transport Layer Security)라고 불리는 프로토콜이 만들어내는 안전한 연결 방법을 사용하고 이를 기반으로 HTTP에 따른 통신을 한다.
    • HTTP의 요청이나 응답 내용은 암호화 되고 도중에 누가 통신내용을 변경했는지 검사할 수 있고 접속한 WEB서버가 진짜인지 검증할 수 있다.
  11. 이외의 어플리케이션 계층 프로토콜

    • STMP : 전자 메일 전송에 사용되는 프로토콜이다.
    • POP3와 IMAP4는 메일함을 읽는 프로토콜이다.

      • POP3는 메일 함의 메일을 PC에 넣고 PC내에서 정리나 열람을 하는 형태
      • IMAP4는 메일을 서버상의 메일함에 둔 상태에서 정리나 열람을 하는 형태
    • FTP 파일을 전송하기 위한 프로토콜

      • 전송 제어를 위해 21, 20 포트를 사용
      • 한개는 실제 데이터를 전송하는 것 나머지 하나는 제어하기 위한 접속은 독립되어 있으므로 전송 도중 중지시키는 등의 컨트롤을 하기 쉬워짐
    • 액티브 모드와 패시브 모드

      • 액티브 모드는 아무것도 지정하지 않고 FTP 프로토콜에서는 FTP 서버가 클라이언트에게 연결 하려고 하는데 가정이나 사무실 네트워크는 외부에서 부정 침입을 막기 위해 외부에서 내부로의 접속을 금지한다.
      • 액티브 모드의 문제점을 해결하기 위해 FTP 클라이언트 측에서 두번 째 접속(전송데이터용)을 연결하는 패시브 모드가 설정된다.
  12. SSH(secure shell)

    • 서버나 네트워크 기기에 접속해서 대상을 CUI로 조작하는 데 사용하는 프로토콜 및 그걸 하기 위한 프로그램의 명칭이다.
    • 암호화 되어 있어서 안전하게 대상을 조작할 수 있다.
  13. DNS

    • IP 주소 대신 컴퓨터에 부여된 명칭인 도메인명을 쓴다.
    • 도메인명에서 IP주소를 찾는 것(정방향), 혹은 반대로 IP주소에서 도메인 명을 찾는것(역방향)을 이름 분석(name resolution)이라 한다.
    • DNS를 구성하는 서버에는 컨텐츠서버, 캐시서버 두 종류가 있다.
  14. NTP

    • 네트워크에 연결된 컴퓨터의 시간을 맞추기 위한 프로토콜
    • NTP로 시간 정보를 제공하는것은 NTP 서버다.
    • NTP 서버는 계층적인 구조를 취한다.
  15. HTTP 프락시

    • 웹 서버와 직접 통신하지 않고 어떤 형태의 중계용 컴퓨터를 거쳐 인터넷과 주고 받는 형태.
    • 위와 같이 사이에 두고 통신 내용을 전하는 컴퓨터를 프락시라고 한다.
    • 프락시가 제공하는 기능으로 컨텐츠의 케시와 바이러스 검출 유해사이트 차단이 있다.
  16. 서비스 연계와 REST API

    • 네트워크를 경유하여 호출해서 사용하는 서비스를 제공하는 사업자나 서비스를 ASP라고 함
    • ASP 나 SaaS/PaaS 등의 기능을 네트워크를 경유해서 호출할 때 많이 사용되는 것이 HTTP이다.
    • HTTP를 사용해서 네트워크 경유로 기능을 호출하거나 XML이나 JSON으로 결과를 돌려주는 형태를 일반적으로 REST API라고 함.
  17. HTML의 구조와 XML

    • HTML에서 사용하는 문서를 기술하는 언어이다. 태그라고 불리는 명령어를 사용해서 텍스트 파일 내에 표시하므로 마크업 언어라고도 한다.
    • XML은 마크업 언어를 정의하기 위한 범용적인 규칙을 정의하여 작성 규칙이 엄격하다.
    • HTTP 요청은 한 번에 한 개의 요소만 취하므로 여러 번 주고 받으며 복수개의 표시 요소를 읽어들인다.(ex 이미지)
  18. 문자코드

    • 컴퓨터가 다룰 수 있는 데이터는 그 구조에서 수치로 제한된다.
    • 수치와 문자를 대응시킨 문자 코드가 정의되어 있어 우리는 컴퓨터에서 읽거나 쓰거나의 작업을 할 수 있다.
    • 통신으로 주고받을때나 컴퓨터 내에서 처리 할 땐 정보나 문자에 대응하는 수치의 집합으로 처리된다.
    • 문자에 대응하는 숫자를 문자 코드라고 부른다.

Written by@Zero1
This blog is for that I organize what I study and my thinking, feeling and experience.

GitHub