네트워크기초 · 15분 읽기

OSI 계층·TCP/IP와 홉별 캡슐화

계층의 역할을 주소·포트·프로토콜 식별자와 실제 패킷의 변화로 연결한다. 단말·스위치·라우터를 통과하는 한 요청을 통해 신호, 프레임, 패킷, 연결, 응용 메시지의 범위를 구분한다.

개념부터 찾아보기

정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.

이 노트에서 설명할 수 있게 되는 것

  1. 계층별 식별자와 전달 범위를 구분한다.
  2. 라우터 전후에서 유지·변경되는 헤더를 추적한다.
  3. 서비스 실패를 관측 가능한 계층 문제로 나눈다.

01모델은 기능을 분해하는 기준이다

  • OSI는 통신 기능을 물리·데이터링크·네트워크·전송·세션·표현·응용의 일곱 계층으로 나누는 참조 모델이다. 실제 장비 속에 독립된 프로그램 일곱 개가 있다는 뜻이 아니다.
    • 은 보통 링크·인터넷·전송·응용으로 묶으며 OSI의 상위 세 계층에서 설명하는 기능이 응용 프로그램과 라이브러리에 함께 구현될 수 있다.
  • 계층의 핵심은 아래 계층이 위 계층에 어떤 전달 서비스를 제공하고, 같은 계층의 상대가 어떤 규칙으로 의미를 해석하는지 구분하는 데 있다. HTTP 메시지는 서버의 HTTP 처리기가 해석하지만 그 바이트를 라우터가 모두 이해해야 전달할 수 있는 것은 아니다.
    • 방화벽·프록시·터널처럼 여러 계층을 함께 처리하는 기능도 있어 장비 이름 하나로 모든 기능을 단정하지 않는다.

02물리 계층은 신호와 연결 조건을 다룬다

  • 에서는 케이블과 커넥터, 광 모듈, 전기·광 신호, , 타이밍과 링크 속도가 문제가 된다. 비트열이 어떤 신호로 표현되고 상대가 그 경계를 어떻게 받아들이는지를 다룬다.
    • 같은 프레임을 구리선과 광섬유로 보낼 수 있는 것은 상위 형식과 실제 물리 표현이 분리되어 있기 때문이다.
  • 케이블이 꽂혀 있고 link가 up이라는 것은 인접 물리 연결의 일부 조건이 성립했다는 뜻이다. 올바른 , IP 주소, , 웹 서비스가 준비되었다는 뜻은 아니다.
    • 반대로 애플리케이션이 403 응답을 보냈다면 그 요청은 응답을 생성할 수 있는 지점까지 전달된 것이므로 케이블 단선만으로 그 응답을 설명할 수 없다.

03링크 계층은 인접 전달의 경계를 정한다

  • 은 목적지·출발지 MAC, Type 또는 Length, payload, FCS 등을 사용해 인접 링크의 프레임을 표현한다. 스위치는 안에서 출발지 MAC을 학습하고 목적지 MAC으로 출력 포트를 고른다.
    • 브로드캐스트와 unknown unicast의 범위도 과 전달 포트 상태에 제한된다.
    • 스위치를 여러 번 통과한다는 이유만으로 IP TTL이 감소하지 않는다.
  • 오류 검출·재전송의 범위는 링크 기술마다 다르다. 의 FCS 실패 프레임 폐기는 재전송과 다른 절차이며, 무선 링크의 매체 접근·ACK 동작을 유선 에 그대로 적용하지 않는다.
    • 는 다음 홉과 링크 주소의 대응을 구하지만 에서 IP 헤더 안에 들어가는 것이 아니라 EtherType으로 직접 구분된다.

04인터넷 계층은 네트워크를 건너 목적지를 찾는다

  • ·는 여러 링크를 거쳐 종단 주소로 패킷을 전달하는 데 사용된다. 라우터는 목적지 주소에 맞는 경로를 선택하고 다음 홉을 해석한다.
    • 의 Protocol, 의 Next Header는 payload를 어떤 상위 프로토콜로 해석할지 연결하는 식별자이다.
    • Protocol 6은 , 17은 이며 포트 번호와 다른 종류의 번호이다.
  • IP는 자체적으로 순서 복구와 재전송을 제공하지 않는 best-effort 전달이다. 라우터의 TTL·Hop Limit 처리는 무한 루프를 제한하고, 는 오류·제어 정보를 돌려준다.
    • 가 있다고 IP가 신뢰적 연결로 바뀌는 것은 아니다.
    • 목적지에 도달하는 한 방향의 경로와 응답이 돌아오는 경로도 독립적으로 필요하다.

05전송 계층과 응용 계층의 역할

  • 는 연결 상태·순서 번호·ACK·재전송 등을 통해 바이트 스트림을 제공한다. 는 포트·길이·체크섬을 가진 데이터그램을 전달하며 필요하면 상위 응용이 거래 번호·타임아웃·재시도를 구현한다.
    • 두 경우 모두 IP 주소와 전송 프로토콜, 양쪽 포트가 통신을 구분한다.
    • 포트 번호 자체가 사용자의 인증이나 프로그램 정체를 보증하지는 않는다.
  • HTTP·· 같은 응용 프로토콜은 메시지 필드와 요청·응답 규칙을 정의한다. 데이터 표현, 암호화, 세션 유지 등의 기능은 여러 계층에 걸쳐 구현될 수 있다.
    • 를 OSI의 한 상자에 넣는 암기만으로 위의 와 QUIC의 구성을 설명할 수 없으므로 실제 와 연결 종료 지점을 기준으로 본다.
원리 심화

06수신 데이터가 소켓에 도달하는 식별자 사슬

  • 수신 장치는 목적지 MAC과 을 바탕으로 프레임의 수용·전달을 결정한다. II의 EtherType은 다음 해석기를 선택하는 값이며 포트까지 직접 식별하지 않는다.
  • Protocol=6이면 , 17이면 에 넘긴다. 는 Next Header 사슬을 따라 확장 헤더를 처리한 뒤 에 도달하므로 고정 바이트 위치만으로 포트를 읽으면 안 된다.
  • 연결은 출발지·목적지 IP와 포트의 조합으로 구분한다. 같은 서버 443번 포트에 접속한 두 클라이언트도 출발지 주소나 포트가 달라 별도의 연결 상태를 가진다.
  • 리스닝 소켓은 새 연결을 받는 진입점이고, 확립된 연결의 상태에는 양 끝점과 순서 번호·윈도우가 들어간다. 서비스 포트 하나가 연결 하나만 의미하지 않는다.
  • IP 주소는 체크섬의 의사 헤더에도 사용된다. 계층을 나누어도 검증에 필요한 주소·길이·오류 정보는 인접 계층의 인터페이스를 통해 전달된다.

07PDU와 헤더·트레일러의 중첩

  • 응용이 만든 바이트는 세그먼트 또는 데이터그램의 데이터가 된다. 그 전송 단위는 IP 패킷의 payload가 되고, IP 패킷은 프레임의 데이터가 된다.
    • 은 헤더 외에 뒤쪽 FCS도 있지만 나 가 모두 같은 형태의 트레일러를 가지는 것은 아니다.
    • 는 의미와 처리 경계를 설명하는 개념이며 운영체제가 매 단계마다 별도 메모리 복사를 해야 한다는 구현 규칙도 아니다.
  • 짧은 응용 데이터 20바이트는 헤더 8을 더해 28바이트, 옵션 없는 헤더 20을 더해 IP 길이 48바이트가 된다. 비태그 헤더 14와 FCS 4를 더하면 66바이트 MAC 프레임이다.
    • Preamble·SFD와 IFG는 이 프레임 길이 밖에 있다.
    • 상위 데이터가 더 작아 최소 크기 미달이면 패딩이 필요하다.
    • IP· 길이 필드가 그 패딩을 응용 데이터로 세지는 않는다.

설명과 함께 보는 보조 도식

처리 과정

캡슐화와 다음 홉 전달

하나의 응용 요청이 송신·중계·수신되는 논리적 흐름.

전체 단계를 한 번에 읽기
  1. 01

    서비스 요청

    전송할 메시지가 생성된다.

  2. 02

    전송 단위 구성

    응용 데이터에 전송 계층 정보가 붙는다.

  3. 03

    다음 홉 결정

    IP 경로가 출력 인터페이스를 정한다.

  4. 04

    링크 전달

    인접 수신자를 향한 프레임을 보낸다.

  5. 05

    중계

    라우터는 다음 링크의 프레임으로 다시 감싼다.

  6. 06

    역캡슐화

    각 계층의 검사를 거쳐 서비스에 전달한다.

학습용 동작 모식도. 실제 구현의 동시 처리와 예외 흐름은 축약했다.

08온링크와 원격 목적지로 보내는 순서

  • A는 192.0.2.10/24, 게이트웨이는 192.0.2.1이다. 같은 링크의 목적지는 192.0.2.20, 원격 목적지는 203.0.113.20으로 가정한다.
  • 없는 일반 에서는 종단 IP와 포트·순서 번호가 유지된다. 단순 L2 스위칭은 종단 MAC 쌍도 바꾸지 않는다.
  1. 이름으로 요청했다면 로 IP를 얻은 뒤 목적지에 맞는 경로를 찾는다. 직접 연결된 목적지인지 게이트웨이를 거쳐야 하는지 결정한다.
  2. 같은 링크의 .20이면 .20을, 원격 주소이면 게이트웨이 .1을 한다. 이름 해석과 다음 홉 MAC 해석은 별도다.
  3. IP 목적지는 최종 서버로 유지한다. 목적지는 선택한 다음 홉의 MAC으로 채운다.
  4. 라우터는 수신 프레임을 벗겨 경로를 조회한다. TTL을 줄이고 헤더 체크섬을 갱신한다.
  5. 출력 인터페이스와 다음 홉의 MAC으로 새 프레임을 만든다. 이후 라우터에서도 링크별 프레임과 종단 IP를 구분한다.
LEARN THROUGH PRACTICE

실습: 두 라우터 사이에서 IP와 링크 주소의 역할 나누기

목적지 IP는 끝까지 유지하면서 각 링크의 전달 방식이 바뀌는 과정을 구성도와 첫 홉 명령으로 추적한다.

실습 구성과 전제

  • 두 LAN은 192.168.0.0/24와 192.168.2.0/24이며 중간 192.168.1.0/24는 Serial 링크다.
  • 명령은 실제 구성도의 정상 동작을 재현하도록 정리한 예시다. 그림만으로 통신 성공을 주장하지 않는다.
  1. 주소·마스크로 첫 홉 결정

    • PC1의 192.168.0.2/24에서 PC2의 192.168.2.2는 다른 네트워크다. 따라서 PC2를 직접 하지 않고 게이트웨이 192.168.0.1을 찾는다.
    • 최종 목적지 PC2와 다음 홉 R2의 192.168.1.2는 서로 다른 역할이다.
    text
    PC1> show ip
    PC1> ip 192.168.0.2/24 192.168.0.1

    실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.

    ARP 주소 해석과 응답 · GNS 실습원본 크기로 보기 ↗
    • 양쪽 PC는 서로 다른 /24에 있고 LAN마다 Hub가 있다.
    • R1–R2는 Serial 연결이며 양끝 LAN의 Ethernet과 다른 링크다.
    확인 기준

    게이트웨이가 없거나 마스크가 다르면 라우터 설정 이전의 로컬 판단부터 달라진다.

  2. 목적지와 반환 경로 연결

    • R1은 PC2 LAN을 R2로 보내고 R2는 PC1 LAN으로 돌아가는 경로를 알아야 한다. 기본 경로가 없을 때 한쪽만 등록하면 요청 또는 응답이 끊긴다.
    • 경로표의 프리픽스와 next hop은 스위치 MAC 학습표와 별개다.
    text
    R1(config)# ip route 192.168.2.0 255.255.255.0 192.168.1.2
    R2(config)# ip route 192.168.0.0 255.255.255.0 192.168.1.1
    R1# show ip route
    R2# show ip route

    실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.

    확인 기준

    R1·R2에서 서로 반대 LAN의 S 경로와 중간 연결 경로를 확인한다.

  3. ICMP와 링크 헤더 별도 관찰

    • LAN에서 는 게이트웨이의 주소를 준비하고 는 IP 안에서 전달된다. 가 없는 이 구성에서는 출발지·목적지 IP가 유지된다.
    • MAC은 링크마다 바뀔 수 있다. Serial 구간에 MAC 교체 설명을 그대로 적용하지 않는다.
    text
    PC1> ping 192.168.2.2
    Wireshark 표시 필터: arp || icmp

    구성도의 확인 명령과 표시 필터

    확인 기준

    왕복 응답과 양끝 캡처를 확인한다. 링크가 초록색이라는 사실만으로 성공을 판단하지 않는다.

실습에서 확인한 동작 원리

  • 은 다음 홉을 정하고 링크 계층은 그 다음 홉까지 전달한다.
  • 요청과 반환 경로를 따로 설명해야 성공 조건을 완성할 수 있다.

설정·출력 추가로 확인하기 13장

아래 화면을 펼쳐 위 실습의 설정값, 명령과 확인 기준을 비교해 보세요. 각 묶음은 별도 실습 기록입니다.

실습 화면 묶음 01 5장
4/17 - 네트워크 첫 수업 · 구성·동작 참고 화면 4원본 크기로 보기 ↗
  • 「Physical layer 매개체 - 케이블」 문맥에 삽입된 원본 구성·동작 참고 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
4/17 - 네트워크 첫 수업 · 구성·동작 참고 화면 5원본 크기로 보기 ↗
  • 「Physical layer 매개체 - 케이블」 문맥에 삽입된 원본 구성·동작 참고 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
4/17 - 네트워크 첫 수업 · 구성·동작 참고 화면 6원본 크기로 보기 ↗
  • 「Physical layer 매개체 - 케이블」 문맥에 삽입된 원본 구성·동작 참고 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
4/17 - 네트워크 첫 수업 · 설정·관리 화면 3원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 설정·관리 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
4/17 - 네트워크 첫 수업 · 실습·개념 참고 화면 8원본 크기로 보기 ↗
  • 「Data Link layer : MAC 주소 (48bit - 24bit OUI + 24bit Serial)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 02 1장
계층별 네트워크 연결 실습원본 크기로 보기 ↗
  • 학습 원본 · 계층별 네트워크 연결 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 03 1장
계층별 네트워크 연결 실습원본 크기로 보기 ↗
  • 학습 원본 · 계층별 네트워크 연결 실습의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 04 1장
계층별 네트워크 연결 실습 · 어제 네트워크 보충원본 크기로 보기 ↗
  • 학습 원본 · 계층별 네트워크 연결 실습의 어제 네트워크 보충에 수록된 화면·도식이다.
실습 화면 묶음 05 4장
네트워크 관리사 -  필기 · 실습·개념 참고 화면 1원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
네트워크 관리사 -  필기 · 실습·개념 참고 화면 2원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
네트워크 관리사 -  필기 · 실습·개념 참고 화면 4원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
네트워크 관리사 -  필기 · 실습·개념 참고 화면 6원본 크기로 보기 ↗
  • 문서 문맥에 삽입된 원본 실습·개념 참고 화면이다. OSI 계층·TCP/IP와 홉별 캡슐화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 06 1장
장치 간 연결과 네트워크 동작 구조 · 네관사 필기원본 크기로 보기 ↗
  • 학습 원본 · 장치 간 연결과 네트워크 동작 구조의 네관사 필기에 수록된 화면·도식이다.
동작·명령 참고 문서
예제로 추적

09동일한 서버 포트를 사용하는 두 연결 추적

  1. 192.0.2.10:51000과 192.0.2.10:51001이 198.51.100.20:443에 각각 연결을 만든 계산용 예다. 서버 IP와 포트가 같아도 두 연결의 4-tuple은 다르다.
  2. 첫 연결에서 응용 데이터 100바이트를 보낸다. 옵션 없는 20바이트와 20바이트를 더하면 IP Total Length는 140바이트다.
  3. 태그 없는 에서는 헤더 14바이트와 FCS 4바이트를 더해 158바이트가 된다. FCS를 제외하는 일반 캡처라면 저장된 프레임 길이는 154바이트일 수 있다.
  4. 와 터널이 없는 경로라면 IP 주소와 포트는 유지되고 TTL 및 체크섬이 변한다. 다음 링크에는 새로운 출발지·목적지 MAC과 FCS가 사용된다.
  5. 서버가 헤더의 목적지 443을 읽은 뒤 상대 192.0.2.10:51000인 연결 상태를 찾는다. 51001 연결의 순서 번호나 버퍼와 혼합하지 않는다.

10한 요청의 관측표를 완성하기

  • A에서 R1을 거쳐 서버 B로 가는 없는 예에서는 A 송신 프레임의 MAC 쌍이 A→R1 내부 인터페이스이고, R1 출력 프레임은 R1 외부 인터페이스→다음 홉이다. 어느 쪽 캡처에서도 IP 쌍은 A→B이며 TTL은 홉 수만큼 달라진다.
    • 서버가 직접 연결된 출력 링크라면 다음 홉 MAC이 B의 것이다.
  • 가 있으면 주소·포트 대응을 추가하고 터널이 있으면 inner와 outer 헤더를 나눈다. 프록시가 연결을 종료하면 클라이언트↔프록시와 프록시↔서버의 두 연결이 생긴다.
    • 동일 서비스 요청이라는 이유만으로 모든 위치에서 같은 5-tuple이 관찰되어야 한다고 가정하면 안 된다.
    • 캡처 위치를 적지 않은 주소 표는 원인 분석에서 혼동을 만든다.
관측 위치 목적지IP 목적지TTL
A 송신선택된 게이트웨이 MAC203.0.113.20예: 64
R1 수신R1 수신 MAC203.0.113.2064
R1 송신출력 링크의 다음 홉 MAC203.0.113.2063

11계층별 성공 증거를 기술 산출물로 남기기

  • 실습 보고서에는 링크 상태·과 MAC 학습·/ND·경로·전송 응답·응용 결과를 서로 다른 증거로 기록할 수 있다. Link up, Reply 수신, next-hop 경로 존재, SYN/ACK 수신, HTTP 응답 코드는 서로 다른 사실을 보여준다.
    • 뒤 단계의 성공을 앞 단계의 검사 목록으로 대체하거나 앞 단계만 성공했다고 전체 서비스를 정상이라고 쓰지 않는다.
  • 취업 에서 유용한 산출물은 계층 이름을 나열한 그림보다 주소 계획과 토폴로지, 요청의 홉별 필드 변화, 실패 지점의 패킷·출력, 수정 후 같은 조건의 비교이다. 무엇을 직접 구성했고 어떤 관측으로 원인을 배제했는지를 분리하면 실습을 재현할 수 있는 기술 설명이 된다.
검증·예외

12어느 계층까지 성공했는지 증거로 좁히기

  • 다음 홉 MAC을 얻었다는 사실은 로컬 링크에서 해당 이웃을 식별했다는 증거다. 원격 서버 경로, 서버의 리스닝 상태, 응용 인증 성공까지 입증하지는 않는다.
  • SYN에 대응하는 SYN·ACK는 그 시점에 왕복 통신과 수신 연결 처리가 진행됐다는 증거다. 이후 큰 데이터가 문제로 막히거나 응용 처리가 실패할 수 있다.
  • 서버의 HTTP 오류 응답을 받았다면 해당 요청에 대한 응답 경로는 동작했다. 오류 코드·요청 대상·인증 조건으로 범위를 좁히는 편이 케이블부터 다시 조사하는 것보다 정확하다.
  • 중간 캡처에 패킷이 없다는 사실은 그 구간의 손실과 캡처 누락을 모두 포함한다. 필터·수집 위치·드롭 통계를 통제한 뒤 인접 관찰점의 동일 흐름과 대조한다.
  • 앞뒤의 주소·포트나 터널 안팎의 IP가 달라지면 변환표로 흐름을 연결한다. 주소가 다르다는 이유만으로 서로 무관한 패킷으로 분류하지 않는다.
READ · OBSERVE · CONNECT

함께 보는 학습 자료

아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.

실습 가이드

Cisco Packet Tracer: Simulation Mode

와 의 선후 관계를 단계별 와 이벤트 목록으로 확인한다. 시뮬레이션 기록과 실제 선로 캡처를 구분한다.

읽으면서 확인할 것
  • Capture / Forward와 Auto Capture / Play
  • Simple 이전의 사건
  • Filters와 상세
학습 확인

이해했는지 확인하기

  • 프레임의 목적지 MAC과 패킷의 목적지 IP는 각각 누구를 가리키는가?
  • 라우터 통과 전후 어떤 헤더가 달라지는가?
  • 현재 확인한 성공이 어느 계층까지의 성공인가?

함께 확인할 공식 자료