[모두의 네트워크] 8장. 네트워크의 전체 흐름 살펴보기

SunYerim·2023년 5월 11일
0

네트워크

목록 보기
7/18
post-thumbnail

8장. 네트워크의 전체 흐름 살펴보기

32. 랜 카드에서의 데이터 전달과 처리

1. 네트워크의 구성

  • OSI 모델의 각 계층 간에 데이터가 전달되고 처리되는 전체 과정
    • 물리 계층: 데이터를 전기 신호로 변환하는 데 필요.
    • 데이터 링크 계층: 랜에서 데이터를 송수신하는 데 필요.
    • 네트워크 계층: 다른 네트워크에 있는 목적지에 데이터를 전달하는 데 필요.
    • 전송 계층: 목적지에 데이터를 정확하게 전달하는 데 필요.
    • 응용 계층(세션 계층과 표현 계층 포함): 애플리케이션 등에서 사용하는 데이터를 송수신하는 데 필요.
  • 네트워크의 구성
  • OSI 모델로 나타낸 네트워크 구성

2. 컴퓨터의 데이터가 전기 신호로 변환되는 과정

  • OSI 모델의 전체적인 관점으로 데이터가 전달되고 처리되는 과정을 살펴보자!

  • 컴퓨터의 웹 브라우저에 URL을 입력할 때부터 웹 서버에 도착할 때까지 이루어지는 OSI 모델의 캡슐화와 역캡슐화

    • 컴퓨터에서 OSI 모델의 캡슐화가 이뤄짐.

      • 웹 사이트에 접속해야 하므로 응용 계층에서 시작.
      • 웹 브라우저에 URL을 입력하고 ENTER키를 누르면 캡슐화가 시작됨. 3-way 핸드셰이크는 이미 완료되어 연결이 확립되어 있다고 가정하고 설명
      • 응용 계층에서는 웹 서버에 있는 html 데이터를 얻어야 하므로 GET /index.html HTTP/1.1 ~과 같은 HTTP 메시지를 보냄.
      • HTTP 메시지의 GET은 데이터를 보내달라는 의미
    • 계속해서 위의 데이터가 전송 계층에 전달됨.

      • 전송 계층에서 TCP 헤더가 붙음.
      • TCP 헤더에서 어느 애플리케이션에 데이터를 보내야 하는지 식별하는 데 필요한 번호 ⇒ 출발지 포트 번호, 목적지 포트 번호
      • 출발지 포트 번호: 잘 알려진 포트가 아닌 포트(1025번 이상인 포트) 중에서 무작위로 선택됨. 3500번 포트를 사용했다고 가정하고, 목적지 포트 번호는 HTTP이므로 80번 포트가 됨.
      • 웹 브라우저의 3500번 포트에서 웹 서버의 80번 포트로 데이터를 전송할 수 있게 됨!
      • TCP 헤더를 가진 데이터 => 세그먼트
    • 데이터가 네트워크 계층에 전달됨.

      • 네트워크 계층에서는 IP 헤더가 붙게됨.
      • 네트워크 계층에서는 전송 계층에서 전달받은 세그먼트(데이터)에 IP 헤더를 붙임.
      • IP 헤더에 출발지 컴퓨터와 목적지 서버의 위치가 추가된다. ⇒ 출발지 IP 주소와 목적지 IP 주소
      • IP 헤더가 붙은 데이터를 IP 패킷이라고 함!
    • 데이터가 데이터 링크 계층으로 전달됨.

      • 데이터 링크 계층에서는 이더넷 헤더가 추가됨. (+트레일러(FCS))
      • 이더넷 헤더가 있는 데이터를 이더넷 프레임이라고 함.
      • 이더넷 프레임이 된 후 물리 계층에서 전기 신호로 변환되어 네트워크로 전송됨.
  • 응용 계층부터 데이터 링크 계층까지 헤더가 많이 붙게 되는데, 모두 목적지로 데이터를 전송하는 데 필요하다!

  • 데이터를 물리 계층에서 전기 신호로 변환할 때 랜 카드가 필요함.

33. 스위치와 라우터에서의 데이터 전달과 처리

1. 스위치에서의 데이터 전달과 처리

  • 스위치 A는 데이터 링크 계층에서 데이터를 전기 신호로 변환하여 라우터 A로 전송.

2. 라우터에서의 데이터 전달과 처리

  • 데이터는 스위치 A에서 라우터 A로 전기 신호로 전달

    • 라우터 A에서의 캡슐화와 역캡슐화
      • 스위치 A에서 데이터가 전기 신호로 변환되어 케이블을 통해 흘러가 라우터 A에 도착하면 라우터 A는 데이터 링크 계층에서 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교함.
      • 주소가 같으면 이더넷 헤더와 트레일러를 분리하는 역캡슐화수행.
    • 네트워크 계층에 전달하고 자신의 라우팅 테이블과 목적지 IP 주소를 비교함.
  • 라우터 A의 라우팅 테이블에서 목적지 IP 주소의 경로를 알 수 있으므로 라우팅을 할 수 있음.

    • 현재 출발지 IP주소 192.168.1.10을 라우터의 외부 IP 주소(실제로는 왠(WAN) 측)인 172.16.0.1로 변경.
    • 다음 데이터 링크 계층으로 전달하여 라우터 B로 보내지도록 이더넷 헤더와 트레일러를 붙인 후에 물리 계층에서 데이터를 전기 신호로 변환하여 네트워크로 전달.
  • 데이터는 전기 신호형태로 라우터 A에서 라우터 B로 전달됨.

  • 라우터 B에서 이루어지는 OSI 모델의 역캡슐화와 캡슐화

  • 데이터가 전기 신호로 변환되어 케이블을 통해 라우터 A에서 라우터 B에 도착하면 라우터 B는 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교함.

    • 주소가 같으면 이더넷 헤더와 트레일러를 분리하는 역캡슐화 수행.
    • 다음 네트워크 계층으로 전달되면 자신의 라우팅 테이블과 목적지 IP 주소를 비교함.
  • 라우터 B의 라우팅 테이블을 확인해 보면 목적지 IP 주소의 경로를 알 수 있으므로 라우팅을 할 수 있음.

    • 현재의 출발지 IP 주소 172.16.0.1을 라우터 B의 내부 IP 주소인 192.168.10.1로 변경함.
    • 다음 데이터 링크 계층에 전달하여 스위치에 전달되도록 이더넷 헤더와 트레일러(FCS)를 부틴 후 물리 계층에서 데이터를 전기 신호로 변환하여 네트워크로 전달함.
  • 전기 신호 형태의 데이터가 라우터 B에서 스위치 B로 전달됨.

  • 스위치 B는 전기 신호를 데이터 링크 계층에서 처리하고 웹 서버에 데이터를 전기 신호로 전달함.

34. 웹 서버에서의 데이터 전달과 처리

1. 웹 서버에서의 데이터 전달과 처리

  • 데이터가 전기 신호로 웹 서버에 도착하면 웹 서버는 데이터 링크 계층에서 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소를 비교함. 주소가 같으면 이더넷 헤더와 트레일러를 분리하고 네트워크 계층에 전달함.
  • 네트워크 계층에서는 목적지 IP 주소와 웹 서버의 IP 주소가 같은지 확인함. 주소가 같으면 IP 헤더를 분리하고 전송 계층에 전달함.
  • 전송 계층에서는 목적지 포트 번호를 확인하여 어떤 애플리케이션으로 전달해야 되는지 판단하고 TCP 헤더를 분리하여 응용 계층에 전달함.
  • 아래 그림과 같이 웹 서버의 응용 계층에 도착함 !!
profile
내 안에 있는 힘을 믿어라.

0개의 댓글