Network

[네트워크] 네트워크의 기초 개념

madylin 2023. 7. 6. 13:48
반응형

(42Seoul의 Netpractice 과제를 진행하며 공부한 내용을 작성한 TIL을 정리한 글 입니다.)


네트워크

  • 컴퓨터나 장치가 서로 통신할 수 있도록 연결된 시스템을 말한다.다양한 용도로 사용하며, 데이터 전송, 파일 공유, 인쇄 및 통신 등이 있음
  • 컴퓨터 두대만 연결되어도 네트워크라고 부를 수 있으며, 이러한 네트워크들을 연결하여 이루어진 거대한 네트워크를 인터넷이라고 한다.
  • 네트워크의 범위
    • 근거리 통신망(LAN : Local Area Network)
      • 한 건물이나 작은 지역 내 컴퓨터나 기타 장치를 연결함
    • 광역 통신망(WAN : Wide Area Network)
      • 도시, 국가와 같은 넓은 범위에서 컴퓨터나 기타 장치를 연결함

패킷

  • 네트워크를 통해 전송되는 데이터의 작은 조각패킷에는 번호가 있어, 통신 과정에서 순서가 섞여도 수신 측에서 이 번호대로 패킷을 결합하여 원래 모습으로 만든다.
  • 데이터가 크면 네트워크의 대역폭을 많이 차지하기 때문에, 다른 패킷의 흐름을 막을 수 있어 작은 조각으로 나누어 전송한다.

프로토콜

  • 컴퓨터 내부 or 컴퓨터 간 데이터 교환 방식을 정의하는 규칙 체계
  • 수신 측에서 데이터를 이해하기 위하여 데이터 형식에 대한 상호 합의가 요구되며, 이러한 형식을 정의하는 규칙의 집합

TCP/IP

  • 인터넷에서 가장 멀리 사용되는 프로토콜
  • TCP 란?
    • Transmission Control Protocol
    • 많은 양의 데이터를 패킷으로 교환하여 전송하고, 전달받은 패킷을 재조립하는 역할을 함
  • IP 란?
    • Internet Protocol
    • 인터넷에서 컴퓨터의 위치를 찾아 데이터를 전송하기 위한 규칙
    • IP는 4개의 숫자로 구성되며, 숫자의 크기에 따라 아래와 같이 나뉨
      • IPv4
        • 32비트, 각 숫자는 1바이트
        • 10진수로 표현하고, 각 자리는 . 으로 구분
      • IPv6
        • 128비트, 각 숫자는 4바이트
        • 각 자리를 4자리 16진수로 표현하고, :로 구분
  • 아래와 같이 계층 구조로 이루어져 있음
응용 계층
Application Layer
사용자와 네트워크의 상호작용을 담당
HTTP, FTP, TELNET 프로토콜
전송 계층
Transport Layer
통신 노드 간의 데이터 전송 담당
TCP, UCP 프로토콜
인터넷 계층
Internet Layer
데이터를 어드레싱, 패키징, 라우팅하고, 네트워크 장치 간의 패킷 교환 담당
IP 프로토콜
네트워크 접근 계층
Network Access Layer
데이터(TCP/IP 패킷)를 물리적 네트워크로 전송하고, 상대 물리적 네트워크에서 데이터(TCP/IP 패킷)를 수신하는 역할 담당
  • 데이터의 전송 과정
    • 다음 계층으로 데이터가 전송될 때, 전송 계층의 헤더를 추가하여 전송함

출처 :  https://www.ibm.com/docs/ko/aix/7.1?topic=protocol-tcpip-protocols

  • 데이터의 수신 과정
    • 송신 과정의 역방향으로 진행되며, 해당 계층의 헤더를 스트립하여 전송함

출처 : https://www.ibm.com/docs/ko/aix/7.1?topic=protocol-tcpip-protocols

 


IP

  • 컴퓨터나 기타 장치가 인터넷에 연결하는데 사용되는 고유한 번호
  • 32비트 숫자이며, 4개의 옥텟으로 구성
  • 옥텟은 0 ~ 255 사이의 값을 가짐
  • 10진수로 표기

Subnet Mask

  • IP주소를 네트워크와 호스트로 분할하는데 사용되는 32비트 숫자
  • 기존에는 클래스 기반의 IP 주소 체계(’클래스풀’ 이라고 함)를 사용하였으나 현재는 비효율적이라 사용하지 않고 (’클래스리스’ 라고 함), 서브넷마스크로 네트워크와 호스트를 구분함
  • TCP/IP 프로토콜에서 호스트가 로컬 서브넷에 있는지, 원격 서브넷에 있는지 확인하기 위해 사용됨
  • 1과 0의 조합으로 구성이며, 1은 네트워크 주소, 0은 호스트 주소로 나타냄
  • IP 주소와 서브넷마스크를 AND 연산한 결과가 네트워크 주소, 나머지가 호스트 주소 
    10진수 2진수
    IP : 192.168.123.132 11000000.10101000.01111011.10000100
    서브넷마스크 : 255.255.255.0 11111111.11111111.11111111.00000000
    → AND 연산 결과
    10진수 2진수
    네트워크 주소 : 192.168.123.0 11000000.10101000.01111011.00000000
    호스트 주소 : 0.0.0.132 00000000.00000000.00000000.10000100
  • 결과로 보면, 마지막 옥텟이 호스트 주소이고, 그 외에 세개의 옥텟이 네트워크 주소인 것 같다.
  • 네트워크 주소는 해당 네트워크의 시작 주소를 의미

CIDR(Classless Inter-Domain Routing) 표기법

  • 서브넷마스크를 가독성 좋게 표기하기 위하여 사용하는 표기법
  • IP : 192.168.123.132 / 서브넷마스크 : 255.255.255.0 인 경우, 192.168.123.132/24 로 표시함
  • 슬래시 뒤의 숫자는 서브넷마스크에서 1이 연속되는 비트의 개수
  • 표기법 계산 방식
    • Bitmask 값 만큼 1을 나열하고, 32비트가 되도록 남은 자리를 0을 나열한 후 10진수로 변환하면 서브넷마스크 값
    • 위 값의 마지막 옥텟이 Netmask
    • 256에서 Netmask를 빼면 호스트 수
    • 256에서 호스트 수를 나누면 네트워크 수
  • 서브넷마스크 표 
    Bitmask Netmask 네트워크 수 (서브넷 개수) 호스트 수
    /25 128 2 128
    /26 192 4 64
    /27 224 8 32
    /28 240 16 16
    /29 248 32 8
    /30 252 64 4
    /31 254 128 2
    /32 255 256 1
  • 네트워크 수 예시
    • 192.168.123.132/25인 경우, 사용할 수 있는 IP 대역은 아래와 같음
      (각 네트워크 구역의 첫번째와 마지막 주소(브로드캐스트)는 사용할 수 없음)
      네트워크 1 192.168.123.0 ~ 192.168.123.63
      네트워크 2 192.168.123.64 ~ 192.168.123.127
      네트워크 3 192.168.123.128 ~ 192.168.123.191
      네트워크 4 192.168.123.192 ~ 192.168.123.255
      예시의 192.168.123.132 는 세번째 네트워크에 속해있는 것을 알 수 있음
  • Bitmask 가 커지면(호스트 ID방향으로 움직이면) 서브네팅이며, 작아지면(네트워크 ID방향으로 움직이면) 슈퍼네팅이다.
💡 서브네팅, 슈퍼네팅
IPv4의 주소고갈 문제를 해결하기 위해 제안된 방식
서브네팅(Subnetting) : 네트워크를 작은 네트워크(서브넷)으로 나눔.
슈퍼네팅(Supernettint) : 여러 네트워크를 하나의 네트워크로 합침

 

도움된 참고자료

🌐 CIDR 개념 쉽게 이해해보자 & 계산법


브로드캐스트(Broadcast) 주소

  • 특정 네트워크의 모든 호스트에게 데이터를 전송하는데 사용됨
  • 서브넷마스크의 ‘1’인 부분을 ‘0’으로 바꾸어 구할 수 있으며, 네트워크 수 예시 표의 각 대역의 마지막 값이 브로드캐스트이다. (ex : 192.168.123.63)
  • 네트워크 대표주소와 브로드캐스트 주소는 컴퓨터나 라우터가 자신의 IP로 사용하면 안됨

스위치

  • 네트워크 장치 간 데이터를 전송하는데 사용
  • 네트워크 장치에 고유하게 할당되는 12자리 숫자인 MAC 주소를 사용하여, 해당 장치로 데이터를 전송

라우터

  • 서로 다른 네트워크 간 데이터를 전송하는데 사용
  • IP주소를 사용하여, 해당 네트워크로 전송

라우팅 테이블 (Routing Table)

  • 목적지까지 갈 수 있는 모든 경로들 중, 가장 효율적이라고 판단되는 경로를 따로 모아두는 공간
  • 목적지 네트워크, 게이트웨이 IP 주소, 메트릭(목적지까지 도달하는데 필요한 비용)이 포함됨
  • 라우팅 프로토콜을 사용하여 생성되며, 네트워크 노드가 서로 통신하여 네트워크 토폴로지를 학습하고 라우팅 테이블을 업데이트 함
  • 라우터가 패킷을 어디로 전송할 지 경로를 결정할 때, 라우팅 테이블을 참조하여 결정함

사설 IP (Private IP)

  • IP는 공인 IP 주소와 사설 IP 주소로 구분되며, 공인 IP는 인터넷에서 사용되는 IP 주소이고, 사설 IP는 인터넷에서 사용되지 않는(접근할 수 없는) IP주소
  • 사설 IP는 네트워크 내에서만 사용됨
  • 사설 IP로 인터넷에 접속하고 싶을 경우, 공인 IP 주소를 가진 라우터를 통해야 함

특수 용도 IP

  • 일부 IP 주소를 사설 IP 주소나 내부 LAN과 같은 특수한 용도로 사용하도록 예약된 것을 의미함
  • 이 IP를 사용할 경우 내부적으로만 통신할 수 있고, 다른 네트워크와 연결 불가
주소 대역 주소 범위 용도 설명
0.0.0.0/8 0.0.0.0–0.255.255.255 Software 현재 네트워크 (소스 주소로만 유효)
10.0.0.0/8 10.0.0.0–10.255.255.255 Private network 개인 네트워크 내의 로컬 통신에 사용
100.64.0.0/10 100.64.0.0–100.127.255.255 Private network 캐리어 급 NAT를 사용할 때 서비스 제공 업체와 가입자 사이의 통신을위한 공유 주소 공간.
127.0.0.0/8 127.0.0.0–127.255.255.255 Host 로컬 호스트로의 루프백 주소에 사용
169.254.0.0/16 169.254.0.0–169.254.255.255 Subnet 일반적으로 DHCP 서버에서 검색되는 것과 같이 IP 주소가 지정되어 있지 않은 경우 단일 링크에서 두 호스트 간의 링크 로컬 주소에 사용
172.16.0.0/12 172.16.0.0–172.31.255.255 Private network 개인 네트워크 내의 로컬 통신에 사용
192.0.0.0/24 192.0.0.0–192.0.0.255 Private network IETF 프로토콜 할당
192.0.2.0/24 192.0.2.0–192.0.2.255 Documentation TEST-NET-1, 문서 및 예제로 지정
192.88.99.0/24 192.88.99.0–192.88.99.255 Internet 예약석. IPv6-IPv4 릴레이 (IPv6 주소 블록 2002 :: / 16 포함)
192.168.0.0/16 192.168.0.0–192.168.255.255 Private network 개인 네트워크 내의 로컬 통신에 사용
198.18.0.0/15 198.18.0.0–198.19.255.255 Private network 두 개의 개별 서브넷 간 네트워크 간 통신 벤치 마크 테스트에 사용
198.51.100.0/24 198.51.100.0–198.51.100.255 Documentation TEST-NET-2, 문서 및 예제로 지정
203.0.113.0/24 203.0.113.0–203.0.113.255 Documentation TEST-NET-3, 문서 및 예제로 지정
224.0.0.0/4 224.0.0.0–239.255.255.255 Internet IP 멀티 캐스트에 사용
233.252.0.0/24 233.252.0.0-233.252.0.255 Documentation ?
240.0.0.0/4 240.0.0.0–255.255.255.254 Internet 나중에 사용하기 위해 예약
255.255.255.255/32 255.255.255.255 Subnet "제한된 브로드 캐스트"대상 주소로 예약

 

 

 

 

 

 

제가 공부한 내용을 기록하고 있습니다.

혹시 수정이 필요한 부분이 있다면, 댓글로 지적 부탁드립니다!

선한 관심과 도움 감사드립니다😊

반응형