Network

네트워크 기초 정리 :: 네트워크와 네트워크를 실현하는 기술

gamjadori 2024. 1. 13. 10:28
728x90

 

<네트워크>

컴퓨터들이 통신망을 통해 서로 그물처럼 연결된 체계

종류는 가정 네트워크나 기업 네트워크 등 다양하게 나누어지고, 네트워크의 규모가 커지면 거점 간 통신이 필요해 짐

>> 각 네트워크를 연결하는 것이 랜과 왠

<랜LAN과 왠WAN>

  • 랜 LAN: 거점 내부를 연결 (사무실끼리 연결)

<접속 방법> 유선 랜 / 무선 랜

>> 케이블로 접속하느냐 마느냐의 차이

  1. 유선 랜: 이더넷 사용
  2. 무선 랜: IEEE 802.11
    • 처음에는 유선 랜을 사용했으나 무선 랜으로 발전
    • 왠 WAN: 거점과 거점, 또는 거점과 인터넷을 연결 (회사와 인터넷, 회사와 회사)
    • 통신 사업자가 제공하는 통신 회선 서비스를 이용하는 네트워크

<네트워크 구성 요소>

  • 단말기: PC나 휴대전화를 의미
  • 서버: 어떤 서비스를 제공하는 컴퓨터
  • 스위치: 유선 랜을 묶는 장치
    • L2 스위치: 단순히 유선 랜을 묶는 기능 >> 네트워크에 연결하기 위해서는 라우터를 이용해야 함
      • 스위치 등장 이전에는 리피터를 이용
    • L3 스위치: 네트워크와 네트워크를 연결하는 기능 탑재 장치
      • 포트가 많다는 특징
    • L4, L7 스위치 (로드 밸런서): 부하분산이나 통신 제어 가능한 고급 스위치
      • 로드 밸런싱: 시스템에 대한 요청을 여러 서버에 분산해 통신량의 균형 조절
        1. 라운드 로빈: 데이터를 순서대로 할당
        2. 최소 연결: 서버 중 가장 커넥션이 적은 곳으로 데이터 분산
      • L7은 응용 계층의 내용(프로토콜)까지 분석해 데이터 분산
  • 무선 액세스 포인트: 무선 랜을 묶는 것 (유선 랜은 스위치 이용)
  • ONU: 광 회선과 공유기를 연결하고 광 신호와 디지털 신호 변환
  • 라우터: 네트워크와 네크워크를 연결하는 기능
    • CIDR (라우팅 집약)
      • 인터넷상의 데이터 라우팅 효율성을 향상시키는 IP 주소 할당 방법
      • 192.168.0.0/24 ~ 192.168.255.0/24를 모두 라우팅 테이블에 작성해야 할 때, 효율적으로 192.168.0.0/16으로 표현
    • 정적 라우팅과 동적 라우팅
      • <정적 라우팅>
        • 네트워크 규모가 아주 작을때나 구성한 후에 변경될 일이 별로 없을 경우 사용
        • 미리 경로를 지정해서 목적지까지의 과정을 저장 후 중개하는 방식으로 이루어지며 수동으로 설정
      • <동적 라우팅>
      • 라우팅 테이블에서 경로의 현재 상태에 따라 경로를 동적으로 설정 
        1. RIP: 거리의 방향을 기준(최대 15개 까지만 허용)으로 패킷을 전달하는 방식
          • 소규모 네트워크 상에서 효율적이고 구성이 간단
          • 단점: 대규모 네트워크에선 한계
        2. OSPF: 최단 경로를 바탕으로 패킷을 전달하는 라우팅 프로토콜
  • 방화벽: 네크워크 경계에 놓이는 장비지만, 보안 기능에 치중
  • 가상 라우터 (VPC): 자체 데이터 센터에서 운영하는 기존 네트워크와 아주 유사한 가상 네트워크

<프로토콜>

  • 컴퓨터끼리 통신하기 위한 공통된 약속
  • TCP/IP가 주류 = 곧, 수많은 인터넷 통신 프로토콜 세트를 의미

<TCP/IP> 인터넷 프로토콜 스위트

  • 다른 컴퓨터 벤더나 운영 체제, 서로 다른 회선끼리 통신할 수 있게 하는 통신 프로토콜 세트
  • 역할에 따라 4계층으로 나뉨

  • OS 참조 모델: 컴퓨터가 가져야 하는 통신 기능을 계층 구조로 나눈 모델이나 벤더 간에 상호 통신할 수 있는 네트워크 모델

<네트워크 계층>

  • 컴퓨터를 물리적으로 네트워크에 연결해 기기 간 전송을 가능하게 함 (스위치)
  • L2 스위치: 단순히 유선 랜을 묶는 기능 >> 네트워크에 연결하기 위해서는 라우터를 이용해야 함
    • 스위치 등장 이전에는 리피터를 이용
  • L3 스위치: 네트워크와 네트워크를 연결하는 기능 탑재 장치
    • 포트가 많다는 특징
  • L4, L7 스위치 (로드 밸런서): 부하분산이나 통신 제어 가능한 고급 스위치
    • 로드 밸런싱: 시스템에 대한 요청을 여러 서버에 분산해 통신량의 균형 조절
      1. 라운드 로빈: 데이터를 순서대로 할당
      2. 최소 연결: 서버 중 가장 커넥션이 적은 곳으로 데이터 분산
    • L7은 응용 계층의 내용(프로토콜)까지 분석해 데이터 분산

<TCP와 UDP - 포트>

  • 포트(Port): TCP나 UDP에서 어플리케이션이 상호구분을 위해서 사용하는 번호로, 각 프로토콜의 데이터가 통하는 논리적 통로
  • TCP와 UDP: OSI 7 계층들 중 TCP/IP의 전송 계층에서 사용되는 프로토콜
    • 전송 계층: 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층

<TCP>

  • 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜
  • 연결 지향적 프로토콜: 클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 프로토콜

<특징>

  1. 연결형 서비스로 가상 회선 방식을 제공
  2. 흐름 제어: 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우 방지
  3. 속도가 느림
  4. 혼잡 제어
  5. 전이중(Full-Duplex), 점대점(Point to Point) 방식
    • 전이중(Full-Duplex): 양방향으로 동시에 전송 가능
    • 점대점(Point to Point): 각 연결이 정확히 2개의 종단점을 가지고 있음

<UDP>

  • 비디오 재생 또는 DNS 조회와 같이 시간에 민감한 전송을 위해 사용되는 비연결형, 신뢰성이 없는 전송 프로토콜

<특징>

  1. 데이터의 전송 순서가 바뀔 수 있다.
  2. 데이터 수신 여부를 확인하지 않는다.
  3. TCP보다 속도가 빠르다.

<TCP와 UDP 비교>

  • TCP는 상대에게 신호가 잘 전달되었는지 물으며 전송하기 때문에 신뢰성 있는 전송이 중요할 때 사용되는 프로토콜
  • UDP는 TCP보다 빠르지만 장점이 있지만, 잘 전달되었는지 묻지 않아 신뢰성 있는 데이터 전송을 보장하지는 않음

>> 신뢰성보다 연속성이 중요한 실시간 스트리밍과 같은 서비스에 사용

<자주 사용되는 포트>

이름 포트 번호 종류 역할
FTP 20 TCP 데이터 포트, 데이터 전송에 사용
FTP 21 TCP 제어 포트, 클라이언트의 접속 및 제어에 사용
SSH 22 TCP 컴퓨터 원격 로그인
텔넷 23 TCP 컴퓨터 원격 로그인
SMTP 25 TCP 메일 발송
DNS 53 TCP / UDP 도메인 이름을 머신이 읽을 수 있는 IP 주소로 변환
DHCP 67 UDP IP 주소 및 기타 통신 매개변수를 네트워크에 연결된 장치에 자동으로 할당
HTTP 80 TCP 웹 서버 접속
HTTPS 443 TCP 웹 서버 접속(SSL)
MySQL 3306 TCP 데이터베이스 관리

<포트 포워딩>

  • 특정한 방식으로 라우터를 설정하여 데이터를 이동하는 방법
  • 가정용 네트워크와 원격 기기 사이를 직접적으로 연결하는 경우에 유용
  • 포트(port)를 열어 두는 작업이기 때문에 해킹의 위험성이 높음

<ICMP>

  • TCP/IP가 구현된 컴퓨터 및 네트워크 기기 사이에서 통신 상태를 확인할 때 이용하는 프로토콜
  • OSI 참조 모델 3계층에서 동작하며, 계층은 IP와 동일하지만 IP보다 위에서 동작
  • TCP나 UDP와 동등한 계층에 존재하다고 할 수 있음

<주소> 통신 상대를 특정하는 식별 정보

  • IP 주소: TCP/IP에서 컴퓨터를 식별하려고 할당하는 번호 (xxx.xxx.xxx.xxx 형식)
    1. 프라이빗 IP 주소: 랜 내부에서 사용되는 주소
    2. 글로벌 IP 주소: 인터넷에서 사용되는 주소클래스 주소
      클래스 주소
      A 10.0.0.0/8
      B 172.16.0.0/12
      C 192.168.0.0/16
      >> 프라이빗으로만 사용되는 IP 주소
  • MAC 주소: 컴퓨터나 라우터 등 네트워크 기기에 처음부터 할당된 번호
    • MAC 주소를 IP 주소와 조합해야 컴퓨터끼리 통신 가능

>> APR: IP 패킷을 보내고 싶은 상대의 MAC 주소를 조사할 때 이용

  • 다른 네트워크에 있는 컴퓨터와 통신하고 싶을 때는 APR가 IP 주소가 아니라 기본 게이트웨이에 대응하는 MAC 주소를 조사해야 함

<서브넷 마스크>

  • IP 주소 = 네트워크부 + 호스트부
    • 네트워크부: 어떤 네트워크를 나타내는 정보
    • 호스트부: 네트워크 안의 컴퓨터를 특정하는 정보
  • 서브넷 마스크: 네크워크부가 어디까지인지 나타내는 것

EX.

IP 주소: 192.168.1.1
서브넷 마스크: 255.255.255.0
네트워크 주소: 192.168.1.0 (XXX.XXX.XXX.0)
브로드 캐스트 주소: 192.168.1.255 (XXX.XXX.1.255)

  • 브로드 캐스트: 서버들이 자신의 어떤 서비스를 제공한다는 것을 모든 클라이언트들에게 알릴 때 사용
  • IP 주소 중 맨 마지막 부분을 0(네트워크 주소를 표현)이나 255(브로드 캐스트 주소)로 지정하는 것은 불가능

<IP 클래스>

<패킷> 소포라고 생각

  • 패킷: 네트워크에서 출발지와 목적지 간에 라우팅 되는 데이터의 단위
  • 헤더: 소포의 운송장에 해당
  • 페이로드: 화물에 해당
    1. 회선 교환: 전화에 가까운 이미지로, 데이터를 교환하는 동안 계속해서 쇠선을 점유
    2. 패킷 교환: 주고받는 데이터를 패킷이라는 작은 단위로 나누고, 회선을 공용해서 복수의 통신을 내보내는 방식

<데이터 전송 매커니즘>

  • 설정: 컴퓨터 A에서 컴퓨터 B통신 (서로 다른 네트워크에 존재)

>> 컴퓨터 A > 기본 게이트 웨이 > 라우터 > 라우팅 테이블 > 보내야 하는 곳 확인 (>라우터) > 컴퓨터 B

<NAT>

  • 라우터를 이용해 프라이빗 IP 주소를 글로벌 IP 주소로 변환하여 인터넷에 접속하게 해주는 기술