운영체제 역할
- 시스템 자원 관리
- 각 프로세스에게 하드웨어의 자원을 할당하고 관리한다.
- 응용 프로그램 관리
- 권한 관리
- 응용프로그램을 사용하는 사용자 관리
- 네트워크 관리
- 사용자 관리
OSI 7계층
물데네전세표응
물리계층
- 데이터를 단순히 전기적 신호로 주고받는 역할
데이터링크계층
- 물리 계층으로 송수신되는 정보를 안전하게 전달되도록 도와주는 역할, Mac주소를 통해 통신, 오류 + 흐름 제어 필요
네트워크
- IP경로 지정, 경로에 따라 패킷 전달, 라우팅, 흐름제어, 오류제어
전송
- TCP, UDP프로토콜로 통신 활성화
세션
- 논리적 연결 담당
표현
- 압축, 암호화
응용
- 응용서비스 (HTTP, FTP)
3-way handshake
TCP에서 연결과정
- 클라이언트가 SYN 패킷을 보냄
- 서버가 SYN을 받고, 받았다는 신호인 ACK와 SYN을 보냄
- 클라이언트는 ACK, SYN 패킷을 받고 ACK을 서버로 보냄
4-way handshake
TCP 연결 해제 과정
- 클라이언트가 연결을 종료한다는 FIN 플래그를 보낸다.
- 서버는 FIN을 받아 확인했다는 ACK을 보낸다.
- 남은 데이터를 다 받기위해 CLOSE_WAIT 상태를 거친 뒤, 다 받았다면 FIN 플래그를 클라이언트에게 보낸다.
- 클라이언트는 FIN을 받고, ACK을 서버에 보낸다. (서버로부터 아직 받지 못한 데이터가 있을 수 있으므로 TIME_WAIT을 통해 기다린다.)
- 서버는 ACK을 받은 이후 소켓을 닫는다.
- TIME_WAIT 시간이 끝나면 클라이언트도 소켓을 닫는다.
흐름제어, 혼잡제어
흐름제어
- 송신 - 수신간 데이터 속도 차이를 해결하기 위한 기법
- 수신측 속도가 송신측 속도보다 느린 경우 조절 필요
Stop and Wait
, Sliding Window
기법이 있음
혼잡제어
- 네트워크 망이 과부하 되면 데이터 로스가 발생하므로, 송신측 데이터 속도를 강제로 줄이는 것
HTTPS
HyperText Transfer Protocol Secure
- 인터넷 상에서 정보를 암호화하는 SSL프로토콜을 사용해 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신규약
CA
기업(Certificate Authority)를 통해 인증서 발급
Scale-up & Scale-out
Scale-up : 하드웨어의 성능 올리기(ex. 서버에 메모리 추가)
Scale-out : 서버를 여러대로 늘리기