메모리 가상화

메모리 가상화

여러개의 프로세스가 존재하는 환경에서 각 프로세스는 자기가 할당받은 메모리에만 접근해야 한다. 그 외의 프로세스가 가진 메모리를 읽거나 변경하는 경우는 존재해서는 안된다.

  • 메모리 가상화 : 하나의 물리 메모리를 공유하는 다수의 프로세스에게 각 프로세스는 마치 자신이 물리메모리 주소 0부터 시작하는 하나의 전체 물리 메모리를 사용하고 있는것처럼 해주는 운영체제의 기능

주소 변환

  • 하드웨어 기반 주소 변환이라고도 부른다.
  • 프로그램의 모든 메모리 참조값을 실제 물리적인 메모리 위치로 변환해준다.
  • 이를 위해서는 CPU 당 1쌍씩 존재하는 2개의 하드웨어 레지스터가 필요하고, 이와 같이 CPU에서 주소변환의 역할을 하는 장치를 MMU (Memory Management Unit)이라고 부른다.
  1. Base Register
  2. Limit (Bound) Register
1
물리메모리 주소값 = 논리 메모리주소값 + Base Register 값 
  • Limit Register는 프로세스가 자신의 메모리 주소값만을 접근함을 보장시켜준다. 예를 들어서 Limit Register가 16KB 면 , Base + 논리 메모리주소값이 16KB가 넘게되면 예외가 떨어진다.

동적 재배치

  • 동적 재배치 (dynamic reloadling) : Base , Limit Register를 이용하여 프로세스의 메모리 주소를 변환하는데, 프로세스 메모리 주소를 쪼개지 않고 통째로 배치한다. 즉 프로그램 전체 메모리 주소가 4GB라면 실제로 사용되는 공간이 100MB 이하여도 4GB가 로딩되야하는 방식으로 메모리 낭비가 매우 심하다. 이처럼 할당된 영역에서 사용되지 않아서 낭비되는 메모리를 Internal Fragmentation (내부 단편화)라고 부른다.

Segmentation

  • MMU마다 하나의 Base, Limit Register값이 아닌 세그먼트라는 단위별로 Base,Limit Register 값이 존재한다. 즉 전체 프로세스를 메모리에 올리는게 아니라, 프로세스를 세그먼트라는 단위로 쪼개서 올렸다 내렸다를 반복한다.

( * 세그먼트 : 특정 길이를 가지는 연속적인 메모리 주소 공간 )

  • Segment 별로 메모리 크기가 동일하게 할당되지 않아도 된다. 즉 아래와 같이 코드 세그먼트 ,힙 세그먼트 , 스택 세그먼트로 나누어 할당될 수도 있다.

  • 동적 재배치 방식에 비해 얻는 장점 : 운영체제가 각 주소 공간을 세그먼트 단위로 가상 주소 공간을 물리 메모리에 재배치하기 때문에 전체 주소 공간이 하나의 Base ,Limit Register 값을 갖는 형태보다 메모리를 절약할 수 있다.

  • 단점 : 세그먼트의 크기가 제각각이기 떄문에, Segment가 메모리에서 빠지면 크기가 다른 잔여메모리 공간이 생긴다. (External Fragmentation , 외부단편화)

위 단점의 해결방법으로 기존의 세그먼트를 정리하여 , 물리 메모리를 압축하는 방법이 있다.

세그먼트 압축하는 과정은 메모리,CPU에 부하가 큰 작업이라는 단점이 존재한다.

Paging

//TODO

Read more

DB 캐시 탐색 메커니즘

  • Direct Path I/O을 제외한 모든 블록 I/O는 메모리 버퍼캐시에 해당 블록이 있는지 확인하고 없으면 물리 I/O가 발생한다.

  • 인덱스 루트 블록을 읽을떄 , 인덱스 루트 블록을 통해 얻은 ROWID값으로 브랜치 블록을 읽을때 , 브랜치 블록에서 얻은 ROWID값으로 리프 블록을 읽을때 , 리프 블록에서 읽은 ROWID값으로 테이블 블록 읽을 때 , Full Scan시 모두 메모리 버퍼 캐시를 먼저 확인한다.

메모리 버퍼 캐시의 구조

  • 해시구조로 관리 , 해시 함수에 입력값을 넣어 나온 해시값으로 몇번 해시 Chain에 속해있는지 확인하고 , 해당 Chain에 연결되어 있는 버퍼 헤더를 순차 탐색한다. 결과값이 있다면 캐시된 버퍼 블록으로부터 데이터을 읽어오고 , 결과값이 없다면 물리 I/O가 발생하고 , 읽기 전에 버퍼 블록에 캐싱한다.

메모리 공유 자원에 대한 직렬화

  • 버퍼캐시는 SGA 구성요소로 프로세스간 공유 자원임. 즉 동시성이슈가 발생할 수 있어 동기화 작업이 필요함

  • Cache Buffer Chain Latch : 해시 체인에 접근하기전 프로세스는 Latch 를 획득해야만 접근이 가능하다. 만약 한 process가 Latch를 획득했다면 다른 process는 대기한다.

  • Buffer Lock : Buffer Block에 대한 동기화 메카니즘

Read more

Execution Plan 이란?

Execution Plan

  • 사용자가 실행한 sql을 어떤 방식으로 처리할 것인지에 대한 실행 계획으로 Optimizer에 의해 만들어짐.

  1. SQL 파싱과정을 통해 SQL에 문법적인 오류 없는지 검사
  2. 해당 SQL을 이전에 실행한 적이 있는지 SHARED POOL 메모리 검사. 만약 실행 기록이 있다면 그대로 실행 (SOFT PARSING)
  3. 만약 실행기록이 없다면 새로 실행 계획을 세운다. (HARD PARSING)

접근 경로 (Access Path)

(참조 : https://docs.oracle.com/database/121/TGSQL/tgsql_optop.htm#TGSQL228)

  • 실행 계획에서 Optimizer게 데이터를 읽을때 데이터를 접근하는 방식
  1. FULL TABLE SCAN : 테이블 전체 데이터를 읽어 조건에 맞는 데이터 추출
  2. ROWID SCAN : ROWID를 기준으로 데이터를 추출
  3. INDEX SCAN: 인덱스 사용하여 추출

무조건 TABLE SCAN 보다 INDEX SCAN이 우월한가?

  • 사용용도에 따라 다름. 배치 처리를 위해 전체 데이터를 읽어들여 통계자료 생성시에는 TABLE SCAN이 유리

INDEX SCAN의 종류

  1. INDEX UNIQUE SCAN : 한건이하의 ROWID를 반환하는 방식
  2. INDEX RANGE SCAN : 한건이상의 필요한 데이터가 포함된 일정범위의 인덱스 블록을 오름차순으로 접근
  3. INDEX SKIP SCAN
Read more

가상화 기술을 위한 네트워크

가상화 서버 구성 시의 네트워크 설정

  • WMWare의 ESXi나 Microsoft 의 Hyper-V와 같은 하이퍼바이저를 사용하면 하나의 물리 Host안에서 여러개의 가상 서버가 구동된다.

  • 하나의 물리 Host 내부에 있는 가상 서버가 모두 동일한 네트워크안에서 동작할 수도 있지만, 다양한 네트워크와 서비스를 가상화 서버에 수용하기 위해 두 개 이상의 네트워크를 연결한다.

  • 하나의 스위치에 여러개의 VLAN이 있을때 스위치간에 모든 VLAN을 연결해주려면 VLAN 개수만큼의 물리적 케이블과 스위치 포트가 필요하다. 이를 막기 위해 Tagged 포트 기능이 나왔다.

  • Tagged 설정 : 하나의 포트만 가지고 여러개의 VLAN을 가진 가상화 서버에 연결하고 가상화 서버내의 가상 스위치가 내장되어 있어서 가상 스위치가 스위치 역할을 한다.

  • VLAN(Virtual Local Area Network) : 물리적 배치와 상관없이 LAN을 논리적으로 분할,구성하는 기술 (네트워크 분리시켜주는 기술). 즉 VLAN간에 통신하려면 서로 다른 네트워크간의 통신임으로 3계층 장비가 필요하다.

이중화 기술

이중화 기술을 사용하는 목적

  • 이중화를 하지 않았을때 SPoF (Single Point Of Failure , 단일 장애점) 문제가 발생할 수 있다, 인프라를 구성하는 요소가 복수 개 이상으로 인프라를 구성해 특정 인프라에 문제가 발생하더라도 이중화된 다른 인프라를 통해 서비스가 지속되도록 해준다.(Fault Tolerance 보장)

이중화의 목적

  • SPoF를 제거하여, 시스템의 고가용성 보장 ( Fault Tolerance )
  • 이중화 구성 방식은 Active-Active 또는 Active-Standby 형태로 구성된다.
  • Active-Active로 구성시 이중화된 인프라에서 서비스 요청을 동시 처리할 수 있으므로, 처리 가능한 전체 용량이 증가하고, 장비간 네트워크 연결이나 회선의 대역폭이 증가한다. 증가된 인프라 용량을 기준으로 서비스시 장애가 발생하였을때 정상적인 서비스가 불가능해진다.
  • 단일 스위치의 물리적인 포트 여러개를 하나의 논리적인 포트로 구성하여 대역폭을 확장시킴

LACP 대역폭 확장을 통해 아래와 같은 기능이 제공된다. (IEEE 802.1AX-2008)

  1. 링크 사용률 향상
  2. 향상된 장애 회복
  • 모든 물리 포트를 Active 상태로 사용한다 ( Active-Active 방식 )
  • 물리 네트워크 인터페이스 일부에서 장애가 생기더라도, 나머지 물리 인터페이스로 서비스를 유지해준다.

주의점

  1. 논리 인터페이스의 대역폭을 서비스에 필요한 전체 트래픽 기준으로 서비스 트래픽을 산정하면 안된다.
  2. 물리 인터페이스간의 속도가 동일해야 한다.

LCAP 동작 방식

  • LACPDU (LACP Data Unit)이라는 프레임을 사용하여, Muticast 통신방식으로 한 장비와 LACPDU 프레임을 주고받는다 (1:1 구성방식)
  • 만약 여러개의 장비 (N:M) 간 LACP를 구성하고자할떄는 별개의 프로토콜 필요(MC-LAG protocol )

LACP 모드

  1. Active Mode : LACPDU를 먼저 송신하고 상대방이 LACP로 구성된 경우 , LACP를 구성
  2. Passive Mode: LACPDU를 송신하진 않지만, LACPDU를 수신받으면 응답해 LACP를 구성
  • LACP를 구성한 모든 장비에서 LACPDU 프레임을 보내는게 아니라, 한쪽은 Active 한쪽은 Passive Mode로 설정해도 LACP가 구성된다. 단 두 장비 모두 Passive Mode 인 경우에는 당연히 LACP 연결이 되지 않는다.
  • 일반적으로 1~8개의 물리인터페이스를 LACP로 하나의 논리 인터페이스로 구성하지만 벤더에 따라 다름.

LACP와 PXE

  • 서버와 Active-Active 형태로 네트워크 인터페이스 이중화시에도 LACP 프로토콜이 사용된다.

  • 서버 네트워크 인터페이스를 하나의 논리 포트로 묶는 과정을 Bonding 또는 Teaming이라고 부르며 OS에서 설정하게 됨.

  • LACP 설정은 본딩과 티밍에서 액티브-액티브로 사용하기 위한 옵션 설정임으로, 운영체제 설치 전에는 LACP를 사용할 수 없다.

  • 서버가 OS를 설치하기 전은 LACP를 사용할 수 없음. 따라서 LACP 로 구성하려는 서버를 PXE로 OS 를 설치하고자 할때는 일반 인터페이스로 구성해 OS를 설치하고 LACP 설정을 다시 한 후 스위치 포트 설정을 다시 해야 함.

  • LACP protocol에 옵션을 주어서, OS 설치전에는 한개의 네트워크 인터페이스만 활성화, LACPDU 패킷을 수신하기 시작하면 두개의 네트워크 인터페이스를 활성화하여 LACP 로 구성할 수 있도록 옵션을 줄 수 있다.

벤더 기술명
Cisco lacp suspend-individual
Arista lacp fallback
Extreme lacp fallback
HP lacp edge-port
( PXE (Pre-Boot Environment) : 네트워크 인터페이스를 통해 컴퓨터를 부팅할 수 있게 해주는 환경 )
Read more

통신을 도와주는 네트워크 주요 기술

NAT (Network Address Translation,NAPT,PAT)

  • IP 주소를 다른 IP주소로 변환해 라우팅을 원할히 해주는 기술
  • 사설 IP주소를 공인 IP로 전환하는 경우에 NAT를 가장 자주 사용함

NAT 필요성

  • IPv4 주소 고갈 문제 : 외부에는 공인 IP로 보이지만 내부에는 사설 IP체계를 사용

  • 보안 강화 : 사내 사설 IP 주소 체계를 숨길 수 있다.

  • IP 주소 체계가 같은 두 개의 네트워크간 통신을 가능하게 해준다. 사내 IP가 겹치는 경우 , IP대역이 같은 네트워크와 통신이 가능함 (Double Nat 기술)

  • 불필요한 설정 변경을 줄일 수 있다.

KISA를 통해 인터넷 독립기관으로 직접 등록하고 소유한 IP주소를 직접 운영하는게 아니라면 통신사업자나 IDC 쪽에서 IP를 할당받아 사용하게 되고 , IP주소가 중간에 변경될 수 있다.
NAT 기술을 사용하면 내부 사설 IP체계를 유지하면서 공인 IP만 독립적으로 변경할 수 있다.

NAT 동작 방식

  1. NAT 내부 사용자는 웹 서버에 접근하기 위해 사용자의 IP주소와 포트번호를 3,4계층 헤더에 넣어 패킷을 보낸다.

  2. NAT 역할을 수행하는 장비에서 사용자가 보낸 패킷을 받아, NAT 정책에 따라 공인 IP주소로 변경한다.
    NAT 장비에서 변경 전후의 IP주소는 NAT 테이블에 저장된다.

  3. 웹 서버는 NAT가 변경한 공인 IP주소로 응답을 보낸다.

  4. NAT 장비는 NAT 테이블을 보고 사용자의 원래 IP주소로 변경하여 사용자에게 패킷을 전달한다.

PAT 동작 방식

  1. NAT 동작 방식과 동일하나 , 다수의 사용자가 동일한 공인 IP 주소로 변환되야 하므로 출발지의 IP주소뿐 아니라 Port 번호도 변경하여 NAT 테이블에 저장한다.
  2. 웹서버가 변경된 공인 IP주소와 변경된 Port번호로 응답한다.
  3. NAT 장비는 NAT 테이블을 보고 사용자의 원래 IP주소와 Port 번호로 패킷을 재작성하여 사용자에게 패킷을 전달한다.
  • PAT는 다수의 IP가 있는 출발지에서 목적지로 갈때 IP주소,포트번호로 사용자를 식별할 수 있는 NAT 테이블이 생성되고, 응답에 대해 NAT 테이블이 원래 사용자를 식별한다.
  • 반대로 PAT IP가 목적지일때에는 해당 IP가 어느 IP에 binding되고 있는지 확인할 수 있는 NAT 테이블이 없으므로 사용할 수 없다.
Read more

4계층 장비 (로드 밸런서 / 방화벽)

4계층 장비의 특징

  • 4계층 장비(세션 장비)는 통신의 방향성이나 순서와 같은 통신 전반에 관한 관리가 필요하는데, 이러한 정보를 세션 테이블이라는 공간에 담아 관리한다.

로드 밸런서

  • 서버의 부하를 분산시키기 위한 장비

  • 로드 밸런서가 서비스에 사용되는 대표 IP주소를 가지고, 그 밑에 실제 서버들의 실제 IP주소로 요청을 전달한다.

  • WAS뿐만아니라 FWLB(FireWall Load Balancing) , VPNLB(VPN Load Balancing) 와 같이 다양한 서비스에 사용될 수 있다.

  • 시스템 Scale Out시 사용

(* Scale up : 메모리,cpu와 같은 하드웨어 리소스의 성능을 높임 / Scale out : 같은 리소스를 가진 시스템을 여러개 병렬로 배치 )

로드밸런서는 동작하는 계층에 따라 4,7계층으로 나뉜다.

  • L4 로드 밸런싱은 일반적인 로드 밸런서가 동작하는 방식으로 , 4계층 헤더 정보(TCP,UDP)를 기반으로 로드 밸런싱을 수행한다.
  • L7 로드 밸런싱 application 계층의 프로토콜 (HTTP,FTP,SMTP)을 기반으로 로드 밸런싱을 수행한다.
  • L7 로드 밸런서를 ADC(application delivery controller) 라고 부르며, proxy 역할을 수행하며, Nginx 의 reverse proxy와 유사한 기능을 수행한다. (https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/)

(* Reverse proxy : 외부에서 내부 서버가 제공하는 서비스 접근시, proxy 서버를 먼저 거치고 내부서버를 들어오는 방식)

  • AWS 에서는 계층별로 L4,L7 로드 밸런싱을 수행해주는 컴포넌트를 제공한다.
  • NLB(Network Load Balaner) == L4 로드 밸런싱 / ALB(Application Load Balancer) == L7 로드 밸런싱

L4 스위치

  • 4계층에서 동작하는 로드 밸런서 기능이 있는 스위치로 여러개의 포트를 가지고 있다.

  • SW 형태의 로드 밸런서도 있지만, 다양한 네트워크 구성이 가능한 스위치형 로드 밸런서가 가장 대중화되어 있다.

  • L4 스위치가 동작하기 위해 필요한 설정은 다음과 같다

  1. 가상 서버 : 사용자가 바라보는 서비스
  2. 가상 IP : 사용자가 접근해야하는 서비스의 IP주소
  3. 리얼 서버 : 실제 서비스를 수행하는 서버
  4. 리얼 IP : 리얼 서버의 IP 주소

L4스위치는 사용자가 가상 IP주소로 접근하였을때 이를 리얼 IP주소에 대한 요청으로 변경해주는 역할을 한다.

Read more

3계층 장비 (라우터,L3 스위치)

Router 역할

Router는 크게 아래와 같은 3가지 역할을 갖는다.

  1. 경로 지정
  • Router는 최적의 경로를 얻어서 Routing table에 저장하고, 패킷이 Router로 들어오면 도착지 IP주소와 Routing table을 비교해 최적의 경로로 패킷을 내보낸다.
  1. 브로드캐스트 컨트롤
  • 패킷의 목적지 주소가 Rotuing table에 없는 경우 패킷을 버린다.
  • 멀티캐스트 정보를 습득하지 않고 브로드캐스트 패킷을 전달하지 않는다. (브로드캐스트가 다른 네트워크로 전파되는것을 막는다. )
  1. 프로토콜 변환
  • 패킷 포워딩 과정에서 2계층 헤더를 변경할 수 있다.
  • 3계층에서 동작하는 장비이기 떄문에 2계층 헤더를 벗겨내고, 다시 2계층 헤더 정보를 새로 만들어 외부로 내보내는데, 이때 헤더 정보를 변경할 수 있다.
    ex) WAN : PPP protocol / LAN : ethernet protocol

Router 동작방식

  • Hop-by-Hop Routing : 인접한 Router(Next Hop)까지 경로를 지정하면 인접한 Router에서 다시 최적의 경로를 파악해서 Router로 패킷을 포워딩한다.

Next Hop 지정시에는 다음과 같은 3가지 방법이 사용된다.

  1. IP주소 지정
  2. 인터페이스 지정 : IP주소를 모르더라도, MAC주소정보를 아는 경우에 사용
  3. IP,인터페이스 동시에 지정
  • Router table 에 저장되는 데이터는 아래와 같다.
  1. 목적지 주소
  2. next hop IP 주소 , 나가는 로컬 인터페이스
  • Router 에서 패킷의 출발지 주소를 이용해 라우팅하도록 PBR(Policy-Based Routing)기능을 사용할 수는 있으나 특별한 목적으로만 사용된다.
  • TTL (Time To Live) : 3계층 IP헤더에는 TTL이라는 필드가 존재한다. 이 필드는 네트워크에 살아 있을 수 있는 시간(홉)을 제한하여 라우팅 루프 현상을 방지한다.
    (* 라우팅 루프 현상 : 라우터간에 패킷이 무한히 핑퐁되는 현상 )
Read more

네트워크 통신하기

네트워크 통신 방식에는 Unicast,BroadCast,Multicast,Anycast가 존재한다.

Unicast

  • 출발지와 목적지가 1:1 통신

BroadCast

  • 같은 네트워크에 존재하는 모든 host가 목적지 (1: 모든 통신)
  • local 네트워크 내에서 모든 host에게 패킷을 전달할 때 사용됨
  • IPv6에서는 브로드 캐스트가 존재하지 않고, 링크 로컬 멀티캐스트로 대체되어 사용되고 있다.

Multicast

  • 다수의 특정 목적지로 데이터 전송 (1: 멀티캐스트 구독 호스트들)

AnyCast

  • 가장 가까운 호스트 (1:1 통신인데, 목적지는 동일 그룹내 1개 호스트 )
  • 가장 가까운 DNS 서버 , Gateway를 찾는데 사용하기도 함
  • Unicast와 다르게 anycast는 같은 목적지 주소를 가진 서버가 여러대이다.

BUM 트래픽

  • B(broadcast) , U(Unknown unicast) , M(multicast) 을 지칭 , BUM 트래픽이 많으면 네트워크 성능 저하
  • unknown unicast는 스위치가 목적지 주소를 몰라 , 모든 포트로 전송하는데 이러한 unicast를 unknown unicast라고 함 (unicast지만, 마치 broadcast와 유사한 동작 )
  • 이더넷 환경에서는 ARP broadcast를 먼저 보내고 통신을 시작하므로 BUM 트래픽이 많이 발생하지 않음
Read more

네트워크 연결과 구성요소

네트워크 연결 구분

네트워크는 규모에 따라 LAN,MAN,WAN 3가지로 구분된다.

1.LAN(Local Area Network) : 사용자 내부 네트워크 (근거리 통신망으로 주로 집 , 사무실 단위)
2.MAN(Metro Area Network) : 한 도시 정도를 연결하고 관리하는 네트워크
3.WAN(Wide Area Network) : 멀리 떨어진 LAN을 연결해주는 네트워크

네트워크 회선

인터넷 회선

  • 인터넷 접속을 위해 통신사업자와 연결하는 회선

인터넷 가입자와 통신사업자간에는 직접 연결되는 구조가 아니라 전송 선로 공유 기술을 사용한다. 예를 들어 아파트 광랜은 아파트에서 통신사업자까지 연결한 회선을 아파트 가입자가 공유하는 구조임. 즉, 전송 선로를 공유하므로 전용 회선과 다르게 속도가 보장되지 않는다 (주변 사용량에 따라 속도가 느려질 수도 있다. )

인터넷 회선 종류는 다음과 같다.

  • 광랜(이더넷) , FTFH , 동축 케이블 인터넷 , xDSL

전용 회선

  • 가입자와 통신사업자 간에 대역폭(bandwith,링크 용량)을 보장해주는 서비스.

가입자와 통신사업자 간에는 전용 케이블로 연결되어 있고, 통신사업자 내부에서 TDM(Time Division Mulitiplexing) 같은 기술로 마치 직접 연결한 것처럼 통신 품질을 보장해준다.

인터넷 전용 회선

  • 인터넷 회선에 대한 통신 대역폭을 보장해주는 서비스

가입자가 통신사업자와 연결되고 이 연결이 다시 인터넷과 연결되는 구조이다.

VPN (Virtual private network , 가설 사설망 )

  • 물리적으로는 전용선이 아니지만, 가상으로 직접 연결한 것 같은 효과가 나도록 만들어주는 네트워크 기술

ex) 재택근무중인데 회사 사설망에 연결되어있는 것처럼 업무 가능

  • 통신사업자 VPN : VPN 서비스를 ISP에서 제공하며 전용선의 거리에 비례하는 비용문제가 있다.
  • 가입자 VPN : 일반 인터넷망을 이용해 가상 네트워크를 구성할 수 있다.

네트워크 구성 요소

네트워크 인터페이스 카드 (NIC)

흔히 랜카드,네트워크 카드, 네트워크 인터페이스 컨트롤러로도 불리는 네트워크 인터페이스 카드는 컴퓨터를 네트워크에 연결하기 위한 하드웨어 장치이다.

노트북과 데스크탑 PC에서는 기본적으로 온보드 형태로 장착됨으로 별도로 추가할 필요는 없으나, 서버의 경우에 여러 네트워크에 동시에 연결하거나 혹은 더 높은 대역폭이 필요한 경우, 네트워크 인터페이스 카드를 추가로 장착한다.

네트워크 인터페이스 카드의 주요 역할은 다음과 같다.

  • 직렬화 (Serialization) : 전기적 신호를 bit열의 데이터 신호 형태로 , bit열의 데이터 신호 형태를 전기적 신호 형태로 변환시켜주는데, 이러한 상호 변환작업을 직렬화라고 한다.

  • MAC 주소 : 네트워크 인터페이스 카드는 고유한 MAC주소를 가지고 있어서, 받은 패킷의 도착지 MAC주소가 자신의 MAC주소가 아니면 폐기하고 맞으면 전달한다.

  • 흐름 제어 (Flow control) : 이미 통신 중인 데이터 처리 떄문에 새로운 데이터를 받지 못하는 상황에서 데이터 유실 방지를 위해 상대방에서 통신 중지를 요청할 수 있다.

Read more