분류 전체보기 216

첫 번째 발표

[C511] 소켓과 포트의 특징을 작성하고, 그 차이점을 설명하세요. 소켓(Socket): 소켓은 네트워크 상에서 프로세스 간에 통신을 가능하게 해주는 소프트웨어 인터페이스입니다. 소켓은 특정 프로토콜(예: TCP, UDP)을 사용하여 네트워크를 통해 데이터를 송수신할 수 있습니다. 소켓은 프로세스가 네트워크에서 데이터를 보내고 받을 수 있는 커넥션의 엔드포인트입니다. 소켓은 IP 주소와 포트 번호의 조합으로 고유하게 식별되며, 클라이언트와 서버 간의 통신을 가능하게 합니다. 소켓은 일반적으로 프로그래밍 언어에서 제공하는 라이브러리를 통해 사용됩니다. 포트(Port): 포트는 컴퓨터 네트워크에서 특정 프로세스를 식별하는 논리적인 개념입니다. 포트는 프로세스가 네트워크 상에서 데이터를 주고 받을 수 있는 ..

Physical Layer - 네트워크 액세스 계층

> 물리적 연결과 관련된 정보를 정의, 물리적 장비를 통해 전기 신호를 전달 - 허브(Hub), 케이블(Cable), 리피터(Repeater), 트랜시버(Tranceiver) 등 허브와 리피터 : 네트워크 통신을 중재 케이블과 커넥터 : 케이블 본체를 구성하는 요소 트랜시버 : 컴퓨터의 랜카드와 케이블을 연결하는 장비로 다양한 외부신호를 컴퓨터 내부 전기신호로 바꾸어주는 역할

Data Link Layer - 데이터 링크 레이어

- 한 명과 통신하는 것이 아니라 동시에 여러 명과 통신할 수 있다는 것이기 때문에 무작정 데이터를 주고 받는 것이 아니라, 받는 사람이 데이터를 받을 수 있는지 확인하는 작업부터 해야 함 > 플로우 컨트롤(flow control) 네트워크 인터페이스 카드(Network Interface Card, NIC) > 랜 카드 라고 부르기도 하고, 네트워크 카드, 네트워크 인터페이스 컨트롤러(Network Interface Controller), 네트워크 어댑터(Network Adapter) 등으로 부르기도 함 > 컴퓨터를 네트워크에 연결하기 위한 하드웨어 장치 네트워크 인터페이스 카드의 주요 역할 - 직렬화(Serialization) : NIC는 전기적 신호를 데이터 신호 형태로, 혹은 그 역으로 변환 - M..

Session Layer - Socket(소켓)

소켓(Socket) "네트워크 환경에서 클라이언트와 서버가 서로 연결할 수 있게 만들어진 연결부"를 의미 네트워크 상에서 돌아가는 두 개의 프로세스 간 양방향 통신의 하나의 엔드포인트 > 엔드포인트는 IP주소와 PORT 번호의 조합 - 포트 번호에 바인딩되어 전송계층에서 데이터를 주고받는 애플리케이션을 식별 - 어플리케이션 계층에 존재하는 프로세스들은 데이터를 주고받기 위해 소켓을 거쳐 전송 계층의 네트워크로 전달함으로써 데이터를 송수신할 수 있음 소켓 안에 있는 정보들 프로토콜 호스트 IP 주소 (Source IP Address) 호스트 Port 번호 (Source Port Nunber) 목적지 IP 주소 (Destination IP Address) 목적지 Port 번호 (Destination Port..

IP와 IP Packet와 ★ TCP vs UDP ★

IP 패킷에서 패킷은 pack과 bucket이 합쳐진 단어로 소포로 비유 > IP 패킷은 이를 데이터 통신에 적용한 것 - 비연결성 - 비 신뢰성 ★ OSI 7 계층과 TCP/IP 4 계층 먼저 HTTP 메시지가 생성되면 Socket을 통해 전달 ※ 소켓(socket) : 네트워크 환경에 연결할 수 있게 만들어진 연결부 TCP/IP 패킷 구성 정보 TCP 특징 - 연결 지향( TCP 3 way handshake) 가상연결 - 데이터 전달 보증 - 순서 보장 - 신뢰할 수 있는 프로토콜 ★ 3 way handshake 1. 먼저 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보냄 2. 서버는 요청 수락한다는 ACK와 SYN가 설정된 패킷 전송, 클라이언트가 ACK로 응답하기를 기다림 3. 클라이언트가 ..

HTTP

HTTP 특징: 클라이언트 서버 구조 무상태 프로토콜, 비연결성 HTTP 메시지 단순성, 확장 가능 ● 클라이언트 서버 구조 Request Response 구조 클라이언트 > 요청, 서버 > 응답 대기 ● 무상태 프로토콜 서버가 클라이언트 상태를 보존 x 장점 : 확장성 높음 단점 : 클라이언트가 추가 데이터 전송 모든 것을 무상태로 설계할 수 있는 경우도 있고 없는 경우도 있음 ex) 단순한 서비스 소개 화면 but 로그인 같은 기능은 상태를 서버에 유지시켜야 함 > 상태 유지 - TCP/IP의 경우 기본적으로 연결을 유지 > 서버의 자원 지속적 소모 - 비연결성을 가지는 HTTP에서는 실제로 요청을 주고받을 때만 연결을 유지 > 최소한의 자원으로 서버 유지를 가능 - HTTP 1.0 기준으로, HTT..

OSI 7계층과 TCP/IP 4계층

TCP/IP 4 계층 - OSI 7 계층은 데이터 플로우 계층과 애플리케이션 계층으로 구분 - 데이터를 만드는 애플리케이션 부분과 이 데이터를 잘 전달하는데 집중하는 하부 계층으로 구분하는 것에 목적 ● 물리 계층 : 물리적 연결과 관련된 정보를 정의 주로 전기 신호를 전달 ● 데이터 링크 계층: 물리 계층에서 들어온 전기 신호를 데이터 형태로 처리 주소 정보를 정의, 출발지와 도착지 주소를 확인 후 데이터 처리 ● 네트워크 계층: IP주소와 같은 논리적인 주소를 정의 라우터를 통해 정의한 IP주소를 이해하고, 최적의 경로를 찾아 패킷을 전송 ● 전송 계층: 해당 데이터들이 실제로 정상적으로 보내지는지 확인하는 역할 ● 세션 계층: 세션 계층은 양 끝 단의 프로세스가 연결을 성립하도록 도와주고, 작업을 ..

Progect1 회고

▶ Project 01 - 이번 프로젝트로 서버를 처음 만들어 봤는데 오류가 많이 났던 거 같습니다. - 하지만 팀원들과 상의하면서 조금씩 수정해 나갔고 요구 기능들을 구현해 낼 수 있었습니다. - 저희 팀은 각자 구현해 보고 나중에 코드를 합치는 방식으로 진행하였습니다. ● ERD 작성 - 주제는 수업 LMS(학습 관리 시스템)의 서버를 구성하는 것이었습니다. - 테이블을 users, registration, classes로 나누었으며, users는 시스템 사용자, registration은 수강 신청, classes는 수업을 의미합니다. - users에서 userId와 role을 기본키, classes에서는 classId를 기본키, registration에서 userId와 classId를 참조키로 설정..

데이터베이스 설계

관계형 데이터베이스 데이터(data): 각 항목에 저장되는 값 테이블(table; 또는 relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적 칼럼(column; 또는 field) : 테이블의 한 열을 가리킴 레코드(record; 또는 tuple) : 테이블의 한 행에 저장된 데이터 키(key) : 테이블의 각 레코드를 구분할 수 있는 값입니다. 각 레코드마다 고유한 값을 가집니다. 기본키(primary key)와 외래키(foreign key) 등이 있음 1:1 관계 - 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우 - 각 전화번호가 단 한 명의 유저와 연결되어 있고, 그 반대도 동일하다면, User 테이블과 Phonebook 테이블은 1:1 관계 1:N 관계 ..

MLOps

머신 러닝(Machine Learning) > 데이터를 이해하는 알고리즘의 과학이자 애플리케이션 머신 러닝의 세 가지 주요 학습 1. 지도학습으로 미래를 예측 2. 강화학습으로 반응형 문제를 해결 3. 비지도 학습으로 숨겨진 구조를 발견 MLOps DevOps : 개발과 운영을 따로 나누지 않고 개발의 생산성과 운영의 안정성을 최적화하기 위한 문화이자 방법론 DevOps를 머신 러닝(Machine Learning) 시스템에 적용한 것 : MLOps 머신 러닝을 도입한 데이터 처리 파이프라인 1. 데이터 분석 - 데이터 분석(EDA, Exploratory Data Analysis) 을 수행, 데이터 스키마 및 특성을 이해 2. 데이터 준비 (추출 및 정제) - 데이터 소스에서 관련 데이터를 추출(extra..