Book - 그림으로 배우는 네트워크 원리 / Gene

Sunday, August 16, 2020

그림으로 배우는 네트워크 원리 - Gene

기본정보

  • 영진닷컴 2019
  • 김성훈 옮김

감상

책을 펼치면 왼쪽 페이지는 설명, 오른쪽은 그림으로 네트워크의 구조를 설명하고 있다. 이러한 구성이 책 전반의 흐름을 파악하기엔 좋지 않지만 용어 하나, 이론 하나를 설명하기엔 좋은 구성인거 같다. 이해가 되지 않을땐 한,두 페이지만 다시 읽어보면 된다.

내용

1. 네트워크 기본

  • 프로토콜 - 통신하기 위한 데이터 형식 등의 규칙
    • 복수의 프로토콜을 조합한 네트워크 아키텍처에 기반하여 통신
    • 현재는 네트워크 아키텍처로서 TCP/IP를 이용
    • TCP/IP의 계층
      |TCP/IP의 계층|주요 프로토콜|
      |:—:|:—:|
      |애플리케이션층|HTTP, SMTP, POP3, IMAP4, DHCP, DNS등|
      |트랜스포트층|TCP/UDP|
      |인터넷층|IP, ICMP, ARP 등|
      |네트워크 인터페이스층|이더넷, 무선 LAN, PPP 등|
  • 클라우드 서비스
    • 클라우드 서비스는 인터넷을 통해 서버의 기능을 이용
    • 클라우드 서비스 사업자가 서버를 도입하고 운용 관리
    • 보안이나 가용성에 주의가 필요
    • 직접 서버를 운용 관리하는 기존 서버 운영 방법은 온프레미스
    • 클라우드 서비스 분류
      IaaS 하드웨어
      PaaS 플랫폼(OS, 미드웨어)
      SaaS 애플리케이션까지(ex. 온라인 스토리지 서비스)

2. 네트워크

  • 기본적인 네트워크 기기
    • 라우터
    • 레이어2 스위치
    • 레이어3 스위치
  • 데이터 전송처리 절차
    1. 데이터 수신
    2. 데이터 보낼 곳 결정
    3. 데이터 전송
  • 각각의 기기에는 인터페이스(포트)가 갖추어져있어야 한다.
  • 현재 내부 네트워크를 구성하는 LAN에는 두가지가 있다.
    • 이더넷
    • 무선 LAN(Wi-Fi)

3. TCP/IP

  • 네트워크 인터페이스층
    • 같은 네트워크 내 인터페이스 간 데이터를 전송하는 것
  • 인터넷층
    • 네트워크간의 데이터를 전송하는 역할
    • 네트워크끼리 연경하고 데이터를 전송하는 기기가 라우터
    • 원격지 네트워크에 연결된 출발지와 목적지 사이의 데이터 전송을 엔드투엔드 통신
  • 트랜스포트층
    • 적절한 애플리케이션으로 데이터를 배분하는 역할
    • 여러 애플리케이션의 데이터가 다양한 타이밍에 들어오는 것을 적절히 배분
  • 애플리케이션층
    • 애플리케이션의 기능을 실행하기 위한 데이터의 형식과 처리 절차 등을 결정
    • HTTP 는 웹브라우저, SMPT와 POP3은 전자메일 소프트웨어, DHCP와 DNS는 애플리케이션의 통신을 준비하기 위한 프로토콜
  • 프로토콜의 제어정보 ‘헤더’
    • 통신 주체인 애플리케이션이 데이터를 주고 받게 하려면, 복수의 프로토코을 조합해야 한다.(TCP/IP에서는 네 개의 프로토콜 조합)
    • 각 프로토콜에는 각가의 기능을 실현하기 위한 제어 정보(헤더)가 필요
    • 헤더를 추가 하는 것을 캡슐화, 반대를 역캡슐화
    • FCS(Frame Check Sequence) 에러 체크를 위한 정보
    • header
  • TCP/IP의 계층과 데이터를 가리키는 명칭
    • 애플리케이션층 : 메세지
    • 트랜스포트층 : 세그먼트
    • 인터넷층 : 패킷
    • 네트워크 인터페이스층 : 프레임
  • IP
    • IP의 역할은 엔드투엔트 통신을 하는것
    • IP 주소는 통신 상대가 되는 호스트를 식별하기 위한 식별 정보
    • IP 주소 표기는 8비트씩 4개로 0~255 사이의 10진수로 변환하고 ‘.‘으로 구분
    • 목적지의 개수에 따른 데이터 전송 방식
      유니캐스트 : 한곳으로 전송(IP 주소에 네트워크부와 호스트부로 구성)
      브로드캐스트 : 같은 네트워크 상의 모든 호스트(255.255.255.255)
      멀티캐스트 : 트정 그룹에 포함되는 호스트(224.0.0.0 ~ 239.255.255.255)
  • 서브넷 마스크
    • IP 주소의 네트워크부와 호스트부의 구분은 가변적
    • 32비트 IP주소의 어디까지가 네트워크부인지 명시한 것이 서브넷 마스크
    • IP주소처럼 32비트이면서 ‘0’과 ‘1’이 32개 나열됨. 여기서 ‘1’은 네트워크부를 나타내고 ‘0’은 호스트부를 나타냄
    • IP주소에 255.255.255.0 또는 /24(프리픽스 표기)과 같이 서브넷 마스크를 병기하여 네트워크부와 호스트부를 명확하게 구분
    • IP 주소 후반 호스트부를 모두 비트'0’으로 채우면 네트워크 자체를 식별하기 위해 이용하는 네트워크 주소가 됨.
  • NAT
    • NAT는 사설 주소와 공인 주소를 변환해, 사설 네트워크에서 인터넷으로 통신할 수 있게 함
  • ARP
    • IP주소와 MAC 주소를 대응시키는 것을 주소 해석
    • ARP에 의해 자동으로 주소를 해석하고 목적지 IP 주소에 대응하는 MAC 주소를 구할 수 있다.
  • Port
    • 포트 번호로 애플리케이션을 식별하고 데이터를 적절한 애플리케이션으로 보내준다.
    • 포트 번호는 TCP 또는 UDP 헤더에 지정
    • 0~1023 웰노운 포트 번호는 주로 서버 애플리케이션을 식별하기 위해 예약된 포트 번호
      |프로토콜|TCP|UDP|
      |:—:|:—:|:—:|
      |HTTP|80||
      |HTTPS|443||
      |SMTP|25||
      |POP3|110||
      |IMAP4|143||
      |FTP|20/21||
      |DHCP||67/68|
  • TCP
    • TCP로 애플리케이션 사이에서 신뢰성 있는 데이터 전송을 할수 있다.
    • TCP에 의한 데이터 전송의 흐름
      1. TCP 커넥션 맺기
      2. 애플리케이션 간 데이터 송수신
      3. TCP 커넥션 끊기
  • UDP
    • UDP는 애플리케이션에 데이터를 배분하기 위해 이용하는 프로토콜
    • TCP와 같은 확인은 하지 않음
    • IP 전화의 음성 데이터와 같은 실시간 데이터 전송을 할 때 UDP 이용
  • DNS
    • IP주소는 이해하기 어려우므로 호스트명을 이용
    • 호스트명에서 IP주소를 구하는 것을 이름해석이라 부르고 DNS는 가장 자주 이용되는 이름해석 방법이다.
  • DHCP
    • TCP/IP 설정 항목
      1. IP 주소 / 서브넷 마스크
      2. 기본 게이트웨이의 IP주소
      3. DNS 서버의 IP 주소
    • DHCP로 TCP/IP 설정을 자동으로

4. 웹사이트

  • 프록시 서버
    • 웹 접속을 대신 하는 서버
    • 웹서버에서 보면 접속하는 것은 프록시 서버이고, 원래 클라이언트는 알 수 없다.
    • 기업 네트워크에서 프록시 서버는 직원들이 웹사이트를 확인하고 부정한 웹사이트 접속을 제한

5. 이더넷과 무선 LAN

  • 이더넷의 규격
    • 1000BASE-T(전송속도,베이스 밴드 방식-전송메체(케이블)와 물리층 레벨의 특징)
  • 이더넷 헤더 안에 세가지 정보 - 목적지 MAC 주소, 출발지 MAC 주소, 타입 코드
  • 네트워크 토폴로지
    • 초기 이더넷은 버스형
    • 현재는 레이어2 스위치를 중심으로 하는 스타형
    • 링형
  • 레이어2 스위치
    • 이더넷을 이용한 하나의 네트워크 구성
    • 네트워크의 입구 역할
    • 레이어2 스위치에 등록되지 않은 MAC가 목적지로 되어 있는 이더넷 프레임을 Unknown 유니캐스트 프레임이라 한다.
    • Unknown 유니캐스트 프레임은 수신한 포트를 제외한 모든 포트에 전송(플러딩)
    • 스위치에 MAC 주소 테이블에 일정시간 등록된다.
    • 레이어2스위치와 PC의 이더네 인터페이스를 UTP케이블로 연결
    • 송신과 수신을 동시에 하는 것을 전이중 통신
    • UDP 케이블 4조중 1조를 송신용, 1조를 수신용으로 나누어 사용
  • 무선 LAN
    • 무선 LAN 액세스 포인트와 무선 LAN 클라이언트로 무선 LAN 네트워크 구성
    • 무선 LAN 액세스 포인트는 유선 이더넷에도 접속
    • 무선 LAN 규격 - 최근 IEEE802.11n/ac
    • Wi-Fi는 제조사가 달라도 서로 접속할 수 있다는 것을 보증
    • 무선 LAN 으로 통신하려면 무선 LAN 액세스 포인트에 어소시에이션한다.
    • SSID를 지정하여 어소시에이션한다.
    • 무선 LAN에서는 전파를 돌려쓰므로 규격상의 전송속도로 통신할 수 있는 경우가 없다. 또한 충돌을 피하기 위해 CSMA/CA를 이용
    • CSMA/CA 제어
      1. 전파가 이용 중인지 확인(Carrier Sense)
      2. 랜덤 시간 대기(Collision Avoidance)
      3. 데이터 송신
    • 무선 LAN의 보안 : 일반적으로 WPA2, 데이터 암호화와 사용자 인증

6. 라우팅

  • 라우터는 데이터의 목적지가 어느 네트워크에 접속되어 있는지 판단해 다음 라우터로 전송
  • 라우터가 전송하는 데이터는 IP 패킷
  • 목적지 IP 주소로 라우팅 테이블의 경로를 검색 (넥스트 홉 - 다음 라우터)
  • 라우터는 라이팅 테이블로 이웃 라우터의 네트워크 구성을 인식
  • 라이팅 테이블에 경로 정보 등록 방법
    • 직접 접속 : 인터페이스에 IP 주소를 설정하면 직접 접속된 경로 정보가 라우팅 테이블에 등록
    • 스태틱 라우팅 : 라우터에 커맨드를 입력하는 등 경로 정보를 수동으로 등록
    • 라우팅 프로토콜 : 라우터끼리 정보를 교환해 라우팅 테이블에 필요한 경로 정보를 등록
  • 경로 요약으로 복수의 네트워크 주소를 하나로 모아 라우팅 테이블에 등록
  • 디폴트 경로 ‘0.0.0.0/0’ 모든 네트워크를 집약
  • 레이어3 스위치
    • 라우터와 레이어2 스위치의 기능을 가진 데이터 전송기기
  • VLAN
    • 하나의 네트워크에 수많은 기기를 연결하면 불필요한 데이터 전송이 많다.
    • 이때 네트워크를 복수로 분할할 수 있게 하는것이 VLAN
    • VLAN으로 분할된 네트워크는 같은 VLAN에 할당된 포트 사이만 이더넷 프레임 전송 가능
    • 데이터가 전송되는 범위를 제한할 수 있다.
    • 분할된 네트워크간의 통신은 라우터나 레이어3 스위치가 필요
    • 복수의 스위치로 VLAN 구성시 스위치 사이를 효율적으로 연결하기 위해 태그 VLAN 포트 이용(포트 하나로 정리 가능)
    • 태그 VLAN 포트에서 다루는 이더넷 프레임에는 VLAN 태그가 추가
    • VLAN과 태그 VLAN 포트를 이용해 기기 추가나 배선을 변경하지 않고 네트워크를 변경 가능
    • 레이어3 스위치를 이용하면 라우터보다 효율적으로 VLAN끼리 연결 가능
  • PC에도 라우팅 테이블이 있으며 기본적으로 IP주소와 기본 게이트웨이의 IP 주소

7. 네트웤 보안

  • 인증
    • 인증 요소
      1. 사용자만 아는 정보 : 패스워드
      2. 사용자만 가진 물건 : IC카드 기능이 있는 사원증
      3. 사용자의 신체적 특징 : 지문, 망막
  • 데이터 도청을 방지하는 기술
    • 데이터 암/복호화
  • 공통키 암호 방식(AES가 널리 이용됨)
    • 암호화와 복호에 같은 암호키를 이용
    • 암호키를 어떻게 공유하고 갱신하는가 하는 키 배송 문제 존재
  • 공개키 암호 방식
    • 암호화와 복호에 다른 키를 이용
    • 공개키로 암호화했으면 비밀키로만 복호
    • 비밀키로 암호화하면 공개키로만 복호화
  • 디지털 서명
    • 디지털 서명으로 데이터를 보낸 곳과 변조 여부를 확인
    • 디지털 서명은 데이터의 해시값을 비밀키로 암호화한 것
  • 디지털 인증서
    • 공개키가 진짜인지 확인하고 공개키 암호를 안전하게 이용하기 위한 인프라로서 PKI(Public Key Infrastructure)
    • 디지털 인증서를 발행하는 신뢰할 수 있는 제3자 기관을 CA
  • SSL
    • SSL에서는 디지털 인증서로 통신 상대방이 위조되지 않은 진짜인지 확인
    • 디지털 인증서에 포함되는 공개키를 이용해서 공통키를 안전하게 배송
    • 데이터는 공통키 암호 방식으로 암호화
  • 인터넷 VPN
    • 거점 간 통신을 저비용으로 수행
    • 인터넷을 사설 네트워크인 것처럼 다루는 기술
    • 거점 간 라우터를 가상으로 연결
    • 거점 간 데이터는 터널을 경유하도록 해서 암호화
No.1 Hold

React

Book - 딥러닝 입문 / 박해선