Book/COMPUTER NETWORKING A TOP-DOWN-APPROACH 28

3.5 Connection-Oriented Transport: TCP

3.5.1 The TCP Connection TCP 연결: 신뢰성 있는 데이터 전송을 위한 기반 TCP(Transmission Control Protocol)는 인터넷의 핵심적인 전송 계층 프로토콜로, 신뢰성 있는 데이터 전송을 제공한다.TCP는 “연결 지향적(connection-oriented)“이라는 특징을 가지며, 데이터 전송 전에 두 프로세스가 서로 연결을 설정해야 한다.이 연결 과정에서 데이터의 전송 및 수신을 위한 여러 상태 변수들이 설정된다. 1. 연결 지향적 (Connection-Oriented)의 의미 TCP가 연결 지향적이라는 것은, 데이터를 주고받기 전에 두 애플리케이션 프로세스가 반드시 **“핸드셰이크(handshake)”**를 통해 서로를 확인하고 연결을 설정해야 한다는 뜻이다.이..

CH3_Transport Layer

3.1 Introduction and Transport-Layer Service 3.1.1 전송 계층과 네트워크 계층의 관계 전송 계층은 네트워크 계층 바로 위에 있으며, 두 계층의 역할이 다소 비슷해 보이지만 중요한 차이점이 있다. 이를 쉽게 이해하기 위해 집과 우편 서비스에 비유해서 설명할 수 있다.  • 네트워크 계층: 두 집 사이에서 편지를 보내는 우편 서비스와 같다. 우편 서비스는 집에서 집으로 편지를 배달하는 일을 담당한다. • 전송 계층: 집 안에서 각 아이들 간의 편지를 모아서 배달하는 역할을 하는 **사람(Ann과 Bill)**과 같다. 이들은 각 집 안에서 형제자매들로부터 편지를 모아 우편 서비스에 전달하고, 다시 도착한 편지를 각 사람에게 나눠준다. 이 비유에서 보듯, 네트워크 계층은..

CH2_Application Layer(2.5~2.7)

2.5 Peer to Peer File Distribution 이 챕터에서는 P2P 파일 분배가 무엇인지 설명하고 있다. 먼저, 웹, 이메일, DNS 등은 클라이언트-서버 아키텍처를 사용하는데, 이 경우 항상 연결된 인프라 서버에 크게 의존한다. 반면, P2P 아키텍처에서는 항상 켜져 있는 서버에 대한 의존도가 매우 적거나 아예 없다. **피어(peer)**라고 불리는 간헐적으로 연결된 호스트들이 서로 직접 통신하며 데이터를 주고받는다. 이러한 피어들은 서비스 제공자가 소유한 것이 아니라 사용자들의 PC, 노트북, 스마트폰과 같은 장치들이다. 2.5.1 자연스러운 P2P 애플리케이션: 파일 분배 P2P의 자연스러운 적용 예시로 대규모 파일 분배를 들고 있다. 예를 들어, 운영 체제 업데이트 파일이나 대용..

CH2_Application Layer(2.3~2.4)

2.3 Electronic Mail in the Internet-사용자는 user agent 를 통해 이메일을 작성, 전송, 읽기 등의 작업을 한다.  ex) Outlook, Gmail, Apple mail 등등 - 사용자가 메일을 작성하면 이는 송신자의 Mail Server로 전달된다. Mail Serveroutgoing message queue를 통해 발신되는 이메일을 관리한다.종류1. SMTP client 2. SMTP server SMTP ProtocolTCP기반의 프로토콜로 송신메일서버와 수신메일서버 간 메일을 전송하는 데 사용된다. 이메일 전송 과정1. 이메일 전송버튼을 누르면 클라이언트의 user agent가 클라이언트의 메일서버로 보낸다.2. 메일서버는 이 메세지를 outgoing mess..

CH2_Application Layer(2.1~2.2)

2.1 Principles of Network Applications 네트워크 애플리케이션은 서로 다른 엔드 시스템에서 실행되는 프로그램이 통신하여 작동하는 구조를 가진다. 따라서 개발자는 엔드 시스템에서 작동하는 소프트웨어만 개발하면 된다. ex) 이메일, 웹, 파일전송, 통화, SNS, 유튜브 등.2.1.1 Network Applications Architecturesclient-server architecture서버 : 항상 켜져있으며 클라이언트의 요청을 처리한다.클라이언트 : 서버에 요청을 보내고 응답을 받는다. - 서버는 고정된 IP주소를 가지고 있어 클라이언트가 언제든 접근할 수 있다.- 클라이언트들간의 직접적인 통신은 이루어지지 않고 서버를 통해 이루어진다.- 관리가 용이하지만, 사용자가 몰..

CH1_Computer Networks and the Internet (1.3~1.6)

1.3 The Network Core1.3.1 Packet Switching- 메세지를 목적지로 보내기 위해, source에서는 긴 메세지를 packet이라 불리우는 작은 데이터 조각으로 나눈다. - 메세지가 전달되면서 각 패킷은 communication link 와 packet switch를 통해 이동한다.  주요 패킷 스위치 유형 -> router , link-layer switch - 패킷은 각 링크의 최대 속도로 전송된다. - 패킷의 크기와 링크에 따라 전송 시간이 결정된다. ex) 크기 Lbit, 속도 Rbit/sec -> 전송속도 == L/R sec  Store-and-Forward Transmission대부분의 packet switch는 링크를 입력할 때 store-and-forward tr..

CH1_Computer Networks and the Internet (1.1~1.2)

1.1 What Is the Internet?- 인터넷이 무엇이냐는 질문이 들어왔을 때 기본 하드웨어와 소프트웨어 구성요소를 볼트와 너트에 비유할 수 있다.  - 또한, 우리는 각가의 계층에 서비스를 제공하하는 서비스라고도 할 수 있다.  1.1.1 A Nuts-and-Bolts Description-인터넷은 전세계의 수많은 computing device 들을 서로 이어주는 컴퓨터 네트워크이다. -얼마 전까지만 하더라도 이 computing devices라는 것들은 리눅스 작업환경이나 서버 등을 가리켰지만,   현재, 2025년에는 전세계 75%의 사람들이 인터넷을 사용할 것이라는 연구결과가 있을 정도로 많이 발전했다. - 게다가 이제는 원래 인터넷과 관련 없던 것들(안경이나 TV, 시계, 보안시스템 등..