CS
-
[네트워크] HTTPS (TLS, 암호화, 대칭 암호화, 비대칭 암호화)CS/네트워크 2022. 11. 10. 22:07
HTTPS HTTPS는 암호화된 HTTP라 생각하면되고, HTTP + TLS라고 생각하면 된다. 암호화 암호화는 승인된 당사자만 정보를 이해할 수 있도록 데이터를 "스크램블"한 방법이다. 이를 복호화하려면 송신자와 수신자가 서로 동의한 "키"가 필요하다. 또한 이를 만들기 위해 키가 쓰이기도 한다. 스크램블 각 단어나 문자를 패턴에 따라 암호화하는 것이 아니라 무작위 방식으로 개별 데이터 비트를 섞는 것을 말한다. 예를 들어, 공통 128비트 고급 암호화 표준(AES)으로 암호화된 파일의 경우 이 파일을 구성하는 비트는 약 10회 스크램블되며 다른 컴퓨타가 키 없이 해독하려면 아주 오랜 시간이 걸린다. 비트가 높아질수록 스크램블을 많이 하게 되고 더 복잡해지는 것인데 이 128비트는 AES의 가장 약한 ..
-
[네트워크] HTTP1.x / HTTP2 / HTTP3CS/네트워크 2022. 11. 10. 21:03
HTTP 1.x HTTP2, HTTP3의 차이 - HTTP1.0 (Hypertext Transfer protocol) HTTP/1.0은 기본적으로 한 열결당 하나의 요청을 처리하도록 설계되었고. 이는 RTT를 증가시킨다. 서버로 부터 파일을 가져올 때마다 TCP의 3-웨이 핸드쉐이크를 계속해서 열어야 하기 때문에 RTT가 증가하는 단점이 있다. (RTT : 패킷이 목적지에 도달하고나서 다시 출발지로 돌아오기까지 걸리는 시간이며, 패킷 왕복시간이다) RTT 증가 해결방법 이미지 스플리팅 - 많은 이미지를 다운로드 받게되면 과부하가 걸리기 때문에 합쳐있는 하나의 이미지를 다운로드 받고, 이를 기반으로 background-image의 postion을 이용하여 이미지를 표기하는 방법이다. 코드 : image.c..
-
[네트워크] 브라우저에 화면을 띄우는 과정CS/네트워크 2022. 11. 10. 01:27
주소에 www.tistory.com/ 을 입력시 화면이 나타나기까지 대기열, 캐싱, DNS, 라우팅, ARP, 초기연결을 거쳐 컨텐츠를 다운받게 되고 이 후 브라우저 렌더링 과정을 거쳐 네이버라는 화면이 나타나게 된다. 또한 이러한 과정이 캡슐화, 비캡슐화 과정을 거쳐서 이뤄지게 된다. 대기열 브라우저는 주소창입력에 대한 요청을 대기열에 넣는다. 캐싱 캐싱을 요청된 값의 결과값을 저장하고 그 값을 다시 요청하면 다시 제공하는 기술이다. 이는 공유프록시캐시와 브라우저 캐시로 나뉜다. - 브라우저 캐시 브라우저 캐시는 쿠키, 로컬스토리지 등을 포함한 캐시이다. 브라우저 자체가 사용자가 HTTP를 통해 다운로드 하는 모든 문서를 보유하는 것을 말한다. 예를 들어 어떤 사이트를 갔다가 다시 방문하면 굉장히 빠르..
-
[네트워크] TCP/IP 4계층 전송계층 프로토콜 / 3-way 핸드 쉐이크 / 4-way 핸드쉐이크CS/네트워크 2022. 10. 30. 19:02
Transport 계층의 프로토콜 TCP, UDP가 대표적이며, 애플리케이션 계층에서 받은 메세지를 기반으로 세그먼트 또는 데이터그램으로 데이터를 쪼개고 데이터가 오류없이 순서대로 전달되도록 도움을 주는 층이다. TCP # 가상회선패킷교환방식을 사용하여 순수대로 데이터를 전달한다. # 오류검사 매커니즘 1. 재전송 : 시간 초과 기간이 지나면 서버는 전달되지 않은 데이터에 대해 재전송을 시도한다. 2. 체크섬 : 체크섬을 통해 무결성(보낸 값이 멀쩡하게 도착했는가)을 평가한다. 즉, 송신된 데이터의 체크섬과 수신된 데이터의 체크섬 값을 비교해서 올바르게 왔는지를 확인한다. # 헤더 20~60바이트 가변 크기 헤더를 갖는다. UDP # 데이터그램패킷교환방식(그냥 보낸다)을 통해 순서의 보장없이 데이터를 전..
-
[네트워크] TCP/IP 4계층 애플리케이션 & 응용 계층 프로토콜CS/네트워크 2022. 10. 30. 18:10
애플리케이션 계층 HTTP, SMTP, SSH, FTP가 대표적인 프로토콜이며 웹 서비스, 이메일 등 실질적으로 서비스를 사람들에게 제공하는 계층이다. HTTP Hypertext Transter Protocol의 약자로 처음에는 서버와 브라우저간에 데이터를 주고받기 위해 설계된 프로토콜이다. 지금은 브라우저 뿐만 아니라 서버와 서버간에 통신할 때도 사용한다. 특징 헤더를 통한 확장이 쉽다. 헤더 값에다가 값을 넣어 HTTP 요청을 할 때 쉽게 다른 값을 추가할 수 있다 HTTP는 stateless하다. 상태를 저장하지 않는다. 이 뜻은 연속적인 요청이 있을 때 이전 요청이 내가 보낸 요청 데이터를 상태로 저장해두지 않아 누가 이전에 누가 요청을 보냈었는지 어떤 데이터를 보냈었는지 모른다는 뜻이다. SSH..
-
[네트워크] TCP/IP 4계층CS/네트워크 2022. 10. 29. 19:09
TCP/IP 4계층 장치들이 인터넷 상에서 데이터를 주고받을 때 쓰는 독립적인 프로토콜의 집합을 의미한다. TCP/IP는 TCP(Transmission Control Protocol)과 IP(Internet Protocol)이라는 의미인데 인터넷을 통해 데이터를 보낼 때 주로 TCP와 IP를 이용해서 보낸다. Application / 응용 계층 - SMTP, HTTP/HTTPS, FTP, SSH Tranport / 전송 계층 - UDP, TCP Internet / 인터넷 계층 - IPv4/IPv6, ICMP, ARP Network Access / 네티워크 접근 계층 애플리케이션 계층 HTTP, SMTP, SSH, FTP가 대표적이며 웹 서비스, 이메일 등 서비스를 실직적으로 사람들에게 제공하는 층이다. ..
-
[네트워크] 네트워크의 분류 LAN, MAN, WANCS/네트워크 2022. 10. 29. 17:24
네트워크의 분류 네트워크는 LAN, MAN, WAN 순으로 분류가 된다. LAN이 가작 장은 단위, WAN이 가장 큰 단위이며 보통은 반경, 속도의 크기를 기반으로 분류한다. LAN local area network, 근기러 통신망 MAN, WAN보다 높은 안정성, 속도 소규모네트워크(집, 사무실) - 보통 허브나 스위치로 연결 하나의 논리적 주소인 IP를 기반으로 여러개의 물리적 주소인 MAC 주소로 구별하는 네트워크 * IP주소 - 논리적주소로 변한다. * MAC주소 - 물리적주소로 변하지 않는다. (기기마다 다르다) 하나의 IP를 NAT을 통해 MAC주소마다 가상의 IP를 부여하는 방식. 외부와 통신을 할때는 다시 스위치와 NAT을 통해 공인 IP로 통신한다. 즉, 내부에서 사용하는 사설 IP와 (..
-
[네트워크] 네트워크의 기초 / 기본용어와 토폴로지CS/네트워크 2022. 10. 29. 01:48
네트워크 네트워크란 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다. - 노드 : 서버, 라우터, 스위치 등 네트워크 장치 - 링크(엣지) : 유선 또는 무선과 같은 연결매체 (와이파이나 LAN) 내가 Wifi로 카카오톡을 보낼때 내 스마트폰의 LAN 카드는 Node가 되고 Kakao Server도 Node가 되고 메세지를 받는 사람의 LAN 카드도 노드가 된다. 그리고 장치와 장치사이에 중간열결을 하는 Wifi는 링크가 된다. 트래픽 트래픽은 특정시점에 링크 내에서 '흐르는' 데이터의 양을 말한다. 예를 들어 서버에 저장된 파일(문서, 이미지, 동영상 등)을 클라이언트(사용자)가 다운로드 시 발생되는 데이터의 누적량을 뜻한다. 트래픽과 처리량이 헷갈릴 수 있는데 트래픽이 많아졌다는..