전체 글(63)
-
9. TCP 프로토콜(1)
전송 계층 프로토콜 - 데이터 링크 계층과 유사(오류 제어, 흐름 제어, 데이터 순서화 등 제공) - 데이터 링크 계층은 물리적으로 1:1 연결된 호스트 사이의 전송, 전송 계층은 논리적으로 1:1 연결된 호스트 사이의 전송 전송 계층 주요 기능 흐름 제어 - 계층 2와는 다을 버퍼 관리 방법 필요 - 수신자가 송신자의 전송 속도보다 느리게 수신 -> 버퍼 용량 초과로 데이터 분실 -> 타임아웃 기능을 통한 재전송 유발 - 수신자가 슬라이딩 윈도우 프로토콜의 윈도우 하단 값을 조정 오류 제어 - 데이터 변형, 데이터 분실 오류 시 재전송 기능으로 복구 - 수신자의 요구(NAK) 또는 송신자의 판단(타임아웃) - 선로 오류보다 각 계츠으이 소프트웨어 동작 과정 중에 분실하는 경우가 대부분 분할과 병합 - ..
2022.11.17 -
8. 네트워크 계층(3)
제어용 프로토콜 ARP (Address Resolution Protocol) - 송신 호스트가 물리 계층을 통해 데이터를 전송하는 과정에서 필요한 주소 필요성 - 실제로 통신이 이루어지기 위해선 데이터 링크 계층의 MAC 주소를 알아야 가능 - 송신 MAC 주소 : LAN 카드에서 획득 - 수신 MAC 주소 : ARP request 방송, 해당 호스트가 자신의 MAC 주소를 ARP reply로 회신. 과도한 트래픽 유발을 방지하기 위해 캐시 이용 ex) 일반 호스트, 라우터 RARP (Reverse Address Resolution Protocol) 필요성 - 하드 디스크가 없는 시스템은 자신의 IP 주소를 저장할 수 없음. - 이 경우 자신의 HW 주소를 방송하여 RARP 서버가 알려준 IP 주소 이용..
2022.11.15 -
8. 네트워크 계층(2)
이동 IP 프로토콜 - 기존의 고정 통신망에서 유무선이 복합된 이동 광대역 통신망으로 진화 - 이동 환경 서비스 수용 필요 - 핸드오버(핸드오프), 로밍 - 터널링 : 전송 프로토콜을 교체하는 방식보다 문제를 간단히 해결하는 방법 IP 터널링 주소 표현 - 통신할 상대방을 구분하기 위해 주소 필요 - 이동망 환경에서 주소 처리 - 기존 IP 주소가 가진 두 가지 기능 : 호스트 식별, 경로(위치) 두 종류의 주소 - Home Address : 이동 호스트를 위한 고정 주소 - COA(Care of Address) : 이동 호스트를 위한 가변 주소(일시적 할당) 두 종류의 에이전트 - HA(Home Agent) : 이동 호스트를 위한 고정 위치에서 FA로의 연결 처리 - FA(Foreign Agent) :..
2022.11.15 -
8. 네트워크 계층(1)
IPv6 프로토콜 - 주소 공간의 확장 : IPv4의 32비트에서 128비트로 확장 - 헤더 구조 단순화 : 불필요한 필드 제외하고, 옵션은 모두 확장 헤더 방식으로 지원 - 흐름 제어 기능 지원 : Flow Label 도입으로 일정 범위 내에서 예측 가능한 데이터 흐름을 지원 IPv6 헤더 기본 헤더 - Version Number : 6 - DS/ECN 필드 : 차등 서비스가 도입되면서 6비트의 DS 필드와 2비트의 ECN 필드가 정의됨 - Flow Label : IPv4에서는 패킷 중개 시 동일한 기준만을 적용, 각 패킷을 구분할 수 있으므로 실시간 서비스가 필요한 응용 환경에서 유용. 0이 아닌 동일 번호 패킷들은 주요 필드에 대해 동일한 값들을 가지며, 이는 중개 과정을 간단히 처리할 수 있음. ..
2022.11.15 -
데이터 모델링과 인덱스 (1)
- 데이터 모델링과 인덱싱 데이터베이스를 사용하는 환경에서 하드웨어 개선없이 성능을 개선할 수 있는 방법은 데이터 모델링과 인덱싱이다. 데이터 모델링은 업무 수행 시 발생하는 데이터를 정확하고 효율적으로 데이터베이스에 저장하기 위해 데이터 구조를 설계하는 과정이다. 데이터 모델링 : MongoDB의 특성을 고려하여 저장할 데이터의 구조를 정하는 작업 - 관계를 표현하기 위한 도큐먼트 구조 임베디드 방식 : 다른 객체를 도큐먼트 내부에 포함시키는 방식 레퍼런스 방식 : 참조할 도큐먼트의 id를 저장하는 방식 임베디드 방식이 좋은 경우 레퍼런스 방식이 좋은 경우 작은 서브 도큐먼트 큰 서브 도큐먼트 주기적으로 변하지 않는 데이터 자주 변하는 데이터 결과적인 일관성이 허용될 때 즉각적인 일관성이 필요할 때 증..
2022.11.14 -
MongoDB의 트랜잭션
- 몽고 디비에서 트랜잭션을 수행할 때의 제한 사항 버전의 제한 : 4.2 버전 이상에서만 지원. 트랜잭션으로 사용할 수 있는 명령어에 제한. - 트랜잭션의 특성 4가지 Atomicity Consistency Isolation Durability - 몽고디비에서는 트랜잭션을 수행할 때 "세션"을 할당받아야 한다. - 트랜잭션 예 - 트랜잭션 실행 - 몽고디비에서 API를 사용한 트랜잭션을 사용하는 두 가지 방법 코어 API : 관계형 데이터베이스와 유사한 구문 사용 콜백 API : 트랜잭션 사용에 권장되는 접근 방식. 두 API에서 개발자는 트랜잭션에서 사용할 논리 세션을 시작해야 하며, 트랜잭션의 작업이 특정 논리 세션과 연결되어야 한다. - 트랜잭션 실행에 대한 시간 제한 트랜잭션이 잠금을 획득하기 ..
2022.11.14