CS/네트워크

    HTTP

    HTTP/1.0 기본적으로 한 연결당 하나의 요청을 처리하도록 설계 -> 서버로부터 파일을 가져올 때마다 TCP의 3-way handshake를 계속 수행 -> RTT(패킷이 목적지에 도달하고 나서 다시 출발직로 돌아오기까지 걸리는 시간) 증가 문제 RTT 증가를 해결하기 위해 이미지 스플리팅, 코드 압축, 이미지 Base64 인코딩 사용 HTTP/1.1 매번 TCP를 연결하는 것이 아니라 한번 TCP를 초기화를 한 이후에 keep-alive라는 옵션으로 여러 개의 파일을 송수신할 수 있게 변경 (1.0에도 keep-alive가 있었지만 표준화 되어있지 않았음) TCP의 3-way handshake가 한번 발생한 다음부터 발생하지 않지만 다수의 리소스를 처리하려면 요청할 리소스 개수에 비례해서 대기 시간..

    IP 주소

    ARP(Address Resolution Protocol) IP주소로부터 MAC 주소로 변환. 논리적 주소 -> 물리적 주소 컴퓨터와 컴퓨터 간의 통신을 할 때 IP주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반을 통신합니다. RARP - 물리적 주소 -> 논리적 주소 브로드캐스트 - 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식 유니캐스트 - 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식 홉바이홉 통신 IP 주소를 통해 통신하는 과정 통신 장치에 있는 '라우팅 테이블'의 IP를 통해 시작 주소부터 시작하여 다음 IP로 계속해서 이동하는 '라우팅' 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신 라우팅 - IP주소를 찾아가는 과..

    TCP/IP 4계층 모델

    TCP/IP 4계층 애플리케이션 계층 전송계층 인터넷 계층 링크 계층 애플리케이션 계층 FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층 서비스를 실질적으로 사용자에게 제공하는 계층 FTP - 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜 SSH - 보안되지 않는 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜 HTTP - World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜 SMTP - 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜 DNS - 도메인 이름과 IP 주소를 매핑해주는 서버 전송 계층 송신자와 수신자를 연결하는 통신 서비스를 제공하며 연결 지향 데이터 스트림..

    네트워크의 기초

    네트워크란 노드와 링크가 서로 연결되어 있거나 연결되어 있지 않은 집합체를 의미한다. 노드 - 서버, 라우터, 스위치 등 네트워크 장치를 의미 링크 - 유선 또는 무선을 의미 처리량 - 링크를 통해 전달되는 단위 시간당 데이터량 (단위 : bps, bits per second, 초당 전송 또는 수신되는 비트 수) 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받는다. 대역폭 - 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트수 지연시간 - 요청이 처리되는 시간, 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간 매체 타임(무선, 유선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받는다. 네..