본문 바로가기

Network/컴퓨터 네트워크

4주차 정리

728x90
반응형

Java Applet vs. JavaScript:

Java Applet과 JavaScript는 모두 웹 애플리케이션을 개발하는 데 사용되는 프로그래밍 언어이다.

 

Java Applet은 작은 애플리케이션으로, Java 프로그래밍 언어로 작성되어 웹 브라우저에서 실행되도록 설계되었다.

클라이언트 측에서 실행되며, 웹 페이지의 기능을 확장할 수 있다.

 

JavaScript는 웹 페이지를 동적으로 만드는 데 사용되는 스크립트 언어다.

JavaScript는 HTML과 CSS와 함께 사용하여 사용자 인터페이스, 웹 애플리케이션, 모바일 앱, 게임 등을 만드는 데 사용된다.

 

URI(URL, URN):

URI (Uniform Resource Identifier)은 인터넷에서 고유한 리소스를 식별하기 위한 문자열이다. URI는 URL 및 URN을 포함한다.

 

URL (Uniform Resource Locator)은 인터넷에서 리소스가 위치한 위치를 식별하는 데 사용되는 URI의 하위 집합입니다. 예를 들어, "https://www.google.com"는 URL이다.

 

URN (Uniform Resource Name)은 인터넷에서 고유한 이름을 가진 리소스를 식별하기 위한 URI의 하위 집합이다. URN은 리소스의 위치를 식별하지 않는다. 예를 들어, "urn:isbn:0-486-27557-4"는 URN이다.

 

Web Proxy Server:

Web Proxy Server는 클라이언트와 서버 사이에서 중개자 역할을 하는 서버이다. 클라이언트가 서버로 요청을 보낼 때, Web Proxy Server는 이 요청을 받아 클라이언트 대신 서버로 전달하고, 서버에서 응답을 받아 클라이언트로 다시 전달한다. 웹 보안, 네트워크 속도 향상 등의 이점을 제공한다.

 

Web Caches:

Web Cache는 클라이언트와 서버 사이에서 중개자 역할을 하며, 자주 사용되는 웹 페이지 및 콘텐츠를 저장하는 서버이다. 이것은 클라이언트가 웹 페이지를 다시 요청할 때, 서버에서 새로운 페이지를 다시 다운로드하는 것보다 빠르고 효율적이다.

 

SMTP:

SMTP (Simple Mail Transfer Protocol)는 전자 메일을 보내는 데 사용되는 표준 프로토콜이다. SMTP는 메일 클라이언트가 메일 서버로 메일을 전송하는 데 사용된다. SMTP는 현재도 메일 서버 간의 통신에 사용된다. TCP 프로토콜을 사용하여 메일 서버 간의 데이터를 안정적으로 전송한다. 

 

ASCII 코드:

ASCII (American Standard Code for Information Interchange)는 문자를 컴퓨터에서 표현하는 데 사용되는 문자 인코딩 표준이다. ASCII는 영어 알파벳, 숫자, 구두점 등을 7비트 이진수로 표현. ASCII 코드는 다양한 컴퓨터 시스템, 통신 장비, 인터넷 프로토콜 등에서 사용된다.

 

SMTP와 ASCII 코드의 상관관계:

SMTP와 ASCII 코드는 서로 밀접한 관계가 있다. 이메일의 본문, 제목 및 헤더는 ASCII 문자 집합을 사용하여 작성된다. SMTP는 ASCII 기반의 이메일을 전송하는 데 사용된다. 이메일 클라이언트와 메일 서버 간의 통신에서 SMTP는 ASCII 문자 인코딩을 사용하여 텍스트를 전송한다.

 

Mail Server, Mail Client, User Agent:

Mail Server, Mail Client, User Agent는 모두 이메일 시스템에서 중요한 역할을 한다.

 

Mail Server는 이메일을 전송하고 수신하는 데 사용되는 서버이다. 이메일을 보내는 클라이언트(또는 메일 사용자 에이전트)로부터 이메일을 받아서 수신자의 메일함에 전달한다. 또한, 메일 서버는 이메일을 보낼 때 인터넷상의 다른 메일 서버와 통신하여 이메일을 전송한다.

 

Mail Client는 사용자가 이메일을 작성하고 보낼 수 있는 애플리케이션이다. 이메일 클라이언트는 대개 이메일을 보내기 위한 사용자 인터페이스와 함께 제공됩니다. 대표적인 이메일 클라이언트로는 Microsoft Outlook, Gmail, Naver 메일 등이 있다.

 

User Agent는 이메일 클라이언트와 비슷한 개념이지만, 보다 일반적인 용어이다. 이메일 클라이언트는 특정한 애플리케이션을 가리키는 용어이지만, User Agent는 인터넷 상의 모든 클라이언트 애플리케이션을 가리키는 용어다. 따라서, 이메일 클라이언트 또한 User Agent의 일종입니다.

 

이들은 모두 이메일을 주고받는 데 사용되지만, 각각의 역할과 기능이 다르다. Mail Server는 이메일을 전송하고 수신하는 서버이다. Mail Client는 사용자가 이메일을 작성하고 전송할 수 있는 애플리케이션이다. User Agent는 인터넷 상의 모든 클라이언트 애플리케이션을 가리키는 용어로, 이메일 클라이언트도 포함된다.

Mail Acces Protocol(POP3, IMAP): 

Mail Access Protocol은 이메일 클라이언트가 이메일 서버로부터 이메일을 받아오는 데 사용되는 프로토콜이다. 대표적으로 POP3, IMAP, HTTP가 있다.

POP3 (Post Office Protocol 3)

  • 이메일 클라이언트에서 사용되는 가장 오래된 메일 액세스 프로토콜 중 하나.
  • 서버에서 이메일을 다운로드하는 방식으로 동작.
  • 다운로드한 이메일은 클라이언트에 저장되며, 서버에서 삭제됨.
  • 이메일을 여러 기기에서 확인하려면 각각의 기기에서 다운로드해야 하므로 동기화가 어렵다.

IMAP (Internet Message Access Protocol)

  • 서버에서 이메일을 관리하는 방식으로 동작.
  • 클라이언트는 서버에 연결된 상태로 이메일을 확인할 수 있으며, 이메일은 서버에 유지.
  • 여러 기기에서 이메일을 확인할 때, 서버에 저장된 상태를 유지하므로 동기화가 쉽다.
  • 이메일을 서버에서 관리하므로, 이메일을 삭제하거나 폴더를 만드는 등의 작업도 클라이언트에서 수행할 수 있다.

HTTP (Hypertext Transfer Protocol)

  • 주로 웹 브라우저에서 사용되는 프로토콜이다.
  • 웹 서버와 통신하여 웹 페이지를 요청하고 받아온다.
  • 웹 메일 등에서는 HTTP를 사용하여 이메일을 확인하고 전송할 수 있다.

MIME:

MIME (Multipurpose Internet Mail Extensions)은 이메일과 같은 인터넷 프로토콜에서 멀티미디어 데이터를 전송하는 데 사용되는 표준입니다. MIME은 텍스트, 이미지, 비디오, 오디오 및 기타 형식의 파일을 인터넷상에서 전송할 수 있도록 지원합니다. MIME은 전자 메일과 함께 사용되며, 웹 브라우저에서 멀티미디어 콘텐츠를 표시하는 데 사용됩니다.

 

DNS: 

DNS는 Domain Name System의 약어로, 컴퓨터 네트워크에서 도메인 이름을 IP 주소로 변환하는 시스템이다. DNS는 인터넷에서 특정 도메인 이름에 대한 IP 주소를 찾기 위한 중요한 역할을 한다. 사용자가 웹 브라우저에 도메인 이름을 입력하면, DNS 시스템이 해당 도메인 이름을 IP 주소로 변환하여 웹 서버와 통신이 가능하게 한다. 또한, DNS는 도메인 이름 등록 및 관리에도 사용된다.

 

DNS System:

DNS 시스템은 계층적으로 구성되어 있으며, 전 세계적으로 분산된 DNS 서버들이 상호작용하면서 동작. DNS 서버는 대개 ISP(Internet Service Provider)나 조직에서 운영되며, 도메인 이름에 대한 정보를 저장하고 관리한다.

DNS(Iterated Query VS Recursive Query):

DNS 쿼리는 두 가지 방식 : 반복적(iterated) 쿼리, 재귀적(recursive) 쿼리.

 

<Iterated Query>

 

반복적(iterated) 쿼리는 DNS 서버가 요청을 받고, 질의자에게 DNS 서버 목록을 제공하여 다시 질의자가 다른 DNS 서버로 쿼리를 진행할 수 있도록 돕는 방식이다. 이 과정은 DNS 서버가 질의자에게 정보를 제공하면서 여러 단계로 이루어지며, 최종적으로 질의자가 원하는 도메인 이름에 대한 IP 주소를 얻을 수 있도록 한다.

 

<Recursive Query>

 

재귀적(recursive) 쿼리는 질의자가 DNS 서버에 질의를 하면, DNS 서버가 질의를 대신 수행하고 결과를 질의자에게 반환하는 방식이다. 이 방식에서는 DNS 서버가 질의를 처리하면서 여러 DNS 서버에 대해 쿼리를 수행하고, 최종 결과를 질의자에게 반환한다. 이 방식은 질의자에게 더 많은 정보를 제공하지만, DNS 서버의 부하가 더 크게 발생할 수 있다.

 

따라서, 반복적(iterated) 쿼리는 DNS 서버의 부하를 분산시키고, 결과를 얻기 위해 여러 단계를 거쳐 질의자가 직접 쿼리를 수행해야 하는 반면, 재귀적(recursive) 쿼리는 질의자가 정보를 더욱 쉽게 얻을 수 있지만 DNS 서버의 부하가 더 크게 발생할 수 있다.

 

DNS Protocol: 

DNS 프로토콜은 UDP(User Datagram Protocol)를 기반으로 동작한다. UDP는 데이터를 보낼 때 신뢰성이 낮지만 빠른 전송이 가능한 프로토콜이다. 따라서 DNS는 UDP를 사용하는 이유는, 일반적으로 DNS에서 전송되는 데이터의 크기가 작기 때문이다. 또한, DNS에서 전송되는 데이터의 신뢰성은 TCP와 같은 프로토콜보다 떨어지더라도, 전송 시간을 줄일 수 있어서 UDP를 사용한다.

 

 

DHCP:

DHCP는 Dynamic Host Configuration Protocol의 약자로, 네트워크에서 컴퓨터나 기타 장치에 IP 주소를 할당하는 데 사용되는 프로토콜이다. DHCP 서버는 네트워크에 연결된 장치들에게 IP 주소, 서브넷 마스크, 기본 게이트웨이 및 DNS 서버와 같은 구성 정보를 자동으로 할당한다. 이를 통해 IP 주소를 수동으로 구성하는 번거로움과 인적 오류를 방지할 수 있다.

 

nslookup:

nslookup은 DNS(Domain Name System)을 이용하여 도메인 이름과 IP 주소 간의 매핑을 확인하는 명령줄 도구이다. 이 도구는 도메인 이름에 대한 IP 주소, 호스트 이름, MX 레코드 및 다른 DNS 레코드를 확인하는 데 사용된다. 이를 통해 네트워크 문제 해결 및 도메인 이름 구성 검사 등을 수행할 수 있다.

 

ICANN:

ICANN은 인터넷의 전 세계적인 기술적인 구조와 안정성을 유지하기 위한 비영리 단체이다. ICANN은 DNS 룰과 IP 주소 할당을 포함한 인터넷 네임 스페이스의 전반적인 운영을 책임지고 있으며, 전 세계적으로 인터넷을 운영하는 다양한 이해 관계자들과 협력한다.

 

P2P(Peer-to-Peer):

P2P는 Peer-to-Peer의 약자로, 노드 간 직접적인 연결을 통해 파일, 데이터 또는 정보를 공유하는 네트워크 모델을 의미한다. 이 모델은 중앙 집중식 서버가 필요하지 않으며, 노드 간 공유가 가능하다는 점에서 분산형 네트워크로 분류된다. P2P는 파일 공유, VoIP 및 스트리밍 서비스 등 다양한 분야에서 사용된다.

 

 

Chunk(네트워크 관점):

네트워크 관점에서 chunk는 데이터의 일부분을 의미한다. 데이터가 패킷으로 분할되어 전송될 때, 각 패킷은 보통 chunk 또는 데이터 chunk라고 불리는 작은 데이터 조각으로 나뉜다. 이러한 chunk는 패킷 재조립 및 전송 오류 검사 등의 작업에 사용된다. 또한, 일부 애플리케이션에서는 chunk 단위로 데이터를 처리하고 전송하는 것이 더 효율적이다.

 

Torrent & Tracker:

Torrent는 P2P 파일 공유 프로토콜 중 하나로, 파일을 작은 조각으로 나누어 공유하는 방식으로 동작한다. 사용자는 토렌트 파일을 다운로드하여 해당 파일의 여러 조각 중 일부를 하여온다. 그리고 해당 파일의 다른 사용자들도 같은 방식으로 파일 조각을 공유하면서 전체 파일을 받아온다. Tracker는 이러한 torrent 파일 공유를 관리하는 서버로, 다운로드하는 사용자들을 추적하고 파일 공유를 촉진한다. Tracker를 통해 사용자는 다른 사용자들과 파일 조각을 교환하고, 전체 파일을 다운로드할 수 있다.

 

 

Churn & tit-for-tat:

Churn은 P2P 네트워크에서 노드가 추가되거나 제거되는 것을 의미한다. P2P 네트워크에서는 노드의 수가 시간에 따라 변하기 때문에 이러한 Churn은 노드 간의 연결 유지 및 데이터 공유에 영향을 미친다. 이때, tit-for-tat은 노드 간의 데이터 교환 전략 중 하나로, 데이터를 교환하기 전에 상대방의 신뢰성을 확인한다. 만약 상대방이 데이터를 제공하지 않았을 경우, 자신도 데이터를 제공하지 않는 것이다. 이러한 전략을 통해 Churn이 발생할 때에도 노드 간의 데이터 공유가 지속될 수 있고 P2P 서비스의 의도에 맞게 공유 기여도에 따라서 유불리 하게 보상을 줄 수 있다.

 

스트리밍 방식 vs 다운로드 방식:

스트리밍 방식은 사용자가 인터넷을 통해 동영상이나 오디오 등의 미디어 콘텐츠를 시청하면서 동시에 데이터를 다운로드하는 방식이다. 다운로드 방식은 사용자가 미디어 파일 전체를 다운로드한 후에 로컬 저장소에서 시청하는 방식이다.

스트리밍 방식은 파일의 일부분만 미리 다운로드하고, 재생 중인 동안에도 계속해서 추가 데이터를 다운로드하여 사용자에게 지속적인 미디어 컨텐츠 제공이 가능하다. 반면, 다운로드 방식은 파일 전체를 다운로드해야만 재생이 가능하며, 다운로드 시간이 걸리기 때문에 시청 전에 미디어 컨텐츠를 다운로드해야 하는 불편함이 있다.

 

DASH(Dynamic Adaptive Streaming over HTTP): 

DASH(Dynamic Adaptive Streaming over HTTP)는 인터넷상에서 동영상 및 음악 등의 미디어 콘텐츠를 스트리밍하는 데 사용되는 프로토콜이다. DASH는 동적으로 미디어 비트율, 해상도 및 코덱 등을 조정하여 사용자의 네트워크 대역폭에 따라 최적의 화질을 제공하도록 설계되었다. 이를 통해 사용자는 다양한 기기 및 네트워크 상황에서도 최상의 화질로 미디어 콘텐츠를 시청할 수 있다.

 

CDNs(Content Distribution Networks):

CDN(Content Distribution Network)은 인터넷 상에서 대규모 콘텐츠를 빠르게 제공하기 위해 사용되는 분산 네트워크이다. CDN은 전세계의 다양한 지역에 위치한 캐시 서버를 통해 웹사이트나 미디어 콘텐츠 등을 빠르고 안정적으로 전달한다.

CDN을 사용하면 사용자는 자신의 지역에 가장 가까운 캐시 서버를 통해 컨텐츠를 다운로드하므로 대역폭을 절약할 수 있으며, 웹사이트나 미디어 콘텐츠의 속도와 안정성이 향상된다.

 

CDN의 장점: 높은 성능과 안정성, 대역폭 절약, 보안성, 지역화된 콘텐츠 제공 등이 있다. 또한, 대규모 컨텐츠 제공 및 다운로드 시간 감소로 인한 사용자 만족도 향상도 기대할 수 있다.

 

CDN의 단점: CDN을 구축하고 유지하는 데는 비용이 많이 들며, 시스템 복잡성도 증가할 수 있다. 또한, 캐시 서버가 적절하지 않게 설정되어 있거나 업데이트되지 않으면 오래된 정보가 유지될 가능성이 있으며, 사용자와의 지연이 발생할 수 있다.

 

 

 

 

 

728x90
반응형

'Network > 컴퓨터 네트워크' 카테고리의 다른 글

7주차 정리  (0) 2023.04.21
6주차 정리  (0) 2023.04.09
5주차 정리  (0) 2023.04.08
3주차 정리  (0) 2023.03.17
2주차 정리  (0) 2023.03.13