🫧 TIL (Today I Learned) 날짜 2023.01.28 🫧 책에서 기억하고 싶은 내용을 써보세요. 코드는 요구사항을 표현하는 언어다. 우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. … 나중은 결코 오지 않는다. 나쁜 코드의 위험을 이해하지 못하는 관리자의 말을 그대로 따르는 행동은 전문가답지 못하다. 테스트 케이스가 없는 코드는 깨끗한 코드가 아니다. 중복을 피하라. 한 기능만 수행하라. 제대로 표현하라. 작게 추상화하라. 🫧 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 팀프로젝트를 진행하면서 설계를 탄탄히 해놓지 않고, 무작정 각자 기능을 맡아 구현에 들어가면 항상 합치는 과정에서 큰 문제가 발생하는 경우가 많았다. 책을 읽으며 느낀 건 앞서..
CS
🐧 IP주소 네트워크 환경에서 내 컴퓨터(노드)의 고유 주소 IP주소 = 네트워크 주소 + 호스트 주소 네트워크 주소 : 공통적 호스트 주소 : 식별자 역할 ex) XX아파트 302동 201호 → XX아파트 302동 = 네트워크 주소, 210호 = 호스트주소 🐧 IPv4 VS IPv6 IPv4 : 32bit의 2진수 ⇒ 8bit(옥텟, 1byte) 4개로 나눠서 구분 ⇒ 0 ~ 2^32개의 IP 주소 사용가능 192.168.0.1 IPv6 : 128bit (16bit * 8) 2004:2ba8:13aa:0011:0000:0000:0000:abaa 🐧 서브넷, 서브넷 마스크, 서브네팅 서브넷 : IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크 서브넷 마스크 : 서브넷을 만들 때 사용. 네트워크..
📌 신뢰적 데이터 전송의 원리 슬라이딩 윈도우가 뭘까요? 데이터 스트림에서 일정한 크기의 윈도우를 유지하며 창을 이동시키며 연속적인 데이터를 처리하는 기법 데이터 처리, 통계, 네트워크 등 다양한 분야에서 사용 네트워크에서, 패킷을 일정 크기의 윈도우로 나누어 처리하거나 윈도우를 이동시켜 특정 패턴을 감지하는 등의 용도로 활용됨. Go Back N에 대해 설명해주세요. 데이터 링크 계층에서 오류 제어를 위해 사용되는 프로토콜 슬라이딩 윈도우 기반 타이머 활용 - ACK를 받지 못한 경우 해당 프레임을 재전송 ARQ(Automatic Repeat reQuest) : 정상적으로 수신되지 않은 프레임에 대해 전체 윈도우 재전송 요청 - 통신의 신뢰성 유지 Selective Repeat에 대해 설명해주세요. 슬..
전송 후 대기 프로토콜 흐름제어, 오류제어를 하는 연결지향 데이터 전송 프로토콜 송수신 측 모두 크기가 1인 슬라이딩 윈도우 사용 송신측이 ACK 혹은 NAK 신호를 받을 때까지 다음 프레임을 받을 수 없으므로 전송 효율이 떨어짐 [송신측] 한 번에 하나의 패킷 전송. 확인 응답 도착 전까지 다음 패킷 전송 X (흐름제어) 패킷을 전송할 때마다 타이머 구동. 타이머 만료 전 확인응답 도착 → 타이머 정지 & 다음 패킷 전송(보낼 패킷 보유시) 타이머 만료 후 확인응답 도착 → 패킷 재전송 (오류제어) [수신측] 패킷의 체크섬 검사. 통과하지 못한 경우 송신측에 알리지 않고 패킷 버림. 파이프라인 프로토콜 기존 데이터 전송 프로토콜은 RTT 등의 이유로 속도가 느림 ⇒ 패킷을 한번에 여러개씩 보내 시간 단..
UDP User Datagram Protocol 전송계층 프로토콜 데이터 전송을 제외한 어떤 기능도 정의되어있지 않음. TCP와 달리 순서 지정, 오류처리 등을 다루지 않는다. → 낮은 신뢰성, 높은 속도 1:1, 1:N, N:N 통신이 가능하다. 데이터그램 : 독립적인 관계를 지니는 패킷 → 비연결형 프로토콜 HTTP/3의 기본 전송 프로토콜 TCP는 신뢰성 있는 데이터 전송을 위해 패킷에 순서 부여, 흐름제어, 혼잡 제어 등의 처리를 한다. 하지만 UDP는 신뢰성보다는 연속성과 속도를 중시하며, 따라서 실시간 서비스에 주로 이용된다. UDP Header 출발 포트 목적 포트 길이 체크섬 : 최소한의 오류를 검출. 옵션 UDP Checksum 전송된 데이터가 변형이 되지 않은 것을 확인하는 값 세그먼트..
DNS Domain Name System 도메인정보를 저장하고 조회하는 네트워크에 분산된 시스템 DNS 서버 = 네임 서버 참고자료 DNS가 뭔가요? + 도메인, A Record, CName
HTTP와 HTTP”S”? 기존 HTTP는 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않아 데이터의 도난이 일어나기 쉬움 HTTPS의 S는 Secure의 약자이다. HTTPS는 응용 계층과 전송 계층 사이에 SSL(보안소켓계층)/TLS(전송계층보안)을 추가해 1️⃣ 암호화된 연결과 2️⃣ 검증된 사이트임을 인증 두가지 역할을 수행한다. HTTPS는 SEO(검색엔진최적화)에서 큰 혜택을 볼 수 있다. HTTP는 80번 포트, HTTPS는 443번 포트를 사용한다. 대칭 키와 비대칭키 [대칭키] 클라이언트와 서버가 하나의 키를 공유하고, 이 키를 통해 암호화와 복호화를 수행하는 방식 클라이언트와 서버가 키를 공유하기 위해, 한번은 송수신 과정이 필요하지만 이 과정에서 키가 탈취당할 위험이 있음 [비대..
🐧 HTTP 프로토콜 HyperText Transfer Protocol HTML, text, 사진, 음성, 영상, 파일, json, xml 등 거의 모든 형태의 데이터를 전송 가능 서버간에 데이터를 주고받을 때 대부분 HTTP 사용 Client - Server 구조로 동작 Stateless Connectionless 🐧 HTTP 메서드 GET : 리소스 조회 POST : 요청 데이터 처리, 등록 PUT : 리소스 X → 생성. 리소스 O → 대체 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 🐧 추가적인 HTTP 메서드 HEAD : 상태, 헤더만 반환. 메시지 반환 X 이외에는 GET과 동일 OPTIONS : 대상 리소스에 대한 통신 가능 옵션 설명 CONNECT : 대상 자원으로 식별되는..
🐧 네트워크 컴퓨터 네트워크는 컴퓨터 상호 간에 통신매체를 통해 프로토콜에 따라 데이터를 전송 및 수신하는 과정을 포함하는 시스템이다. 위와같은 정의에 따라, 컴퓨터 네트워크로 웹사이트 열람, 메일 송수신과 같은 일을 수행할 수 있다. 네트워크는 다양한 기능을 가지고 있는데 이 기능들은 레이어 형태로 구성 되어있다. 네트워크의 한 종류로 인터넷이 있다. 인터넷은 전 세계의 크고 작은 네트워크들을 연결한 매우 거대한 네트워크를 말한다. Q. 네트워크 시스템의 구성 요소 5가지 Message : 통신 대상 데이터 Transmission Equipment : 메세지 전송 장치 Receiving Equipment : 메세지 수신 장치 Transmission Media : 메세지 전송로 Protocol : 데이터..