목차
개념
최상위계층. OS 위에서 동작
프로토콜 : Email → SMTP, Web → HTTP, File 전송 → FTP
그 외 POP3, IMAP, DNS 등
Client - Server
Server : 항상 ON 켜져있는 상태, Client의 연결을 기다리고 있음, unique IP address 가지고 있고, Client IP 주소 몰라도됨
Client : 서버 IP 주소 알아야함, src IP, dest IP 정보를 헤더에 가지고 네트워크 계층 request를 보내는 등의 연결방식
클라이언트-클라이언트 직접적 연결 안함 ⇒ 클라이언트 - 서버 - 클라이언트 연결
P2P
서버 없이 클라이언트 - 클라이언트 직접적 통신 연결 1:1
(ex. 폰 to Car)
Web = HTTP
클라이언트 : 웹페이지 화면 사용자에게 보여주기 위해 브라우저Browser 프로그램 사용함
브라우저 : html 형식에 따라 모니터에 화면을 띄워줌
- 클라이언트는 외부의 웹server에게 HTTP Request message 접속할꺼라는 요청
- Web Server는 클라이언트에게 브라우저가 해석해야할 html 문서를 response로 보내줌
- 브라우저가 문서를 해석해서 사용자의 모니터에 화면을 띄워줌
HTTP
HyperText Transfer Protocol, 클라이언트-서버 구조
클라이언트 : 브라우저 Browser 프로그램(http protocol로 사용됨), 웹 화면에 띄움
Brouser : IE, Edge, Chome, FireFox, safari...
동작
- 브라우저는 접속하려는 서버에 http request를 보냄
- 서버는 해당 request에 response를 보낸다 (html 파일 문서)
- 브라우저가 문서를 받아서 모니터에 사람이 볼 수 있도록 띄움
Clinet
start line 필드 : 어떤것을 요청하는지 적어서 서버에 보냄
- http 메서드 : Get, Post, Put, Head
- http 버전 : HTTP / 1.1
헤더 + 바디 추가된 내용
Sever
status line 필드 = status code
- http 버전 : HTTP / 1.1
- 응답에 대한 상태 메시지 : 404 Not Found, 404 Forbiddne, 400 Bad Request...
- 인터넷 연결 X, 링크 유효 X 경우 자주 보임
- 성공할 경우 200코드를 가지고 성공한 통신을 보여줌서버 1 클라이언트 N / 클라이언트 1 브라우저(os) N
TCP 통신 이용
- HTTP 1.x, 2.x ⇒ TCP , HTTP 3.x ⇒ UDP
- 통신 과정
- 클라이언트가 TCP 연결 요정 ⇒ 서버의 Dest port # = 80
- 서버는 요청을 승락하고, 브라우저와 서버는 계속 HTTP message를 주고받음
- 연결 종료
Cookie 쿠키
- 내 특정 상태(정보)를 클라이언트와 웹서버가 저장해놓음
- 작은 size 숫자로 구성됨
- 저장 주체 : client 브라우저 관리 데이터
- ex. 팝업 ☑️더이상 보지않기 / 로그인 상태 유지
cache 캐시 : 자주 사용되는 데이터나 명령어를 빠르게 접근할 수 있는 임시 저장 공간. 동영상 이미지 같은 큰 용량 내부 저장해놓음. 통신 없이 저장한 소스 보여줌
Web caches (proxy servers)
한대의 서버에 노드가 너무 많이 몰리지 않도록, 클라이언트 서버 중간단계의 프록시 서브를 둔다
한국 자주 접속하는 사이트 proxy server에 도메인 저장하고 브라우저에 전송함.
자주 접속 안하는 외국 사이트 로딩 오래걸리는 경우!
Email = SMTP
Simple Mail Transfer Protocol
이메일 송수신 하기 위한 프로토콜
메일주소에 직접 보내는게 아닌, 해당 도메인의 SMTP 서버에 저장되어있는 유저의 메일 주소에 전송하게됨
클라이언트 : 유저
서버 : 기관마다 존재하는 mail server
⭐DNS
Domain Name System
도메인 : www._____ / 문자 형식의 주소 체계
컴퓨터 IP주소체계 ↔ 사람 IP주소 연결짓는 프로토콜 = 도메인 주소를 IP 주소로 mapping
Aliases : 도메인 별명 www.naver.com
→ 부하를 관리하기 위해 하나의 도메인에 여러개의 IP주소 N개가 매칭된다
구조
계층화 db 구조
Root 에서 .com 부분을 Top Level Domain(TLD)에 구분함
TLD Top Level Domain
어느 DNS 서버에 저장되어있는지 구분된 도메인 서버를 파악함
- country Domain : kr, uk, fr 나라를 나타내는 도메인 관리
- 그외 network solution Dmain : .com, .net, .org, .edu
권한 Authoritative DNS 서버
- 기업, ISP, 개인 구축한 서버
- 최종 도메인을 가지고 IP 주소를 클라이언트에게 response 해줄 수 있다.
동작방식
iterated 반복 - 적절
호스트와 root DNS server 사이의 local DNS server 가 존재함
인터넷 서비스 provider or 내부 외부 DNS 서버를 들여와서 중간단계 역할 함
3, 5 : 어떤 TLD / Authoritative DNS Server로 보내야 하는지 response함
7 : 도메인 주소와 매핑이 되는 IP주소를 받아서 클라이언트로 전송
recursive 회귀 - 부적절
과부화
회고
수업 내용을 들으면서 정리하였다. 응전네데물을 학기동안 뜯어보는 내용이었는데, 응전 보다 네데물 부분이 더 어려운 내용인 것 같다. 시험범위가 전범위여서 걱정이다.. 아자잣!
참고-
https://hororolol.tistory.com/category/Computer%20Networks/%EC%9D%B4%EB%A1%A0
서치를 하다가 해당 블로그에서 수업자료와 비슷한 느낌으로 정리한 것을 보았다. 그 밖에 GPT-4 을 활용하여 글을 작성하였다