CS/면접준비
-
[Network] - HTTP / HTTPSCS/면접준비 2022. 10. 3. 23:10
HTTP ( HyperText Transfer Protocol ) 인터넷 상에서 Client와 Server가 Text를 주고 받을 때 쓰는 통신 규약 HTTP는 텍스트 교환으로, 누군가 Network signal을 가로채면 내용이 노출된다. HTTPS ( HyperText Transfer Protocol ) HTTP에서 신호를 가로채도 내용이 노출 안되도록 보안 HTTPS는 텍스트를 암호화 ( 공개키 암호화 ) CA라는 기업이 공개키를 저장해주는 신뢰성이 검증된 민간기업들의 목록을 가지고 있다. Server는 CA 기업의 개인키로 암호화한 인증서를 가지고 있다. Client -> Server Request Server -> Client Response ( CA기업의 Private key로 암호화한 인증서..
-
[Network] - 대칭 키 / 공개 키CS/면접준비 2022. 9. 30. 22:08
대칭 키 ( symmetric key ) 암호화, 복호화 시에 같은 암호키를 사용한다. 동일한 키를 주고 받기 때문에 빠르다. 한쪽만 해킹 당해도 둘다 해킹 위험에 노출 공개 키 ( public / asymmetric key ) 암호화, 복호화 시 사용되는 Key를 분리 대칭키의 분배 문제를 해결하기 위해 고안 자신만 가지고 있는 private key로만 복호화 할 수 있는 public key를 공개 진행 과정 1. A->B data를 B의 공개키로 Encrypt해서 보냄 2. B는 자신의 Private key로 평문 확인 B -> A A의 공개키로 Encrypt 해서 Response 3. A는 자신의 Private Key로 평문 확인 기밀만 유지해줄 뿐, 신뢰성을 주지 못한다. -> 전자서명,MAC로 ..
-
[Network] - UDPCS/면접준비 2022. 9. 30. 21:57
UDP ( User Datagram Protocol ) TCP와 다르게 신뢰, 연결을 중시 하지 않는다. Datagram 단위로 쪼개어서 전송한다. IP가 제공하는 정도 수준만을 제공하는 간단한 IP 상위 계층 프로토콜 에러가 발생할 수 있고, 재전송, 순서가 보장되지 않는다. 데이터의 처리 속도가 매우 빠르다. -> 방송 / 게임 Port번호 IP로는 Host-to-Host만 연결이 된다. 하나의 장비에서 수많은 프로그램이 통신한다면? IP만으로는 한계가 발생한다. UDP가 나오게 된 이유 IP에서 오류가 발생하면, ICMP ( 인터넷 제어 메시지 프로토콜 ) 에서 알려주지만 처리가 불가능하기 때문에 이보다 상위 프로토콜인 UDP가 필요 DNS는 UDP를 사용할까? DNS는 Request의 양이 적다 ..
-
[Network] - TCP Flow Control / Congestion ControlCS/면접준비 2022. 9. 30. 21:33
TCP 네트워크 통신에서 신뢰적인 연결 방식 신뢰성을 보장하는 Protocol Reliable Network 보장 조건 Loss = Packet이 도중에 유실 Ordering = Packet의 순서 Congestion = Network가 혼잡 Overload = Receiver의 역량 Data 전송 과정 Flow Control Sender 와 Receiver의 데이터 처리 속도가 차이나는 경우 ( Sender가 느리게 보내줄 때는 상관 X ) Receiver는 제한된 Buffer 크기로 용량이 초과되면 Data를 받지 못하고 유실 손실된다면, Sender,Receiver에게 불필요한 전송이 또 발생 Receiver에 맞추어 데이터 전송량을 줄여야한다. 해결 방안 1. Stop and Wait 매번 전송한..
-
[Network] - TCP 3 handshake / 4 handshakeCS/면접준비 2022. 9. 30. 20:27
TCP Connect를 Establish 및 Exit session 3 way handshake 연결을 성립시키기 위함 TCP는 정확한 전송을 보장해야 한다. 3번의 통신을 통해 Connect 성립 Connect를 확실히 하기 위해 3단계로 나누어 진행 1. Client -> Server ( SYN ) 2. Server -> Client ( SYN , ACK ) 3. Client -> Server ( ACK ) 4 way handshake 연결을 종료하기 위함 4번의 통신을 통해 연결이 해제 1. Client -> Server ( FIN ) 2. Server -> Client ( ACK ) 3. Server -> Client ( FIN ) 4. Client -> Server ( ACK )
-
[Network] - OSI 7계층CS/면접준비 2022. 9. 30. 20:18
OSI 7계층 통신이 일어나는 과정을 단계적으로 알 수 있으며, 이상이 생길 경우 해당 단계만 수정하면 된다. 1. Physical cable, hub .. Data -> 전기적인 신호로 변환하여 주고 받는 기능을 진행하는 공간 즉, 데이터 전송하는 역할 2. Data Link Bridge,Switch Physical Layer로 송수신 되는 정보를 관리하여 안전하게 전달 Mac 주소를 통해 통신한다. 전송 단위 : Frame 오류 감지 = 물리전송 매체 특성상 오류,잡음이 랜덤 확률임으로 이를 검출 수정 순서 제어 = Packet과 ACK신호를 잘 못 혼동하는 것을 막기 위해 Sequence Number가 필수적 흐름 제어 = 송신 측과 수신 측의 속도차를 보상하는데 필수적 3. Network Rout..
-
[컴구] - Parity bit / 해밍코드CS/면접준비 2022. 9. 30. 16:47
Parity bit 정보 전달 과정에서 오류가 있는지 검사하기 위한 추가 1bit 전체 bit에서 홀수 혹은 짝수의 갯수에 맞도록 bit 저장 E.g) 짝수 Parity , 1001001 이면 -> parity = 1 -> 1 + 1001001 = 11001001 을 전송 해밍코드 오류만 검출 할 수 있는 Parity bit를 보완->수정까지 할 수 있도록 데이터 전송 시 1bit error를 정정할 수 있는 자기 오류 정정 code 2의 N승 번째 자리인 1,2,4.. 번째 자릿수는 Parity Bit 짝수 패리티의 해밍 코드가 0011011일때 오류가 수정된 코드는? 1. p1 = 1,3,5,7 = 0101 => 0 2. p2 = 2,3,6,7 = 0111 => 1 3. p3 = 4,5,6,7 = 1..