2.1 네트워크 기초
68page
네트워크: 노드와 링크가 서로 연결되어 있으며, 리소스를 공유하는 집합.
2.1.1 처리량과 지연시간
처리량(Throughput): 링크내에서 성공적으로 전달된 데이터의 양
단위: bps
Throughput에 영향을 미치는 요인
1. 대역폭(bandwidth)
- 대략적인 최대동시접속자수의 척도가 됨.
- 쉽게 말해, 주어진 시간동안 전달될수 있는 최대 데이터양을 의미.(다운로드 속도가 50mbps=> 초당 서버에서 다운로드 할수있는 데이터양 50mb라는거)
2. 트래픽 양.
3. 하드웨어 스펙
지연시간(Latency) : 패킷이 목적지에 도달하고 다시 그 패킷에 대한 응답이 출발지로 돌아오기까지의 시간(즉, 왕복시간)
RTT(Round Trip Time)와 같은 의미로 쓰는듯.
latency에 영향을 주는 요인
- 전송 매체 타입(유선, 무선)
- 거리 차이
- 서버의 성능
- 라우터의 패킷 처리 시간.
- 패킷크기 등.
미국 페이스북이나, 유튜브 서버에 있는 데이터를 한국에서 조회할 때,
거리가 멀어 RTT가 커지는 경우, RTT를 줄이기 위한 방안으로는?
=> CDN을 사용하여 응답속도 높임.
2.1.2 네트워크 토폴리지
70page
네트워크 토폴로지란?
: 노드와 링크의 연결 형태를 의미.
버스
- 하나의 회선에 여러개 노드
- 노드 추가,삭제 쉬움
- 설치 비용 적음 -> 소규모 네트워크 구축 쉽다.
- 한 노드에 장애 발생해도 다른 노드에 영향X (의존성이 없으므로)
- 메인 링크에 의존성이 크므로, 망가지면 큰 문제. (정체 현상도 발생가능성 높음)
- 스푸핑 가능성
스타
- 중앙 노드에 모든 노드가 연결
- 노드 추가,삭제 쉬움.
- 안정성 높음. (중앙노드를 거쳐야하고 ,중앙노드는 방화벽 더 철저하게 하므로)
트리
- 추가,삭제가 리프노드를 기반으로 한것은 용이.
- 버스와 스타의 하이브리드 형태
- 루트노드에 문제시 전체네트워크에 큰 문제.
*백본케이블이란?
: 쉽게 말해, 대규모 패킷 통신망이다. (여러 소형 네트워크들을 묶어 극도로 높은 대역폭으로 다른 네트워크 집합과 연결.)
링형
★- 노드수가 많아져도 데이터 손실없음.(충돌발생 가능성이적어서) 왜?
토큰 기반으로 통신권한 여부 판단하기 때문에
- 하나만 에러 발생해도 전체 네트워크에 영향.
메쉬형
- 그물망형태, 안정성 높음
- 트래픽 분산 처리 가능 (회선이 많기 때문에)
- 구축비용이 고가(회선이 많기 때문에)
- 노드 추가 어려움.
* 토폴로지가 중요한 이유?
: 병목현상을 해결할때 척도가 됨.
유니캐스트
멀티캐스트
브로드캐스트
LAN(Local Area Network)
: 소규모 네트워크 - 보통 허브나 스위치로 연결.
Protocol이란
사전적의미: 여러 컴퓨터나 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약
즉, 각기 다른나라에서 온 두사람이 서로의 언어는 이해하지 못하나, 제3의 언어(프로토콜)로 통신이 가능한셈.
2.2 TCP/IP 4계층 모델
★계층간 데이터 송수신 과정
http 프로토콜을 통해 웹 서버에 있는 데이터를 요청하면?
==> 애플리케이션 계층에서 전송계층으로 보내는 요청값들이 캡슐화 과정을 거쳐 전달되고, 하위 계층인 인터넷 계층, 링크계층을 통해 해당 서버와 통신을 하고, 해당 서버의 링크계층에서 다시 상위계층인 애플리케이션 계층까지 비캡슐화 과정을 거쳐 데이터가 전송.
캡슐화 과정 & 비캡슐화 과정
캡슐화는 상위 계층의 헤더와 데이터를 하위계층의 데이터 부분에 포함시키고 해당 계층의 헤더를 삽입하는 과정으로 이루어진다.
★데이터 송수신 시 캡슐화 & 비캡슐화 과정이 필요한 이유
단편화된 데이터는 헤더 등으로 감싸지는데 제 3자가 데이터를 해독하기 어렵고(기밀성) , 체크섬 등으로 데이터 위변조를 감지할 수 있으므로(무결성) 보안에 유리함.
또 캡슐화된 데이터에 송수신자의 주소 정보가 포함되는데, 이를 통해 수신자가 데이터가 신뢰할 수 있는 송신자로부터 온 것인지 확인 할 수 있기 때문에 데이터 통신의 신뢰성을 확보할 수 있다.(인증)
마지막으로, 여러개의 데이터를 동시에 전송할 수 있게 함(멀티플렉싱).
- 보안
- 멀티플렉싱 가능
PDU
계층간 데이터가 전달될 때, 단편화를 통해 세분화된 데이터 블록 단위를 말함.
*TCP/IP계층 자세한건 따로 다룰예정.
2.3 네트워크 기기
*TCP/IP 계층 다루는데에서 같이 다룸
내결함성
시스템이 장애나 오류 상황에도 계속해서 작동하거나 정상 상태로 복구할 수 있는 능력.
내결함성은 시스템의 가용성과 신뢰성을 향상시키는 중요한 개념이다.
내결함성 향상시키는 방법.
-Load Balancing (부하 분산): 네트워크 트래픽을 여러 경로로 분산하여 부하를 균형시켜 서비스의 가용성을 향상.
-Fault Detection and Recovery (장애 감지 및 복구): 장애를 감지하고 자동으로 복구하는 기능을 구현하여 서비스 중단을 최소화.
로드밸런서 이용하여 서버 이중화 기능을 구현할 수 있다.
서버 이중화: 운영 중인 서비스의 안정성을 위해 각종 자원을 이중또는 그 이상으로 구성하는 것.
목적
1. Failover : 장애 또는 재해 시 빠른 서비스 재개를 위함
2. Load Balancing : 원활한 서비스의 성능을 보장하기 위함
사무실 같은데서 허브사서 연결하는 게 스타 토폴로지인가?
=>그렇다.
일반적으로 사용되는 네트워크 구성 형태 중 하나이며, 사무실, 학교, 데이터 센터 등 다양한 환경에서 사용됨
DS - 여러 AP를 연결하는 백본망
BSS - WLAN에서 최소 단위의 넷
- Ad-Hoc
- 동일 BSS내에 있는 AP와 STA간에 통신
ESS - 하나의 DS에 다수의 BSS 연결됨.
- 로밍은 ESS에서만 가능하다.
로밍 - ESS내에서 BSS를 이동하는 과정
*국제로밍 - 해당 현지의 통신 업체와 계약 맺고 ESS의 범위를 확장하는 개념.
Ad-Hoc모드 - station끼리 직접 통신.
2.4 IP 주소
2.4.1 ARP
105 page
2.4.3 IP 주소 체계
109 page
- 클래스 기반 할당 방식
- DHCP
- NAT
★DHCP
DHCP 서버가 PC와 같은 이용자(client) 단말에 자동으로 IP주소 및 기타 정보를 할당해주는 네트워크 관리 프로토콜
그 정보라고 하면: 유무선 IP 환경에서 단말의 IP 주소, 서브넷 마스크(Subnet Mask), 디폴트 게이트웨이(Default Gateway) , IP 주소, DNS 서버 IP 주소, 임대기간(Lease Time) 등의 정보.
효율적인 IP 사용가능.
eg) 인터넷 서비스 사업자가 IP 주소 구매 -> 10만명 고객 대상 -> 5만개만 해도 됨
공유기가 AP기능, DHCP기능 추가된 라우터라고 볼수있음.
또 공유기는 스위칭 허브에 NAT기능이 추가된것.
@NAT을 사용하는 이유?
사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함
@데이터 링크 계층은 '직접 연결된' 서로 다른 2개의 네트워크 장치간 데이터전송을 담당.
유선공유기는 데이터링크 계층의 기기인가? => 그렇다!
★@공인 IP vs 사설 IP
공인 IP
- ISP(인터넷 서비스 공급자)가 사용자에게 할당하는 IP주소. 각각의 IP는 유일하기 때문에 중복 될 수 없다.
- 공유기가 인터넷과 통신하도록 하는 역할을 하는 외부 IP 주소.
- 외부에 공개 되어 있기 때문에 인터넷에 연결된 다른 장비로부터 접근이 가능하므로 보안 설정에 신경써야함.
사설 IP
- 공유기와 같은 라우터를 통해 할당받은 가상의 IP 주소. ( IPv4는 그 개수가 턱없이 부족하다. 모든 네트워크가 공인 IP를 사용하는 것이 불가능하므로)
- 사설 IP 주소는 로컬 네트워크에서 할당되며 다른 네트워크의 사설 IP 주소와 중복될 수 있음
- 별도 설정 없이 외부에서 접근 불가
2.5 HTTP
http 또한 따로 자세히 다룰 예정
HTTP
서버와 클라이언트가 통신하기 위한 애플리케이션 layer의 프로토콜
stateless, connectionless
@http vs https 특성 비교
@http 멱등성관점에서 설명
@put과 patch의 차
put :보내지 않은 값은 업데이트, 요청값이 없으면 새로생성
patch : 보낸값들만 업데이트, 요청값이 DB같은데에 없으면 따로 생성안하고 넘어감.
GET,PUT같은경우는 멱등성 보장해야함.
(*멱등성이란? 같은 행위 여러번 반복하더라도 같은 효과 내야함)
POST :멱등성 보장X
PATCH :설계에 따라 멱등성 보장할수도 있고 없을수도 있고.
출처 : 면접을 위한 CS 전공지식 노트