혼공단 12기 1주차 학습 기록
네트워크 기본 구조
네트워크는 정보를 주고받는 장치인 노드(node), 노드를 연결하는 간선(edge), 노드 간 주고받는 메시지(message)로 구성된다.
호스트(Host)
네트워크에서 종단점에 위치한 노드를 호스트(Host)라고 한다. 이는 데이터의 출발지 또는 목적지로서 다른 장치와 통신할 수 있는 컴퓨터나 기타 장치를 의미한다. (데스크탑 컴퓨터, 노트북, 서버, 스마트폰 etc.)
리소스를 제공하는 서버(server)나 리소스를 요청하는 클라이언트(client) 역할을 수행할 수 있다.
중간 노드(Intermediate node)
네트워크에는 데이터의 경유지 역할을 하는 중간 노드도 존재한다. 대표적으로 라우터(router), 스위치(switch), 브리지(bridge) 등이 있다. 이들은 호스트 간 주 받는 정보를 안전하게 수신지까지 전송될 수 있도록 한다.
메시지(Message)
간선(통신 매체)으로 연결된 노드가 주고받는 정보는 메시지라고 한다. 메시지는 파일이나 메일 또는 웹 페이지가 될 수 있다.
네트워크 분류
범위에 따라 분류
네트워크의 범위는 가정이나 회사, 도시나 국가 등 다양하다. 범위에 따라 LAN과 WAN으로 구분할 수 있다.
LAN(Local Area Network)
LAN은 제한된 지역 내에서 장치들을 연결하는 네트워크이다. 일반적으로 가정, 사무실, 학교 등의 한 건물이나 건물 내의 특정 공간에서 사용된다.
WAN(Wide Area Network)
WAN은 넓은 지리적 범위에 걸쳐 여러 LAN을 연결하는 네트워크로 국가 간, 대륙 간에 걸쳐 대규모 네트워크를 형성한다. 다른 LAN에 속한 호스트와 메시지를 주고받기 위해서는 WAN이 필요하다.
WAN은 ISP(Internet Service Provider)라는 인터넷 서비스 업체가 구축하고 관리한다. 국내에서는 SK Broadband, KT, LG U+가 대표적인 예다.
메시지 교환 방식에 따라 분류
회선 교환 네트워크 (Circuit-Switched Network)
회선 교환 네트워크는 통신 장치 간에 전용 경로인 회선(circuit)을 통해 메시지를 주고받는 방식이다. 호스트 간 회선을 설정하는 장비는 회선 스위치라고 부른다.
전용 경로를 확보한 후에 통신하므로 데이터 손실과 전송 지연이 적지만, 회선이 한 번 연결되면 해당 회선을 유지하기 때문에 다른 사용자가 사용할 수 없다는 단점이 있다. 이는 데이터가 전송되지 않는 상태로 회선을 점유하는 경우 자원의 낭비가 이루어진다는 것이다.
대표적인 예로 전통적인 전화 시스템이 있다. 전화 통화 역시 한 번 연결되면 실제 대화가 없더라도 두 지점 사이의 회선이 설정되어 있어 다른 사람이 통화를 걸 수 없다는 특징이 존재한다.
패킷 교환 네트워크 (Packet-Switched Network)
패킷 교환 네트워크는 회선 교환 네트워크의 문제점을 개선한 방식으로, 데이터를 작은 패킷(packet) 단위로 나누어 전송한다. 분리된 패킷은 독립적으로 경로를 선택하여 목적지에 도달하고 재조립된다. 패킷이 송수신되며 거쳐 가는 중간 노드를 패킷 스위치라고 하며, 대표적으로는 라우터와 스위치 등이 있다.
호스트가 전송 경로를 독점하지 않기 때문에 네트워크 자원을 효율적으로 사용할 수 있다는 장점이 있어 현대 인터넷은 대부분 패킷 교환 네트워크를 이용하고 있다.
패킷은 전송하고자 하는 데이터인 페이로드(payload), 부가 정보인 헤더(header)와 트레일러(trailer)를 포함한다. 헤더에는 송수신지를 특정하는 주소와 같은 정보가 담겨있다.
네트워크 참조 모델(network reference model)
네트워크로 메시지를 송수신할 때는 정형화된 여러 단계를 거친다. 이 단계별 과정을 계층으로 나눈 구조를 네트워크 참조 모델(network reference model) 또는 네트워크 계층 모델이라고 부른다.
네트워크 통신 과정을 계층으로 나눈 이유는 계층별 수행해야 할 역할이 정해져 있어 네트워크 구성과 설계가 용이하고, 문제가 발생하더라도 원인을 계층별로 진단하기 수월하기 때문이다.
대표적인 네트워크 참조 모델에는 OSI(Open Systems Interconnection) 모델과 TCP/IP 모델이 있다.
OSI 모델
OSI 모델은 국제표준화기구(ISO)에서 개발한 7계층 모델이다.
1. 물리 계층(Physical Layer)
0과 1로 표현되는 비트 신호를 주고받는 계층으로, 전기적 신호, 광신호, 케이블 등의 전송 매체를 다룬다.
2. 데이터 링크 계층 (Data Link Layer)
네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층이다. 물리 계층에서 전송된 데이터의 오류를 검출하고 수정하며, MAC 주소를 사용해 네트워크 내 송수신지를 특정할 수 있다.
3. 네트워크 계층 (Network Layer)
메시지를 다른 네트워크에 속한 수신지까지 전달하는 계층이다. 데이터 링크 계층과는 달리 네트워크 간의 통신을 다루며, IP 주소로 통신을 원하는 수신지의 호스트와 네트워크를 식별하여 최적의 경로를 결정한다.
4. 전송 계층 (Transport Layer)
패킷의 흐름을 제어하거나 전송 오류를 점검하여 신뢰성 있는 데이터 전송을 보장하는 계층이다.
5. 세션 계층 (Session Layer)
응용 프로그램 간의 세션을 관리하는 계층으로, 세션의 시작, 유지, 종료를 담당한다.
*세션(Session): 통신을 주고받는 호스트의 응용 프로그램 간 연결 상태
6. 표현 계층 (Presentation Layer)
응용 계층과 네트워크 간의 데이터 형식을 맞추는 계층이다. 사람이 이해하는 언어를 컴퓨터가 이해하는 코드로 변환하거나, 암호화, 압축 등의 작업을 수행한다.
7. 응용 계층 (Application Layer)
네트워크 애플리케이션을 사용자와 직접 연결하는 다양한 네트워크 서비스를 제공하는 계층이다.
TCP/IP 모델
TCP/IP 모델은 인터넷 프로토콜(IP)을 기반으로 한 네트워크 모델로, 4계층으로 구성된다. 인터넷과 같은 대규모 네트워크에서 주로 사용되며, 이론보다는 구현에 중점을 둔다.
프로토콜(Protocol)
네트워크 상에서 데이터를 주고받기 위해 합의된 규칙이나 방법을 의미한다. 프로토콜마다 목적과 특징이 존재하며, 패킷의 헤더 내용도 다를 수 있다.
주요 프로토콜: HTTP, HTTPS, FTP, SMTP, IP, TCP, ARP
1. 네트워크 액세스 계층 (Network Access Layer)
네트워크 인터페이스 계층(Network Interface Layer) 또는 링크 계층(Link Layer)이라고도 부르며, OSI 모델의 데이터 링크 계층과 유사한 계층이다. 물리적 네트워크 연결과 데이터 링크를 관리한다.
2. 인터넷 계층 (Internet Layer)
OSI 모델의 네트워크 계층과 유사한 계층으로, IP 주소를 사용하여 데이터 패킷을 전달하거나 패킷의 주소 지정 및 라우팅을 담당한다.
3. 전송 계층 (Transport Layer)
OSI 모델의 네트워크 계층과 유사한 계층으로, 종단 간의 데이터 전송을 관리하고 신뢰성 있는 데이터를 전송한다.
4. 응용 계층 (Application Layer)
OSI 모델의 응용, 표현, 세션 계층 기능을 포함한 계층으로 네트워크 애플리케이션에 직접 서비스를 제공한다.
OSI 모델 vs TCP/IP 모델
특징 | OSI 모델 | TCP/IP 모델 |
---|---|---|
계층 수 | 7계층 | 4계층 |
목적 | 참조 모델로 사용. 표준화와 교육 목적 | 실제 네트워크 프로토콜 스택을 기반으로 설계 |
복잡성 | 세부적 | 단순함 |
사용 사례 | 이론적 설명과 표준화 작업 | 실제 인터넷 및 네트워크 구현 |
계층 간 독립성 | 각 계층이 명확하게 분리됨 | 계층 간의 경계가 덜 명확 |
캡슐화와 역캡슐화
패킷이 송수신될 때는 높은 계층에서 낮은 계층으로 이동하는
캡슐화(Encapsulation)
캡슐화는 데이터가 송신자에서 수신자로 이동할 때, 각 계층에서 헤더 정보를 추가하며 데이터를 포장하는 과정이다.
역캡슐화(Decapsulation)
역캡슐화는 수신자가 데이터를 받을 때, 각 계층에서 헤더를 제거하며 데이터를 추출하는 과정이다.
PDU(Protocol Data Unit)
PDU는 각 네트워크 계층에서 특정 프로토콜에 따라 정의된 데이터 단위이다.
OSI 계층 | PDU |
---|---|
응용 계층 표현 계층 세션 계층 | 데이터(data) |
전송 계층 | 세그먼트(segment), 데이터그램(datagram) |
네트워크 계층 | 패킷(packet) |
데이터 링크 계층 | 프레임(frame) |
물리 계층 | 비트(bit) |
네트워크 계층에서의 패킷(packet)은 송수신 단위를 지칭하기 위해 사용되는 용어이고, 패킷 교환 네트워크에서 사용되는 패킷(packet)은 데이터를 나눠 전송하는 단위를 통칭하는 용어이다.
전송 계층에서 TCP 프로토콜이 사용되었을 경우에는 PDU가 세그먼트이고, UDP가 사용되었을 경우에는 데이터그램이 된다.
추가 미션
MISSION 1
2. 네트워크에 대한 설명으로 옳지 않은 것을 골라 보세요. (p.35)
(1) 네트워크에 대한 이해는 프로그램을 만드는 과정에 도움을 주지 않습니다. (2) 네트워크에 대한 이해는 프로그램을 유지 보수하는 과정에 도움을 줄 수 있습니다. (3) 많은 프로그램이 네트워크를 통해 다른 장비와 상호 작용하며 실행됩니다. (4) 채용 시 네트워크에 대한 지식을 강조하거나 검증하는 기업이 존재합니다.
정답: (1)
MISSION 2
2. 네트워크 참조 모델에 대한 설명으로 옳지 않은 것을 골라 보세요. (p.73)
(1) OSI 모델은 7개의 계층으로 통신 과정을 구분합니다. (2) TCP/IP 모델은 3개의 계층으로 통신 과정을 구분합니다. (3) 네트워크 참조 모델은 네트워크 구성과 설계를 용이하게 합니다. (4) 네트워크 참조 모델은 네트워크 문제 진단과 해결을 용이하게 합니다.
정답: (2). TCP/IP 모델은 4개의 계층(네트워크 액세스 계층, 인터넷 계층, 전송 계층, 응용 계층)으로 통신 과정을 구분한다.
References
[📚book] 혼자 공부하는 네트워크