Skip to content
난이도 면접 빈출문제은행 3

네트워크의 큰 그림 ​

네트워크는 여러 기기가 선이나 전파로 이어져 데이터를 주고받는 구조이고, 주고받는 방식은 프로토콜(protocol)이라는 약속으로 정해져 있다. 인터넷은 이 일을 여러 계층으로 나눠 각 계층이 자기 약속만 지키게 만든 구조다.

네트워크를 이루는 것 ​

네트워크에 연결된 기기 하나하나를 노드(node)라고 한다. 그중 PC·스마트폰·서버처럼 사용자 프로그램이 돌아가는 끝단 기기는 호스트(host)라고 해, 중간에서 넘겨 주기만 하는 장비와 구분한다. 노드 사이를 잇는 케이블이나 무선 구간은 링크(link)다.

LAN(Local Area Network, 근거리 통신망)은 집·사무실처럼 가까운 기기들을 잇는 네트워크다. WAN(Wide Area Network, 광역 통신망)은 멀리 떨어진 LAN들을 잇는 넓은 네트워크다. 집의 LAN이 인터넷에 닿으려면 통신사 같은 ISP(Internet Service Provider, 인터넷 서비스 제공자)의 망을 거친다. 인터넷은 수많은 ISP의 망이 서로 이어진 "네트워크들의 네트워크"다.

회선 교환과 패킷 교환 ​

멀리 있는 두 호스트 사이의 데이터는 여러 중간 장비를 거치는데, 그 길을 쓰는 방식은 크게 두 가지다.

회선 교환(circuit switching)은 통신을 시작하기 전에 양 끝 사이 경로를 정하고, 그 경로의 전송 용량을 통째로 예약하는 방식이다. 옛 전화망이 이렇게 동작했다. 예약한 만큼 속도가 일정하게 보장되지만, 아무 말도 하지 않는 동안에도 예약된 용량은 다른 통신이 쓰지 못한다.

패킷 교환(packet switching)은 데이터를 작게 나눠 조각마다 목적지 주소 같은 제어 정보를 붙인 패킷(packet)으로 따로 내보내고, 중간 장비가 패킷마다 다음 경로를 골라 넘기는 방식이다. 링크를 여러 통신이 나눠 쓰므로 낭비가 적고, 한 경로가 끊겨도 다른 길로 돌아갈 수 있다. 대신 패킷이 몰리면 장비 안에서 기다리거나 버려질 수 있어 도착 시각과 도착 여부가 보장되지 않는다. 인터넷은 패킷 교환 방식이고, 이 불확실성은 위쪽 계층의 프로토콜이 메운다. 예를 들어 TCP(Transmission Control Protocol, 전송 제어 프로토콜)는 빠진 패킷을 다시 보내고 순서를 맞춘다.

계층 모델이 필요한 이유 ​

메시지 하나를 멀리 보내려면 비트를 신호로 실어 나르는 일부터 여러 네트워크를 건너 목적지를 찾고, 빠진 조각을 다시 보내고, 앱이 이해하는 형식으로 푸는 일까지 해야 한다. 이 모든 일을 프로그램 하나가 한다면 유선을 무선으로 바꾸는 것만으로도 전체를 고쳐야 한다.

그래서 네트워크 기능을 계층(layer)으로 나눈다. 각 계층은 바로 아래 계층의 기능만 쓰고, 바로 위 계층에 자기 기능을 제공한다. 그러면 한 계층의 구현을 바꿔도 위아래와의 약속만 지키면 나머지는 그대로라, 와이파이든 유선이든 웹 브라우저 코드는 같다. 장애가 나면 "선 문제인가, 주소 문제인가, 연결 문제인가"를 층별로 나눠 확인할 수도 있다.

OSI 7계층과 TCP/IP 4계층 ​

대표 계층 모델은 두 가지다. OSI(Open Systems Interconnection, 개방형 시스템 상호 연결) 모델은 국제 표준화 기구 ISO(International Organization for Standardization)가 만든 7계층 참조 모델로, 개념을 설명하는 기준으로 주로 쓴다. 실제 인터넷은 TCP와 IP(Internet Protocol, 인터넷 프로토콜)를 중심으로 한 TCP/IP 모델을 따른다. RFC(Request for Comments, 인터넷 표준 문서) 1122는 이 모델을 링크·인터넷·전송·응용의 4계층으로 설명한다.

OSI 7계층TCP/IP 4계층하는 일전송 단위
7 응용응용앱에 네트워크 서비스 제공메시지
6 표현(presentation)응용데이터 형식 변환·압축·암호화메시지
5 세션(session)응용통신의 시작·유지·종료 관리메시지
4 전송전송호스트 안의 프로그램끼리 전달세그먼트(segment)·데이터그램(datagram)
3 네트워크인터넷네트워크 사이 경로 찾기패킷
2 데이터 링크링크같은 네트워크 안 전달·오류 검출프레임(frame)
1 물리링크비트를 신호로 바꿔 전송비트

TCP/IP 모델은 OSI의 5~7계층 일을 응용 계층(application layer) 하나가 맡고, 1~2계층은 링크 계층으로 묶는다. 전송 계층(transport layer)의 단위는 TCP를 쓰면 세그먼트, UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)를 쓰면 데이터그램이라고 부른다. 계층별 대표 프로토콜과 장비는 다음과 같다.

  • 응용: 웹 문서를 주고받는 HTTP(HyperText Transfer Protocol)와, 도메인 이름(domain name)을 IP 주소로 바꾸는 DNS(Domain Name System, 도메인 이름 시스템)가 있다.
  • 전송: 연결을 맺고 순서와 누락을 챙기는 TCP, 연결 없이 보내기만 하는 UDP가 있다.
  • 네트워크: IP가 목적지까지 패킷을 넘기고, ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜)가 오류를 알린다. 네트워크 사이를 잇는 장비는 라우터(router)다.
  • 데이터 링크: 유선 LAN 표준인 이더넷(Ethernet)과, IP 주소로 같은 네트워크 기기의 MAC 주소(Media Access Control address, 매체 접근 제어 주소)를 알아내는 ARP(Address Resolution Protocol, 주소 결정 프로토콜)가 있다. 프레임을 목적지 MAC 주소가 연결된 포트(port)로만 넘기는 장비는 스위치(switch)다.
  • 물리: 케이블·무선 신호가 여기에 속하고, 받은 신호를 모든 포트로 그대로 뿌리는 허브(hub)가 대표 장비다.

이어지는 내용은 네트워크의 큰 그림 2에서 다룬다.

면접 포인트 ​

  • "회선 교환과 패킷 교환의 차이는?" → 회선 교환은 경로 용량을 예약해 품질이 일정하지만 쉬는 동안에도 낭비. 패킷 교환은 링크를 나눠 써 효율적이지만 몰리면 지연·손실. 인터넷은 패킷 교환.
  • "OSI 7계층을 말해 보세요" → 물리·데이터 링크·네트워크·전송·세션·표현·응용. 실제 인터넷은 TCP/IP 4계층(링크·인터넷·전송·응용).
  • "계층을 왜 나누나요?" → 계층별로 독립적으로 바꿀 수 있고, 표준화가 쉽고, 장애 범위를 층별로 좁힐 수 있다.
  • 일반 스위치를 3계층, 라우터를 2계층 장비로 말하면 틀린다. 스위치는 데이터 링크, 라우터는 네트워크 계층(network layer)이다. 라우팅(routing) 기능까지 넣은 L3 스위치도 있지만, 보통 스위치라고 하면 2계층 장비를 뜻한다.

관련 문서