전체 글
-
[네트워크] TCP의 flow control과 congestion control, fairness카테고리 없음 2023. 10. 25. 14:48
TCP의 흐름제어 (Flow control)란? cwnd는 무시하고 rwnd만을 고려해 window size W를 어떻게 조정하는지 학습한다. LastByteRead(A) 호스트 B의 애플리케이션 프로세스에 의해 버퍼로부터 읽힌 데이터 스트림의 마지막 바이트 수 LastByteRcvd(B) 호스트 B에서 네트워크로부터 도착하여 수신 버퍼에 저장된 데이터 스트림의 마지막 바이트 수 LastByteRcvd - LastByteRead ≤ RcvBuffer rwnd=RcvBuffer(4096 바이트) - (LastByteRcvd - LastByteRead) 즉, lastByteRead lastByteRcvd 의 차이로 가용한 버퍼 사이즈를 알 수 있음 → rwnd 필드에서 sending rate (infligh..
-
[네트워크] TCP와 UDP카테고리 없음 2023. 10. 24. 17:02
Socket programming이란? 소켓은 application layer와 transport layer의 문으로, 이를 통해 client와 server는 통신한다. 소켓을 1개를 연다 == 프로세스 1개를 작동시킨다. UDP의 Socket programming이란? UDP는 unreliable한 datagram을 통해 client-server 통신을 한다. UDP는 client와 server 간 connection을 맺지 않으며(no handshaking), client는 server의 IP주소와 port #를 패킷을 보낼 때마다 추가해야 한다. 이때 UDP는 여러 클라이언트가 서버의 같은 소켓으로 통신하기 때문에 반드시 L5으로 (SRC IP주소, SRC port #)도 함께 전달한다. 그 후, ..
-
[네트워크] SMTP카테고리 없음 2023. 10. 24. 13:33
SMTP란? SMTP란 네트워크를 통해 전자우편(이메일)을 전송하는 프로토콜로, POP3 / IMAP과 비교되어 쓰인다. Electronic main의 흐름은? Email(loss-sensitive)에 사용되는 application layer의 프로토콜 3가지를 살펴보자. 1) SMTP는 이메일을 sending(pushing) / delivering 할 때 사용한다. -> push 프로토콜 2) POP3 / IMAP은 이메일을 receiving(accessing) 할 때 사용한다. -> pull 프로토콜 cf. push 프로토콜은 서버에 접속을 시작한 클라이언트가 서버로 데이터를 전송(업로드)하고자 하는 경우에, pull 프로토콜은 서버에 접속을 시작한 클라이언트가 서버에 데이터를 수신(다운로드)하고자 ..
-
[네트워크] p2p, 비디오스트리밍(DASH)과 CDNs카테고리 없음 2023. 10. 23. 22:47
p2p란? 항상 서버가 켜있지 않고 각 클라이언트는 서버가 될 수 있다. (서버가 항상 켜져있지 않다.)클라이언트끼리 직접 연결을 맺고 통신하는 구조이다. p2p의 가장 큰 장점은 self-scalability 하다는 것이다. p2p 서버에 해당하는 peer가 사설 IP주소를 가지는 경우가 있으므로, 정상적인 서비스 동작을 위해서는 라우터에 추가기능이 필요하다. 또한 peer들이 인터넷 곳곳에 분산되어 있다보니 보안을 강화하기 어렵다는 점과, ISP가 의도치 않게 불법 데이터를 p2p cache에 저장할 수 있기에 주의가 필요하다. p2p의 서버(peer)는 주로 개인 호스트이므로 이 호스트가 위치한 access networt가 residential network인 경우 해당 ISP의 uplink가 th..
-
[네트워크] DNS카테고리 없음 2023. 10. 23. 21:09
DNS란? DNS(Domain Name System)은 호스트의 도메인네임(www.example.com)을 네트워크 주소(192.168.1.0)으로 변환(Forwarding DNS)하거나, 그 반대의 역할(Reverse DNS)을 수행하는 분산형 데이터베이스 시스템으로 Network layer에서 구현된다. DNS가 하는 일은? 1. Mapping between hostname (URL or FQDN: Fully Qualified Domain Name) and IP address IP address Reverse DNS : IP address --> hostname (receiving mail server가 sending mail server를 인증하기 위해 사용됨) 2. Host aliasing (ma..
-
[Spring Boot] Spring Security와 JWT를 이용한 OAuth2 로그인(카카오, 백엔드, 프론트의 흐름)백엔드 2023. 6. 27. 00:34
* 이번 CEOS 프로젝트를 진행하며, 작성한 코드를 토대로 쉽게 흐름을 보기위해 정리한 글입니다. Spring Security란 인증과 인가(권한)에 대한 부분을 Filter에 따라 처리한다. Dispatcher servlet으로 가기 전에 적용되어 가장 먼저 URL 요청을 받는다. 여기서 인증이란 해당 사용자가 본인이 맞는지 확인하는 과정이며, 인가이란 인증된 사용자가 요청한 자원에 접근할 수 있는지 결정하는 과정이다. 즉, 인증을 성공해야 인가가 이루어진다. OAuth2 KAKAO Login을 살펴보자. (카카오 서비스에서 신규 서비스를 등록하는 과정은 생략했습니다.) 1. 사용자가 카카오 로그인을 http://localhost:8080/oauth2/authorization/kakao?redirec..
-
-