네트워크란?

  • 종류
    • 소셜 네트워크
    • 운송 네트워크
    • 항공 네트워크
    • 컴퓨터 네트워크
  • Interconnected 시스템
  • 상호 연결되어 있어 지하철, 도로망 등 처럼 컴퓨터도 네트워크라는 용어를 사용

기본 구성 요소

  • 노드
    • 네트워크 기본 단위
    • 엔드 노드(End Node), 중간노드(Intermediate Node) 두 종류
    • 기능 
      • 통신: 다른 노드와 데이터 교환
      • 라우팅: 데이터가 목적지에 도달할 수 있도록 최적의 경로 선택
      • 데이터 처리: 데이터를 패킷화,패깃 분할/재조립, 오류검사 등
      • 네트워크 관리: 상태 감시, 트래픽 관리, 보안
    • 컴퓨터-컴퓨터, 서버-컴퓨터, 서버-서버 등
  • 링크
    • 노드간 데이터를 전송하는 연결
      • 유선 : 이더넷, 관섬유, 케이블, 무선등
      • 무선 : Wify, 블루투스 등
  • 프로토콜(Protocol)
    • 데이터의 전송 규칙(TCP,UDP,HTTP, HTTPS, FTP등)

배치 형태

  • P2P
    • 단 2대를 연결하는 경우
    • 과거 시리얼 포트 또는 크로스 UTP 케이블로 연결하는 구조
    • 1:1통신
  • 버스(Bus)
    • 1개의 BNC 케이블(케이블 TV 동축 케이블)에 여러대의 컴퓨터를 연결
    • 전체에 브로드캐스팅하면 수신 측이 자기것만 채택하고 나머지는 무시
  • 링(Ring)
    • 1개의 BNC 캐이블을 원형으로 만든 뒤 여러 대의 컴퓨터를 연결하는 구성
    • 버스에 비해 양뱡향 통신이 가능하지만, 버스와 같이 초기 네트워크에서 구성되던 형태
  • 스타
    • 중앙 허브 또는 스위치에 연결된 구조
    • 대부분의 가정과 사무실, IDC 센터 등에서 채택하는 구조
    • 중간 허브/스위치가 맛이가면 다 맛이 가는 형태
  • 매쉬
    • 1:n의 구성으로 신뢰성이 높지만, 복잡하고, 비용이 비싸 군사 영역, 무선 네트워크에 주로 사용
  • 트리
    • 스타 토플로지를 확장한 널리 사용되는 형태
    • 회사, IDC 센터, ISP 사업자 


네트워크 레이어(OSI 모델)

  1. 물리 계층(L1)
    • 물리적 매체로 케이블, 전기신호, 광신호 등 직접 관리
    • 이더넷, USB, 블루투스 디바이스 등
  2. 데이터 링크 계층(L2)
    • 물리적 계층에 전달된 비트 프레임으로 변환, 에러 검사, 흐름 제어, 링크 관리
    • MAC Address, MAC 프로토콜, PPP(Point-to-Point protocla)등
  3. 네트워크 계층(L3)
    • 데이터를 목적까지 옮기는 역할로 패킷의 경로를 결정하고, 패킷 주소를 관리
    • IP(Internet Protocla), IPX, 라우터 등
  4. 전송 계층(L4)
    • 데이터 전송을 관리하며, 흐름제어, 오류제어, 세그먼트화, 연결설정, 해제를 담당하면 논리적 포트 사용
    • TCP(Transmission Control Protocal), UDP(User Datagram Protocal)
  5. 세션 계층(L5)
    • 통신 세션을 설정, 관리하며, 데이터 교환 동기화(Sync)와 채크 포인트를 관리 담당
    • RPC(Remote Procedure Call), NetBIOS
  6. 프리젠테이션 계층(L6)
    • 데이터 형식을 변환하고 암호화 및 압축 처리
    • SSL/TLS, JPEG, MPEG 등
  7. 어플리케이션 계층(L7)
    • 네트워크 서비스에 접근하고 UI 제공 담당
    • HTTP, FTP, SMIP, DMS
  참조데이터 용도
L2 스위치 MAC 주소 테이블 스위치에 물려있는 디바이스 간 통신 전송
L3 스위치 라우팅 테이블 라우팅 테이블을 잠조하여 인접 라우터를 기억하고 원거리 통
L4 스위치 포트번호 포트번호를 사용해 트래픽 분배(로드 밸런싱)하는 역할
 L7 스위치 데이터 기반 HTTP 헤더, URL, 쿠키등 어플리케이션 데이터를 기반으로 한 로드밸런싱, 보안 적용
  • HUB와 SWITCH 의 차이
    •  HUB : 데이터 전송시 연결된 모든 디바이스에 이거 니꺼야? 라고 물어보고 맞다는 쪽에 전달
    • SWITCH : MAC Address를 사용해 1번에 전달
  • 세션이란?
    • 클라이언트와 서버 간의 통신이 시작되고 유지되는 논리적 연결

유형

  • PAN(Personal Area Network)
    • 개인용 네트워크로 짧은 거리 통신
    • 블루투스, NFC 등
  • LAN(Local Area Network)
    • 근거리 통신망으로 수백 m~몇  km까지 통신
    • 사무실, 집, 학교 등 네트워크
  •  MAN(Netropolitan Area Network)
    • 도시단위 통신망으로 몇 km~ 수십 km
    • 도시내 공공 기관
  • WAN(Wide Area Network)
    • 광역 통신망으로 도시, 국가, 대륙간 수백 ~ 수천 km
    • ISP 네트워크, 다국적 기업의 지사 연결 등
  • Internet
    • 지구급 단위

대표적 프로토콜

  • 프로토콜이란?
    • 컴퓨터나 기기간 통신 방식을 정의하는 규칙
  • 종류
    • TCP : 전송 계층에서 작동, 데이터를 보낸 후 수신 확인(연결 유지)
    • UDP : 전송 계층에서 작동, 데이터를 보내기만 함(비연결)
    • IP : 네트워크 계층에서 작동, IP주소를 사용해 패킷을 옮기는 역할로 모든 인터넷의 기반 기술

MAC Address

  • MAC Address란
    • 네트워크 디바이스에 반드시 하나씩 부여된 "데이터 링크 계층"을 위한 고유 주소체계로 총 21 개의 주소가 있음
    • 아래 C8-7F-54-52-35-29에 해당하는 물리적 주소가 MAC Address임
    • 48bit 체계로 앞부분 24 bit는 IEEE 국제 표준 기구에 제조사에 할당하는 코드, 나머지 24bit는 제조사에 제품 할당하는 코드
    • 일반적으로 ROM(Read OnlyMemery)에 탑재되어 보안상 이유로 고유한 장비를 식별하는데 사용, 사실 메모리에 올라가 작동하기 때문에 메모리 해킹등에 의해 주소가 변경될 수있어 완벽하지 않음

 

 


IPv4

  • IPv4란?
    • 32비트로 나타내는 국제 표준
    • 네트워크 계층의 데이터 전송을 위한 주소체계
    • 이미 바닦이 나 IPv6라는 128비트 체계가 개발됨
      • IP 주소는 앞자리로 클래스를 나눠 국가 및 ISP에 할당함
    • 종류
      • A클래스
        • 0~127(대규모 네트어크)->16,777,214개의 호스트 주소, 128개의 네트워크
        • 기본 서브넷 마스크 : 255.0.0.0
      • B 클래스
        • 128~192(중규모)->254개의 호스트 주소, 2,097,152개의 네트워크
        • 기본 서브넷 마스크 : 255.255.0.0
      • C클래스
        • 192~233(소규모)->254개의 호스트 주소, 2,097,152 개의 네트워크
        • 기본 서브넷 마스크: 255.255.255.0
      • D클래스
        • 224~239(멀티 캐스팅 용으로 잘 안씀)
      • E클래스
        • 240~255(연구/개발용)
    • IP주소 MAC Address변환
      • ARP(Afress Resolution Protocol) 사용
      • 내부망에 해당 IP 주소 찾아 외부망에 있는지 확인후 전송
        • 내부망 존재한다면 ARP 프로토콜로 해당 IP를 갖는 디바이스로 브로드캐스팅해 응답이 오는 디바이스에 데이터 전송
        • 외부망에 있다면 게이트웨이를 찾기 위해 ARP 프로토콜을 브로드 캐스팅함
    • 서브넷 마스크
      • 주어진 IP 주소를 네트워크 환경에 맞게 나누어 주기 위해 씌어주는 이진수 조합
      • 같은 서브넷 마스크가 존재한다면 내부망
      • 다른 서브넷 마스크 주소를 갖고 있다면 외부망
  • NAT(Network Address Translation)
    • 사설 IP와 공인 IP간 주소를 변환하기 위한 기술
    • 1개의 IP주소를 여러대의 Device가 나눠쓸 수 있음
    • 인터넷 공유기가 이에 해당

IP 포트

  • IP 포트란?
    • 전송 계층에서 IP 주소와 함께 사용하는 특정 프로세스나 서비스를 연결하기 위한 주소체계
    • 0~65535 값을 가지며, 대표적으로 840번 포트는 웹서비스를 뜻함
    • 1개의 IP주소에 여러개의 서비스를 제공하기 위해 사용
  • 대역
    • 0~1023
      • 서버의 기본 서비스 대역
      • HTTP : 80
      • HTTPS : 433
      • FTP :21
      • SSH :22
      • SMTP : 25
      • IMAP: 143,993
    • 1024~49151
      • 응용 프로그램 또는 서비스로 등록된 대역
    • 49152~65535
      • 동적 또는 사설 포트
    • 공인 IP와 사설 IP의 포트를 변환할 때 IP와 비슷하게 PAT(Port Address Translation)를 사용

도메인 이름(Domain Name)

  • 도메인 이름이란?
    • 자신의 공인 IP 주소를 외우기 쉽지 않기 때문에 읽고 쓰기 쉽도록 만든 것
    • DNS를 이용해 도메인 이름을 IP주소로 변환
    • DNS 서버에서 해석할 때 왼쪽에서 오른쪽으로 함
    • Root 인 "."은 생략 가능
    • DNS 서버는 도메인 이름 테이블을 확인해 IP 주소로 변경하면, 클라이언트는 IP 주소로 접속 가능

정리

  • OSI 모델(7 network layer) : 네트워크 통신을 가능케하는 표준 모델
  • 프로토콜 : 약속된 통신 규약
  • TCP : 전송 후 데이터 확인하는 안정성 우선 프로토콜
  • UDP: 전송 후 데이터 확인 없는 속도 우선 프로토콜 (게임에서 많이 사용)
  • Reliable UDP: 안정성과 속도를 동시에 잡기위한 프로토콜
  • QUIC : HTTP/3 에 제안된 UDP 기반의 프로토콜
  • IP : 인터넷 기반 전송 프로토콜
  • IP Port : IP주소와 함께 사용해서 1개의 서버에서 여러개의 서비스를 제공할 수 있도록 해주는 역할
  • MAC Address : 네트워크 장비에 1개씩 할당된 고유 주소(ROM에 탑재되어 원칙적으로는 변경 불가)
  • IP4/6 Address: 국가별, 지역별, ISP별로 할당된 주소
  • 도메인 이름: 사람이 읽고 쓰고 기억하기 위한 주소 체계, DNS를 통해 IP 주소로 변환
  • DNS : 도메인을 IP 주소로 변환
  • DHCP : IP 주소를 여러대의 디바이스가 공유하게 하는 서버
  • 서버 : 중앙에서 어떤 일을 하는 컴퓨터
  • DB 서버 : 데이터 베이스로 데이터를 저장하고 읽는 서버
  • 웹 서버: HTTP(80/443번 포트) : 서비스를 담당하는 서버
  •  Restful API 서버 : JSON 기반 데이터를 송신하는 서버
  • API 서버 : Socket 또는 다른 프로토콜 등으로 데이터 베이스의 앞에서 게이트 역할을 하는 서버
  • 방화벽 서버 : 세션을 제어하기 위한 서버
  • 클라이언트 : 네트워크에 접속하여 다른 클라이언트와 통신하거나 서버를 사용하는 디바스