HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📖
공부한 책
/
1%의 네트워크 원리
1%의 네트워크 원리
/2장 TCP/IP의 데이터를 전기 신호로 만들어 보낸다/IP와 이더넷의 패킷 송수신 동작/
서버의 응답 패킷을 IP에서 TCP로 넘긴다

서버의 응답 패킷을 IP에서 TCP로 넘긴다

  • 서버에서 반송된 패킷의 타입은 0800(MAC 헤더 이더타입)이므로 LAN 드라이버는 TCP/IP의 프로토콜 스택에 패킷을 건넴
  • 그러면 IP 담당 부분은 IP 헤더 부분부터 조사하여 포맷에 문제가 없는지 확인하고 수신처 IP 주소를 조사 & 일치하면 수신
  • 일치하지 않으면 오류가 있는 것 → ICMP 라는 메시지를 사용하여 통신 상대에게 오류를 통지하게 되어 있음
    • notion image
 
  • 수신처 IP주소가 올바르면 수신하고 난 뒤 한가지 할일이 더있음 (조각된 패킷을 조립하는 과정 = Reassembling)
    • IP 프로토콜에는 조각 나누기(fragmentation, 프래그먼테이션)라는 기능이 있음
    • 패킷을 운반하는 도중에 있는 통신 회선이나 LAN 중에는 짧은 패킷만 다룰 수 있는 것이 있어서 패킷을 분할하는 경우가 있음
    • 만약 수신한 패킷이 분할된 것이면 IP 담당 부분은 그것을 원래 패킷으로 되돌림
    • 분할된 패킷은 IP 헤더에 있는 플래그 라는 항목을 보면 알 수 있음
    • 분할된 것이면 IP 담당 내부의 메모리에 일시 보관 & IP 헤더의 ID 정보에 같은 값을 가진 패킷이 도착하기를 기다림
    • 프래그먼트 오프셋 이라는 항목에는 패킷이 원래 패킷의 어느 위치에 있었는지를 나타내는 정보가 있음
    • 이 정보를 바탕으로 분할된 패킷이 전부 도착하기를 기다렸다가 패킷을 원래의 모습으로 되돌림 ( = 리어셈블링 reassembling)
  • 리어셈블링 끝나면 패킷 TCP 에게 건네줌
  • 그러면 TCP 담당 부분은 IP 헤더에 기록된 수신처 IP 주소와 송신처 IP 주소, TCP 헤더에 기록된 수신처 포트 번호 및 송신처 포트 번호의 네 가지 항목을 조사하여 해당하는 소켓을 찾음
  • 해당하는 소켓을 찾아내면 통신 진행 상태를 보고 상황에 따라 적절한 동작 실행