[42Seoul]Netpractice 개념 설명

tpwhzla·2023년 8월 14일

42Seoul

목록 보기
5/16

Netpractice 개념 정리


Cub3d도 끝냈다... 진짜 한 번 정리를 하긴 해야 하는데 자꾸 늦어진다

Netpractice 합격을 위해 Cub3D 팀원으로 함께해주신 jeongXXXX 님께서 학습 내용을 공유해주셨다.

여러모로 실행 파트 하드캐리를 받기도 해서 죄송했는데... Netpractice 개인적으로 공부하신 학습 내용까지 공유해주셔서 너무너무 감사할 따름...

언젠간 보은을 하고 싶은데 받질 않으신다 ㅠ


Netpractice

  1. 과제 목표
  • 네트워크 개념
  • ipv4 유형의 네트워크 형식
  • 서브넷 마스크
  • 분류...
  1. 개념 설명
  • 네트워크
    - 컴퓨터를 연결하여 정보를 주고받는 시스템
    - 노드들이 자원을 공유할 수 있게 하는 디지털 전기통신망
    - 분산되어 있는 컴퓨터를 통신망으로 연결한 것

  • 컴퓨터 통신과 네트워크의 세 가지 구성요소
    - 두 대 이상의 컴퓨터
    - 데이터를 전송매체를 통해 보내거나 받음
    - 데이터가 이동하는 통로인 전송매체
    - 데이터가 이동하는 물리적인 통로
    - 데이터의 이동을 돕는 네트워크 장비
    - 데이터를 송신하는 컴퓨터에서부터 데이터를 수신하는 컴퓨터까지 데이터가 성공적으로 전송될 수 있도록 중간에서 돕는 중계 장치

  • 전송매체
    - 유선
    - 데이터 흐름 : 물리적 경로를 따라 전달
    - 일반적으로 전기 신호로 데이터를 전송하는 케이블
    - 포트(Port)

    			- 하나의 장비와 다른 장비를 연결하기 위한 통로 (물리적인 장비들을 서로 연결하는 외부 인터페이스)
    			- 하나의 포트에 한 대의 장치가 할당됨
    		- 컴퓨터나 네트워크 장비의 랜포트(LAN port)에 랜케이블을 꽂아 서로 연결하는 것이 유선 네트워크
    		- 이터넷 프로토콜 : 랜케이블과 랜포트를 연결하여 네트워크를 만들 수 있도록 표준화된 규격을 정한 것 (랜포트 = 이더넷 포트, 랜 케이블 = 이더넷 케이블, 유선 네트워크 = 이더넷 네트워크 or 이더넷)
    	- 무선
    		- 데이터 흐름 : 물리적 경로를 따르지 않고 공간을 매개로 전달
    		- 무선 랜 인터페이스를 갖춘 컴퓨터와 연결 (와이파이로 인터넷에 접속할 수 있는 기기들은 무선 랜 인터페이스가 내장되어 있음)
    	
  • 네트워크 장비
    -
    - 허브
    - 여러 대의 컴퓨터를 연결해서 하나의 네트워크를 만들어주는 장치
    - 단순히 분배만 해주는 중계 장치, 연결된 장치의 수에 따라 데이터 전송 대역이 분리됨
    - 데이터 전송속도가 500Mbps, 연결된 장치가 5대라면 대역폭은 100Mbps로 나뉘어짐
    - 동시에 하나의 통신만 가능함 (장치 하나)
    - OSI계층의 1계층(물리 계층)

    	- 스위치
    		- 여러 대의 컴퓨터를 연결하여 하나의 네트워크를 만들고, 그 네트워크 안에서 데이터를 전송하는 장비
    		- 세 대 이상의 컴퓨터를 연결하기 위해서는 여러대의 랜포트를 갖고 있는 장비인 스위치가 필요함
    		- 스위치에 랜 케이블로 연결되어 있는 컴퓨터는 동일 케이블에 연결되어 있는 것과 같은 취급
    		- 랜포트를 전환하면서 데이터의 이동을 컨트롤하여 스위치에 연결된 컴퓨터중 정확한 수신지 컴퓨터에 데이터를 전송
    		- 멀티탭 같은 역할 (네트워크 라인을 분배), 대역폭이 줄지 않음
    		- 동시에 여러개의 통신이 가능함
    		- MAC 주소를 확인한 뒤 해당 신호의 선으로 패킷 전달
    		- OSI계층의 2계층 (데이터 링크 계층)
    
    	- 허브와 스위치의 차이
    		- 단말 a, b 가 동시에 데이터를 보내면 충돌이 발생하는데 이것을 collision이라고 함
    		- 따라서 데이터를 보내고 나면 항상 확인을 해야함 (데이터가 제대로 갔는지, 아니라면 다시 보내야 됨)
    		- 이더넷은 CSMA/CD (Carrier Sense Multiple Access / Collision Detect) 방식을 사용함
    			- 캐리어가 감지되면 데이터를 보내지 않고 기다리고 감지되면 데이터를 보냄
    			- collision이 발생하면 기다렸다가 다시 보내고 n번 일어나면 통신을 끊음
    		- ![img_cd_bd]
    		- collision domain : 스위치에 연결된 모든 장치들의 충돌 영역을 나눠줌
    		- broadcast domain : 어떤 장치가 송신한 broadcast packet이 전달되는 허용 영역
    		- 요약하자면 스위치는 모든 연결된 모든 장치의 개수만큼 충돌을 감지하는 영역이 있고 허브는 하나밖에 없기 때문에 여러개의 장치를 연결하려면 스위치를 써야됨
    		- 정확한 작동 차이는 링크 참고 (https://ja-gamma.tistory.com/entry/%ED%97%88%EB%B8%8C%EC%8A%A4%EC%9C%84%EC%B9%98%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC%EC%B0%A8%EC%9D%B4%EC%A0%90)
    	- 라우터
    		- ![img_router]
    		- ![img_router]
    		- 네트워크와 네트워크를 연결하여 서로 다른 네트워크간에 데이터를 전송하는 역할
    		- LAN(근거리 통신망)을 연결해주는 장치, 한 통신망에서 다른 통신망으로 데이터 패킷을 전송하는 장치
    		- 송신정보(패킷)에 담긴 수신처의 주소를 읽고 어느 네트워크로 전달할지 판단하고 전송해줌
    		- 스위치로 연결된 네트워크는 그 네트워크 안에서만 전송할 수 있고 다른 네트워크에 속한 컴퓨터로 데이터를 전송하고 싶으면 라우터가 필요함
    		- 라우팅 테이블
    			- 라우터가 보유하고 있는 하위 네트워크와 특정 ip로 가기 위해 거쳐야 하는 다른 라우터의 정보
    			- 라우터는 데이터를 받으면 해당 데이터(패킷)의 내용을 조사하여 내 네트워크인지, 어느 라우터에 보내야 하는지를 라우팅 테이블에서 찾아서 보냄
    			- 어느 라우터로 보낼지는 정적 라우팅과 동적 라우팅에 따라 다름
    			- 정적 라우팅
    				- 데이터가 전달되는 경로를 직접 정해서 보안성이 좋고 더 빠름
    				- 라우터가 많아지만 장애에 대처하기 어려워짐
    				- 과제에선 정적 라우팅만 사용함
    			- 동적 라우팅
    				- 라우팅 프로토콜을 사용하여 최적의 경로를 설정함
    				- 단점은 보통 정적 라우팅의 반대임
    	- 과제에선 스위치, 라우터만 알면 되는듯
    
    	- 무선 AP
    		- 유선 네트워크에 랜케이블 없이 무선으로 접속이 가능하게 만드는 네트워크 장비
    		- 유선 네트워크와 무선 기능이 있는 컴퓨터 간에 데이터의 이동을 중계함
    
    	- 인터넷 공유기
    		- 스위치, 라우터, 무선AP의 기능을 하나의 기기에 내장하여 소규모 네트워크를 구축
    		- OSI의 2(스위치), 3(라우터)단계에 해당
  • 네트워크 인터페이스
    - 랜가드(NIC, Network Interface Card)
    - ![img_nic]
    - 컴퓨터와 전송 매체의 경계에서 둘을 물리적으로 연결하는 역할
    - 0과 1로 이루어진 디지털 데이터를 전기 신호로 변환하고 전기 신호를 다시 디지털 데이터로 변환 (무선 랜카드는 전기 신호 대신 전파 신호)
    - 네트워크 인터페이스
    - 컴퓨터가 만든 디지털 데이터를 전송매체가 전달할 수 있는 전기 신호나 전파로 변환하여 네트워크에서 데이터 통신이 가능한 환경을 제공하는 것
    - 스위치는 스위치에 연결되어있는 컴퓨터를 동일 케이블에 연결된 것으로 취급하기 때문에 네트워크 인터페이스가 아님

  • 네트워크의 종류 (3가지)
    - LAN (Local Area Network)
    - 특정한 좁은 지역, 비교적 가까운 거리에 위치한 컴퓨터들을 연결한 네트워크
    - WAN (Wide Area Network)
    - ![img_wan]
    - 둘 이상의 LAN을 연결하여 먼 거리에 위치한 컴퓨터들이 통신할 수 있는 네트워크
    - 인터 네트워킹
    - 복수의 네트워크를 연결
    - 개별 네트워크는 각각의 방침에 따라 관리 가능
    - 한 네트워크에 장애가 발생하더라도 장애 발생 범위가 제한되어 다른 네트워크 간의 통신은 정상적으로 가능
    - 네트워크와 네트워크를 연결할 때는 대부분 IP프로토콜(Internet Protocol)을 사용
    - 인터넷과 ISP
    - WAN의 일종으로 전 세계의 LAN을 연결한 네트워크
    - ISP(Internet Service Provider)
    - 인터넷에 접속할 수 있는 서비스를 제공하는 통신회사
    - 집이나 사무실의 LAN을 구축한 라우터나 인터넷 공유기를 ISP가 제공한 라우터와 연결함으로써 LAN과 ISP의 네트워크가 연결되어 집이나 사무실에서 인터넷을 사용할 수 있음

  • 인터넷의 발전과 월드 와이드 웹
    - 컴퓨터의 발전
    - 폰 노이만이 컴퓨터를 CPU, 메모리, 프로그램으로 구조화한 폰 노이만 구조를 제안
    - 폰 노이만 구조가 컴퓨터 기술의 기반이 됨
    - 네트워크의 발전
    - 인터넷 기술의 기초
    - 미국 국방성에서 최초로 개발한 아파넷(대학과 연구기관을 연결한 네트워크)
    - TCP/IP 프로토골의 보급으로 인터넷 대중화
    - 월드 와이드 웹의 등장
    - 월드 와이드 웹
    - 인터넷에서 표준적으로 사용하는 문서 시스템
    - 최초의 하이퍼텍스트 문서인 HTML(HyperText Markup Language) 덕분에 한 번의 클릭으로 웹페이지내에서의 이동과 웹페이지 간의 이동이 가능해짐
    - 웹브라우저와 웹서버
    - 웹 브라우저
    - 웹 페이지를 보기 위해 사용하는 애플리케이션
    - 웹 서버
    - 웹 페이지를 저장하고 웹 브라우저에게 웹 페이지를 보내주는 애플리케이션 또는 그 애플리케이션을 실행하는 컴퓨터
    - 서버 클라이언트 구조를 사용함으로써 하나의 웹 서버가 저장하고 있는 웹 페이지를 다수의 웹 브라우저가 볼 수 있는 형태의 서비스가 됨
    - URL(Uniform Resource Locator)과 HTTP(HyperText Transfer Protocol)
    - HTML로 웹 페이지를 만들고 그 웹페이지를 웹서버 컴퓨터에 저장하면서 URL이라는 주소를 부여하여 찾기 쉽게 만듦
    - HTTP 프로토콜
    - 월드 와이드 웹에서 데이터를 주고 받는 웹 브라우저와 웹 서버 간의 통신 규칙
    - 전세계의 웹 브라우저와 웹 서버가 인터넷에서 HTTP프로토콜에 따라 HTML파일을 전송할 수 있는 시스템 탄생

  • 프로토콜과 네트워크 아키텍처 (OSI 모델과 TCP/IP 모델)
    - OSI모델 - OSI 7 Layer (OSI 7계층)
    - ![img_osi_7layer]
    - ![img_osi_tcp/ip]
    - 네트워크에서 통신이 일어나는 과정을 7단계로 나눈것
    - 통신이 일어나는 과정을 단계별로 파악가능
    - 1계층 (물리 계층)
    - 데이터 전송
    - 데이터, 에러 확인등은 하지 않음, 단순히 전달만 함
    - 케이블, 허브, 랜카드, 모뎀 등이 존재
    - 2계층 (데이터 링크 계층)
    - 물리계층을 통해 송수신되는 정보의 오류, 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와줌
    - 프레임에 주소부여(MAC), 에러 검출, 재전송, 흐름제어
    - 맥 주소를 가지고 통신함
    - 브릿지, 스위치 등이 존재
    - 3계층 (네트워크 계층)
    - 데이터를 목적지까지 가장 안전하고 빠르게 전달
    - 경로 선택, 주소 지정, 패킷 전달
    - 라우터가 있음
    - 3계층 - IP 계층
    - 3계층 - IP프로토콜
    - TCP/IP 기반의 인터넷 망을 통해 데이터그램의 전달을 담당하는 프로토콜
    - 데이터 그램 : IP의 전송단위, 최대 크키 65536(2^16)바이트의 가변 길이 패킷
    - 4계층 (전송 계층)
    - 통신을 활성화하기 위한 계층
    - TCP프로토콜을 이용하며 포트를 열어서 응용프로그램들이 전송을 할 수 있게 해줌
    - 4계층 - TCP 프로토콜
    - 신뢰적인 전송을 보장하여 어플리케이션 구현을 쉽게 해줌
    - 1. 신뢰성 있음
    - 2. 연결지향적
    - 4계층 - UDP 프로토콜
    - 전송 계층의 통신 프로토콜의 하나 (TCP에 대비됨)
    - 신뢰성이 낮은 프로토콜 (완전성을 보증하진 않음)
    - 1. 비연결성, 신뢰성 없음, 순서화되지 않은 Datagram 서비스 제공
    - 2. 실시간 응용 및 멀티캐스팅 기능
    - 3. 헤더가 단순 (헤더 처리에 많은 시간과 노력을 요하지 않음)
    - 5계층 (세션 계층)
    - 데이터가 통신하기 위한 논리적인 연결
    - TCP/IP 세션을 만들고 없앰
    - 6계층 (표현 계층)
    - 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고 암호화함
    - 7계층 (응용 계층)
    - 최종 목적지, HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 존재
    - 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행함
    - 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O)부분
    - 7계층 - HTTP 프로토콜 (HyperText Transfer Protocol)
    - 웹 상에서 웹 서버 및 웹 브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜
    - 1. 요청 및 응답의 구조
    - 2. 메세지 교환 형태의 프로토콜
    - 3. 트랜잭션 중심의 비연결성 프로토콜
    - 4. 전송 계층 프로토콜 및 사용 포트 번호
    - 5. http 표준
    - TCP/IP 모델
    - ![img_tcp/ip]
    - 데이터 전송 과정을 4 단계 나눈 것 (OSI 7계층을 더욱 추상화)
    - TCP/IP는 수많은 네트워크 프로토콜을 포함하며 TCP와 IP는 프로토콜 중 하나임
    - 1계층 (네트워크 액세스 계층)
    - OSI의 데이터 링크 계층(2계층)에 해당
    - TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정을 담당
    - 에러 검출, 패킷의 프레임화
    - 네트워크 접근 방법, 프레임 포맷, 매체에 대해 독립적으로 동작하도록 설계
    - 물리적인 주소로 MAC을 사용
    - LAN, 패킷망 등에 사용
    - 2계층 (인터넷 계층)
    - OSI의 네트워크 계층(3계층)에 해당
    - 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능을 제공
    - 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성을 제공
    - 프로토콜 종류 - IP, ARP, RARP
    - 3계층 (전송 계층)
    - OSI의 전송 계층(4계층)에 해당
    - 애플리케이션 계층의 세션과 데이터그램 통신서비스 제공
    - 통신 노드 간의 연결을 제어, 신뢰성 있는 데이터 전송을 담당
    - 프로토콜 종류 - TCP, UDP
    - 4계층 (응용 계층)
    - OSI의 세션, 표현, 응용 계층에 해당(5, 6, 7 계층)
    - 프로그램(브라우저)가 직접 인터액트하는 레이어, 데이터를 처음으로 받는 곳
    - 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션 제공
    - 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜을 정의
    - 프로토콜 종류 - HTTP, SMTP, FTP, SSH 등 (OSI의 7계층)
    - TCP/UDP 기반의 응용 프로그램을 구현할 때 사용
    - ![img_tcp/ip2]
    - ![img_tcp/ip3]
    - TCP/IP를 중심으로 어떤 서비스를 이용할 것인지에 따라 응용 계층의 프로토콜을 선택
    - 기존에 없던 새로운 형태의 애플리케이션을 개발할 경우 응용 계층에서 사용할 프로토콜을 새로 만들어야함
    - 카카오톡 서비스를 만든다면 카카오톡 서버를 제공할 서버 애플리케이션, 카카오톡 서버를 이용하기 위한 클라이언트 애플리케이션, 카카오톡 서버와 앱이 통신할 수 있는 프로토콜을 개발해야함
    - 카카오톡 앱으로는 카카오톡 메시지만, 라인 앱으로는 라인 메시지만 이용가능한 이유는 프로토콜이 통일되지 않고, 저마다 다른 프로토콜을 사용하고 있기 때문
    - 웹 서비스는 HTTP라는 통일된 프로토콜을 사용함
    - 구글의 검색 서버가 제공하는 검색 서비스를 크롬뿐만 아니라 다른 웹 브라우저에서도 이용 가능한 것은 모두 HTTP 프로토콜에 따라 프로그래밍 됐기 때문임
    - 클라이언트 애플리케이션과 응용 계층의 프로토콜 개발 없이 웹 서버 애플리케이션만 HTTP 프로토콜을 적용해서 개발하면 됨

  • IP주소와 서브넷
    - IP
    - Internet Protocol
    - 인터넷에 연결된 모든 장치들을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소
    - IPv4
    - 일반적으로 IP 주소라고 하면 IPv4 주소를 말함
    - IP version 4 의 약자
    - 전세계적으로 사용된 첫 번째 인터넷 프로토콜
    - 32비트 방식으로 8비트씩 4자리로 구성
    - ex) 115.68.24.88 (255.255.255.255 : 0~255 = 2^8씩, 4자리)
    - 총 0 ~ 2^32 (42억 9천)개의 주소를 가질 수 있는데 인터넷 사용자 수의 급증으로 고갈될 위기에 처했고 해당 문제를 해결하기 위해 나온게 IPv6임

    				- 192.168.1 = 네트워크 주소, .1 = 호스트 주소
    				- 네트워크 ID
    					- 네트워크의 범위를 지정해(호스트의 집합) 관리하기 쉽게 만든 것
    				- 호스트 ID
    					- 호스트들을 개별적으로 관리하기 위한 것
    		- IPv6
    			- IP version 6 의 약자
    			- IPv4의 주소체계를 128비트 크기로 확장한 차세대 인터넷 프로토콜 주소
    			- 16비트씩 8자리, 콜론으로 구분
    			- ex) 2001:0DB8:1000:0000:0000:0000:1111:2222
    			- 네트워크 속도, 보안성도 좋지만 기존의 주소체계를 변경하는데 비용이 많이 들어 아직 완전한 상용화가 되진 않았음
    		- 고정 IP
    		- 유동 IP
    		- 공인 IP
    			- 전세계에서 유일한 IP주소
    			- 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 pc로부터의 접근이 가능함
    			- 방화벽 등의 보안 프로그램을 설치할 필요가 있음
    		- 사설 IP
    			- 일반 가정이나 회사 내부 등에 할당된 네트워크의 ip주소
    			- 로컬ip, 가상 ip 라고도 함
    			- IPv4의 주소부족으로 인해 서브넷팅된 ip이기 때문에 라우터에 의해 로컬 네트워크 상의 pc나 장치에 할당됨
    			- 대역
    				- A 클래스 : 10.0.0.0 ~ 10.255.255.255
    				- B 클래스 : 172.16.0.0 ~ 172.31.255.255
    				- C 클래스 : 192.168.0.0 ~ 192.168.255.255
    		- 공인IP vs 사설IP
    
    			- 사설ip 만으로는 인터넷에 직접 연결할 수 없음
    			- 라우터를 통해 1개의 공인ip만 할당하고 라우터에 연결된 개인pc는 사설ip를 각각 할당 받아 인터넷에 접속할 수 있게 됨
    	- 서브넷 (부분망)
    		- 하나의 네트워크가 분할되어 나눠진 작은 네트워크
    			- 브로드 캐스팅을 사용할 때 (특정 네트워크에 연결된 모든 기기에 하나의 메시지로 동시에 데이터를 보내는 것) 연결된 호스트 장치가 많다면 성능의 저하가 오기 때문에 네트워크의 규모를 줄여서 브로드 캐스팅으로 인한 부하를 줄일 수 있음
    		- 서브넷 마스크
    			- 로컬 네트워크 내부에서 접속한 호스트의 IP 대역을 외부 네트워크와 명확하게 구분하기 위한 표준화된 수단
    			- IPv4는 IP클래스 단위로 IP를 나누어 사용자에게 할당하는 비효율적인 방법을 사용
    			- 예를 들어 클래스 B영역의 사용권한을 어느 회사에게 부여하는 경우 할당 가능한 IP수는 65536개인데 이중 1만개만 사용하고 나머지는 사용하지 않는다고 해도 사용하지 않는 부분까지 점유하고 있는 상태임
    			- 이런 문제를 해결하기 위해 서브넷 마스크로 IP할당 범위를 작은 단위로 나눌 수 있음
    		- 간단한 예시
    			- 아파트 a동과 b동이 있을 때 a동 사람이 b동에 가려면 건물 출입구를 나가야 된다
    			- a동이라는 네트워크를 벗어나는 출입구가 게이트웨이
    			- a동, b동을 나눌 수 있게 해주는 동이 서브넷 마스크이다
    			- 서브넷 마스크를 벗어나는 경우 같은 네트워크가 아니라고 판단하는 것
    		- 새로운 네트워크 ID (주소)
    			- 서브넷 마스크 주소가 있을 때의 새로운 네트워크 주소 구하기
    			- IP주소와 서브넷 마스크의 AND연산을 통해 알 수 있음
    			- 다음 예시에서
    				- IP주소
    					- 115.95.229.196 → 01110011.01011111.11100101.11000100
    				- 서브넷 마스크
    					- 255.255.255.0 → 11111111.11111111.11111111.00000000
    				- 연산 결과
    					- 01110011.01011111.11100101.00000000 -> 115.95.229.0
    				- 새로운 네트워크 주소
    					- 115.95.229
    				- 115.95.229 로 시작하는 주소만을 같은 네트워크에 있다고 인식하고 호스트 주소는 네트워크 주소 115.95.229.0 과 브로드캐스팅 주소 115.95.229.255를 제외한 254개 (2^8 - 2)임
    		- 1. 클래스 기반 주소
    			- 주소를 5개의 클래스로 나눔 (A, B, C, D, E)
    			- A클래스
    				- 0으로 시작하는 IP주소 (2진수로 나타내면 0 0000000 ~ 0 1111111)
    				- 주소로 나타내면 1.0.0.0 ~ 127.0.0.0
    				- 127은 자신을 의미하는 루프백주소로 사용되므로 126.255.255.255 까지임
    				- 네트워크 주소는 2^8 (256) 개
    				- 한 네트워크 당 2^24 - 2(네트워크와 브로드캐스트 주소를 제외)개의 호스트 주소를 가질 수 있음
    			- B클래스
    				- 10으로 시작 (2진수 : 10 000000 ~ 10 111111)
    				- 주소로 나타내면 128.0.0.0 ~ 191.255.0.0
    				- 네트워크 주소는 2^16 (65536)개
    				- 한 네트워크 당 2^16(65536) - 2개의 호스트 주소를 가질 수 있음
    			- C클래스
    				- 110으로 시작 (2진수 : 110 00000 ~ 110 11111)
    				- 주소로 나타내면 192.0.0.0 ~ 223.255.255.0
    				- 네트워크 주소는 2^24개
    				- 한 네트워크 당 2^8 - 2개의 호스트를 가질 수 있음
    		- 2. CIDR (Classless Inter-Domain Routing, 사이더)기반 주소
    			- 클래스 없는 도메인간 라우팅 기법
    			- 클래스 기반의 주소는 상위 클래스(A클래스)를 할당 받은 조직에서 해당 주소들을 사용하지 못하여 낭비가 발생함
    			- 미래를 위해 상위 클래스(A클래스)를 할당받았으나 얼마 사용하지 못하여 나머지를 낭비하는 경우도 있음
    			- 이러한 문제를 해결하기 위해 생김
    			- 네트워크 부분과 호스트 부분을 1비트 단위까지 구분하여 유연하게 할당할 수 있게됨
    			- 예시1
    			- 192.168.10.1 (2진수 : 11000000.10101000.00001010.00000001)
    			- 기존의 클래스 기반 주소에선 192로 시작하기 때문에 클래스C에 해당, 192.168.10 까지 네트워크 주소, 1은 호스트 주소라는 것을 알 수 있음
    			- CIDR에선 서브넷 마스크를 이용해 알 수 있음
    			- 서브넷 마스크 : 255.255.255.0 이라고 하면 2진수에서 1의 개수는 24개,
    			- (11111111.11111111.11111111.00000000, 1이 연속해서 나오는 3번째까지가 네트워크 주소가 됨)
    			- CIDR 표기법으로 나타내면 192.168.10.1/24
    			- 네트워크 주소는 192.168.10 , 호스트 주소는 1
    		
    			- 예시2
    			- 211.191.152.75, 서브넷 마스크 255.255.0.0 이 있을 때
    			- 네트워크 주소는 211.191, 호스트 주소는 152.75, 네트워크 주소까지만 맞춰주면 됨
    			- 같은 네트워크의 다른 장치의 ip는 211.191 까지 동일해야 함	
    			- /30 이라는 말은 서브넷 마스크를 2진법으로 전환 했을 때 1의 갯수임
    			- 255.255.255.240 = 1*8+1*8+1*8+1*4 = 28
    				- /28 과 동일
    			- 255.255.255.128 = 1*8+1*8+1*8+1*1 = 25
    			- 194.139.10.123/25 = 25bit = 255.255.255.128
    		- 서브넷 마스크로 아이피 나누기
    			- 255.255.255.128
    				- IP 할당 범위
    				- 256 - 128 = 128, 128~255, 0~127
    			- 255.255.255.192
    				- IP 할당 범위
    				- 256 - 192 = 64, 192~255
    				- 192 - 64 = 128, 128~191
    				- 128 - 64 = 64, 64~127
    				- 64 - 64 = 0, 0~63
    			- 255.255.255.224
    				- IP 할당 범위
    				- 256 - 224 = 32, 224~255
    				- 224 - 32 = 192, 192~223 
    				- 192 - 32 = 160, 160~191
    				- 160 - 32 = 128, 128~159
    				- 128 - 32 = 96, 96~127
    				- 96 - 32 = 64, 64~95
    				- 64 - 32 = 32, 32~63
    				- 32 - 32 = 0, 0~31
    		- 기타
    			- 넷마스크(네트워크 마스크)와 서브넷마스크의 차이점
    				- 과제로 주어진 문제에는 서브넷마스크가 아닌 마스크로만 적혀있다
    				- 인터넷엔 넷마스크도 있고 서브넷마스크도 있는데 뚜렷하게 구분해서 쓰지는 않는데 그 이유는 CIDR 이후로 현재는 서브넷마스크만 쓰고 있기 때문임
    				- 스택오버플로우에도 거의 동일하다고 적혀있음
    				- 따라서 문제에 있는 마스크도 그렇고 과제를 공부하는데 있어서 나오는 서브넷마스크도 그렇고 사실상 동일선상에 두고 공부하면 되는 것 같음
  • 인터넷이란
    - 전세계의 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망

  • 네트워크란
    - 분산되어 있는 컴퓨터를 연결한 컴퓨터 통신망

  • ip
    - 네트워크에 연결된 모든 장치들을 식별하기위해 부여된 주소 (LAN 카드에 연결되어 있는 회선 주소)
    - 임시적으로 다른 주체에 의해 할당 된 것 (바꿀 수 있음)
    - 택배로 따지면 아파트 주소

  • mac
    - 통신기기의 하드웨어 자체에 부여된 고유 식별번호 (LAN 카드의 주소, 바꿀 수 없음)
    - 택배로 따지면 아파트에 도착한 택배에 있는 개개인의 이름들, 아파트에 사는 개개인의 주민등록번호인셈

  • mac 주소와 ip 주소의 차이
    - mac 주소는 네트워크의 로컬 식별에 사용되는 반면 ip 주소는 여러 네트워크를 통한 글로벌 식별 및 라우팅에 사용됨
    - ip 주소를 이용해 서브넷에 도착하고 mac 주소를 이용해 각각의 장치를 식별하는것
    - 이더넷을 기준으로 mac 정보를 포함한 패킷을 보내고 (ip주소 앞에 mac 주소를 붙인다는 말이 있음) 서브넷에서 ARP 프로토콜 같은 방식을 이용해(해당 방식대로라면 OSI 7계층의 3계층으로 해석할 수 있으나 명확히 2계층이라 명시되어있으나 해석하기에 따라 다르니 2.5로 보는게 맞을 수도 있음, 라우터까지가 3단계, 라우터에서 각각의 서브넷은 2단계)
    - a와 b가 통신하려고 할 때
    - a가 ARP요청을 로컬 네트워크로 전송하여 지정된 ip를 가진 b의 mac 주소를 요청함
    - b가 ARP요청을 수신하면 자신의 mac주소가 포함된 ARP응답을 a에게 보냄
    - 참고로 OSI 3계층의 패킷에 ARP요청 정보가 포함됨
    - 동일 네트워크일 경우 동일 네트워크인지 판단(서브넷 마스크가 동일한지 확인), mac 주소로 통신
    - 동일하지 않을 경우 네트워크 패킷의 페이로드에 ARP 요청정보를 담아서 보내고 목적지의 시스템은 ARP 응답정보(mac 주소를 포함한 응답 메시지)를 보내서 최초 송신 측은 획득한 mac주소를 획득하여 통신하게 됨

  • ARP - 주소 결정 프로토콜
    - ip주소를 mac 주소에 매핑(대응)하는데 사용
    - 정확히는 패킷의 페이로드에 ARP 응답정보(mac 주소를 포함한 응답 메시지)를 담아서
    - ARP 요청에 따라 mac주소로 변환함
    - 프로토콜 : 규약, 규칙, 체계

  • LAN 카드
    - 네트워크 인터페이스 컨트롤러
    - 컴퓨터간 신호를 주고받는데 쓰이는 하드웨어 장치

  • 서브넷
    - 하나의 네트워크가 분할되어 나누어진 작은 네트워크
    - 예를 들어 아파트단지에 1동 2동 3동이 있다면 각각의 동이 서브넷

  • 서브넷 마스크
    - 서브넷을 나누기 위한, 네트워크 구역을 구분하기 위한 값
    - 네트워크와 호스트 주소를 구분하는데 사용되는 32비트 숫자
    - 아파트 1동 2동 3동을 구분하는 값

  • 마스킹
    - 불필요한 부분을 원하는 형태로 가리는 것

  • 라우터
    - 네트워크간의 연결을 해주는 장치
    - 서브넷과 서브넷을 이어주는 장치

  • OSI 7계층
    - 네트워크 통신이 일어나는 과정을 7단계로 나눈 것
    - 1단계 - 물리 계층
    - 2단계 - 데이터링크 계층
    - 이더넷 - 네트워크 기술, 유선 네트워크(일반적으로 사용되는 모든 유선 인터넷들은 이더넷을 사용함)
    - 패킷 헤더에 mac 주소를 가지고 있음
    - WIFI, LTE ... (무선)

  • 라우팅 테이블과 통신 과정
    - 좌측 (최종 도착지), 우측 (다음 도착지)
    - 1. forward way
    - 목표 : ion, cation의 통신
    - 최종 목표가 왼쪽 주소라면 오른쪽 주소(라우터1, R1)로 일단 데이터를 보냄
    - 최종 목표가 (cation) 이라면 다음 라우터2(R2, 57.228.18.253)로 보냄
    - 라우터2(R2)는 cation과 동일 네트워크이므로 수신에 성공함
    - 2. reverse way
    - 최종 목표가 왼쪽 주소(default = ip에 상관없이 보냄)라면 오른쪽 주소(라우터2)로 데이터 전송
    - 최종 목표가 왼쪽 주소(default = ip에 상관없이 보냄)라면 다음 라우터1(R1, 57.228.18.254)로 보냄
    - 라우터1과 ion은 동일 네트워크이므로 수신 성공
    - 양방향(forward, reverse way) 통신 성공

profile
DevOps / Infrastructure / Cloud Native / Platform Engineering

1개의 댓글

comment-user-thumbnail
2023년 8월 14일

유익한 자료 감사합니다.

답글 달기