Skip to content
2 changes: 2 additions & 0 deletions 2주차/ARP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ARP는 IP주소를 MAC 주소로 변환해주는 프로토콜입니다. 송신자는 목적지 물리주소(MAC) 주소가 필요하기 때문에 먼저 물리주소 요청을 위한 ARP 패킷을 BroadCast로 전송하게 됩니다. 그러면 해당하는 수신자만 자신의 물리주소를 Unicast로 전송하면서
송신자는 목적지 주소를 알게됩니다. ARP는 캐시테이블이 별도로 존재하여 캐시테이블에 IP와 MAC주소가 매핑되어있습니다. 만약 캐시테이블에 목적지가 존재한다면, BroadCast과정을 생략하고 unicast로 게이트웨이를 통해 바로 목적지까지 데이터를 전송할 수 있습니다.
6 changes: 6 additions & 0 deletions 2주차/IPv4와 IPv6의 주요 차이점.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## IPv4
IPv4는 32비트 주소로, 8비트(옥텟) 4개로 이루어져 있습니다. IP주소는 하위 네트워크를 만들기 위해 네트워크와 호스트 주소 부분으로 나눕니다. 서브넷을 5개의 클래스로 나누고 해당 네트워크 내에서 호스트를 구분한다.

## IPv6
IPv6는 기존의 IPv4주소의 주소부족 문제를 해결위해 등장한 4비트(16진수)4자리씩 8개의 그룹으로 이루어진 128비트 주소체계입니다. IPv4에 비해 불필요한 헤더를 제거하여 헤더의 크기가 줄었고, 자동 주소 설정을 통해 플러그 앤 플레이로 간편하게 주소를 설정할 수 있습니다.
또한 IPv6에서는 IPsec을 기본적으로 지원하여 보안적으로도 우수하다.
11 changes: 11 additions & 0 deletions 2주차/NAT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## NAT
NAT는 네트워크 주소 변환으로 IPv4의 주소 부족 문제로 등장하게 되었습니다. IPv4가 많은 사용자를 감당할 수 없는 문제를 해결하기 위해 등장하였습니다. 공인 IP를 내부의 여러 사설 IP로 매핑하면서 하나의 IP 주소를 통해 내부의 여러 기기에 연결할 수 있습니다.

## 장점
외부에 공지하지 않고도 내부 IP주소를 변경할 수 있습니다. 또한 주소가 외부에 노출되지 않아 보안면에서 안전합니다. 확장도 NAT를 이용하면 쉽게 가능합니다.

## 단점
많은 사용자가 동시에 접속하면 느려진다는 장점이 있습니다. NAT는 IP 헤더 필드만을 수정하고 데이터영역은 수정하지 않기 때문에 호환성 문제가 발생할 수 있습니다. 성능 면에서도 NAT를 거쳐 접속해야하기 때문에 떨어집니다.

![image](https://github.com/kwYoohae/CS-Study/assets/43626362/8bd8c131-88ce-44f8-9779-68f2c70a5961)

22 changes: 22 additions & 0 deletions 2주차/OSI 7계층 모델.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## L1
L1 Layer, physical layer에서는 비트 단위의 전기적 신호로 통신을 한다. 데이터를 전달만 할뿐 송수신하는 데이터가 어떤 것인지 알지 못하고 오류 검출 기능도 따로 가지고있지 않다. 케이블, 리피터, 허브 등이 있다.

## L2
L2 Layer, datalink layer에서는 Error Control과 Flow Control을 진행할 수 있습니다. 프레임 단위로 전송을 진행하며 CRC와 ARQ를 이용해 오류 검출 및 재전송 요청을 할 수 있습니다. 또한 Sliding Window 기법
등을 통해 흐름 제어도 가능합니다. 데이터링크 계층의 대표적인 장비로는 브리지, 스위치 등이 있고, 이때 통신에는 MAC 주소를 사용하게 됩니다. 이 MAC 주소는 물리적으로 할당 받는데, 네트워크 카드가 만들어질 때부터 정해진 고유의 값이다.

## L3
L3 Layer, network layer에서는 IP주소와 같은 논리적 주소를 이용하여 통신하게 됩니다. IP주소를 이용하여 라우터에서는 목적지까지의 경로를 결정하며 데이터를 전송하게 됩니다. ARP를 통해 IP주소를 맥주소로 바꾸는 기능도 가지고 있습니다.
네트워크 계층은 기본적으로 신뢰할 수 없는 계층이기 때문에 오류 검출정도만 가능한데, ICMP에서 오류를 검출하여 송신자에게 재요청을 하도록 할 수 있습니다. IGMP를 통해 멀티캐스트 그룹핑도 가능합니다.

## L4
전송 계층은 데이터 전송의 신뢰성과 흐름을 관리합니다. 에러 검출 및 복구, 흐름 제어, 데이터 분할 및 재조립 등을 수행합니다. 주로 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 이 계층에서 작동합니다.

## L5
세션 계층은 양 끝단의 어플리케이션 간의 대화와 데이터 교환을 관리합니다. 세션의 시작, 종료, 동기화, 데이터 통신 등을 다루며, 오류 복구도 담당합니다.

## L6
표현 계층은 데이터의 형식 변환, 암호화, 압축 등의 데이터 변환 작업을 수행하여 서로 다른 데이터 형식을 갖는 시스템 간의 상호 동작을 가능하게 합니다.

## L7
응용 계층은 최종 사용자에게 서비스를 제공하기 위한 인터페이스를 제공합니다. 사용자가 네트워크를 통해 어플리케이션과 상호 작용할 수 있도록 합니다. 이메일, 웹 브라우징, 파일 전송 등이 여기에 해당합니다.
24 changes: 24 additions & 0 deletions 2주차/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
### TODO
- [ ] IPv4와 IPv6의 주요 차이점
- [ ] OSI 7계층 모델
- [ ] 로드밸런서란(L4, L7)
- [ ] ARP란
- [ ] NAT란
- [ ] mac주소를 알아내는 방법



### 질문 사항
- HTTP와 HTTPS의 차이는?
- TLS와 SSL이란?
- DNS란?
- DNS Server의 계층구조는?
- DHCP란?
- HTTP GET과 POST의 차이는?
- post 는 안전하다고 할수있나
- TCP의 연결과정과 연결 해제의 과정은?
- 3way handshake의 이점은?
- 4way handshake에서 연결 종료 요청 후 wait을 하는 이유는?
DNS Round Robin 방식이란?
- 이 방식의 문제는
- 해결방법은?
14 changes: 14 additions & 0 deletions 2주차/로드밸런서.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
로드밸런서란 서버에 가해지는 부하를 분산시키는 장치입니다. 즉 여러 트래픽이 동시에 요청이 올때 요청을 여러 대의 서버에 적절히 분산시킴으로써 어느 한쪽의 서버에만 과도한 요청이 가는 것을 방지하고, 많은 트래픽을 수용할 수 있도록 합니다.

## Scale-Up & Scale-Out
로드밸런싱의 방법 중 Scale Up은 서버의 성능을 확장시키는 방법입니다. 서버의 코어를 향상시키는 방법 등을 통해 더 많은 트래픽을 수용할 수 있도록 합니다.
Scale Out은 서버의 개수를 증설하는 방식입니다. 현재 서버의 가격과 같거나 좀 더 적은 가격의 서버를 구매하여 양쪽의 서버에서 트래픽을 처리하도록 합니다.

## L4 로드밸런서
L4 로드밸런서는 네트워크 계층이나 전송 계층의 정보를 통해 로드를 분산시킵니다. 따라서 주소 IP주소, MAC주소, 포트번호, 전송 프로토콜에 따라 트래픽을 나눕니다.

## L7 로드밸런서
L7에서의 로드밸런서는 어플리케이션 계층에서 로드밸런싱을 진행하기 때문에 사용자의 요청에 따른 분산이 가능해집니다. URL, 헤더의 쿠키값 등을 통해 어떠한 서비스로 보낼지 결정할 수 있습니다.
또한 L7에서는 특정 바이러스를 감지할 수 있어 DDos 공격을 방지할 수도 있기 때문에 보안 면에서도 좋습니다.

<img width="855" alt="Screenshot 2023-08-19 at 2 04 45 AM" src="https://github.com/kwYoohae/CS-Study/assets/43626362/c15781db-5b48-4101-8e43-463b18039185">