통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문이다.리피터, 케이블, 허브 등단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간즉, 데이터를 전송하는 역할만 진행한다.브릿지, 스위치 등물리 계층으
HTTP(HyperText Transfer Protocol) 인터넷 상에서 웹브라우저(Client)와 서버(Server)가 자원을 주고 받을 때 쓰는 통신 규약 HTTP는 텍스트 교환이므로, 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈가 존재한다.
네트워크 통신에서 신뢰적인 연결방식TCP는 기본적으로 unreliable network에서, reliable network를 보장할 수 있도록 하는 프로토콜TCP는 network congestion avoidance algorithm(NCAA)을 사용손실 : packe
연결을 성립하고 해제하는 과정을 말한다TCP는 정확한 전송을 보장해야 한다(신뢰성). 따라서 통신하기에 앞서, 논리적인 접속을 성립하기 위해 3 way handshake 과정을 진행한다.그림에서 Client : HOST P, Server : HOST Q클라이언트가 서버
HTTPS에서 클라이언트(웹사이트)와 서버간 통신 전 SSL 인증서로 신뢰성 여부를 판단하기 위해 연결하는 방식클라이언트는 서버에게 client hello 메시지를 담아 서버로 보낸다. 이때 암호화된 정보를 함께 담는데, 버전, 암호 알고리즘, 압축 방식 등을 담는다.
User Datagram Protocol의 약자로 데이터를 데이터그램 단위로 처리하는 프로토콜이다.비연결형, 비신뢰성 전송 프로토콜이다.데이터그램 단위로 쪼개면서 전송을 해야하기 때문에 전송 계층이다.Transport layer(전송계층)에서 사용하는 프로토콜.IP의
I/O 작업은 Kernel level에서만 수행할 수 있다. 따라서, Process, Thread는 커널에게 I/O를 요청해야 한다.I/O 작업이 진행되는 동안 user Process(Thread) 는 자신의 작업을 중단한 채 대기\-Resource 낭비가 심함 (I/
동기/비동기는 우리가 일상 생활에서 많이 들을 수 있는 말이다.Blocking과 Synchronous, 그리고 Non-blocking과 Asysnchronous를 서로 같은 개념이라고 착각하기 쉽다.각자 어떤 의미를 가지는지 간단하게 살펴보자블럭/논블럭은 간단히 말해서
암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘 (암호화 키 = 복호화 키)동일한 키를 주고받기 때문에, 매우 빠르다는 장점이 있음but, 암호화 키와 복호화 키가 같기 때문에 공개되면 안되므로 비밀이어야 함!!또한, 대칭키 전달과정에서 해킹 위험에 노출암호
요즘 시대에는 웹사이트에 접속하는 인원이 급격히 늘어나게 되었다.따라서 이 사람들에 대해 모든 트래픽을 감당하기엔 1대의 서버로는 부족하다. 대응 방안으로 하드웨어의 성능을 올리거나(Scale-up) 여러대의 서버가 나눠서 일하도록 만드는 것(Scale-out)이 있다
두 애플리케이션이 통신하기 위해 반드시 포트 번호를 결정해야 한다.IP가 제공하는 오류 체크 기능은 프로토콜 동작을 위해 반드시 필요한 부분에만 국한된다. 즉 IP헤더에 대한 오류는 체크하지만 데이터에 대한 오류는 체크하지 않는다. 반면, TCP와 UDP는 헤더와 데이
인터넷에서 데이터 전달 프로토콜네트워크 호스트는 IP에서 정의된 규약(Protocol)을 이용해 네트워크 상에서 정보를 주고 받으며, 이 정보는 패킷(Packet) 단위로 전달 된다.컴퓨터 네트워크에 연결된 장치이다. 네트워크 호스트의 역할은 네트워크 상에서 정보를 주
도메인 주소를 IP주소로 변환해주는 시스템DNS를 분산 데이터 베이스 시스템이라 하는 것은 도메인 각 계층별로 네임서버를 두고 분산해서 도메인 정보를 관리하기때문이다. 예시) www.naver.com \-> 뒤에서 부터 순서대로 1단계 : .com2단계 : naverw