Packet 변형 과정

Violet_Evgadn·2023년 4월 26일
0

네트워크

목록 보기
2/37

클라이언트

  1. 사용자가 URL을 입력한다.
  1. 웹 브라우저는 URL을 해석하여 HTTP 메시지를 만들고 Socket 라이브러리에 건네준다.
  1. Socket 라이브러리는 HTTP Message를 송신 데이터로 Protocol Stack에게 건네준다.
  1. TCP는 송신 데이터를 패킷 길이에 맞게 분할하고 TCP Header를 추가하여 IP에 건네준다.
  1. 패킷에 IP Header와 MAC Header를 부가한 뒤 LAN 드라이버에게 건네준다.

    • MAC Address : 가장 가까운 라우터의 MAC 주소
    • IP Address : 웹 서버의 IP 주소
  2. (프로토콜 스택 안에 있는) IP에서 송신 패킷을 받고 LAN 어댑터에게 패킷을 주며 송신하도록 지시한다.

    • MAC Address : 가장 가까운 라우터의 MAC 주소
    • IP Address : 웹 서버의 IP 주소
  3. LAN 어댑터가 패킷을 전기 신호로 변환한 뒤 트위스트 페어 케이블에 내보낸다.


클라이언트 LAN

  1. 전기 신호가 트위스트 페어 케이블을 통해 리피터 허브에 도착한다.
  1. 리피터 허브가 전기 신호를 모든 포트로 보내면 이들이 스위칭 허브에 도착한다.
  1. 스위칭 허브는 도착한 패킷의 수신자 MAC 주소와 허브가 가지고 있는 주소 테이블을 대조하여 출력할 곳의 포트를 판단하고 포트에 패킷을 보낸다.
    • Request를 인터넷으로 보내는 것은 라우터의 역할인데 어떻게 가장 가까운 라우터로 패킷을 보낼지 결정하는 과정
    • MAC 주소 : 가장 가까운 라우터의 MAC 주소
    • IP 주소 : 웹 서버의 IP 주소
  1. 라우터는 도착한 패킷의 수신자 IP 주소와 라우터가 가지고 있는 라우팅 테이블을 대조하여 출력 포트를 판단하고 이 포트에 패킷을 보낸다.
    • IP 주소 : 웹 서버의 IP 주소
  1. 라우터가 인터넷에 출력한 패킷에는 PPPoE 헤더와 PPP 헤더가 붙어 있다.
    • MAC 주소 : BAS의 MAC 주소
    • IP 주소 : 웹 서버의 IP 주소
  1. ADSL 모뎀에 도착한 패킷은 ATM 셀로 분할된다.
  1. 만들어진 ATM 셀들은 전기 신호로 변환되어 전화선을 통해 내보내지며 전화국 또는 아파트 안에 있는 통신실의 DSLAM에 도착함

액세스 회선

  1. DSLAM은 전달받은 전기 신호를 ATM 셀로 복원시킨 뒤 BAS(광대역 액세스 서버)에 내보낸다.
  1. BAS는 ATM 셀을 패킷 형태로 만들고 수신자 주소(웹서버)를 살펴본 뒤 패킷을 중계한다.
    • IP 주소 : 웹 서버의 IP 주소
  1. BAS가 중계한 패킷에 L2TP 헤더가 붙어 터널 안으로 흘러간다.
    • IP 주소 : 웹 서버의 IP 주소
  1. 터널링용 라우터에 패킷이 도착하면 L2TP 헤더와 PPP 헤더가 분리되어 인터넷을 통과한다.
    • IP 주소 : 웹 서버의 IP 주소

웹 서버 LAN

  1. 서버측 LAN에 존재하는 방화벽이 패킷을 검사하여 패킷을 통과시킬지 차단할지 결정한다.

    • MAC 주소 : 캐시 서버 또는 웹 서버의 MAC 주소
    • IP 주소 : 웹 서버의 IP 주소
  1. 방화벽을 통과한 패킷을 캐시 서버가 가로챈 뒤 캐시 서버가 페이지 혹은 데이터를 저장하고 있을 경우 캐시 서버가 웹 서버를 대신하여 Respond를 되돌려 보냄

    • MAC 주소 : 캐시 서버 또는 웹 서버의 MAC 주소
    • IP 주소 : 웹 서버의 IP 주소
  1. 캐시 서버에 페이지가 저장되어 있지 않을 경우 웹 서버에 Request가 도달한다.

    • MAC 주소 : 웹 서버의 MAC 주소
    • IP 주소 : 웹 서버의 IP 주소

웹 서버

  1. LAN 어댑터와 LAN 드라이버가 연대하여 패킷을 수신하고 프로토콜 스택에 건네준다.

    • IP 주소 : 웹 서버의 IP 주소
  1. 프로토콜 스택은 IP 헤더와 TCP 헤더를 검사하여 오류가 없으면 패킷에서 HTTP Message 조각을 추출해 원래 모습(HTTP Message)으로 되돌린다.
  1. 원래 메시지로 돌아온 HTTP 메시지는 Socket 라이브러리를 통해 웹 서버에 전달된다.
  1. 웹 서버는 HTTP 메시지 내용을 해석하고 이에 맞게 데이터를 추출한 뒤 클라이언트에 Respond 형식으로 전달
profile
혹시 틀린 내용이 있다면 언제든 말씀해주세요!

0개의 댓글