오늘은 주말이라 여태까지 배운 네트워크에 대해
정리하면서 복습을 진행해보고자 한다.
다시 기억하기 위해 화이팅!
네트워크
- 둘 이상의 컴퓨터와 연결하는 링크의 조합
- 물리적 네트워크, 논리적 네트워크 형성
- 물리적 네트워크 : 어댑터, 케이블, 전화선
- 논리적 네트워크 : 소프트웨어, 개념 모델
OSI 7, 4 Layer
OSI(Open System Interconnection : 개방형 시스템 상호 연결)
다양한 통신 시스템이 통신 할 수 있도록 국제 표준화 기구에서 만든 개념 모델
OSI 7 Layer
- 응용 프로그램 계층(Application Layer) : 사용자가 사용하는 응용 프로그램과 인터페이스 제공
- 프레젠테이션 계층(Presentation Layer) : 데이터 형식 변환 밑 표준화
- 데이터 형식 변환 : 컴퓨터 시스템 간 데이터 송수신 시 공통된 형식으로 변환(Ex. 이미자나 동영상 같은 파일을 보낼 때 컴퓨터가 이해할 수 있도록 변환)
- 데이터 암호화 : 데이터를 안전하게 전송하기 위해 암호화 진행(Ex. 애플리케이션 내 암호화(PDF, Word 등), 파일 암호화(Zip 압축 시 암호 설정))
- 데이터 압축 : 데이터의 효율적인 전송을 위해 압축
- 세션 계층(Session Layer) : 두 컴퓨터 간의 통신이 원할하기 위한 설정, 유지, 관리를 도와주며 동기화를 보장하기 때문에 효율성과 안정성이 보장된다.
- 동기화 : 데이터 전송 중 오류가 발생하거나 중단된 경우 재시작 할 수 있는 지점 설정
- 전송 계층(Transport Layer) : 데이터를 신뢰성 있게 전송, 속도 조절, 데이터가 손실되지 않도록 하는 중요한 역할
- 데이터 분할 및 재조립 : 큰 데이터 전송 시 작은 조각으로 나눈 후 수신자가 복원
- 데이터 전송의 신뢰성 : 데이터가 손실되거나 손상되지 않고 정확히 도착했는지 확인
- 흐름 제어 : 데이터를 너무 빠르게 보내서 수신자가 처리하지 못하는 상황을 방지하기 위해 속도 조절
- 혼잡 제어 : 네트워크 혼잡 시 데이터 전송 속도를 조절해 혼잡을 줄인다.
- TCP : 신뢰성 있는 전송 보장(Ex. 웹페이지 로드, 이메일 전송 등), UDP : 빠른 데이터 전송 시 사용(Ex. 실시간 스트리밍, 게임 등)
- 네트워크 계층(Network Layer) : 데이터를 가장 효율적으로 전달, 패킷(데이터 조각)을 주고 받으며 라우팅을 담당
- 라우팅(Routing) : 데이터가 전송될 때 최적의 경로를 찾는 과정
- 데이터 링크 계층(Data Link Layer) : 네트워크 장비간에 데이터 송수신 과정에 데이터 오류를 검출하고 수정하는 역할, 물리적 네트워크(이더넷, Wi-Fi)를 통해 올바르게 전달 될 수 있도록 함
- 물리 계층(Physical Layer) : 실제 물리적인 매체를 통해 데이터가 전기적 혹은 광신호 형태로 전송되는 과정을 담당
- 물리적 연결 : 케이블, 스위치, 허브 등의 물리적인 장비 연결
- 전송 매체 : 구리선 케이블, 광섬유, 무선 주파수 등
OSI 4 Layer
- 단계가 많고 복잡한 구조를 갖고 있어 인터넷 서비스에 적합안 4계층 모델이 나왔다.
- 응용 계층(Application Layer) : 사용자와 직접 상호작용 하는 애플리케이션 서비스 제공
- 전송 계층(Transport Layer) :데이터 전송의 신뢰성과 순서 보장(TCP, UDP Protocol)
- 인터넷 계층(Internet Layer) : 데이터를 패킷 단위로 나누고 목적지 IP 주소를 통해 경로 결정 후 전달
- 네트워크 인터페이스 계층(Network Interface Layer) : 물리적 네트워크 연결 및 데이터 전송 담당
계층별 장비
리피터(Repeater)
- 물리 계층
- 신호를 멀리 보내기 위한 증폭 장치
- 신호 감쇠 방지 및 전송 거리 증가
허브(Hub)
- 데이터 링크 계층
- 여러 장치를 하나의 네트워크로 연결시켜주는 장치
- 여러 컴퓨터 연결하지만 데이터 충돌 가능성이 있으며 Mac 주소를 인식하지 못한다.
브리지(Bridge)
- 데이터 링크 계층
- 두 개의 세그먼트를 연결 및 Mac 주소를 사용해 데이터 프레임 필터링
- 세그먼트 간의 트래픽 필터링 및 브로드캐스트 도메인 분할하려 충돌 감소
스위치
- 데이터 링크 계층
- 여러 장치를 연결하고 Mac 주소를 사용하여 프레임을 특정 포트로 전송
- 각 포트에 연결된 장치간 통신을 효율적으로 관리 및 충돌 도메인 분리해 성능 향상
라우터
- 네트워크 계층
- 다른 네트워크 간 데이터 전송, IP주소를 사용해 경로 결정
- 여러 네트워크를 연결해 데이터 패킷을 올바른 경로로 라우팅, 논리적 주소(IP 주소)를 기반으로 네트워크 트래픽 관리
HTTPs와 SSL, TLS
HTTPs(Hypertext Transfer Protocol Over Secure Socket Layer)
HTTP는 암호화 없이 데이터를 전송하기 때문에 보안이 취약해 보안하기 위해 탄생
SSL(Secure Sockets Layer)
인터넷 통신의 보안을 강화하기 위해 사용되는 암호화 프로토콜로 서버간 전송되는 데이트를 암호화해 제 3자가 도청 및 변조하지 못하도록 한 것
HTTP가 SSL을 사용해 HTTPs가 되었다.
TLS(Transport Layer Security)
SSL의 후속 버전으로 인터넷 통신의 보안을 강화하기 위해 사용되는 암호화 프로토콜(사실상 SSL이랑 같음)
네트워크 용어 정리
- LAN(근거리 통신망) : 허브, 스위치로 연결하는 소큐모 네트워크, 주로 컴퓨터 장치와 연결된 네트워크를 말한다.
- MAN(대도시 통신망) : 도시와 도시의 통신망을 뜻하며 2개 이상의 LAN을 라우터, 브릿지로 연결, 고속 데이터 전송을 지원하며 통신사나 공공기관에서 운영한다.
- WAN(국가간 통신망) : 광역 네트워크로 지리적으로 넓은 영역에 걸쳐 여러 LAN, MAN을 연결하는 네트워크, 주로 Internet이라고 한다.
- WLAN(무선 근거리 통신망) : 라디오, 마이크로파(무선 랜 카드 등)를 이용해 데이터를 전송
- VPN(사설 통신망) : 가상 사설망으로 공중 네트워크를 암호화된 방법으로 접속할 수 있는 기술
- VPC : 퍼블릭 클라우드 환경에서 사용할 수 있는 고객 전용 사설 네트워크
- NAT : Private IP 주소로 외부와 통신할 수 없어 Public IP 주소로 변환(Ex : 공유기)
- IP : 네트워크 상의 장치들을 식별하는 고유한 주소
- Ethernet : 컴퓨터나 다른 장치들이 데이터를 물리적으로 주고 받을 수 있도록 연결하는 방식
- 서브넷 : 큰 네트워크를 작은 네트워크로 나누는 것
- 서브넷팅 : 네트워크를 서브넷으로 나누는 과정
- 서브넷마스크 : IP 주소를 서브넷으로 나누기 위한 도구
- 라우터 : 둘 이상의 패킷 전환 네트워크 또는 서브네트워크를 연결하는 장치, 네트워크 계층에서 동작한다.
- 라우팅 : 다양한 네트워크 간에 데이터를 전송하는 역할, 네트워크에서 패킷을 받아 목적지까지 최적의 경로를 결정 후 데이터 전달
- 패킷 : 네트워크에서 출발지와 목적지간에 라우팅되는 데이터 단위
- 포트 : 소프트웨어 기반이며 OS에서 관리하는 네트워크 연결이 시작되고 끝나는 가상의 지점
- 프로토콜 : 데이터 교환 방식을 정의하는 규칙 체계
- CIDR : 데이터 라우팅 효율성을 향상시키는 IP주소 할당 방법
- 루프백 : localhost로 알려져 있으며 자신의 ip 스택을 통해 네트워크 인터페이스로 전송된 데이터를 동일한 시스템으로 다시 전송
- 멀티캐스트 : 하나의 송신자가 여러 수신자에게 동시에 데이터를 전송하는 방식 주로 스트리밍, 주식 거래 등 대규모 수신자에게 동일한 데이터를 효율적으로 전달해야 하는 경우
- 포트포워딩 : 외부 네트워크에서 특정 포트로 들어오는 트래필을 내부 네트워크의 특정 IP 주소와 포트로 전달하는 네트워크 설정
- 보수표현법 : 컴퓨터에서 음수를 표현하는 데 사용하는 방법, 1의 보수는 반전(1010 -> 0101), 2의 보수는 반전 후 1을 더함(1010 -> 0110)