분류 전체보기

TCP는 이제 설명하기 너무 입 아픕니다. 그저 간단하게 설명하자면 데이터의 신뢰성 있는 연결이 가능한 프로토콜입니다. TCP 프로토콜의 특징 point- to - point 하나의 sender는 하나의 receiver와 통신한다. Reliable, in-order byte system 데이터는 순서대로 applicaton layer로 넘겨지고, 데이터를 byte단위로 처리하기에, message의 맥락을 신경 쓰지 않는다. full duplex data 데이터 통신을 할 때 양방향으로 흐른다. cumulative ACKs 데이터의 신뢰성과 정확성을 확보, 안정적인 데이터 전송을 지원 pipelining TCP congetsion, flow cotrol이 window size를 결정함. connection..
RDT란? RDT(reliable data transfer)는 신뢰성 있는 데이터 전송을 위한 프로토콜입니다. 신뢰성이 있다는 뜻은 송/수신하는 데이터가 오류 없이 전송된다는 뜻입니다. RDT는 TCP가 UDP와 구분되는 가장 큰 특징입니다. RDT는 상위 계층에서 전송한 데이터가 손상되거나, 손실되지 않았다는 것을 보장한다는 뜻이고, 하위 계층에서 신뢰성을 보장할 수 없기에, 특정 계층에서 신뢰성을 보장한다면 그 상위 계층의 신뢰성은 모두 보장됩니다. Transport Layer에서는 신뢰성 있는 데이터 교환을 원하지만, 그 아래의 레이어에서는 신뢰성을 보장할 수 없기에, 신뢰성 있는 통신에 문제가 생길 수 있습니다. 이때 RDT 프로토콜을 이용하면 신뢰성을 확인할 수 있습니다. 그림을 보면 알 수 있..
UDP는 계속 설명했듯이 신뢰성 없는 통신보장이기에, 데이터 전송의 신속성이 더 중요한 경우에 사용됩니다. UDP는 다음과 같은 애플리케이션에서 사용됩니다. 멀티미디어 스트리밍 앱 DNS SNMP HTTP/3 애플리케이션 레이어에서 신뢰성과 congestion control을 추가했습니다. UDP segment header 우선 UDP 세그먼트는 UDP 프로토콜을 통해 전송되는 데이터의 작은 조각입니다. 이 조각은 Header와 Application data(payload)로 구성되어 있습니다. Header에는 다음과 같은 정보가 포함되어 있습니다. source port# 출발지 포트넘버로, 수신자는 데이터가 어떤 애플리케이션으로부터 온 것인지 식별할 수 있게 하는 정보입니다. dest port# 수신자..
Multiplexing과 Demultiplexing은 왜 필요할까요? 네트워크 통신에서 여러 개의 데이터를 효율적으로 처리하기 위해 필요합니다. 음 예를 들어서 설명해 보겠습니다. 예로는 편지 배달이 적절할 거 같습니다. 동구와 북구에는 작업반장이 한 명 있습니다. 각 작업반장은 각 구의 편지들을 모아서 우편배달부에게 전달해 주는 역할을 합니다. 여기서 작업반장이 하는 행동이 다중화입니다. 만약 이 다중화 작업이 없다면 작업반장은 각 구의 편지들을 하나 받고 전달하고, 이러한 작업을 하는데 굉장히 효율성이 떨어집니다. 만약이 우편배달부가 북구의 편지를 받아서 동구의 각 사람들에게 편지를 나눠줍니다, 이러한 작업을 역다중화입니다. 즉 쉽게 말하면, 다중화는 데이터를 보내기 전에 합치는 작업이고, 역다중화는..
Transport Layer Application Layer 바로 아래층에 위치한 계층입니다. 이름 그대로 데이터의 신뢰적인 전송을 담당하는 계층입니다. 송신자와 수신자 간의 통신을 제어하며, end-to-end 통신을 제공합니다. 역할은 다음과 같습니다. 출발지로부터 도착지까지 패킷이 제대로 전송될 수 있도록 합니다. Application Layer에서 만든 데이터를 일정한 크기로 자릅니다. Transport Layer Action Sender Application Layer로부터 메시지를 받음. 세그먼트 헤더 필드 값을 결정 세그먼트를 생성 IP를 통해 세그먼트를 전송 Receiver IP로 부터 세그먼트를 받음. 헤더 값을 체크 어플리케이션애플리케이션 메시지를 확인해서 오류를 검출하고 재조립하여 소..
Socket 컴퓨터 네트워크에서 프로세스 간 통신을 가능하게 해주는 소프트웨어 인터페이스이다. 서버와 클라이언트 간 통신에 사용된다. 클라이언트 -> 서버 (데이터 요청) 서버 -> 클라이언트 (응답) Application Layer와 Transport Layer 사이에 존재한다. 소켓은 주로 IP주소와 포트번호를 사용해서 데이터를 주고받는다. 소켓은 2가지의 타입이 있다. UDP 데이터의 신뢰성이나 연결 지향성을 보장하지 않습니다. 그렇기에 빠른 전송이 필요하거나, 데이터 손실이 허용되는 경우에 주로 사용됨. 실시간 멀티미디어 애플리케이션(음성, 비디오) 간단한 조회 및 상태 요청, 네트워크 게임 데이터 그램 단위로 전송. 비연결성 프로그램 (connect가 없음) 데이터 그램 단위로 교환하는 것을 알..
DASH (Dynamic, Adaptive Streaming over HTTP) 콘텐츠 파일을 서로 다른 rate의 덩어리로 만들어 제공하는 기술이다. 대표적으로 유튜브, 넷플릭스는 하나의 영상에 대해 다양한 해상도를 제공하며, 인터넷 상황, 데이터 상황을 체크해서 적절한 해상도의 영상을 제공해 주는데 이 기술이 바로 DASH이다. Server 비디오 파일을 여러개의 청크로 쪼갠다. 각 청크는 저장되고, 다른 rate로 encode 된다. manifest file은 청크에 대한 URL을 제공한다. 청크에는 고화질, 저화질의 정보가 있다. Client server-to-clinet 사이의 네트워크 상황을 측정한다. 측정한 상황을 고려하여 적절한 품질의 청크를 선택하고, 청크를 조합하여 동영상을 재생함. 클..
DASH (Dynamic, Adaptive Streaming over HTTP) 콘텐츠 파일을 서로 다른 rate의 덩어리로 만들어 제공하는 기술이다. 대표적으로 유튜브, 넷플릭스는 하나의 영상에 대해 다양한 해상도를 제공하며, 인터넷 상황, 데이터 상황을 체크해서 적절한 해상도의 영상을 제공해 주는데 이 기술이 바로 DASH이다. Server 비디오 파일을 여러개의 청크로 쪼갠다. 각 청크는 저장되고, 다른 rate로 encode 된다. manifest file은 청크에 대한 URL을 제공한다. 청크에는 고화질, 저화질의 정보가 있다. Client server-to-clinet 사이의 네트워크 상황을 측정한다. 측정한 상황을 고려하여 적절한 품질의 청크를 선택하고, 청크를 조합하여 동영상을 재생함. 클..
P2P구조 P2P구조는 서버-클라이언트와 다르게 서버가 없습니다. 각 end system들이 서버 없이 직접적으로 콘텐츠를 송/수신합니다. 즉 P2P구조는 end system들이 서버와 클라이언트 두 역할을 수행합니다. P2P구조의 예 파일 공유 서비스 Bit Torrent 음성 서비스 Skype 스트리밍 서비스 KanKan P2P 환경에서의 파일 분배와 서버-클라이언트 환경에서의 파일 분배 N명의 사용자가 F 크기의 파일을 공유하는데 걸리는 시간. 클라이언트-서버 모델 클라이언트-서버 모델에서 서버는 N개의 파일을 완전히 다 올려야 한다. 그리고 클라이언트는 F 크기의 파일을 다운받아야 한다. 서버-클라이언트 모델에서 공유하는데 걸리는 시간은 서버 성능과 클라이언트 성능 중 낮은 성능을 기준으로 공유시..
재한
'분류 전체보기' 카테고리의 글 목록 (23 Page)