[Network] Packet: 패킷의 개념, 생성 원리

2023. 12. 1. 14:00· Computer Science/Network
목차
  1. 💋 패킷
  2. ✔️ 개념
  3. 💋 패킷의 생성 원리
  4. ✔️ 데이터 분할
  5. ✔️ 헤더 추가
  6. ✔️ 데이터 추가
  7. ✔️ 트레일러 추가
  8. ✔️ 전송
  9. ✔️ 수신 및 재조립
  10. 💋 참고자료
반응형
반응형

 

 

💋 패킷

✔️ 개념

패킷은 컴퓨터 네트워크에서 데이터를 전송하는 기본 단위입니다.

The basic unit of communication between a source and a destination in a network.

 

데이터 통신 중에 정보를 주고받을 때, 큰 데이터를 작은 조각으로 나누어 전송하게 되는데, 이 작은 조각이 패킷입니다. 목적지에서는 이 패킷을 재조립해서 정보를 얻습니다. 각 패킷에는 목적지 및 출발지 주소, 전송된 데이터 일부, 오류 검출을 위한 체크섬 등이 포함됩니다.

 

패킷 통신은 신속하고 효율적인 데이터 전송을 가능하게 하며, 중간에 문제가 발생할 경우 손상된 패킷만을 재전송할 수 있습니다. 이는 대규모 네트워크에서 안정적인 데이터 통신을 지원하는 데 기여합니다.

 

 

 

💋 패킷의 생성 원리

이 게시글은 패킷의 생성에 대한 내용이므로, 패킷이 전송되는 단계에 대해서 설명하지만, 생성되는 부분을 위주로 설명하겠습니다.

 

 

패킷은, 프로세스가 socket에 대고 I/O를 시도하면, 메모리에 저장된 Stream 형식의 긴 데이터를 일정 단위로 끊어 segment화한 후에 packet 형태로 포장해서 생성됩니다.

 

✔️ 데이터 분할

전송하려는 데이터인 stream이 MTU(Maximum Transmission Unit), 일반적으로 1500 byte보다 큰 경우 먼저 이 데이터를 작은 조각인 패킷으로 나누어집니다.

 

✔️ 헤더 추가

각각의 패킷에는 헤더라는 메타데이터가 추가됩니다.

이 헤더에는 출발지 및 목적지의 주소(일반적으로 IP 주소), 포트 번호, 전송 제어 정보(TCP의 경우), 패킷 순서 및 오류 검출을 위한 체크섬 등이 포함됩니다.

 

✔️ 데이터 추가

데이터 추가 단계에서는 헤더 뒤에 페이로드에 아까 분할한 데이터를 추가합니다.

TCP와 IP 헤더는 각각 20바이트씩을 차지하는 것이 일반적이기 때문에, MTU가 1500바이트인 경우, 페이로드의 길이는 1460바이트입니다.

 

 

✔️ 트레일러 추가

몇몇 프로토콜에서는 데이터 끝에 트레일러가 추가됩니다. 트레일러에는 추가적인 오류 검출 정보나 기타 메타데이터가 들어갈 수 있습니다.

 

✔️ 전송

네트워크를 통해 패킷은 목적지로 전송됩니다.

 

이 단계에서 패킷은 Frame으로 변환됩니다.

L2 계층은 데이터를 프레임으로 캡슐화하여 네트워크 매체(예. 이더넷)를 통해 전송합니다.

 

이미지 출처: https://www.baeldung.com/cs/networking-packet-fragment-frame-datagram-segment

 

이때 프레임에는 MAC 헤더와 트레일러가 추가되어 물리적인 주소와 오류 검출을 위한 정보를 제공합니다.

 

MAC 헤더에는 송신자와 수신자의 물리적인 주소(MAC 주소)와 같은 정보가 포함되어 있습니다. 예를 들면, 이더넷 프레임의 경우, MAC 헤더에는 송신자의 MAC 주소와 수신자의 MAC 주소가 포함됩니다. 이 정보는 해당 프레임이 물리적인 네트워크에서 어디로 가야 하는지를 결정하는 데 사용됩니다.

 

중간에 여러 네트워크 장비를 거치며 목적지에 도달할 때까지 패킷은 경로를 따라 이동합니다.

 

✔️ 수신 및 재조립

목적지에서는 받은 패킷들을 순서대로 받고, 필요하다면 재조립하여 원래의 데이터를 복원합니다.

 

💋 참고자료

  • https://www.baeldung.com/cs/networking-packet-fragment-frame-datagram-segment
  • https://www.youtube.com/watch?v=Bz-K-DPfioE&list=PLXvgR_grOs1BFH-TuqFsfHqbh-gpMbFoy&index=14

 

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!

 

반응형

'Computer Science > Network' 카테고리의 다른 글

[Network] LAN vs WAN: 얼마나 넓은 범위의 네트워크여야 WAN이 될까?  (0) 2023.11.30
[Network] 네트워크 구조의 큰그림과 용어  (0) 2023.11.28
[네트워크] OSI 7 Layer: 각 계층의 특징을 알아보자!  (2) 2023.06.19
  1. 💋 패킷
  2. ✔️ 개념
  3. 💋 패킷의 생성 원리
  4. ✔️ 데이터 분할
  5. ✔️ 헤더 추가
  6. ✔️ 데이터 추가
  7. ✔️ 트레일러 추가
  8. ✔️ 전송
  9. ✔️ 수신 및 재조립
  10. 💋 참고자료
'Computer Science/Network' 카테고리의 다른 글
  • [Network] LAN vs WAN: 얼마나 넓은 범위의 네트워크여야 WAN이 될까?
  • [Network] 네트워크 구조의 큰그림과 용어
  • [네트워크] OSI 7 Layer: 각 계층의 특징을 알아보자!
깃짱
깃짱
연새데학교 컴퓨터과학과 & 우아한테크코스 5기 백엔드 스타라이토 깃짱
반응형
깃짱
깃짱코딩
깃짱
전체
오늘
어제
  • 분류 전체보기
    • About. 깃짱
    • Weekly Momentum
      • 2024
    • PROJECT
      • AIGOYA LABS
      • Stamp Crush
      • Sunny Braille
    • 우아한테크코스5기
    • 회고+후기
    • Computer Science
      • Operating System
      • Computer Architecture
      • Network
      • Data Structure
      • Database
      • Algorithm
      • Automata
      • Data Privacy
      • Graphics
      • ETC
    • WEB
      • HTTP
      • Application
    • C, C++
    • JAVA
    • Spring
      • JPA
      • MVC
    • AI
    • MySQL
    • PostgreSQL
    • DevOps
      • AWS
      • 대규모 시스템 설계
    • frontend
      • HTML+CSS
    • NextJS
    • TEST
    • Industrial Engineering
    • Soft Skill
    • TIL
      • 2023
      • 2024
    • Linux
    • Git
    • IntelliJ
    • ETC
      • 日本語

블로그 메뉴

  • 홈
  • 깃허브

인기 글

최근 글

태그

  • 조합
  • 우아한테크코스
  • 람다와스트림
  • 우테코5기
  • TDD
  • Stream
  • 예외
  • 상속과조합
  • OOP
  • 스트림
  • 함수형프로그래밍
  • 우테코
  • 컴포지션
  • Java
  • 람다
  • 상속
  • lamda
  • 레벨로그
  • Composition
  • 우아한테크코스5기
hELLO · Designed By 정상우.v4.2.0
깃짱
[Network] Packet: 패킷의 개념, 생성 원리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.