전체 글 11

인터넷에서 웹브라우저까지 (7) - TCP, UDP

3-way Handshaking 과정을 통해 수립한 TCP 연결에서 클라이언트 애플리케이션과 서버 애플리케이션이 양방향으로 데이터를 전송할 수 있습니다. TCP 연결에서는 하나의 데이터를 여러 개의 세그먼트로 나누어서 순차적으로 전송합니다. 수신 호스트는 나누어진 세그먼트를 데이터로 재조립해야 합니다. 하지만 네트워크 상황에 따라 데이터가 순서대로 도착하지 않을 수도 있고, 손실될 수도 있기 때문에 세그먼트의 헤더에는 순서 번호(Sequence Number)와 확인 응답 번호(Acknowledgement Number)가 포함됩니다. 순서 번호는 송신 애플리케이션이 몇 번째 세그먼트를 전송했는지 알려주고 확인 응답 번호는 송신 애플리케이션에게 다음 세그먼트를 요청하는 데 사용합니다. 처음 세그먼트를 전송할..

네트워크 2022.02.01

인터넷에서 웹브라우저까지 (6) - Transport Layer , TCP 3-way Handshaking

Network Layer의 인터넷 프로토콜은 데이터 전송을 위해 최대한 노력(Best Effort) 하지만 전송의 완료를 보장하지 못합니다. 송신 호스트와 수신 호스트가 실제로 통신하는 구간은 Network Access Layer와 Network Layer입니다. 그렇기 때문에 Network Layer로부터 전송된 데이터를 목적지가 되는 특정 애플리케이션으로 전송해야 하는 역할은 Transport Layer가 담당합니다. Transport Layer에서는 오류 점검 및 복구, 흐름과 혼잡 제어 기능을 통해 신뢰성 있는 전송을 제공하고 효율적인 전송을 위한 Multiplexing 기능 등 신뢰성 있고 효율적인 통신을 위한 여러 가지 기능을 제공합니다. 신뢰성 있는 전송이란 데이터가 손실되지 않고 중복되지 ..

네트워크 2022.01.18

인터넷에서 웹브라우저까지 (5) - Routing Protocol, RIP, OSPF

송신 호스트와 수신 호스트가 같은 네트워크에 존재한다면 송신 호스트는 수신 호스트에게 바로 데이터를 전송할 수 있습니다. 하지만 다른 네트워크에 존재한다면 송신 호스트는 라우터에게 데이터를 전송해야 합니다. 라우터는 다른 네트워크로 데이터를 전송할 때 최적의 경로로 데이터를 전송해 주는 장치입니다. 여기서 최적의 경로를 정하는 과정을 라우팅이라고 합니다. 라우팅은 정적 라우팅(Static Routing)과 동적 라우팅(Dynamic Routing)으로 나뉩니다. 정적 라우팅은 관리자가 수동으로 라우팅 정보를 등록합니다. 그렇기 때문에 네트워크 트래픽 변화나 구성의 변화와 같은 네트워크 상황을 반영하기 어렵습니다. 그래서 대부분의 네트워크에서는 동적 라우팅을 사용합니다. 동적 라우팅은 라우터끼리 정보 교환..

네트워크 2021.12.22

인터넷에서 웹브라우저까지 (4) - DNS, ARP

인터넷을 통해 웹사이트에 접속할 때 사용자들은 일반적으로 도메인 네임을 사용합니다. 도메인 네임은 사용자가 IP Address나 MAC Address를 모두 기억할 수 없기 때문에 사용자의 편의를 위해 쓰입니다. 하지만 인터넷 프로토콜은 IP Address를 통해 동작하기 때문에 도메인 네임은 IP Address로 변환되어야 합니다. 이런 변환은 DNS(Domain Name System)를 통해 수행합니다. 먼저, DNS를 사용하려면 DNS를 사용하려는 클라이언트에 DNS 서버의 IP Address가 등록되어 있어야 합니다. 클라이언트는 도메인 네임을 포함하는 DNS Query 메시지를 등록된 DNS 서버로 보냅니다. DNS 서버는 도메인 네임과 대응하는 IP Address가 매핑된 테이블을 가지고 있습..

네트워크 2021.12.12

인터넷에서 웹브라우저까지 (3) - IP Address

Network Layer에서는 인터넷 프로토콜을 사용합니다. 인터넷 프로토콜은 네트워크의 주소를 관리하고 라우팅을 수행합니다. 그럼 네트워크의 주소에 대해 알아봅시다. TCP/IP 프로토콜에서는 네트워크의 주소로 IP Address를 사용합니다. IP Address는 프로토콜이 호스트를 유일하게 식별할 수 있는 32비트 2진수로 중복해서 사용할 수 없는 수입니다. IP Address는 네트워크 ID와 호스트 ID로 구성되고 5가지 클래스가 존재합니다. 각각 A, B, C, D, E 클래스라고 합니다. 여기서 D 클래스는 멀티캐스트 주소로 사용되고, E 클래스는 연구용이나 실험용으로 예약되어 있습니다. IP Address의 첫 비트에 따라 클래스가 결정됩니다. 그림과 같이 각 클래스 별로 네트워크 ID를 ..

네트워크 2021.12.05

인터넷에서 웹브라우저까지 (2) - TCP/IP Network Access Layer

TCP/IP 프로토콜은 인터넷에 연결된 컴퓨터 간의 통신이 가능하도록 표준화한 통신 프로토콜입니다. TCP/IP 프로토콜은 다음과 같은 4개의 계층으로 나눌 수 있습니다. 각 계층을 살펴보면서 인터넷이 어떻게 흘러가는지 알아보도록 하겠습니다. Network Access Layer는 OSI 7 계층의 Physical Layer와 Data Link Layer에 해당합니다. Physical Layer는 데이터를 시그널로 변환하거나 시그널을 데이터로 복원합니다. Data Link Layer는 오류 없이 프레임을 전달하는 역할을 합니다. 프레임은 Data Link Layer에서 사용하는 논리적 단위입니다. 가장 많이 사용하는 기술은 이더넷으로 네트워크에 연결된 각 장치들은 고유의 MAC주소를 가지고 있습니다. 이..

네트워크 2021.12.01

인터넷에서 웹브라우저까지 (1) - OSI 7 계층 , 캡슐화

오늘날 사람들은 웹에서 많은 시간을 보내고 있습니다. 사람들은 어떻게 서버가 제공하는 웹페이지를 볼 수 있을까요? 먼저 인터넷이 필요합니다. 인터넷은 전 세계의 여러 네트워크가 연결되어 있는 광역 통신망입니다. 연결되어 있다의 의미는 물리적으로든 논리적으로든 서로 통신을 할 수 있다는 것을 의미합니다. 물리적으로 보았을 때 연결은 대부분 광섬유로 이루어진 케이블로, 이 케이블들이 네트워크를 구분하고 연결해 주는 장치인 라우터에 연결되어 인터넷을 이룹니다. 연결된 네트워크들은 서로 다른 하드웨어와 소프트웨어로 이루어져 있습니다. 그렇다면 서로 다른 구조로 이루어진 네트워크들이 연결되어 인터넷을 이룰 수 있는 이유는 무엇일까요? 국제표준화기구에서 규정한 OSI 참조 모델을 알아보겠습니다. OSI 참조 모델은..

네트워크 2021.11.30