본문 바로가기

분류 전체보기103

[네트워크] 3.1 트랜스포트 계층 서비스 및 개요 Chapter 3: 트랜스포트 계층 애플리케이션 계층과 네트워크 계층 사이에 존재하는 트랜스포트 계층은 계층으로 이루어진 네트워크 구조의 핵심이다. 트랜스포트 계층은 각기 다른 호스트에서 동작하는 애플리케이션 프로세스에 직접적인 통신 서비스를 제공하는 중요한 기능을 갖는다. 트랜스포트 계층 인터넷 프로토콜에는 TCP와 UDP가 있다. 트랜스포트 계층 프로토콜은 각기 다른 호스트에서 동작하는 애플리케이션 프로세스 간의 논리적 통신(logical communication)을 제공한다. 논리적 통신은 애플리케이션의 관점에서 보면, 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보인다는 것을 의미한다. 트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌, 종단 시스템에서 구현된다. 송신 측의 트랜스포트 계층.. 2023. 10. 12.
[네트워크] 2.6 비디오 스트리밍과 콘텐츠 분배 네트워크 이 절에서는 오늘날 인터넷에서 널리 사용되는 비디오 스트리밍 서비스가 어떻게 구현되는지에 대한 개요를 제공한다. 캐시와 같은 기능을 하는 Application level Protocol과 Server를 사용하여 구현된 것을 볼 수 있다. 2.6.1 인터넷 비디오 녹화된 비디오는 서버에 저장되어, 사용자가 비디오 시청을 서버에게 온디맨드로 요청한다. 넷플릭스, 유튜브(구글), 아마존, 틱톡 등 많은 인터넷 회사가 비디오 스트리밍을 지원하고 있다. 비디오는 이미지의 연속으로서, 일반적으로 초당 24개 또는 30개의 이미지로 일정한 속도로 표시된다. 압축되지 않은 디지털 인코딩 이미지는 픽셀 단위로 구성되며, 각 픽셀은 휘도와 색상을 나타내는 여러 비티들로 인코딩된다. 비디오의 중요한 특징은 압축될 수 있다는.. 2023. 10. 7.
[네트워크] 2.5 P2P 파일 분배 Client-Server 구조 P2P(Peer-to-Peer) 구조 : 항상 켜져 있는 인프라스트럭처 서버에 최소한으로 의존한다. 대신 간헐적으로 연결되는 호스트 쌍들(peer)이 서로 직접 통신한다. Clinet-Server 파일 분배에서 server는 파일 복사본을 각 피어들에게 보내야 한다. (server에게 커다란 부하를 주고, 많은 양의 서버 대역폭을 소비한다.) P2P 파일 분배에서 각 peer는 수신한 파일의 임의의 부분을 다른 peer들에게 재분배할 수 있어서 서버의 분배 프로세스를 도울 수 있다. P2P 구조의 자가 확장성 한 파일을 고정된 수의 피어들에게 분배하는 간단한 양적 모델을 고려한다. Client-Server 구조: 피어의 수가 증가함에 따라 분배 시간이 선형적으로, 한계 없이.. 2023. 10. 1.
[네트워크] 2.4 DNS: 인터넷 디렉터리 서비스 호스트 이름(hostname) IP 주소(IP address) 예) 121.7.106.83 --> IP 주소를 통해 어떤 호스트가 어디에 위치하는지에 대한 자세한 정보를 얻을 수 있다. 2.4.1 DNS가 제공하는 서비스 ▶ DNS (Domain Name System) : hostname --> IP address 분산 데이터베이스: DNS 서버들의 계층구조 애플리케이션 계층 프로토콜: host가 분산 데이터베이스로 질의하도록 함 Port 53 예) 사용자 호스트가 HTTP 요청 메시지를 웹 서버 www.someschool.edu로 로 보낼 수 있도록 www.someschool.edu의 IP 주소를 얻어야 한다. --> 1) DNS --> IP address, 2) TCP 연결 같은 사용자 컴퓨터는 DN.. 2023. 10. 1.
[네트워크] 2.3 인터넷 전자메일 UA(User Agent) mail server - mailbox: 받은 메시지 저장 - message queue: 보낼 메시지 저장 SMTP(Simple Mail Transfer Protocol) : 인터넷 전자메일을 위한 주요 애플리케이션 계층 프로토콜 - SMTP는 메일을 송신자의 메일 서버로부터 수신자의 메일 서버로 전송하는 데 TCP의 신뢰적인 데이터 전송 서비스를 이용한다. - SMTP의 클라이언트와 서버 모두가 모든 메일 서버에서 수행된다. 메일 서버가 상대 메일 서버로 메일을 보낼 때는 SMTP의 클라이언트로 동작하는 반면, 메일 서버가 상대 메일 서버로부터 메일을 받을 때는 SMTP 서버로 동작한다. ▷ Alice's UA -- "SMTP" --> Alice's mail server (m.. 2023. 10. 1.
[네트워크] 2.2 웹과 HTTP ▶ 웹 어플리케이션 온디멘드 방식: 사용자는 그들이 원할 때 원하는 것을 수신한다. 2.2.1 HTTP 개요 ▶ HTTP : 웹의 애플리케이션 계층 프로토콜 ▷ 웹 페이지(Web page) 웹 페이지(Web page)는 객체들로 구성된다. 객체(object): 단순히 단일 URL로 지정할 수 있는 하나의 파일(HTML 파일, JPEG 이미지, 자바스크립트, CCS 스타일 시트 파일, 비디오 클립 등) --> 대부분의 웹 페이지는 기본 HTML 파일과 여러 참조 객체로 구성된다. ▶ HTTP 웹 브라우저(Web browser): HTTP의 클라이언트 측을 구현한다. 웹 서버(Web server): HTTP의 서버 측을 구현한다. ▶ TCP: HTTP의 전송 프로토콜 HTTP 클라이언트: TCP 연결 시작 .. 2023. 9. 29.
[네트워크] 2.1 네트워크 애플리케이션의 원리 Chapter 2: 애플리케이션 계층 네트워크 애플리케이션의 원리 웹과 HTTP 인터넷 전자메일 DNS: 인터넷의 디렉터리 서비스 P2P 파일 분배 비디오 스트리밍과 콘텐츠 분배 네트워크 소켓 프로그래밍: 네트워크 애플리케이션 생성 2.1 네트워크 애플리케이션의 원리 네트워크 애플리케이션: 다른 위치의 종단 시스템에서 동작하고, 네트워크를 통해 서로 통신하는 프로그램을 작성하는 것 --> 애플리케이션 소프트웨어는 종단 시스템에만 존재한다. 2.1.1 네트워크 애플리케이션 구조 (Network application architecture) : 애플리케이션이 다양한 종단 시스템에서 어떻게 조직되어야 하는가? ▶ 클라이언트-서버 구조(client-server architecture) 서버(server): 항상.. 2023. 9. 17.
[네트워크] 1.6 공격받는 네트워크 나쁜 친구들은 인터넷을 통해 여러분의 호스트에 멀웨어(악성코드)를 침투시킬 수 있다. ▶ 멀웨어(malware) : 일단 멀웨어(malware)가 여러분의 장치에 영향을 미치면, 멀웨어(malware)는 여러가지 사악한 일을 할 수 있다. 즉, 파일 삭제, 주민번호, 비밀번호, 키스트로크(keystroke: 키보드 누르는 것) 등의 사적인 정보를 모으는 스파이웨어를 설치하여 이러한 정보를 모아 나쁜 친구들에게 다시 보낸다(by. 인터넷). ▶ 봇넷(botnet) 면역되지 않은 호스트는 수천의 비슷한 면역되지 않은 장치들로 구성된 네트워크(봇넷; botnet)에 등록될 수 있다. 나쁜 친구들은 목표로 하는 호스트에 대해 스팸 전자메일 분배, 분산 DoS(Denial of Service) 공격을 위해 이 봇.. 2023. 9. 17.
[네트워크] 1.5 프로토콜 계층과 서비스 모델 1.5.1 계층구조 프로토콜 계층화 ▶ 서비스 모델(service mode) : 네트워크 프로토콜의 설계 구조를 제공하기 위해, 네트워크 설계자는 프로토콜(프로토콜을 구현하는 네트워크 하드웨어와 소프트웨어)을 계층(layer)으로 조직한다. 각 프로토콜은 한 계층에 속한다. 우리는 다시 한 계층이 상위 계층에 제공하는 서비스(service)에 관심을 갖고, 이것을 계층의 서비스 모델(service model)이라고 한다. 프로토콜 계층은 소프트웨어, 하드웨어 또는 둘의 통합으로 구현할 수 있다. application layer(예: HTTP, SMTP), transport layer: 대부분 종단 시스템의 소프트웨어로 구현된다. network layer: 하드웨어 + 소프트웨어의 혼합으로 구현된다. ph.. 2023. 9. 10.