{Lecture}59 컴퓨터 네트워크 과제 echo software router 구현 echo software router 구현 클라이언트는 0~4의 범위를 가지는 난수가 들어가는 응용 계층 헤더 필드 key를 패킷에 담아 라우터에게 보낸다. 이 때, 터미널에 해당 key 값을 출력해준다. 라우터는 해당 헤더 필드 값을 읽고, 자신의 포워딩 테이블을 참고하여, 해당하는 output port 번호를 port 필드에 넣은 뒤, 클라이언트에 되돌려준다. - 서버에 구현해야하는 포워딩 테이블은 아래의 형태를 가지고 있다. keyport0413223140 클라이언트는 패킷을 수신하면 port 필드 값을 출력해준다. 클라이언트는 총 5개의 패킷을 연달아서 보낸다. 즉, 답장도 5개가 돌아오고, 출력되는 port 값도 5개가 된다. key값을 난수로 생성하므로 그 때마다 key와 port 값은 .. 2024. 6. 5. 컴퓨터 네트워크 과제 rdt2.2 over UDP 구현 과제 rdt2.2 over UDP 구현 전송계층 프로토콜은 UDP를 사용하되 응용 프로그램 상에서 rdt2.2 프로토콜을 구현 client.c는 총 3개의 패킷을 보내며 각각 다음의 상황을 재현 1. 정상적인 패킷2. [Our-of-Order] 순서가 뒤바뀐 패킷 (임의로 순서를 바꿔서 패킷을 보낸다.)3. [Bit error] 비트에러가 발생한 패킷 (임의로 데이터를 변조하여 비트에러를 발생시켜서 패킷을 보낸다.) rdt2.2를 기반으로 작동하는 서버 프로그램은 이 세가지 상황 모두에 대해 잘 대처할 수 있어야 합니다. Out of-order와 bit error의 경우는 ack을 통해 재전송을 요청하고, client를 이를 통해 패킷을 재전송 ⚫ 이 때 반드시 탐지한 오류가 무엇인지, seq 번호는 .. 2024. 6. 5. 컴퓨터 네트워크 과제 UDP Echo server 구현 클라이언트가 보낸 메시지를 그대로 수신해주는 에코 프로그램을 구현 클라이언트가 Hello world!, This is me! 등의 문자열을 입력하면, 이를 서버가 수신하여 화면에 출력한 후, 다시 이를 그대로 클라이언트로 회신하여 클라이언트가 이를 다시 화면에 출력해주는 프로그램을 구현한다 구현코드 client.c #include #include #include #include #include #include int readline ( int fd, char *ptr, int maxlen ){ int n, rc; char c; for(n=1; n 0 ){ /* Put sendto() here */ sendto(sock, &SendBuffer, sizeof(SendBuf.. 2024. 6. 5. [데이터베이스] SQLD 1과목 : 데이터 모델과 SQL 개념정리 데이터 모델과 SQL 1. 정규화 정규화 • 하나의 엔터티에 많은 속성을 넣음→ 엔터티를 조회할 때 마다 많은 양의 데이터가 조회 됨• 최소한의 데이터만을 하나의 엔터티에 넣는식으로 데이터를 분해하는 과정을 정규화라고 함• 데이터의 중복을 제거하여 용량을 최소화시킴• 데이터 일관성, 최대한 데이터 유연성을 위한 과정• 데이터의 이상현상을 줄이기 위한 데이터베이스 설계 기법• 논리 데이터 모델링 수행 시점에서 고려됨 이상현상정규화를 하지 않아 발생하는 현상삽입이상갱신이상삭제이상정규화단계 (중요) 1) 제 1정규화• 모든 속성은 반드시 하나의 값을 가져야 함• 테이블 컬럼이 원자성을 갖도록 테이블을 분해하는 단계2) 제 2 정규화• 제 1정규화를 진행한 테이블에 대해 완전 함수 종속을 만들도록 테이블을 분.. 2024. 5. 13. [데이터베이스] SQLD 1과목 : 데이터 모델의 이해 개념정리 SQLD 시험을 준비하면서 1과목 개념정리 한 것을 토대로 작성함 데이터 모델의 이해 1. 데이터 모델의 이해 데이터 모델링의 개념 • 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법• 데이터베이스를 구축하기 위한 분석 및 설계의 과정• 현실세계의 데이터를 약속된 표기법으로 표현하는 과정• 현실세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정• 데이터베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의 데이터 모델링 특징 (중요) ☑️단순화 ▪︎현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부 사항 제거▪︎단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬워짐 ☑️ 추상화 ▪︎현실세계를 일정한 형식에 .. 2024. 5. 13. [OS] Chapter 6 : Process Synchronization Background 공유 데이터에 대한 동시 접근은 데이터 불일치를 일으킬 수 있다 -> 데이터를 수정하는 과정에서 문제가 된다. 데이터 일관성을 유지하기 위해서는 협력 프로세스(데이터를 공유하고 있는 프로세스)의 순차적 실행을 보장하는 메커니즘이 필요하다. Producer-Consumer 문제를 가정한다. 정수 count는 버퍼 안에 있는 항목의 수를 추적처음에 count는 0으로 설정생산자(Producer)에 의해 증가소비자(Consumer)에 의해 감소 Code for Producer while (true) { /* produce an item and put in nextProduced */while (count == BUFFER_SIZE) ; // do nothingbuffer[in] = n.. 2023. 10. 28. [NetWork] 네트워크 정리 (3) 트렌스포트 레이어 정리 전송 계층 서비스 뒤에 있는 원리를 이해하기.• 다중화, 역다중화 ( multiplexing, demultiplexing)• 신뢰성 있는 데이터 전송 • 흐름 제어 • 혼잡 제어인터넷 전송 계층 프로토콜에 대해 배운다.• UDP: 연결 없는 전송 • TCP: 연결 지향 신뢰성 있는 전송 • TCP 혼잡 제어 Transport services and protocols서로 다른 호스트에서 실행되는 어플리케이션 프로세스 간의 논리적인 통신을 제공한다. 전송 프로토콜은 끝 시스템에서 다음과 같은 작업을 수행한다:• 송신자: 어플리케이션 프로그램에서 메시지를 보내면 이 메세지를 세그먼트로 나누고 가 다음 네트워크 계층에 전달한다. • 수신자: 세그먼트를 메시지로 재조립하고 어플리케이션.. 2023. 10. 28. [NetWork] 네트워크 정리(2) 어플리케이션 레이어 정리 Bandwidth, Throughput 대역폭(Bandwidth): 대역폭은 네트워크 링크나 통신 채널이 전달할 수 있는 최대 데이터 전송 속도 또는 전송 가능한 데이터 양을 나타낸다. 대역폭은 보통 초당 비트수(bps)로 측정된다. 대역폭은 해당 링크의 물리적 특성에 따라 결정되며, 네트워크에서 정보를 전송하는 데 사용 가능한 최대 용량을 나타낸다. 예를 들어, 1 Gbps 대역폭의 이더넷 링크는 초당 1 기가비트의 데이터를 전송할 수 있다. 처리량(Throughput): 처리량은 실제로 전송된 데이터 양 또는 전송 속도로 정의된다. 즉, 대역폭과 다른 링크에서 발생하는 다양한 요인에 따라 실제로 전달된 데이터 양이다. 처리량은 네트워크의 현재 상태, 혼잡도, 패킷 손실 및.. 2023. 10. 28. [NetWork] 네트워크 정리 (1) 네트워크 1주차 정리 The Internet: a “nuts and bolts” view 수십개의 디바이스그 연결됨->인터넷 '엣지(Edge)'에서 네트워크 애플리케이션을 실행하는 시스템 host네트워크 상에 연결되어있는 디바이스를 말한다(end system이라고도 말함) packet네트워크에서 데이터를 패킷 형태로 전달한다 packet swithes패킷(데이터 조각)을 전송한다. 라우터, 스위치 Communication links데이터나 정보를 전송하는 경로 또는 링크 link는 호스트, 스위치 끼리 연결된 선을 말한다. 광섬유,구리 케이블,위성 등 bandwidth: 전송률 (대역폭이라고도 한다) Networks기관(조직)에 의해 관리되는 장치, 라우터, 연결(링크)의 집합 The Intern.. 2023. 10. 27. 이전 1 ··· 3 4 5 6 7 다음