Network
[네트워크] 네트워크의 기초 개념
madylin
2023. 7. 6. 13:48
반응형
(42Seoul의 Netpractice 과제를 진행하며 공부한 내용을 작성한 TIL을 정리한 글 입니다.)
네트워크
- 컴퓨터나 장치가 서로 통신할 수 있도록 연결된 시스템을 말한다.다양한 용도로 사용하며, 데이터 전송, 파일 공유, 인쇄 및 통신 등이 있음
- 컴퓨터 두대만 연결되어도 네트워크라고 부를 수 있으며, 이러한 네트워크들을 연결하여 이루어진 거대한 네트워크를 인터넷이라고 한다.
- 네트워크의 범위
- 근거리 통신망(LAN : Local Area Network)
- 한 건물이나 작은 지역 내 컴퓨터나 기타 장치를 연결함
- 광역 통신망(WAN : Wide Area Network)
- 도시, 국가와 같은 넓은 범위에서 컴퓨터나 기타 장치를 연결함
- 근거리 통신망(LAN : Local Area Network)
패킷
- 네트워크를 통해 전송되는 데이터의 작은 조각패킷에는 번호가 있어, 통신 과정에서 순서가 섞여도 수신 측에서 이 번호대로 패킷을 결합하여 원래 모습으로 만든다.
- 데이터가 크면 네트워크의 대역폭을 많이 차지하기 때문에, 다른 패킷의 흐름을 막을 수 있어 작은 조각으로 나누어 전송한다.
프로토콜
- 컴퓨터 내부 or 컴퓨터 간 데이터 교환 방식을 정의하는 규칙 체계
- 수신 측에서 데이터를 이해하기 위하여 데이터 형식에 대한 상호 합의가 요구되며, 이러한 형식을 정의하는 규칙의 집합
TCP/IP
- 인터넷에서 가장 멀리 사용되는 프로토콜
- TCP 란?
- Transmission Control Protocol
- 많은 양의 데이터를 패킷으로 교환하여 전송하고, 전달받은 패킷을 재조립하는 역할을 함
- IP 란?
- Internet Protocol
- 인터넷에서 컴퓨터의 위치를 찾아 데이터를 전송하기 위한 규칙
- IP는 4개의 숫자로 구성되며, 숫자의 크기에 따라 아래와 같이 나뉨
- IPv4
- 32비트, 각 숫자는 1바이트
- 10진수로 표현하고, 각 자리는 . 으로 구분
- IPv6
- 128비트, 각 숫자는 4바이트
- 각 자리를 4자리 16진수로 표현하고, :로 구분
- IPv4
- 아래와 같이 계층 구조로 이루어져 있음
응용 계층 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 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/25인 경우, 사용할 수 있는 IP 대역은 아래와 같음
- Bitmask 가 커지면(호스트 ID방향으로 움직이면) 서브네팅이며, 작아지면(네트워크 ID방향으로 움직이면) 슈퍼네팅이다.
💡 서브네팅, 슈퍼네팅
IPv4의 주소고갈 문제를 해결하기 위해 제안된 방식
서브네팅(Subnetting) : 네트워크를 작은 네트워크(서브넷)으로 나눔.
슈퍼네팅(Supernettint) : 여러 네트워크를 하나의 네트워크로 합침
도움된 참고자료
브로드캐스트(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 | "제한된 브로드 캐스트"대상 주소로 예약 |
제가 공부한 내용을 기록하고 있습니다.
혹시 수정이 필요한 부분이 있다면, 댓글로 지적 부탁드립니다!
선한 관심과 도움 감사드립니다😊
반응형