[우아한테크코스] 7월 16일 TIL

2 minute read

[Spring] Google OAuth 2.0 without Spring Security

[Network] Network Access Layer

Mac 주소

데이터를 전송하기 위해 존재하는 각 하드웨어가 가진 고유한 물리적 주소
IP주소를 MAC 주소로 변환해(ARP) 데이터 전송
NIC(랜카드) 내에 ROM(기본적인 OS 관련 정보 고유)에 존재

Mac 주소 구성

mac
mac 주소는 6바이트로 구성되어 있고, 16진수로 표기
8자리마다 -, :, .으로 구분

  • 노란 부분 : OUI (Organizational Unique Identifier), 생성자를 나타내는 코드, 해당 장비를 만들어낸 회사를 나타내는 것
  • 파란 부분 : 고유 번호를 부여하기 위한 시리얼 넘버

패킷 스위치

네트워크 통신 방법 중 하나로 패킷으로 데이터를 전송하고 전송하는 동안만 네트워크 자원을 사용하도록 한다.
패킷은 여러 통신 지점을 연결하는 데이터 상 모든 노드들 간에 개별적으로 경로가 제어된다.

패킷 스위칭(Packet Switching): 패킷 교환

데이터를 패킷이라는 작은 조각으로 나눈 뒤 전송하는 것
최종 목적지에 도달하기 전에 라우팅되고, 결합되고, 분할될 수 있다.
하나의 데이터라도 여러 패킷으로 변환 뒤 경로를 통한 목적지 전송이 된다.
고정된 데이터 전송 경로가 존재하지 않아 데이터를 패킷으로 쪼갠 뒤 개별 전송한다.
송신측과 수신측 사이에서 각 패킷은 통신 링크와 패킷 스위치를 거친다.

  • Store-and-Forward: 저장 후 전달
    스위치가 출력 링크로 패킷의 첫 비트를 전송하기 위해 전체 패킷을 받아야 함
  • Queueing delay, loss: 큐잉 지연, 패킷 손실
    각 패킷 스위치는 접속된 여러 링크를 가지고 있고, 각 링크에 대해 패킷 스위치는 출력 버퍼(큐)를 가지고 있으며, 그 링크로 송신하려는 패킷을 저장하고 있다.
    도착하는 패킷은 한 링크로 전송될 필요가 있는데 그 링크가 다른 패킷을 전송하고 있다면 도착하는 패킷은 출력 버퍼에서 대기해야 한다.

장단점

  • 회선을 공유하기에 낭비를 줄일 수 있고 효율적이다.
  • 다른 data rate 끼리도 패킷을 주고받을 수 있다.
  • 패킷 교환이 더 간단하고, 효율적이며, 회선 교환보다 구현 비용이 적다.

  • 가변적이고 예측할 수 없는 종단 간의 지연때문에 실시간 서비스에 적합하지 않다.

서킷 스위치(Circuit Switching): 회선 교환

두 장비 간의 통신을 통해 네트워킹하는 것으로 통신 경로가 두 장비로 고정되어 있다.
전체 통신 길이에 대해 대역폭, 기타 리소스가 고정되어 있고 세션이 종료될 때 해제된다.

장단점

  • 보장된 성능이 제공되므로 음성, 비디오 같은 실시간 응용프로그램에 적합하다.
  • 메시지 순서가 보장된다.
  • 원본 메시지를 다시 생성하기 위해 처리해야 하는 작업이 줄어든다.

  • 설정하고 통신을 안하면 낭비이고, 기본 세팅에 시간이 소요된다.

image

Datagram

  • 각 패킷은 독립적으로 다뤄진다.
  • 패킷들은 순서에 무관하게 도착한다.
  • 패킷 손실 가능하다.

  • 보낼 패킷이 적을 때 빠르게 보낼 수 있다.

Virtual Circuit

  • 패킷 전송 전에 미리 계획된 경로를 설정한다.
  • 전용 경로가 아니고 논리적인 연결이다.

  • 보낼 패킷이 많을 때 적합하다.

프레임(프레이밍)

데이터링크의 기능 4가지인 흐름 제어, 에러 검출 및 정정, 반이중/전이중 통신, 프레이밍 중 하나
프레임

프레임

data link 계층의 데이터단위 PDU(Protocol Data Unit)이다.
패킷에는 IP 주소, 프레임에는 MAC 주소가 포함된다.
상위 계층에서 보낸 전송 데이터에 오류 확인을 위한 체크섬, 송수신 호스트의 주소, 기타 프로토콜에서 사용하는 제어 코드 등의 정보가 포함된다.
프레임을 전송받은 호스트는 체크섬 에러를 확인하고 에러 및 변형 등의 오류를 체크한다. 에러 검출 시 재전송을 요구하여 복구 과정을 거친다.

프레이밍

데이터그램을 캡슐화해 프레임 단위로 만들고 헤더와 트레일러를 추가한 것

  • 헤더: 목적지, 출발지 주소와 데이터 내용을 정의한 것
  • 트레일러: 비트 에러를 감지하는 역할

정리

바다, 마크, 파피, 제리