2024/06 6

MTU, MSS, PMTUD

MTU (Maximum Transmission Unit)네트워크에 연결된 장치가 받아들일 수 있는 최대 데이터 패킷 크기MTU보다 큰 패킷은 지나가지 못하지만, 큰 데이터 페킷을 분할하여 작게 자를 수 있음 패킷의 분할 패킷은 다수의 네트워크 장비를 통해 전달되는데, 이 때 네트워크 장비의 MTU보다 큰 패킷(보통 1500byte)은 패킷이 분할된다. (패킷의 단편화)단편화가 안되는 경우IPv6 패킷라우터에서의 분할을 허용하지 않는다(속도 향상).IPv6를 지원하는 라우터는 MTU를 넘는 IPv6 패킷을 분할하지 않고 전달하지 않는다.MTU를 넘게 되면, 그때서야 호스트에서 단편화를 진행한 후 패킷을 재전송한다.IPv4패킷의 IP 헤더에 Don't Fragment 플래그가 활성화되어 있으면 분할을 하지 ..

cs 2024.06.30

TCP/IP 4계층

TCP/IP 모형은 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음이다.각 계층은 담당하는 위치마다 처리 역할을 구분하여 진행함으로, 간섭을 최소화하여 사용자의 편리성을 높인다. OSI 7계층국제표준화기구 IOS에서는 상호이질적인 네트워크간 연결에서 호환성의 결여를 막기 위해 OSI 모형을 개발했다.실제 사용되는 TCP/IP는 OSI 참조 모델을 기반으로 상업적/실무적 이용될 수 있도록 단순화된 모형이다.네트워크 전송 시 데이터 표준: OSI 7계층 (정확한 정의)OSI 기반 실제 사용하는 인터넷 표준: TCP/IP 4계층 응용 계층최종 사용자 서비스를 위한 데이터 교환 규칙을 정의하는 계층표현 계층응용 계층 간 교환되는 데이터의 의미를 동일하게 해석하도록 표현하는 ..

cs 2024.06.30

자료구조-stack

스택의 정의한쪽 끝에서만 데이터를 넣고 뺄 수 있는 후입선출(LIFO, Last In First Out) 형태의 선형 자료구조 Stack 클래스는 내부에서 최상위 배열인 Object[] 배열을 사용해 데이터를 관리한다. 스택의 구조상단(stack top) : 스택에서 입출력이 이루어지는 부분하단(stack bottom): 반대쪽 바닥 부분요소(element): 스택에 저장되는 것공백 스택(empty stack): 공백 상태의 스택포화 스택(full stack): 포화 상태의 스택 (풀스택) 제공 연산 pop() 가장 위의 항목 제거 push(item) item 하나를 스택 가장 위에 추가 peek() 스택 가장 위 항목을 반환 isEmpty() 스택이 비어있을 때 true 반환 isFull() 스택이 차..

cs/알고리즘 2024.06.30

라이브러리 vs 프레임워크

라이브러리공통 사용 기능을 모듈화한 것으로, 폴더명이나 파일명에 대한 규칙이 없고 자유롭다.자동차를 타고 목적지까지 이동할 때경로선택, 창문열기 등 자유도가 높음직접 운전을 해야하고, 음료를 제공받는 등 제공되는 것이 적음개발자가 만든 클래스들의 나열로, 다른 프로그램에서 사용할 수 있도록 제공하는 방식ex. axios 프레임워크공통 사용 기능을 모듈화한 것으로, 폴더명이나 파일명 등에 대한 규칙이 있고, 라이브러리에 비해 엄격하다.비행기를 타고 목적지까지 이동할 때경로 선택 불가, 창문 열기 불가 등 자유도가 떨어짐기장이 운전하고, 음료가 제공되는 등 제공되는 것이 많음개발자들이 소프트웨어를 개발함에 있어 개발 시간을 줄이고, 코드 재사용성을 증가시키기 위해 클래스 묶음, 뼈대, 틀을 라이브러리 형태로..

cs 2024.06.24

디자인 패턴

디자인 패턴이란?객체간 상호관계 등을 이용해 문제를 해결할 수 있도록 규약 형태로 만든 것소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 규약으로 만들어 정리한 패턴 디자인 패턴은 라이브러리의 토대가 된다. ex. passport 라이브러리(간편로그인)서비스를 기반으로 한 로그인은 서비스에서 제공하는 규칙을 지켜야 한다.개발자가 모든 서비스의 규칙을 작성하기 어려우므로, passport 라이브러리를 주로 사용한다.passport 라이브러리는 전략 패턴을 구현한 라이브러리 중 하나!ex. vue.js는 mvn 패턴, spring은 mvc 패턴 디자인 패턴의 의의디자인 패턴을 기반으로, 문제 해결에 영감을 받을 수 있다.문제 해결을 위한 논의 시 효율적인 의사소통이 가능하다. 디자..

cs 2024.06.24