
우선 인터넷을 알기 위해 구성요소로 본 인터넷과 서비스 관점에서 본 인터넷에 대해 알아보자. 우선 인터넷이란 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크컴퓨터 네트워크에 연결된 컴퓨팅 장치를 모두 뜻함ex) 서버 (PC, 웹페이지), 인터넷에 연결

네트워크 에지는 저번에 살펴 본대로 네트워크의 가장자리, host 와 server 를 뜻한다.정리하면, 인터넷을 사용해 어플리케이션을 실행하는 주체이다.종단 시스템을 먼 거리에 위치한 다른 종단 시스템까지의 경로 상에 있는 첫 번째 라우터 즉, 가장 자리 라우터(edg

엔드 포인트를 연결하는 패킷 스위치(라우터, 링크레이어 스위치), 링크 그물망에 대해 알아보자엔드 포인트들은 메세지(데이터)를 주고 받는데, 이 메세지를 송신하기위해 패킷으로 분할하여 송신한다.이때 한 메세지를 분할해서 여러 패킷을 송신할때 항상 같은 data path

이상적으로는 인터넷 서비스가 데이터의 손실 없이 즉시 두 종단 시스템 간에 원하는 만큼의 데이터를 이동시키기를 원한다.하지만 현실에서 이는 어려우며, 컴퓨터 네트워크는 두 종단 시스템 간에 전달될 수 있는 초당 데이터의 양, 즉 처리율을 제한한다.이로 인해 종단 시스템

이번에는 컴퓨터 네트워크에서 어떤식으로 보안을 위협하게 되는지 알아보자.인터넷에서 데이터를 수신/송신 시 우리에게 전달되는 데이터들 중 보안을 위협하는 것들을 멀웨어(malware)라고 한다.쉽게 말해 악의적 프로그램이고, 자기복제(self-replicating)를 통

Application Layer의 프로토콜은 다음의 정보들을 정의한다. 교환되는 메시지 유형(요청/응답 메세지 인지?) 메시지 구문 메시지의 필드 및 필드 설명 방법 메시지 의미 프로세스가 메시지를 보내고 응답하는 시기 및 방법에 대한 규칙 클라이언트-서버(clie

웹은 온디맨드(on-demand) 방식으로 사용자가 원할 때 원하는 것을 수신한다.웹 상에서 데이터를 주고 받을 때 HTTP 프로토콜을 따르게 되는데,HTTP 프로토콜는 메시지의 구조 및 클라이언트와 서버가 메시지를 어떻게 교환하는지에 대해 정의하고 있다.웹에대해 알기

우리가 자주 사용하는 이메일 서비스는 크게 세가지 구성요소로 설명할 수 있다.이메일 작성자 측 소프트웨어로, 사용자가 이메일을 작성하고, 읽고, 전송하며, 수신하는 인터페이스를 제공한다.이메일 작성: 사용자가 이메일을 작성할 수 있는 인터페이스를 제공합니다.이메일 전송

DNS(Domain Name System)는 인터넷에서 도메인 이름을 IP 주소로 변환하는 시스템이다. 사람들은 인터넷에서 도메인 이름(예:www.example.com)을 사용하지만, 컴퓨터와 네트워크 장비는 IP 주소(예: 192.0.2.1)를 통해 통신하므로, DN

Peer-to-Peer 아키텍쳐 > 네트워크 상에서 중앙 서버는 최소한의 작업만 하고, 각 피어(호스트)가 동등한 위치에서 서로 직접 자원을 공유하는 분산 네트워크 구조 클라이언트-서버 파일 분배에서 서버는 파일 복사본을 각 클라이언트에게 보내려면 서버에게 커다란

트랜스포트 계층 프로토콜은 각기 다른 호스트에서 동작하는 애플리케이션 프로세스 간의 논리적 통신(logical communication)을 제공한다즉 어플리케이션 계층에서 내려온 메세지를 받아 네트워크를 통해 다른 장치에서 실행 중인 애플리케이션과 데이터를 주고받을 수

TCP에 대해 알기 전에 TCP에서 제공하는 신뢰성있는 데이터 전송 원리에 대해 알아보자신뢰성있는 데이터 전송이 복잡한 이유는 네트워크 레이어 같이 unreliable한 채널 위에서 신뢰성있는 데이터 전송을 구현해야 하기 때문에 어렵다.송신자는 메세지가 잘 갔는지 확인

클라 서버 1-1 대응되며 양방향 통신한다.신뢰성과 순서를 보장한다full duplex data : 양방향 데이터 흐름이 가능하며, 같은 연결에서 동시에 송신과 수신이 가능.MSS (Maximum Segment Size):TCP는 한 번에 전송할 수 있는 최대 세그먼트

TCP는 수신자 버퍼의 오버플로우로 인한 packet loss 를 막기 위해 송신시 data의 전송속도를 조절한다.송신자가 수신자의 버퍼가 감당할수 없을 만큼 데이터를 빠르게 보내게 되면, loss가 발생한다.때문에 리시버는 자신의 윈도우사이즈를 보낸다.(TCP 헤더의

TCP의 flow control과 congestion cotrol는 모두 자신의 데이터의 전송을 조절하여 지원한다.그렇다면 둘의 차이는 뭘까?flow control플로우 컨트롤은 리시버의 버퍼를 고려하여 데이터 전송을 조절한다.congestion cotrol리시버의

앞서 우리는 기본적인 TCP프로토콜을 배웠다.하지만 네트워크 통신이 필요한 상황에 따라 문제 상황이 생기고 TCP는 이를 해결하기 위해 다른 기능이 추가적으로 필요할 수 있다.이 표는 네트워크 상황별 주요 과제를 요약한 것이다.Long, fat pipes (large

송신자송신자의 네트워크 계층은 트랜스포트 계층으로부터 세그먼트를 받아 캡슐화 해 datagrams으로 만든다.(IP헤더를 붙임)그리고 이 데이터 그램을 링크레이어에 전달하여 수신자에게 전송한다.수신자받은 데이터그램의 IP헤더를 제거하여 트랜스포트 레이어로 세그먼트를 전

라우터의 전체적인 구조는 다음과 같다.데이터 plane은 하드웨어로 구현된다.이러한 이유는 데이터를 빨리 들여 보내고 내보내야 하기 때문이다.컨트롤 plane은 소프트웨어로 구현된다.패킷의 헤더 정보를 확인하고 포워딩 테이블과 매칭하여 출력 포트로 보낸다.(match

네트위크 계층에서는 패킷을 Datagram이라고 한다.그럼 이제 데이터그램은 어떻게 구성되는지 알아 보자.IP 헤더의 사이즈는 엄밀히 말하면 옵션 값 떄문에 고정되어 있지 않다.(옵션값을 제외하고는 TCP 처럼 20 바이트 이다.)TTL(time to live)TTL은

패킷의 여러 헤더 필드 정보를 가지고 매칭하여 테이블에 정의된 액션을 수행하는유연하고 프로그램 가능한 방식으로 네트워크 트래픽을 처리한다.Generalized Forwarding 에서는 각 라우터는 플로우 테이블(포워딩 테이블)을 갖고 match plus action

4장에서는 Data Plane, 즉 각각의 라우터에서 어떻게 포워딩 되는지를 다루었다.5장에서는 Control Plane의 라우팅 알고리즘과 SDN 방식에 대해 알아볼 예정이다.본격적으로 들어가기 전에 이전 내용을 복습해 보자.각 라우터에서 자신의 포워딩 테이블을 결정

지난 시간까지는 LS DV를 공부해 보았다.이 프로토콜은 실제로 사용하지는 않는데 그 이유는 다음과 같다.LS의 경우 네트워크에 있는 모든 라우터의 정보를 각 라우터가 아는 것은 사실상 불가능 하다.각 링크의 토폴로지(cost)가 정해져 고정되는 상황은 실상황에서는 불

지금까지 우린 per-router control plane에 대해 공부했다.위의 방식은 각 라우터의 라우팅 알고리즘을 통해 테이블을 생성하고, 데이터를 주고 받았다.외부의 logically centralized 컨트롤러가 각 라우터의 플로우 테이블을 만든다.각 라우터는
ICMP (Internet Control Nessage Protocol) > 인터넷 제어 메시지 프로토콜로, 호스트나 라우터가 에러 레포팅 시 시용하는 메세지 프로토콜이다 예를 들어 IPv6에서는 fagmentation을 진행하지 않는데, 라우터에 MTU크기 이상의
Link Layer > 쉽게말해 노드와 노드를 연결한다. 업로드중.. 링크계층의 커뮤니케이션 링크는 1. 유선 2. 무선 3. LANs 와 같은 종류가 있다. 링크 계층에서는 패킷을 frame(프레임)이라고 한다. 데이터그램은 서로 종류가 다른 링크로 전송될
각 디바이스에 고유하게 할당된 주소 번호이다.IP와 다르게 변하지 않으며 고정되어 있다.네트워크 계층에서 장치의 위치를 식별한다.형식 • IPv4: 32비트 (예: 192.168.0.1) • IPv6: 128비트 (예: 2001:0db8:85a3:0000:0000:

스위치는 들어오는 링크레이어 프레임을 출력 링크로 전달하는 역할을 한다.레이어 2의 디바이스이고, MAC주소를 기반으로 동작한다.(IP주소 확인 x)라우터와 비슷하게 store & forward방식으로 프레임을 전달하고스위치는 프레임의 목적지 MAC 주소를 확인하고 M