네트워크와 네트워크 모델

yoon Y·2022년 7월 28일
0

네트워크

네트워크란?

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


네트워크의 분류

  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개의 댓글