본문 바로가기
개념 정리/CS

네트워크 : 네트워크의 전체 흐름 살펴보기

by 매진2 2023. 11. 20.
728x90

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

a. 네트워크의 구성

응용 계층 (세션 계층 + 표현 계층) 애플리케이션 등에서 사용하는 데이터를 송수신 하는데 필요
전송 계층 목적지에 데이터를 정확하게 전달하는 데 필요
네트워크 계층 다른 네트워크에 있는 목적지에 데이터를 전달하는데 필요
데이터 링크 계층 랜에서 데이터를 송수신하는데 필요
물리 계층 데이터를 전기 신호로 변환하는데 필요
  • 192.168.1.@, 172.16.0.@, 192.168.10.@로 네트워크를 3개
  • 스위치 : 물리 계층, 데이터 링크 계층
  • 라우터 : 물리 계층, 데이터 링크 계층, 네트워크 계층

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

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

b-1. 응용 계층

  • 웹 사이트에 접속해야하므로 응용계층에서 시작
    • 웹 브라우저에 URL 입력 후 enter 키 누르면 캡슐화 시작
    • 3-way 핸드셰이크는 이미 완료되어 연결이 확립되어 있다는 가정
  • 컴퓨터에서 웹 프라우저 이용해 웹서버의 웹사이트에 접속하기 위한 요청을 보낼 때 사용하는 것이 HTTP 프로토콜
    • 웹서버에 요청 보낼 때는 HTTP 사용
  • 응용 계층에서는 웹 서버에 있는 html 데이터 얻어야하므로 GET/index.html HTTP/1.1 과 같은 HTTP 메세지 전송

b-2. 전송 계층

  • 데이터가 전송 계층으로 전달되어 TCP 헤더 붙여 세그먼트가 됨
  • 출발지 포트 번호(웹 브라우저)는 잘알려진 포트가 아닌 포트(1025번 이상인 포트) 중에서 무작위 선택
  • 목적지 포트번호는 HTTP이므로 80번 포트

b-3. 네트워크 계층

  • 데이터가 네트워크 계층으로 전달되어 IP 헤더를 붙여 IP 패킷이 됨

b-4. 데이터 링크 계층

  • 데이터가 데이터 링크 계층으로 전달되어 이더넷 헤더와 트레일러(FCS)가 붙어 이더넷 프레임이 됨

b-5. 물리계층

  • 물리계층에서 전기신호로 변환되어 네트워크로 전송됨
  • 데이터를 전기신호로 변환할때 랜카드 사용

 

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

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

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

 

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

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

 

 

  • 라우터 A의 라우팅 테이블에서 목적지 IP 주소의 경로 알 수 있으므로 라우팅 가능
  • 현재 출발지 IP 주소 192.168.1.10을 라우터의 외부 IP 주소(실제로는 왠 측)인 172.16.0.1로 변경
  • 데이터 링크 계층으로 전달해 라우터 B로 보내지도록 이더넷 헤더와 트레일러 붙인 후 물리 계층에서 데이터를 전기 신호로 변환해 네트워크로 전달
  • 데이터는 전기신호 형태로 라우터 A에서 라우터 B로 전달

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

  • 데이터가 전기신호로 변환되어 케이블을 통해 라우터 A에서 라우터 B에 도착하면 라우터 B는 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소 비교
  • 주소가 같으면 이더넷 헤더와 트레일러를 분리하는 역캡슐화 수행
  • 네트워크 계층으로 데이터 전달되면 자신의 라우팅 테이블과 목적지 IP 주소 비교
  • 라우터 B의 라우팅 테이블을 확인하면 목적지 IP 주소의 경로를 알 수 있으므로 라우팅 가능
  • 현재의 출발지 IP 주소 172.16.0.1을 라우터 B의 내부 IP 주소(실제 랜 측)인 192.168.10.1로 변경
  • 데이터를 데이터 링크 계층에 전달해 스위치에 전달되도록 이더넷 헤어와 트레일러를 붙여 물리계층에서 데이터를 전기신호로 변환해 네트워크로 전달

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

  • 전기 신호 형태의 데이터가 라우터 B에서 스위치 B로 전달됨
  • 전기신호를 데이터 링크 계층에서 처리하고 웹 서버에 데이터를 전기 신호로 전달

 

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

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

a-1. 웹서버에서 이뤄지는 OSI 모델의 역캡슐화

  • 데이터가 전기신호로 웹 서버에 도착하면 웹 서버는 데이터 링크 계층에서 이더넷 프레임의 목적지 MAC 주소와 자신의 MAC 주소 비교
  • 주소가 같으면 이더넷 헤더와 트레일러 분리하고 네트워크 계층에 전달

a-2. 네트워크 계층

  • 목적지 IP 주소와 웹 서버의 IP 주소가 같은지 확인
  • 주소가 같으면 IP 헤더를 분리하고 전송 계층에 전달

a-3. 전송 계층

  • 목적지 포트 번호를 확인하여 어떤 애플리케이션으로 전달해야하는지 판단하고 TCP 헤더를 분리해 응용 계층에 전달

a-4. 응용계층 

  • 웹서버에 도착

b. 정적 라우팅과 동적 라우팅

  • 라우팅 : 패킷을 목적지 컴퓨터까지 보낼 때 최적의 경로를 선택해 전송하는 것

b-1. 정적 라우팅 

  • 정적 라우팅 : 관리자가 미리 라우팅 테이블에 경로를 수동으로 추가
  • 목적지까지의 경로를 고정하거나 목적지까지의 경로가 하나로 한정 될 때 사용
    • 정적라우팅에서는 네트워크에 존재하는 모든 목적지 네트워크 정보를 라우터에 알려줘야함
    • 그것을 관리자가 수동으로 설정해야해서 소규모 네트워크에서 사용
  • 장점
    • 라우팅 정보가 교환되지 않아 대역폭에 대한 부담이 적음
    • 라우팅 정보가 네트워크로 전달되지 않으므로 보안 유지에 좋음
  • 단점
    • 동적으로 반영되지 않아 어떤 경로에 장애 발생 시 다른 경로로 우회 불가능
    • 이런 경우 관리자가 설정을 하나하나 변경해야해서 번거로움

b-2. 동적 라우팅

  • 동적 라우팅 : 네트워크 변경을 자동으로 감지해 라우팅 테이블을 업데이트하거나 네트워크 장애가 발생했을 때 라우터끼리 전보를 교환하여 최적의 경로로 전환하는 기능
  • 대규모 네트워크에서는 라우터에 많은 경로가 등록되기 때문에 정적 라우팅 지원하지 않고 동적 라우팅 사용하여 경로를 자동으로 업데이트
    • 관리자는 정적 라우팅처럼 라우팅 테이블에 경로를 수동으로 추가할 필요 없음

 

 

 

참고 자료

모두의 네트워크

https://m.blog.naver.com/devks0228/221825874256

https://m.blog.naver.com/devks0228/221826965416

728x90