2.1 네트워크
2.1.1 처리량과 지연시간
네트워크란 노드와 링크를 통해 구성된다. 노드란 서버, 라우터, 스위치 등의 네트워크 장치를 의미하고 링크는 유무선 연결을 의미한다.
- 처리량 : 링크를 통해 전달되는 단위 시간당 데이터양으로, bps단위를 사용한다. 초당 전송 또는 수신되는 비트 수를 의미한다.
- 지연시간 : 요청이 처리되는 데에 걸리는 시간을 의미하며, 데이터가 두 장치 사이를 왕복하는 총 시간이다.
2.1.2 네트워크 토폴로지와 병목 현상
- 네트워크 설계 간 노드와 링크의 배치방법을 네트워크 토폴로지라 한다.
- 트리 토폴로지 : 계층형 토폴로지라고도 하며, 노드의 추가 및 삭제가 용이하고 트래픽이 집중될 때 하위 노드에도 영향을 미칠 수 있다.
- 버스 토폴로지 : 설치 비용이 적고 신뢰성이 우수한 병렬 형식의 연결 방식이다. 중앙 통신 회선에 노드를 추가하거나 삭제할 수 있지만, 스푸핑이 가능하다는 문제점이 있다.
- 스타 토폴로지 : 중앙 노드에 모든 하위 노드들이 연결되어있는 형태로, 추가와 에러 탐지가 쉬우며 패킷 충돌 발생 가능성이 적다. 단 중앙 노드에 장애가 발생하면 전체 네트워크가 다운되고 설치 비용이 크다는 문제점이 있다.
- 링형 토폴로지 : 하나의 노드가 다음 노드의 꼬리를 물어 원형을 이루는 형태로, 추가가 쉬우며 에러 지점을 탐지하긴 좋으나 네트워크 구성 변경이 어렵고 장애 발생 시 전체 네트워크에 영향을 미친다.
- 매쉬 토폴로지 : 각각의 모든 노드끼리 연결되어 있는 초연결망 형태. 추가와 삭제가 어렵고 고가의 비용이 소요된다. 그러나 장치간 고장에 영향을 받지 않는다.
2.1.3 네트워크 분류
- LAN
- MAN
- WAN
2.1.4 네트워크 성능 분석
- ping
- netstat
- nslookup
- tracert
2.1.5 네트워크 프로토콜 표준화
다른 장치들끼리 데이터를 주고 받기 위해 설정된 공통 규격을 말한다.
2.2 TCP/IP 4계층 모델
2.2.1 계층 구조
TCP/IP 4계층 구조와 OSI 7계층 구조로 분류할 수 있자.
TCP/IP 모델은 네트워크에 사용되는 프로토콜의 집합으로 네트워킹 범위에 따라 네 개의 추상화 계층으로 나뉜다.
애플리케이션 계층
FTP,DNS,HTTP 등 실질적으로 이용자들에게 제공되는 응용프로그램이 사용되는 프로토콜 계층을 일컫는다.
전송 계층
송수신자 간 연결하는 통신 서비스를 제공하며 중계 역할을 한다. 대표적으로 TCP와 UDP가 있다.
TCP는 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용하여 신뢰성을 구축한다.
TCP 연결 성립 과정 : 신뢰성을 확보할 때 3-way Handshake라는 작업을 진행한다. 이 과정을 통해 클라이언트와 서버 간 신뢰성이 생기고, 보안성이 증가한다.
TCP 연결 해제 과정 : 4-way Handshake 과정을 통해 연결이 해제된다. 특별한 점은 time-wait을 통해 일정 시간의 latency를 두는 것인데, 지연 패킷이 발생할 경우를 대비하여 데이터 무결성 문제를 방지하기 위해 사용한다.
UDP는 순서를 보장하지 않고 수신 여부를 확인하지 않으며 단순히 데이터만 전송하는 프로토콜 방식이다.
인터넷 계층
장치로부터 받은 네트워크 패킷을 IP주소로 지정된 목적지로 전송하기 위해 사용되는 계층. IP,ARP,ICMP 등이 있고 상대방에게 제대로 전송되었는지에 대한 비연결형적인 특징을 가지고 있다.
링크 계층
전선, 광섬유, 무선 등으 물리적으로 데이터를 전달하며 장치 간에 신호를 주고 받는 규칙을 정하는 계층. 이를 물리 계층과 데이터 링크 계층으로 나누기도 한다. 물리 계층은 무선 랜과 유선 랜을 통해 0과 1로 이루어진 데이터를 보내는 계층을 말하며, 데이터 링크 계층은 이더넷 프레임을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하는 계층을 말한다.
용어정리
패킷 네트워크를 통해 전송하기 쉽도록 자른 데이터의 전송단위
더 공부할 내용들
TCP/IP 4계층과 SIO 7계층
참고자료
면접을 위한 CS 전공지식 노트 (2022, 주홍철 저)