네트워크와 네트워크 모델

yoon Y·2022년 7월 28일

네트워크

네트워크란?

분산되어있는 컴퓨터들을 연결한 통신망으로, 서로 데이터를 교환한다.


네트워크의 분류

  1. LAN (Local Area Network)
    가까운 지역을 하나로 묶은 네트워크
  2. WAN (Wide Area Network)
    먼 지역을 하나로 묶은 네트워크
    가까운 지역끼리 묶인 LAN과 LAN을 다시 하나로 묶은 것

프로토콜

  • 네트워크에서 노드와 노드가 통신할 때 어떤 노드가 어느 노드에게 어떤 데이터를 어떻게 보내는지
    작성하기 위한 양식
  • 여러 개의 프로토콜을 같이 사용한다.
  • 여러 프로토콜들로 데이터를 감싸 캡슐화한다(=== 패킷)

네트워크 계층 모델

데이터를 주고 받을 때 데이터의 흐름을 각 구간별로 나눠 놓은 것
컴퓨터에서 데이터가 빠져나가고 들어올 때 거치는 단계들
각 단계에서 필요한 프로토콜이 있다.

1. TCP/IP 4계층 모델

  • 실질(무)적인 단계

2. OSI 7계층

  • 이론적으로 좀 더 상세하게 역할을 나눠놓은 것

패킷

네트워크를 통해 전달되는 데이터로 형식화된 블록.
제어 정보(헤더, 푸터)와 사용자 데이터(페이로드)로 이루어진다.
각 단계에서 패킷의 모양이 다르고, 부르는 이름도 다르다.

데이터를 전송할 때 (인캡슐레이션)
각 단계를 지나면서 헤더에 각 계층에 맞는 프로토콜들이 추가된다.

데이터를 수신할 때 (디캡슐레이션)
각 단계를 지나면서 패킷을 받고 프로토콜을 하나씩 확인하면서(까면서) 데이터를 확인하는 과정.

출처
https://www.youtube.com/watch?v=Av9UFzl_wis&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi

네트워크 모델

네트워크 모델/아키텍쳐란?

  • 네트워크 아키텍쳐는 네트워크 통신 시 컴퓨터에서 수행되는 기능(동작)들의 단계이고, 각 단계에 필요한 프로토콜들이 매칭되어있다.
  • 계층은 기능(데이터가 처리되는 단계), 프로토콜은 그 기능을 수행할 때 필요한 양식화 된 정보.
    • 각 계층의 기능이 동작하게 하기 위한 것이 프로토콜
    • 각 계층에는 전송시 필요한 인코더, 수신 시 필요한 디코더가 모두 있다.
    • 라우터는 네트워크 계층까지만 동작한다.
  • TCP/IP는 프로토콜이 붙는 단계로만 나눈거고, OSI 7계층 모델은 기능별로 더 세세하게 나눈 것.

전송 시의 캡슐화 (프로토콜을 붙임)

url과 데이터를 사용해 수신 시의 각 계층에서 필요한 정보를 프로토콜에 맞게 추가한다.
전송 시에는 단지 헤더(프로토콜)만 붙이는 역할을 하는 것.

7계층 - http프로토콜에 따라 데이터 포장
4계층 - 패킷 분해, 포트 번호 붙힘
3계층 - 논리적 주소인 ip주소 설정
2계층 - 물리적 주소인 MAC주소 설정, 전송되는 데이터 흐름/순서 조절, 오류처리
1계층 - 디지털 데이터를(0, 1)을 물리적인 전기 신호로 바꾸고 다른 노드로 전달(출력)

수신 시의 디캡슐화 (프로토콜로 처리)

각 계층에 맞는 헤더를 까보면서 그 안에 들어있는 정보로 처리를 하는 것.
1계층 - 물리적인 전기 신호를 디지털 데이터(0, 1)로 바꾸고 2계층으로 전달(입력)
2계층 - 들어오는 데이터 흐름/순서 조절, 오류처리
3계층 - ip주소를 확인해 맞다면 4계층으로 전달하고, 아니라면 다음 라우터에게 전달
4계층 - 패킷 조합, 포트 주소를 확인해 애플리케이션에 전달
7계층 - http프로토콜에 따라 데이터를 처리

라우터와 스위치

라우터

  • LAN끼리의 통신을 위한 장치.
  • WAN을 구성하게 해주는 것.
  • 패킷을 받고 1~3단계동안 깐 다음에 ip주소가 자신이 아니면 3~1로 다시 캡슐화해서 다음 라우터에 전달.
  • 자신이 맞으면 전송계층으로 전달.

스위치

  • LAN안에서의 통신을 위한 장치
  • 수신할 때 1~2단계만 거치고 2단계에서 패킷을 까서 mac주소를 확인한 다음 다시 캡슐화해서 해당 주소에 매칭되는 컴퓨터에게 전송한다.
  • mac주소가 자신과 연결된 컴퓨터들 중에 없다면 데이터를 전송하지 않음.

TCP와 UDP

공통점
특정 애플리케이션을 찾기 위한 포트번호를 붙인다/찾아간다

차이점
TCP
데이터를 정확히 전달하고 순서를 보장하는 신뢰성 있는 데이터 전달을 위한 기능이 있음.

  • 쓰리웨이 핸드쉐이킹을 통해 통신이 가능한지 사전 확인

  • 분할한 패킷에 일련번호를 붙이고/그대로 조합

  • 패킷이 중간에 분실됐다면 재선송

  • 문서의 전달에 적합

  • 이런 과정들 떄문에 UDP보다 속도가 느림

UDP

  • 데이터의 신뢰성을 보장하는 기능이 없음
  • 데이터 재전송과 데이터 순서 유지를 위한 작업을 하지 않는다.
  • 빠른 데이터 전달이 목적
  • 실시간 스트리밍 서비스에 적합

쓰리웨이 핸드쉐이킹 & 포웨이 핸드쉐이킹

쓰리웨이 핸드쉐이킹
TCP에서 실제 데이터를 전달하기 전에 임의의 패킷을 보내 클라이언트-서버가 잘 연결되는지 사전 확인을 하는 것.
들려?(SYN) -> 응 들려.(ACK) 너도 들려?(SYN) -> 응 나도 들려.(ACK) 그럼 데이터 전달할게

포웨이 핸드쉐이킹
연결을 끊는 절차
연결 끊고 싶어(FIN) -> 알겠어(ACK) -> 나머지 데이터 전달 -> 다 보냈으니까 끊을게(FIN)
-> 응(ACK)

profile
#프론트엔드

0개의 댓글