네트워크 3

실제 구현상에서의 Socket

표준으로서의 Socket과 실제 구현상의 Socket에는 차이가 있다.애플리케이션은 시스템의 기능을 함부로 쓸 수 없다. 때문에 시스템은 애플리케이션이 네트워크 기능을 사용할 수 있도록 프로그래밍 인터페이스를 제공하여야 하며 이를 소켓이라고 한다. 개발자는 소켓 프로그래밍을 통해 네트워크 상의 다른 프로세스와 데이터를 주고받을 수 있도록 구현한다. 실제 구현상에서 동작하는 소켓대부분의 시스템은 소켓 형태로 네트워크 기능을 제공하지만 보통 소켓을 직접 조작해서 통신 기능을 구현할 일은 적다.Application Layer의 프로토콜은 보통 라이브러리나 모듈 형태로 제공되는데, 이때 내부를 열어보면 소켓을 활용해서 프로토콜을 구현했음을 알 수 있다.소켓은 로 정의되지만 표준처럼 유니크하게 식별되지는 않는다...

네트워크 2024.08.06

TCP Connection 과 Socket

커넥션과 소켓은 TCP/IP 스택의 다양한 계층과 깊은 연관이 있다.TCP/IP Stack 계층 구조네트워크 통신을 이해하기 위해서는 TCP/IP 스택의 계층 구조를 알아야 한다. 다음은 TCP/IP 스택의 네 가지 주요 계층이다Application Layer: 애플리케이션 레벨에서 구현 및 관리됩니다. 네트워크 기능을 사용하는 데 목적이 있다.Transport Layer: 데이터 전송을 담당하며, 신뢰성 있는 전송을 보장하는 프로토콜(TCP 등)을 포함한다.Internet Layer: 패킷의 전달과 라우팅을 담당한다.Link Layer: 물리적 네트워크 매체와의 인터페이스를 제공한다.컴퓨터 관점에서의 계층 구조Internet Layer, Link Layer, Transport Layer를 하드웨어/펌웨..

네트워크 2024.08.06

네트워크의 기본 기능과 계층 모델

네트워크의 주요 기능애플리케이션 목적에 맞는 통신 방법 제공: 애플리케이션이 서로 다른 목적에 맞게 데이터를 주고받을 수 있는 방법을 제공한다.신뢰할 수 있는 데이터 전송 방법 제공: 데이터가 전송 중에 손실되거나 오류가 생기지 않도록 한다.네트워크 간의 최적의 통신 경로 설정: 데이터가 출발지에서 목적지까지 최적의 경로를 찾아 효율적으로 전송되도록 한다.목적지로 데이터 전송: 데이터가 올바른 호스트에 도착하도록 보장한다.노드 사이의 데이터 전송: 네트워크에 연결된 장치들(노드) 간의 데이터 전송을 관리한다. 애플리케이션에서 애플리케이션으로 데이터를 전송하기 위해서는 위와 같은 여러 기능들이 필요하다. 하지만, 이 모든 기능을 하나의 프로토콜로 구현하기는 어렵다. 따라서, 네트워크는 각 기능을 계층으로 ..

네트워크 2024.08.06