컴퓨터끼리 네트워크상으로 의사소통을 하는 약속을 프로토콜 이라고 합니다 그 중 가장 널리 사용되는 프로토콜 종류 중 하나가 tcp/ip 입니다 TCP는 transmission control protocol 과 데이터 통신을 다루는 IP internet protocol 로 구성됩니다 TCP/IP 모델은 DARPA라는 곳에서 개발되었습니다. 번역하면 방위사업청이라고 보시면 됩니다. TCP/IP 4 Layer 4계층에 대해서 알아보자면 아래와 같습니다. L4 응용 계층(Application Layer) 용용 프로그램을 구현하여 통신할 때 사용합니다. 데이터 단위 Data/Message 예시 파일전송, 이메일, FTP, HTTP. SSH. Telnet, SMTP L3 전송 계층(Transport Layer) 통..
TCP Keepalive Interval timeout wireshark 세션 유지하기 TCP Keepalive 3-way handshake를 통해 연결된 세션을 끊지 않고 계속 사용하는 방식 이때 세션 연결을 지속적으로 확인하기 위해 아주 작은 크기의 패킷을 보냅니다. 패킷을 주고 받은 다음 타이머는 원점으로 돌아갑니다. ESTABLISHED 상태의 소켓에서는 Keepalive 타이머를 확인할 수 있습니다. ss : keepalive 확인 명령어 ss -otn -o : Show timer information. -t : Display only TCP sockets. -n : Do now try to resolve service names. Keepalive 파라미터 설정 확인 명령어 sysctl -a ..
다양한 네트워크 용어가 있지만 전송되는 속도와 패킷량을 측정하는 용어들을 설명해 드리도록 하겠습니다. 간략하게 한줄씩으로만 요약해서 정리해 두었습니다. 1. bps (bit per second) - 초당 전송되는 bit의 수 2. BPS(Byte per second) - 초당 전송되는 byte의 수, 1byte = 8bit 3. cps(character per second) - 초당 전송되는 문자의 수, 문자 = 8 bit 4. pps(packet per second) - 초당 전송되는 패킷의 수, 5. CPS (Connection Per Second) - 초당 TCP Connection을 생성할 수 있는 최대 개수, L4 - 500 CPS는 3 way handshake + 4 way handshake를..
EV SSL 인증서란? EV SSL 인증서란 Extended Validation SSL 인증서로 해석하면 확장 검증된 SSL 인증서 입니다. 브라우저와 웹서버와 암호화 통신시, 웹사이트를 운영하고 있는 회사의 안정성과 신뢰성을 사용자들에게 전달하기 위하여 브라우저 주소창을 녹색으로 변화시키는 SSL 인증서 최상위 인증기관(ROOT CA)에서 제공하는 단일 도메인 인증서(확장 인증서) 일반적인 인증서보다 까다로운 심사과정을 거치기 때문에 일반 SSL 보다 상대적으로 안심하고 인터넷 사용이 가능합니다. EV SSL 인증서 발급 요건 - 법인 회사를 운영한지 3년 이상되는 회사 (3년 미만의 경우, 별도의 서류 제출 필요) - 영문사업자 등록증이 존재하고, 전화인증이 가능한 회사 - 지정된 도메인에 대해 ..
SSL 핸드쉐이크 SSL 핸드쉐이크는 TCP 연결이 성립된 상태(Established)에서 진행됩니다. TLS/SSL 핸드쉐이크는 클라이언트가 HTTPS 웹 사이트를 탐색할 때 원본 서버를 찾기 시작할 때 발생 API, HTTPS, DNS쿼리를 할 때에도 TLS 핸드쉐이크가 발생합니다. 신뢰할 수 있는 사이트인지 판단 서버가 SSL 인증서를 제공(공개키와 서비스의 정보) 브라우저는 이 인증서를 발급한 CA가 자신의 CA리스트에 있는지 확인 존재한다면 CA의 공개키를 이용해 인증서 복호화, 이게 가능하면 신뢰 가능 SSL 핸드쉐이크 과정 1. 클라이언트 -> 서버 : SSL버전 정보, 암호화 방식, 무작위 바이트 문자열 전달, 이미 SSL 연결을 했었다면 세션 재사용 가능 2. 서버 -> 클라이언트 : 암..
TCP 3-way handshake 세션 연결, 4-way handshake란? TCP는 비연결지향인 UDP와는 다르게 연결 지향 서비스로 연결에 신뢰를 보장하기에 connection 과정인 핸드쉐이크를 거치게 됩니다. 3-way handshaking을 통해 연결을 하고 4-way handshaking을 통해 연결을 해제합니다. UDP의 경우는 비연결형 서비스이기 때문에 따로 연결, 해제 과정이 존재하지 않습니다. UDP의 경우 네트워크 부하가 적다는 장점도 있지만 신뢰성이 낮은 단점이 있어 게임, 스트리밍 서비스 등에 사용됩니다. 쉽게 말해서 DATA를 주고 받기 전 연결을 맺는 과정입니다. 3way-Handshaking(연결) 1. 클라이언트 -> 서버 : SYN 2. 서버 -> 클라이언트 : SYN..
SNI(server name indicate) SN은 CN 과 비슷한데 sni는 와이어샤크 등으로 패킷 뜨면 server name 부분에 나옵니다. cn과 겹칠때가 간혹 있습니다. 보통 개발자 분들이 말할 때 cn 에 sni를 포함시켜 따로 분류하시지 않습니다. SNI는 TLS/SSL 프로토콜의 확장 표준입니다. 클라이언트가 처음 접속할때 어떤 Host로 접근하는지 그 이름을 서버한테 보내는 기능이고 컴퓨터 네트워크 프로토콜인 TLS의 확장으로, 핸드셰이킹 과정 초기에 클라이언트가 어느 호스트명에 접속 하려는지 서버에 알리는 역할을 한다. 이를 이용하면 같은 IP 주소와 TCP 포트 번호를 가진 서버로 여러 개의 인증서를 사용할 수 있게 되고, 따라서 모든 사이트가 같은 인증서를 사용하지 않아도 동일한 ..