CheerUp_Cheers
네트워크 본문
#질문
[네트워크]
- OSI 7계층을 설명.
- 프로토콜이란?
- HTTP 프로토콜이란?
- HTTPS 프로토콜이란?
- 대칭키, 공개키
- Big 엔디안, Little 엔디안
- TCP와 UDP
- POST방식과 GET방식
- 3-Way Handshaking
- 4-Way Handshaking
- Control flow
- Congestion control
- 로드밸런싱?
- 도메인?
- 브라우저에 URL을 치면 어떤일이 발생?
- IP Address와 Mac Address
- ARP와 RARP에 대해 설명
- 라우터와 스위치에 대한 차이점
#답
[네트워크]
- *OSI 7계층을 설명.
A Peguin Said That Nobody Drinks Pepsi
- *프로토콜이란?
컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙 체계.
-프로토콜 계층 별 사용되는 데이터단위
응용~세션 – 메시지, 데이터
전송 – 세그먼트
네트워크 – 패킷, 데이터그램
데이터링크 – 프레임
물리 - 비트
- *HTTP 프로토콜이란?
인터넷 상 클라이언트와 서버가 자원을 주고 받는 통신 규약
HTTP는 텍스트 교환으로, 누군가 네트워크 신호를 가로채면 내용 노출 이슈.!
-> 이 이슈 해결은 HTTPS
- *HTTPS 프로토콜이란?
인터넷 상 정보를 암호화하는 SSL 프로토콜을 사용한 통신 규약
-> SSL(Secure Socket Layer) 인터넷 암호화 통신 프로토콜
HTTPS는 텍스트를 암호화(공개키 암호화)
- 대칭키, 공개키
# 대칭키
암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘
동일한 키를 주고 받아 빠름
해킹 위험에 노출
# 공개키
암호화와 복호화에 사용하는 암호키를 분리한 알고리즘
자신의 고유한 비밀키로만 복호화 할수 있는 공개키를 대중에 공개.
- 순서
1) A가 B의 공개키를 통해 평문 암호화하여 B에 전송
2) B는 자신의 비밀키로 암호화된 평문을 복호화, A의 공개키로 응답을 암호화하여 보냄
3) A는 자신의 비밀키로 암호회된 응답문을 복호화.
- *Big 엔디안, Little 엔디안
메모리 데이터의 저장방법.
Big – 큰 바이트가 앞에오는 것(IBM AIX)
사람보는것과 같아서 디버깅과정에서 메모리 보기 편함.
Little – 작은 바이트가 앞에오는 것(윈도우, 리눅스)
메모리의 하위바이트만 사용할 때, 별도의 계산노필
0x2A면 2A 00 00 00 하위비트만 떼내면됨.
- *TCP와 UDP
#TCP
연결형 서비스 가상 회선 방식.
3핸드쉐이킹으로 연결 4핸드쉐이킹으로 해제.
UDP보다 느림(패킷에대한 응답). 높은 신뢰성
전이중, 점대점방식.
스트림전송 크기무제한
- 흐름제어 혼잡제어
1)흐름제어 - 받는사람이 패킷을 지나치게 받지 않게 조절
받는사람이 보내는사람에게 자신의 상태를 피드백함으로써 데이터 처리속도차이 해결.
ex)Stop and wait, 슬라이딩 윈도우,
2)혼잡제어 - 송신측의 데이터전달과 네트워크의 데이터 처리 속도 차이 해결
1:1 서버 클라
#UDP
비연결형 서비스 데이터그램 방식(65535바이트까지보냄) -> 전송 계층
비신뢰성
정보를 보낼 때 받는다는 신호절차를 안함.
UDP헤더의 체크섬으로 최소한의 오류검출,
- 사용
데이터의 신속성, 데이터 처리가 TCP보다 빠름
실시간 방송과 온라인 게임에서 사용.
DNS에서 사용( 3핸드쉐이킹으로연결 유지 필없음, Ruqest양이 작음)
-> 크기가 512(UDP제한)을 넘으면 TCP사용.
1:1, 1:N의 서버클라
- *POST방식과 GET방식
일단 둘다 http프로토콜을 이용해서 전달하는 방식.
GET - URL에 데이터 노출
데이터를 헤더에 포함(데이터노출, 보안 구림)
전송길이에 제한
캐싱가능
POST – URL에 데이터 노출X
데이터를 바디에 포함(보안) - 어떤데이터인지 설명필요.
전송길이에 제한없음(바디에있어서)
캐싱불가능(다음 요청시에 빠른 접근을위해 레지스터에 저장불가)
- *3-Way Handshaking
TCP의 논리적 연결.
1)클라 -> 서버 (SYN)
2)클라 <- 서버 (SYN+ACK)
3)클라 -> 서버 (ACK)
- *4-Way Handshaking
TCP의 해제.
1)클라 -> 서버 (FIN) : 종료하겠다.
2)클라 <- 서버 (ACK) : 확인
3)클라 <- 서버 (FIN) : 종료되었다.
4)클라 -> 서버 (ACK) : 확인.
- *Control flow
- *Congestion control
- *로드밸런싱?
- 사용이유
웹사이트의 접속인원의 급증 -> 트래픽 감당어려움
Scale up : 하드웨어의 성능 올리거나
Scale-out : 여러대의 서버가 나눠서 일하도록 만듬
-> 서버가 여러대면, 무중단 서비스와 환경구성 용이
-> 이때 트래픽을 균등 분산을 해주는것이 로드밸런싱!
- 정의
부하 분산을 위해 가상 ip를 통해 여러 서버에 접속하도록 분배하는 기능.
- 위치
클라이언트와 서버사이에 두어 부하가 일어나지 않게.
- 로드밸런서 장애 대비
서버 분배하는 로드밸런서의 장애를 대비하여 이중화.
- *도메인?
인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 하는 문자로만든 주소.
루트 도메인 밑에 국가코드최상위도메인(1단계), 일반최상위도메인(1단계)
그밑에 2단계로 역트리 구조 구성.
- *ARP와 RARP에 대해 설명
ARP – 논리주소를 물리주소로 변환(IP -> MAC)
IP주소를 이용해 MAC주소 알아내는법.
RARP – 반대
특이한경우에사용(디스크가 없는 단말 등이 IP 주소를 얻기위해 사용하는 프로토콜)
- *MAC IP
MAC – 통신기기의 하드웨어 자체에 부여된 고유한 식별번호
IP – 다른 주체에 의해 주어진 임시번호.
- *라우터와 스위치에 대한 차이점
스위치 – mac주소를 가지고. (데이터링크계층)
라우터 – 네트워크 주소가 서로 다른 장비에 사용, IP주소참조 라우팅(네트워크계층)