정규 회의록
일시 : 2022.11.18 9:30
범위 : 네트워크 1~3강
강의 : 이석복 교수님 컴퓨터네트워크 강의
활동 : github에 올린 내용 정리본 읽고 공부한 내용에 대해 발표 및 질의응답
정리 : https://github.com/GDSC-Ewha-4th/Study-CS.git
2. 애플리케이션 계층
Network Application
운영체제 위에서 실행되는 프로세스들이 다른 머신에 있는 프로세스와 메시지를 주고 받는 것
Client-server architecture
클라이언트: 필요할 때만 요청을 보냄
서버: 24시간 작동되며 요청을 받음, 고정된 주소 가짐
Socket
운영체제에서 제공하는 API 중 하나
프로세스들 사이의 communication에서 socket을 통해서 addressing
socket은 IP 주소와 port 번호의 결합
- IP 주소: 인터넷 상에 존재하는 컴퓨터의 주소
- port: 컴퓨터 안의 프로세스를 찾기 위한 것
HTTP (Hypertext Transfer Protocol)
하이퍼텍스트를 주고 받는데 사용하는 규약
web의 application layer protocol, TCP 기반, 80번 포트 사용
request와 response로 이루어짐
stateless: 클라이언트의 상태를 저장하기 않음
Non-persistent HTTP
TCP 커넥션을 HTTP 사용 후 close
매 http마다 TCP 커넥션을 새로 맺음 - 비효율적
응답 시간이 오래 걸림
RTT: Round Trip Time, 패킷을 목적지에 보내고 그 응답이 돌아오기까지 걸리는 시간
Persistent HTTP
클라이언트/서버 간 하나의 TCP 커넥션으로 여러 개의 HTTP 송수신 수행 - 효율적
한 번 연결이 되면 계속 사용 가능
HTTP Request Message
클라이언트가 HTTP request를 소켓으로 보내면 request message 생성
첫 번째 줄에 어떤 정보를 요청하는지, 나머지는 부가 정보
HTTP Response Message
서버에서 클라이언트가 요청한 파일을 보낼 때 response message 생성
헤더에 부가적인 정보 함께 담겨 있음
Cookies
HTTP의 stateless 성질 보완
사용자가 서버에 처음으로 request → 쿠키 생성
이후부터 접속할 때마다 이전에 생성된 쿠키 이용하여 사용자 인식
Web Caches
original server에 요청을 하는 대신 proxy server에 HTTP 요청
proxy server: 서버와 클라이언트 사이에서 대리로 통신을 수행하는 서버
- 장점: 빠름, 서버 트래픽 감소(요청을 로컬에서 처리해 주기 때문)
- 단점: 보안 이슈, 캐시가 가진 정보와 서버가 가진 정보의 차이(일관성 문제)
Conditional Get
캐시의 일관성 문제 해결하기 위해 사용
브라우저로 전달되는 객체들이 최신임을 확인
HTTP request에 If-Modified-Since 헤더 라인 함께 전송
- 수정이 안 된 경우(최신 객체): 304 not modified 전송
- 수정이 되어 있는 경우: 객체 담아서 보냄
DNS
Domain Name System
IP 주소와 Port 번호를 도메인 네임으로 매핑해서 접속
DNS 서버를 한 대만 사용하는 경우 트래픽이 집중되는 문제가 발생하므로 분산과 계층화 시켜야 함
TLD, Authoritative Servers
Top-Level Domain Server: .com, .org, .net과 같은 도메인 보유
Authoritative DNS Servers: 네트워크를 운영하는 기관에서 보유하는 도메인 매핑
DNS Records
type A(Address), type NS(Name Server)
두 가지 타입을 쌍으로 저장
NS를 통해 서버 이름 얻음, A를 통해 서버의 IP 얻음
DNS는 UDP 기반(크기가 작아서 유실될 확률이 낮기 때문에 빠른 UDP 사용) / HTTP는 TCP 기반
Electronic Mail
- User agents: outlook, mail checking app…
- Mail server: gmail, naver mail…
- SMTP: Simple Mail Transfer Protocol
사용자가 메일 전송 → User agent →(SMTP)→ Mail server →(SMTP)→ Mail Server →(Mail Access Protocol)→ user agent → 받는 사람
'4-1기 스터디 > CS 기초' 카테고리의 다른 글
[CS 기초 스터디] 7주차 회의록 (0) | 2023.01.05 |
---|---|
[CS 기초 스터디] 6주차 회의록 (0) | 2023.01.05 |
[CS 기초 스터디] 4주차 회의록 (0) | 2022.12.10 |
[CS 기초 스터디] 3주차 회의록 (0) | 2022.12.10 |
[CS 기초 스터디] 2주차 회의록 (0) | 2022.11.18 |
댓글