리뷰 (Review)
- 설치형 프로그램
- 설치 된 해당 컴퓨터 자원을 충분히 활용 할 수 있음
- 업그레이드 요소 발생 시 업데이트 파일 설치나 재설치 필요
- 비설치형 프로그램 - 웹 브라우저
- 비설치형이기에 해당 컴퓨터의 자원을 온전히 활용하기 어려움
- 업데이트가 쉽고 배포가 편함 ex) 키오스크, 웹 게임, ...
- 별도의 설치 필요 없이 바로 적용 됨
- 개발 단계든 구축 단계든 문제 정의가 가장 중요함.
- 배포 이후 운영의 시작
- 배포 이후 개선을 해도 요구 사항이 완전이 없어지진 않는다.
- 프론트엔드 - Client에 대한 처리 / 백엔드 - Server에 대한 처리
- 인프라 구성 (InfraStructure)
- 설치형이라면 사용자가 다운 받아서 설치 할 수 있는 환경을 만들어 주는 것
- 비설치형 웹 서비스라면 웹 서버를 구성해야 하고 그 외 사용자에게 필요한 서버를 구성 하여 제공하는 것
- 2일차 계산기 배포 구축 예를 든 것이 인프라 구성
네트워크의 이해
IP Address
- 네트워크에 연결 된 컴퓨터(호스트)를 식별하기 위한 논리적인 주소
- IP Address의 종류
- IPv4 - 4byte, 10진수 4자리로 표현 (255.255.255.255)
- 1bit - 2진수 1 또는 0 표현
- 8bit - 2진수 8자리, 256가지 표현 가능
- 00000000 (0) ~ 11111111 (255)
- IPv6 - 16byte, 16진수 8자리로 표현
- 현재는 IPv4 (주로 사용)와 IPv6가 혼재되어 사용되고 있고, 서로 식별되지 않는다.
- IPv4 - 4byte, 10진수 4자리로 표현 (255.255.255.255)
- 네트워크 연결 방식에 따른 구분
- 유선 네트워크 - 이더넷 (ethernet)
- 무선 네트워크 - 무선 LAN, Wifi, 3G / LTE / 5G
- IP Address의 구조 (IPv4 기준)
- 네트워크가 가능한 모든 컴퓨터는 LAN (Local Area Network)에 속한다.
- 네트워크 ID + 호스트 ID 로 구성
- 네트워크 ID - 네트워크 식별
- 호스트 ID - 호스트 식별, 호스트는 네트워크에 연결 된 개별 컴퓨터 식별 번호
- 네트워크 ID 크기에 따라서 해당 네트워크에 연결 가능한 호스트 개수가 결정된다.
- 네트워크 ID가 1btye (A Class) + 호스트 ID는 3byte (2^24까지 연결 가능) - WAN
- 네트워크 ID가 2btye (B Class) + 호스트 ID는 2byte (2^16까지 연결 가능)
- 네트워크 ID가 3btye (C Class) + 호스트 ID는 1byte (2^8까지 연결 가능) - LAN
- 호스트 ID는 범위 내에서 자유롭게 사용 가능하지만
1번 (게이트웨이 번호나 DNS) 과 255번은 예약 된 번호로 사용할 수 없다.
- IP Address 구분
- 공인 IP Address
- 인터넷을 통해 다른 네트워크의 컴퓨터를 식별 할 수 있는 IP Address
- 사설 IP Address
- 현재 네트워크에 연결 된 컴퓨터만 식별 할 수 있는 IP Address
- 인터넷에 연결되지 않은 네트워크인 경우 부여하는 IP Address
- 사설 IP Address
- 10.0.0.0/8 - A Class
- 172.16.0.0/12 - B Class
- 192.168.0.0/16 - C class
- 0.0.0.0 - 모든 IP Address로부터 수신 할 수 있다는 의미
- 127.0.0.1 - loopback, 호스트 자기 자신을 의미, 네트워크 테스트 목적
- 224.0.0.0 - 멀티캐스트
- 0.0.0.0 IP Address 참고 자료
https://www.netmanias.com/ko/post/blog/5348/dhcp-ip-allocation-network-protocol/understanding-the-basic-operations-of-dhcp
- 공인 IP Address
- IP Adrdress 표기법
- 기존 표기법 (Dot 표기법)
- 192.168.0.0
- CIDR 표기법 (요즘 많이 쓰임)
- CIDR (Classless Inter Domain Routing) - 클래스 없이 도메인간 라우팅하는 기법
- 192.168.0.0/16
- /16 은 클래스를 의미, 2진수 1이 16자리
- 11111111 11111111 00000000 00000000
- /8 (11111111 00000000 00000000 00000000)
- 기존 표기법 (Dot 표기법)
- 서브넷 (Subnet)
- 현재 네트워크를 다시 세분화 시킨 네트워크 (절대적인 것은 아니나 관리적인 측면에서 용이)
- 서브넷 마스크 (Subnet mask) - 네트워크 ID를 분리하기 위한 값
- 용어 정리
- Inbound - 네트워크 외부에서 내부로 데이터가 전송되는 것 (수신, receive) 보안 관점에서 중요함
- Outbound - 네트워크 내부에서 외부로 데이터가 전송되는 것 (송신, send)
- IPv4 참고 자료
https://ko.wikipedia.org/wiki/IPv4
- CIDR 참고 자료
https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9D%B4%EB%8D%94_(%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9)
- CIDR 관련 동영상
https://www.youtube.com/watch?v=kYiQGpPVnyI
- Subnet 참고 자료
https://ko.wikipedia.org/wiki/%EB%B6%80%EB%B6%84%EB%A7%9D
- 라우팅 - 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정
포트 (port)
- 네트워크 상의 호스트를 식별하였으면 해당 호스트의 통신 대상 프로그램을 식별해야 한다.
- 네트워크에 연결 된 호스트의 통신 대상 프로그램 (프로세스, Process) 을 식별하는 번호를 포트 번호 (port number) 라 한다.
- 포트 번호는 2byte 크기, 0 ~ 65525번까지 사용한다.
- 0 ~ 1023번까지는 미리 예약 되어 있다. 예약 된 프로그램(프로세스)은 제공되는 기능이 정해져 있다.
- 대표적인 예약 된 포트 번호
- 20번, 21번 : FTP (File Transport Protocol)
- 22번 : SSH (Secure SHell)
- 80번 : HTTP (Hyper Text Transport Protocol, Web)
- 443번 : HTTPS (HTTP Secure)
- 대표적인 예약 된 포트 번호
- IP Address와 포트 번호 사용 형식
- 192.168.0.10:80
→ 192.168.0 인 네트워크에 10번 호스트의 80번 포트에 연결 된 프로그램과 통신
- 192.168.0.10:80
- 1024 ~ 49151번까지는 예비 번호로 사용하고 49152번 이상의 포트 번호를 임의로 정의하여 사용할 수 있다.
- 하나의 포트 번호에는 하나의 프로그램만 연결되어 있어야 한다.
- 포트 번호 참고
게이트웨이 (Gateway) / 인터넷 게이트웨이 (Internet Gateway)
- 네트워크 유형
- 공용 네트워크
- 인터넷에 연결 된 네트워크
- 공인 IP Address 필요
- 사설 네트워크
- 인터넷에 연결되지 않은 네트워크
- 사설 IP Address 필요
- 공용 네트워크
- 다른 종류의 네트워크와 연결하고자 할 때 사용
- 서로 다른 네트워크 상의 프로토콜을 적절히 변환해 주는 역할
- 사설 네트워크를 인터넷에서 연결 할 경우 게이트웨이 사용
- 통상적으로 해당 IP Address 호스트 ID 1번 사용
- 게이트웨이 참고
https://ko.wikipedia.org/wiki/%EA%B2%8C%EC%9D%B4%ED%8A%B8%EC%9B%A8%EC%9D%B4
패킷 (Packet)
- 네트워크 상에서 호스트 간 주고 받는 데이터 형식
- 패킷 번호와 데이터를 송신하는 호스트 IP Address/포트번호와 수신하는 호스트 IP Address/포트번호가 포함
- 패킷 사이즈는 프로토콜에 따라 결정 됨
- 네트워크 데이터 전송 방식에 따른 구분
- 회선 교환 방식
- 1 : 1 통신 방식
- 한 호스트가 네트워크를 독점적으로 사용하는 방식
- 아날로그 전화, 2G / 3G 전화
- 패킷 교환 방식
- 데이터 전송을 패킷 단위로 전송하여 여러 호스트가 네트워크를 공유 할 수 있는 방식
- 하나의 데이터는 여러 패킷으로 나누어져서 네트워크를 통해 전송
- 수신 측에서는 전송 받은 패킷을 맞추어서 사용
- 현재 기본 네트워크 전송 방식
- 회선 교환 방식
- 패킷 전송 테스트 명령 (-ping)
어릴 때 인터넷 안되면 확인해보던 기능을 여기서 보다니...- ping <패킷 전송 테스트 IP Address>
- -ping 8.8.8.8 → 구글 DNS에 패킷 전송 테스트
→ 입력 시 패킷 4로 나오는 것은 이 프로그램 내부에 그렇게 설정이 되어 있기 때문
라우터 (Router)
- 인터넷에 연결 된 호스트 간 통신을 수행 할 때 패킷을 전송할 경로를 탐색하고 실제 해당 경로를 이용하는 패킷 전송 역할을 한다.
- 라우터는 내부에 라우팅 테이블이라는 테이블에 경로 정보를 가지고 있다.
- 원하는 호스트까지의 경로를 탐색하고 실제 패킷을 해당 경로로 전송하는 역할을 한다.
- 라우터 참고 자료
https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%84%B0
네트워크 프로토콜 스택
- 네트워크를 구성하고 인터넷을 통해 전송하기 위한 패킷을 구성하고, 전송 또는 수신하기 위한 과정을 O/S 내부에 스택(stack) 구조, 단계적으로 구성 된 네트워크 S/W 집합
- 스택 (stack)
나서스 스택 쌓고 괴물되며 겜 터짐- 쌓아 놓는 구조
- LIFO (Last In First Out, 후입선출) 구조
- 스택 (stack)
- TCP / IP
- TCP / IP (Transmission Control Protocol / Internet Protocol)
- 현재 인터넷을 사용하는 네트워크에서 기본으로 사용하는 네트워크 프로토콜 스택
- Windows, Linux, Mac OS는 TCP / IP를 포함하고 있다.
- TCP / IP는 4계층 구조를 가지고 있다.
- TPC / IP 참고자료
https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%84%B7_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C_%EC%8A%A4%EC%9C%84%ED%8A%B8 - TCP / IP 계층 구조
- Application Layer
- Application에서 통신을 수행 할 때 적용할 프로토콜로 구성
- 대표적 프로토콜
- HTTP / HTTPS : Web을 사용 (Web browser) 하기 위한 기본 프로토콜
- SSH : 보안 적용 된 원격 SHell 접속을 위한 프로토콜 → 앞으로 자주 사용하게 될 것
- FTP : 원격 파일 전송을 위한 프로토콜
- SMTP : 메일 전송을 위한 프로토콜
- POP3 : 메일 수신을 위한 프로토콜
- 사용자 프로토콜 : 소켓(socket) 기반 프로그램 작성 시 직접 설계해서 적용
- Transport Layer
- 포트 번호 결정
- 대표적 프로토콜
- TCP (Transmission Control Protocol)
- 1 : 1 통신, 항상 연결 상태를 유지
- HTTP 프로토콜은 TCP 기반 프로토콜이지만 연결 상태를 항상 유지하지는 않는다.
- 패킷을 전송하고 응답이 없으면 다시 패킷을 전송한다.
- 통상 3번의 패킷 교환(수신 확인)을 통해 하나의 패킷 전송을 완료한다.
- 패킷 전송 신뢰성이 높지만 속도가 느리다.
- 1 : 1 통신, 항상 연결 상태를 유지
- UDP (User Datagram Protocol)
한 번 쯤은 UPD로 스타크래프트 해 본 적 있잖아?- 1 : 1, 1 : N (broadcast, 방송), M : N (multicast) 통신
- TCP와 다르게 UDP는 패킷을 전송만 하고 수신 확인은 하지 않는다.
- 신뢰성은 떨어지나 전송 속도가 빠르다.
- TCP (Transmission Control Protocol)
- Internet Layer
- IP Address 결정
- 대표적 프로토콜
- Network Acces Layer
- 실제 패킷 전송 / 수신
- NIC (Network Interface Card) 를 통하여 실제 물리적인 네트워크에 패킷 전송
- NIC에는 NIC 식별 MAC Address가 부여되어 있다.
- NIC에는 NIC 식별 MAC Address가 부여되어 있다.
- Application Layer
- TCP / IP (Transmission Control Protocol / Internet Protocol)
- TCP / IP 여러번 읽어보고 참고 할 자료
TIF
같은 스터디조이신 전공자분 말로 꽤 오랜 시간 배울 네트워크에 관해서 어제와 오늘로 마무리 지었다.
그나마 어릴 때 부터 컴퓨터에 관심이 있었고, 회사 다니면서도 사내 컴퓨터를 관리하면서
기본적인 지식이라도 조금 있어서 다행이다 싶었다.
아직 이해했다고 할 수는 없지만 교재 온 것과 정리한 것들, 참고 자료 등을 비교하면서
반복 학습하다보면 자연스럽게 이해되리라 확신한다.
운영 쪽을 배우고 있는데, 기존에 현장에서 생산을 하다가
이후에 관리/영업을 했기 때문에 이 부분이 많이 도움이 될 것 같다.
지치면 지는 것이다.
하루하루 쑥쑥 성장 할 수는 없다.
지속적으로 꾸준히 배우고 성장하는 것이 중요하다.
2022. 08. 03 에 작성된 글입니다.
'구름 쿠버네티스' 카테고리의 다른 글
구름 쿠버네티스 전문가 과정 6기 - 6일차 (0) | 2023.07.05 |
---|---|
구름 쿠버네티스 전문가 과정 6기 - 5일차 (0) | 2023.07.04 |
구름 쿠버네티스 전문가 과정 6기 - 4일차 (0) | 2023.07.03 |
구름 쿠버네티스 전문가 과정 6기 - 2일차 (0) | 2023.06.29 |
구름 쿠버네티스 전문가 과정 6기 - 1일차 (0) | 2023.06.28 |