[Computer Network] 4-1 Network layer
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. Network layer4.1 introduction송신 측 호스트에서 보낸 트랜스포트 세그먼트를 받아서 수신 호스트에 전달해줌세그먼트를 encapsulate해서 datagram으로 만듦수신 측에서는 datagram을 받아서 뜯고 segment를 transport layer에 전달함network layer protocol은 모든 호스트, 라우터에 있음Two key network-layer functionsforwarding: 라우터의 링크 중 몇 번 링크에 보내주는 과정routing: 링크 중 몇 번 링크에 보낼지 정하는 과정Interplay between routing and forwardingrouting을 하면 table이 ..
[Computer Network] 3-5 혼잡제어의 원리
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. principles of congestion controlCongestion너무 많은 송신자들이 너무 빠르게 데이터를 보내서 네트워크가 감당하지 못하는 상태흐름 제어와 다름!주요 현상패킷 손실 - 라우터의 버퍼가 가득 차서 패킷을 버림긴 지연 시간 - 라우터에 패킷이 대기열에 길게 줄 서게 됨혼잡 제어는 인터넷의 핵심 기술 중 하나로, 실제로 “Top-10 networking problems” 에 선정됨! 혼잡의 원인과 비용시나리오 1: 2개의 송신자와 무한 버퍼를 갖는 하나의 라우터두 호스트 A, B는 λ(in) 바이트/초의 속도로 라우터에게 제공하고, 그에 대한 서버의 처리량은 **λ(out)**이 되겠다.이 경우 A, B가 ..
[Computer Network] 3-4 연결지향형 트랜스포트: TCP
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. 1. TCP 연결Point-to-point하나의 송신자와 하나의 수신자 사이에서만 통신함.연결지향형(Connection-oriented)신뢰성있는 전송순차적인 바이트 스트림(In-order byte stream) - 중간에 메세지 경계 개념이 없음.헨드셰이킹(Handshaking)Pipelined(파이프라인화된 전송)TCP는 데이터를 하나씩 보내고 기다리는 방식이 아니라, 여러 개의 세그먼트를 연속적으로 보내는 파이프라인 방식으로 동작함 ⇒ window size흐름 제어 - 수신자의 처리 속도보다 보내는 데이터 양이 많을 경우, 수신자가 감당할 수 있게 조절함.MSS(Maximum Segment Size) - 하나의 TCP 세그먼..
[Computer Network] 3-3 신뢰성 있는 데이터 전송의 원리
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. 1. 신뢰성 있는 데이터 전송의 원리(rdt)자세한 내용 전 한 가지 가정 - 보내어진 패킷은 일부 손실될 수도 있겠지만 보내어진 순서대로 전달될 것임! 즉, 하부 채널은 패킷의 순서롤 바꾸지 않음.rdt_send(): 프로토콜의 송신 측은 이 호출에 의해 위의 계층에 의해서 호출됨. (call: 위에서 아래로)rdt_rcv(): 패킷이 채널의 수신 측으로부터 도착했을 때 호출됨. (callback: 아래에서 위로)deliver_data(): 수신자 측이 데이터를 반대로 넘길 때 호출됨.udt_send(): 비신뢰적인 데이터 전송으로써, 송신/수신 측이 패킷을 양방향으로 전달할 때 사용됨.신뢰적인 데이터 전달 프로토콜의 구축완벽..
[Computer Network] 3-2 비연결형 트랜스포트: UDP
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. connectionless transport: UDP1. UDP(User Datagram Protocol)비연결형 전송 계층 프로토콜주요 특징단순성 - "no frills", "bare bones" => 불필요한 기능 없이 간단한 구조신뢰성 X - Best-effort delivery => 손실, 순서 변경 가능연결 X - Connectionless => TCP처럼 handshake(3-way) 없음독립 처리 - 각 세그먼트는 독립적으로 처리됨 어떤 일이 발생할 수 있을까?세그먼트가 유실될 수 있음세그먼트의 순서가 뒤바뀔 수 있음수신자가 도착 여부를 알 수 없음왜 UDP를 쓸까?스트리밍 앱 -> 약간의 손실은 괜찮지만 지연이 생기..
[Computer Network] 3-1 Transport Layer
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. Transport Layer1. 트랜스포트 계층 서비스와 프로토콜트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적 통신(logical communication)을 제공한다. 논리적 통신이란 애플리케이션의 관점에서 보면 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보인다는 것을 의미한다. (실제 호스트들은 수많은 라우터와 다양한 형태의 링크를 통해 연결되어 지구상의 서로 다른 지역에 있음)트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌! end system에서 구현된다. 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터 수신한 메시지를 세그먼트(segment)인 트랜스포..
[Computer Network] 2-6 비디오 스트리밍과 컨텐츠 분배 네트워크
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. video streaming1. 인터넷 비디오Video = 이미지들의 연속영상은 짧은 시간 간격으로 여러 이미지(프레임)를 보여주는 것영화는 보통 1초에 24장(프레임)의 이미지를 보여줌 -> 24 fps디지털 이미지디지털 영상 속의 각 프레임은 픽셀(pixel)로 이루어져 있음.true color: RGB 각각 8비트씩 해서 24비트로 색깔을 표현함.Coding (압축/인코딩)Spatical Redundancy (공간적 중복)한 이미지 내에서 비슷한 부분이 많을 경우비슷한 픽셀들을 압축해서 저장Temporal Redundancy (시간적 중복)연속된 이미지(프레임)들 사이에 비슷한 부분이 있을 경우 (ex. 움직이지 않는 배경)..
[Computer Network] 2-5 P2P 파일 분배
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다.  P2P applications1. Pure P2P architectureP2P 구조: 피어(peer)라는 간헐적으로 연결된 호스트 쌍이 서로 직접 통신하는 방식.피어는 서비스 제공자가 소유하지 않고, 사용자들이 제어하는 데스크톱과 랩톰임. 한 피어가 서버 역할을 하기도 하고, 클라이언트 역할을 하기도 함. 2. File distribution: client-server vs P2Pu_s: 서버의 접속 링크 업로드 속도u_i: i번째 피어의 접속 링크 업로드 속도d_i: i번째 피어의 접속 링크 다운로드 속도F: 분배되는 파일의 크기N​: 파일의 복사본을 얻고자 하는 피어들의 수클라이언트-서버 N개의 피어에게 업로드 속도 u_s로 ..
[Computer Network] 2-4 DNS
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다.  DNS1. DNS: domain name system인터넷 호스트에 대한 식별자호스트 네임(hostname) IP 주소  DNS (domain name system)DNS 서버들의 계층구조로 구현된 분산 데이터베이스 (세계 곳곳에 분산해서 갖고 있음)호스트가 분산 데이터베이스로 질의하도록 허락하는 애플리케이션 계층 프로토콜 2. DNS가 제공하는 서비스host name을 IP 주소로 변환호스트 엘리어싱(host aliasing)복잡한 호스트 네임(정식 호스트 네임)을 가진 호스트는 하나 이상의 별명을 가질 수 있음. DNS는 호스트의 IP 주소뿐만 아니라 제시한 별칭 호스트 네임에 대한 정식 호스트 네임을 얻기 위해 이용됨.메일 ..
[Computer Network] 2-3 FTP, electronic mail
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다.  FTP1. FTP: the file transfer protocolFTP: TCP로 동작하는 파일을 주고받기 위한 프로토콜  2. FTP 제어와 데이터 연결의 분리TCP는 제어 연결을 위해 21번 포트를 사용하고, 데이터 전송을 위해 20번 포트를 사용한다. 클라이언트가 제어 연결을 통해 커맨드를 전송한다.서버가 파일 전송 커맨드를 받으면 클라이언트에 2번째 TCP 데이터 연결을 연다. 하나의 파일 전송이 끝나고 나면, 서버는 제어 연결을 닫는다. 이러한 FTP의 제어 연결을 out of band라고 하는데, 기존 제어 포트에서 벗어났다고 말한다!FTP 서버는 state를 유지한다. (현재 디렉토리 - 사용자가 어느 폴더에 있는지..