네트워크 5

TCP flow control이란?

0. 배경 송신자가 전송한 데이터를 수신자가 받아서 버퍼에 저장한다. 이 때, 송신자가 데이터를 전송하는 속도와 수신자가 데이터를 수신하는 속도가 다를 수 있다. 만약 송신지의 데이터 전송속도가 수신자의 데이터 수신속도보다 빠르다면 수신자의 버퍼는 들어오는 데이터의 속도를 이기지 못하고 결국 버퍼가 넘칠 것이다. 이 과정에서 데이터가 유실될 가능성이 있다. 송신자와 수신자 간 데이터 전송 속도차로 인한 데이터 유실이 발생하는 것이다. TCP는 데이터 유실을 방지하기 위해 송신자의 전송 속도를 조절하는 방법을 택했다. 이것이 flow control이다. 1. flow control 과정 TCP는 flow control을 위해 receive window(=rwnd)라는 변수를 사용한다. 이 변수를 사용하여 ..

CS/Network 2024.03.18

다중화와 역다중화

다중화와 역다중화를 알기 전에 Trans-L와 Net-L, 소켓이 무엇인지 알아야 한다. Transport vs Network layer Net-L는 서로 다른 호스트 간 논리적 통신을 제공하고 Trans-L는 프로세스들(서로 다른 호스트 안에서 동작) 간 논리적 통신을 제공한다. 이 차이를 이해할 수 있는 예제가 있다. 집A에 있는 12명의 아이들이 집B에 있는 또다른 12명의 아이들에게 편지를 보낸다고 가정하자. 이 때 집A와 집B는 각각 호스트A, 호스트B가 된다. 아이들은 프로세스이고 편지는 application messages = 데이터이다. 편지가 집A에서 집B로 이동하는 과정(postal service)은 Net-L 프로토콜이다. (라우팅) 편지가 집B에 도착하고, 12명의 아이들에게 편지를..

CS/Network 2024.02.01

OSI 7계층 모델과 TCP/IP 4계층 모델 비교

1. 물리계층 (Physical Layer) 실제 장치를 연결하는 데 필요한 전기적, 물리적 세부 사항을 정의한다. 상위 계층에서 전송된 데이터를 물리 매체를 통해 다른 시스템에 전기적 신호로 전송한다. 주요 네트워크 장치로 리피터, 허브 등의 기기가 있다. 2. 데이터 링크 계층 (Data Link Layer) 물리 링크를 통한 데이터 전송의 신뢰성을 보장하기 위한 계층이다. 대표적인 예로 이더넷이 있다. 시스템 간 오류없이 데이터를 전송하기 위해서 패킷을 프레임으로 구성하여 물리 계층에 전송한다.(캡슐화 과정) 데이터 링크 계층에서 물리적 주소, MAC 주소를 결정한다. 대표적인 네트워크 기기로 스위치가 있다. 3. 네트워크 계층 (Network Layer) LAN에서 벗어난 통신을 위하여 IP 주소..

CS/Network 2024.01.31

HTTP란 무엇인가?

HTTP란?HTTP(HyperText Transfer Protocol)는 웹의 app-L 프로토콜이다. HTTP의 특징client/server 모델이다.client: HTTP 프로토콜로 요청(request)을 보내고 응답을 받는 브라우저이다. server: HTTP 프로토콜로 요청에 대한 응답(reponse)을 보낸다.일반적으로, 사용자가 웹 페이지를 요청할 때 (1) 브라우저는 페이지 내부의 객체에 대한 HTTP 요청 메시지를 서버에게 전송한다.(2) 서버는 요청을 수신하고, 객체를 포함하는 HTTP 응답 메시지로 응답한다. HTTP의 TCP 사용클라이언트가 서버에게 TCP connection을 보낸다. (이 때 소켓을 만든다.)서버는 클라이언트로부터 온 TCP connection에 접속한다. (소켓 ..

CS/Network 2024.01.30

OSI 7계층: 7계층 응용 계층(Application Layer)이란?

Computer Networking: A Top-Down Approach, 8th Edition의 내용을 기반으로 작성한 글입니다. OSI(Open System Interconnection) 네트워크 모델 - OSI 7계층이란? ISO(International Organization for Standardization)는 1980년대 초, 여러 업체가 만든 시스템에 대해 상호연동이 가능한 표준 네트워크 모델을 제정할 필요성을 인식하고 1984년에 OSI 네트워크 모델을 발표했다. 7계층 - 응용 계층(Application Layer)이란? 여러 가지 프로토콜에 대한 사용자 인터페이스를 제공한다. 사용자나 응용 프로그램 사이에 데이터 교환을 가능하게 하는 계층이다. HTTP, FTP, 메일 프로그램 등을 ..

CS/Network 2024.01.29