CS 8

[네트워크] UDP(User Datagram Protocol)

UDP(User Datagram Protocol) TCP의 (데이터를 확실하고 효율적으로 전달하기 위한) 복잡한 기능이 필요하지 않은 경우 - 데이터 송, 수신 전에 제어 정보를 주고 받을 필요X - 연결하고 끊는 단계 필요X - 오류 검사 필요X TCP의 그런 기능이 없어도 낭비가 아닌 경우 - 즉 정보 교환이 한개의 패킷으로 가능하고, 오류가 나면 그냥 다 다시 보내버려도 지장없는 경우 예를 들면 DNS 서버 조회 같은 경우에는 UDP를 사용한다. 또, 음성이나 동영상 스트리밍 같은 실시간 통신이 중요한 서비스에 사용한다. 1. 속도가 빨라야한다. 이때는 컨텐츠 재생 타이밍에 맞추어 데이터를 송수신하는 것이 중요하다. TCP를 쓴다면 복잡한 과정 때문에 타이밍을 맞추기 힘들다. 2. 소량의 데이터 몇..

CS/Network 2023.06.16

[네트워크] OSI 7 layer

OSI (Open Systems Interconnection) 7 계층은 통신에서 사용되는 표준 구조이다. 이 구조는 통신 시스템을 계층적으로 분할하여 생각하고 설계할 수 있도록 돕는다. 각 계층은 특정 기능을 수행하며, 이러한 계층화된 구조를 통해 통신 문제를 나누어서 이해하고 해결할 수 있다. 상위 계층에서는 하위 계층에서 특정 기능이 제공된다고 가정하고, 그 특정 기능에 대한 문제를 푸는 것에서 해방된다. 이로써 상위 계층에서는 자신이 제공하는 기능에 대한 문제를 해결하는 데 집중할 수 있게 된다. 상위 계층은 하위 계층이 제공하는 기능을 이용해서 다른 상위 계층에게 서비스를 제공한다. OSI 7 계층 구조 물리 계층 : 물리적인 신호 교환과 관련된 사항 담당 링크 계층 : 하나의 링크로 연결된 노..

CS/Network 2023.05.28

[운영체제] 잠깐! 혼돈하기 쉬운 용어 정리

# 운영체제 - 반효경 아래 네가지의 용어는 유사한 용어로, 컴퓨터에서 여러 작업을 동시에 수행하는 것을 의미한다. 멀티태스킹(multitasking) 멀티프로그래밍(multiprogramming) : 여러 프로그램이 메모리에 올라가 있음을 강조한 용어 시분할(time sharing) : CPU를 강조한 용어, CPU의 시간을 분할하여 나누어 쓴다는 의미를 강조 멀티프로세스(multiprocess) 위의 용어들과 멀티프로세서를 구분해야 한다. 멀티프로세서(multiprocessor) : 하나의 컴퓨터에 CPU(processor)가 여러개 붙어 있음을 의미

CS/Operating System 2022.12.31

[운영체제] 운영체제 개요(2)

# 운영체제 - 반효경 운영체제의 의미 좁은 의미의 운영체제 - 커널(kernel) : 운영체제의 핵심 부분으로 메모리에 상주하는 부분 넓은 의미의 운영체제 - 커널 뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념 운영체제의 분류 1. 동시 작업 가능 여부에 따른 분류 - 단일 작업(single tasking) : 한번에 하나의 작업만 처리 - 다중 작업(multi tasking) : 동시에 두 개 이상의 자업을 처리, 현대의 운영체제는 다중 작업을 지원함 2. 지원해주는 사용자의 수에 따른 분류 - 단일 사용자(single user) - 다중 사용자(multi user) : 컴퓨터 한대를 여러 사용자가 동시에 접속해서 사용할 수 있음 3. 처리 방식에 따른 분류 - 일괄 처리(batch proce..

CS/Operating System 2022.12.30

[운영체제] 운영체제 개요(1)

# 운영체제 - 반효경 # 운영체제 - William Stallings 운영체제 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결(인터페이스 역할)하는 소프트웨어 계층이다. *유틸리티 : 프로그래머가 프로그램을 쉽게 짤 수 있도록 유용한 기능을 제공 운영체제의 기능/목적 운영체제가 하드웨어와 작용하는 측면에서는 "효율성"을, 운영체제가 소프트웨어와 작용하는 측면에서는 "편리성"을 생각해 볼 수 있다. 1. 효율성 제공 : 컴퓨터 시스템의 자원을 효율적으로 관리(자원 관리자 역할)★★★ 여러 프로그램들에게 메모리를 적절히 분배하는 방법, 여러 프로그램들을 동시에 실행시키기 위해 짧은 시간씩 cpu를 번갈아 할당하는 방법 등 운영체제는 "주어진 자원(프로세서, 기억장치, ..

CS/Operating System 2022.12.29

[네트워크] Network edge

#Computer Networking - A Top Down Approach 종단 시스템(end system)들은 데스크톱 컴퓨터, 서버, 모바일 컴퓨터등을 포함한다. 어떻게 종단 시스템을 엣지 라우터(edge router)에 연결할 수 있을까? 1. residential access nets : 가정, 집에서 이용 2. institutional access networks : 학교, 회사에서 이용 3. mobile access networks : 3G, LTE, 5G 이 세가지는 서로 다른 기술을 사용하기 때문에 다른 특성을 가지고 있는 부분이 있다. 1. access network의 대역폭(bandwidth, bits per second) 2. shared(많은 사람들이 하나의 line을 공유한다)/..

CS/Network 2022.03.11

[네트워크] What is the Internet?

#Computer Networking - A Top Down Approach 들어가기에 앞서... 1. 일반적으로 네트워크라는 단어는 항상 컴퓨터 네트워크를 의미하는 것은 아니다. road network(도로망), railway network(철도망), electric network(전기망), social network 등 네트워크의 종류는 무척 많다. 그러나, 소프트웨어학과에서 말하는 '네트워크'는 보통 '컴퓨터 네트워크'를 의미한다. 2. 컴퓨터 네트워크는 Internet과 같은말이 아니다. 많은 종류의 컴퓨터 네트워크가 있고, Internet은 그중 하나의 좋은 예이다. 3. internet과 Internet은 다르다. (맨 앞 알파벳의 대소문자여부에 주의하자.) "a internet" : 서로 다..

CS/Network 2022.03.11

[네트워크] Life of a web request

#Computer Networking - A Top Down Approach #컴퓨터 네트워크에 대한 강의수강이 끝난 후 알고있어야 할 내용에 대한 개괄적 정리 내가 랩탑을 유선(wired, eg. LAN)으로 campus network에 연결하고, 웹페이지(www.google.com)에 접근하는 시나리오를 생각해보자. 어떤 과정으로 웹페이지 요청이 처리될까? (무선인 상황은 생각하지 않는다.) 1. DHCP 프로토콜 처음 랩탑을 연결하면 IP주소 없이는 아무것도 할 수 없다. 뭔갈 하려면 내 랩탑의 IP 주소, first-hop(gateway) router의 IP 주소, DNS 서버의 IP 주소가 필요하다. IP 주소는 수동으로 구성할 수도 있고, DHCP를 이용해 자동으로 구성하는 방법도 있다. 다음..

CS/Network 2022.03.10
1