5계층부터 7계층은 상위 계층이라고 불린다.

상위 계층은 응용 프로그램의 운영을 담당하는 역할을 한다.

따라서 상위 계층은 응용 프로그램의 관점에서 바라보아야 한다.

 

  • Session 생성, 유지, 종료 등 Session을 관리하는 계층
  • Seesion 계층의 주요 기능
    • 세션의 설정, 관리, 해제
    • 데이터 전송 서비스
    • 동기화
    • 오류 보고 및 복구

실제 세션 계층의 기능은 응용프로그램에 통합되어 구현

  • 세션 계층의 프로토콜은 일반적으로 단독으로 사용되지 않는다.
    • 예를 들어 Remote Desktop Protocol( RDP )은 응용 프로그램 계층에서 실행되는 프로토콜이지만 세션 계층의 서비스를 사용하여 마우스, 키보드, 비디오 출력을 전송하여 원격 데스크톱 기능을 제공해준다.
  • 데이터가 제대로 도착했는지 확인한다
  • 데이터가 최종적으로 도착할 애플리케이션이 무엇인지 식별한다.
    • 이는 네트워크 데이터를 어떤 애플리케이션에서 최종적으로 해석하고 사용할지를 의미한다.
    • 여기서 데이터는 HTTP 요청일 수도 있고, FTP를 사용한 파일 다운로드 요청일 수도 있고, 다양하다
  • 목적에 따라 두가지 통신 방법이 존재한다.
  1. 신뢰성과 정확성
    • 데이터를 목적지에 문제 없이 전달하는 방식
    • 이런 통신 방식을 다른 말로 연결형 통신이라고도 한다.
      • 연결형 통신은 상대방과의 통신 과정을 여러 번 확인하고 보내는 방식을 사용하게 된다.
      • 대표적인 프로토콜로 TCP가 있다.
  2. 효율성
    • 데이터를 빠르고 효율적이게 전달하는 방식
      • 대표적인 프로토콜로 UDP가 있다.
      • UDP는 별도의 확인 절차가 없어서 스트리밍 방식과 같은 동영상 서비스에 유리하다.

 

TCP( Transmission Control Protocol )

  • 전송 제어 프로토콜
  • 전송 계층에서 신뢰할 수 있고 정확한 통신을 제공하는 연결형 프로토콜
  • Segment 단위를 사용한다.

 

TCP는 포트 번호라는 주소로 통신한다. 이 포트 번호는 최종적으로 어떤 애플리케이션으로 향하게 될지를 정해주는 요소다.

 

Source Port

  • 송신자의 포트 번호

Destination Port

  • 목적지의 포트 번호

Sequence Number

  • 송신 측에서 수신 측에 이 데이터가 몇 번째 데이터인지 알려주는 역할을 한다.
  • 해당 번호를 통해 수신 측은 원래 데이터의 몇 번째 데이터를 받았는지 알 수 있다.
  • TCP는 이를 이용하여 데이터가 손상되었거나 유실되었는지를 확인하고, 손상이나 유실되었다면 재전송 제어를 하게 된다.

Acknowledgment Number

  • 수신 측이 몇 번쨰 데이터를 수신했는지 송신측에 알려주는 역할이다.
  • 받은 데이터의 다음 번호의 데이터를 요청하는데 사용한다.

Offset

  • TCP 헤더의 크기를 나타내는 값이다.
  • 데이터의 시작 위치를 나타낸다.

Reserved

  • 차후의 사용을 위해 예약된 필드
  • 항상 0으로 설정한다.

TCP Flags

  • 세그먼트의 용도와 내용을 결정하는 플래그 값이다.
  • 총 8 bit로 이루어져 있으며, 각각의 비트에 연결의 제어 정보가 기록된다.
  • 이를 이용해 TCP Connection을 맺고 TCP 통신을 하게 된다.

Window

  • 한번에 전송할 수 있는 데이터 양을 뜻한다.
  • 65535만큼의 값을 표현 가능하고, byte 단위를 사용한다. 64KB
  • 한 번에 전송할 수 있는 데이터의 최대 크기가 65535 byte라고 생각 하면 된다.

Checksum

  • 데이터를 송신하는 중에 발생할 수 있는 오류를 검출하기 위한 값이다.
  • Checksum과 데이터를 더했을 때, 모든 비트가 1이면 정상으로 판단한다.

Urgent Pointer

  • 긴급 포인터
  • URG 플래그가 1이라면 수신 측은 이 포인터가 가리키고 있는 데이터를 우선 처리한다.

TCP Options

  • 약 30개 정도의 TCP 옵션을 설정할 수 있다.
  • 대표적으로 Window 필드의 사이즈를 늘릴 수 있는 옵션이 있다.

 

3-Way Handshake

  • 데이터를 보내기 전에 연결을 확립하기 위해 패킷 요청을 세번 교환하는 것을 말한다.
  • TCP Flags를 이용하여 패킷을 교환한다.

 

 

UDP( User Datagram Protocol )

  • 데이터를 효율적으로 빠르게 보낼 때 사용한다.
  • 비연결형 통신이기 때문에 3-Way Handshake 과정이 존재하지 않는다.
    • 신뢰성과 정확성은 떨어지나 효율이 증가한다.

 

UDP 헤더

Wireshark를 이용해 3계층 네트워크 패킷을 확인해보자.

 

cmd를 열어서 192.168.0.200으로 ping 테스트를 진행하자.

 

 

이때 Wireshark를 확인하면 ICMP 프로토콜이 전송되는 것을 확인할 수 있다.

위 그림에 있는 ICMP를 클릭라고 상세 정보에서 Internet Protocol Version 4를 클릭해보면 아래와 같은 정보가 출력된다.

 

  • 네트워크 계층은 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 수행한다.
    • 경로를 찾기 위해 사용되는 주소로 IP 사용
    • 이런 경로를 설정해 주는 것을 라우팅이라 하고, 이를 수행하는 장비를 라우터라고 부른다.
  • 네트워크 대역 간에 신뢰성 있는 정보를 전송한다.
  • 라우팅, 흐름 제어, 오류 제어와 같은 기능이 존재한다.

 

IP( Internet Protocol )

  • 네트워크 계층에서 사용되는 프로토콜
  • 네트워크 장치간 데이터 패킷을 전송하고 라우팅을 하는데 사용한다.
  • 인터넷에서 사용되는 기본 프로토콜이다.
  • 네트워크 장치에 논리 주소인 IP 주소를 부여한다.
  • 패킷( Packet ) 또는 데이터그램( Datagram )이라는 전송 단위를 사용한다.
  • IPv4와 IPv6 두 종류가 존재한다.

 

IPv4의 헤더를 살펴보자.

 

 

Version

  • Internet Protocol의 버전을 나타내는 4 bit 크기의 필드
  • IPv4와 IPv6 두 종류가 존재한다.

 

IHL( Internet Header Length )

  • IP 헤더의 길이를 나타내는 4 bit 크기의 필드
  • 보통은 20byte 크기고, Options 필드에 따라 변동한다.
  • Word 단위로 헤더 길이를 표시한다.
    • word( 4 byte )

 

TOS( Type Of Service )

  • 서비스의 우선 순위를 제공 하는 1 byte 크기의 필드다
  • 우선순위, 전달 지연, 처리량, 신뢰성을 설정 가능하다.

 

Total Length

  • IP 헤더와 실제 데이터의 크기를 모두 합친 크기를 나타내는 2 byte 필드

 

Identification

  • 보내려는 데이터에 단편화가 일어났을 경우 단편화 된 패킷을 구분하기 위한 일련번호다.
    • 단편화( Fragment ) : IP 헤더의 Identification과 IP Flag, Fragment Offset을 이용하여 패킷을 나누어 보내는 작업
  • 단편화 발생 시 조각을 다시 결합하기 위해 사용한다.
  • 2 byte

 

Flags

  • 단편화에 대한 정보를 알려주기 위해서 사용되는 3 bit 필드다
  • 첫 번째 비트( x ) : 예비로 사용되며, 항상 0 으로 셋팅
  • 두 번째 필드 DF는 단편화 유무에 대해서 표현한다.
    • D( DF ) : 1 - 패킷이 목적지 까지의 경로를 따라 라우터에 의해 단편화 되지 않아야 한다는 것을 의미한다.
      • 단편화를 진행하지 않기 때문에 너무 큰 패킷이 전달되면 ICMP가 Fragment needed라는 에러를 보내준다.
  • 마지막 비트 값인 MF는 단편화 패킷 중 마지막 패킷인지에 대해 표현한다.
    • M( MF ) : 0 - 마지막 단편화 데이터 1 - 단편화 데이터가 더 있음을 의미

 

Fragmentation Offset

  • 8 byte 단위로 표시하며, 단편화가 이루어 지기 전 위치를 나타내는 13 bit 필드

 

TTL( Time To Live )

  • 패킷이 살아있는 시간을 지정하는 1 byte 크기의 필드
  • 여기에서의 시간은 몇 개의 라우터를 이동할 수 있는지에 대한 값
  • 라우터를 지날 때 마다 1 씩 감소한다.
  • TTL이 있기 때문에 라우터를 무한 순환하는 사태를 막아준다.

 

Protocol Identifier

  • 상위 계층 프로토콜을 의미하는 1 byte 크기 필드
    • 상위 계층 프로토콜이란 4계층에서 사용되는 프로토콜을 의미한다.
  • 1 : ICMP, 2 : IGMP, 3 : TCP, 17 : UDP

 

Header Checksum

  • IP 헤더 내용이 바르게 교환되고 있는지를 점검한다.
  • 2 byte

 

Source address

  • 발신지의 IP 주소로 4 byte 크기의 필드

 

Destination address

  • 수신지의 IP 주소 4 byte 크기의 필드

 

Options

  • TOS 필드 처럼 특별한 처리 옵션을 정의 가능
  • 보안기능, QoS, 라우팅 등

 

Data( Payload )

  • 상위 계층의 데이터에 따라 최대 65535 byte의 크기를 가진다.
  • 일반적으로 MTU 크기 까지 가능하다.
    • MTU( Maximum Transmission Unit ) : 최대 전송 단위

 

단편화

  • 커다란 패킷을 나누어 보내는 작업
  • IP 헤더의 Identification과 IP Flags, Fragment offset을 이용한다.

 

패킷을 나눠 보내는 이유

택배를 받을 때 택배는 커다란 트럭에 담아져서 오게 된다. 트럭은 최대 적재량이라는 것이 있다.

최대 적재량이란 트럭에 가득 실을 수 있는 무게가 되는데, 이러한 개념이 네트워크에도 있다.

  • MTU( Maximum Transmission unit )라는 최대 전송 단위가 존재한다.
  • 2계층의 데이터 링크에서 하나의 프레임 또는 패킷에 담아 운반 가능한 최대 크기를 의미한다.
  • Ethernet의 경우 기본 값이 1500 Byte 다.

정리하면 데이터 링크( 2계층 )에서 전송 가능한 크기가 있기 때문에 상위 계층인 네트워크 계층( 3계층 )에서

단편화를 이용해 패킷을 전송하게 되는 것이다.

 

MTU 확인

  • netsh interface ipv4 show interface 명령을 통해 MUT를 확인할 수 있다.

 

MTU가 1500 byte 이며, 168 byte의 데이터를 보낼 때 IP Header를 살펴보자.

 

Total Length : 패킷의 총 길이는 168 byte이므로 단편화 필요가 없다.

Identification : 식별 값을 111로 설정한다.

Flags : 0으로 설정하여 패킷이 단편화 되어 있지 않다는 것을 나타낸다.

Fragment Offset : 단편화 된 패킷이 아니기 때문에 Offset은 0으로 설정한다.

 

 

MTU가 1500 byte 이며, 4000 byte의 데이터를 보낼 때 IP Header를 살펴보자.

 

 

위 그림 같은 패킷을 전송할 수 있을까?

 

Total Length가 1500 byte를 초과하여 전송하기 위해서 단편화가 필요하다.

 

단편화 과정을 알아보자.

 

  • MTU가 1500 Byte 이며, 4000 byte의 데이터를 보낼 때 IP Header
  • 총 패킷 길이 : 4000 byte
    • IP Header 20 byte + Payload 3980 byte
    • 단편화 시켜야 하는 Payload : 3980 byte
  • 첫 번째 단편 : MTU 1500 byte 크기
    • IP Header 20 byte + Payload 1480 byte
    • Length : 1500 byte
    • Flag : 1 ( 뒤에 데이터가 남아 있는 패킷이 있음 )
    • Offset : 0
  • 남은 데이터 : 2500 byte
  • 두 번째 단편 : MTU 1500 byte 크기
    • IP Header 20 byte + Payload 1480 byte
    • Length : 1500 byte
    • Flag : 1 ( 뒤에 데이터가 남아 있는 패킷이 있음 )
    • Offset : 이전 단편들의 Payload / 8 
      • 1480( 첫 번째 데이터 크기 ) / 8 = 185
  • 세 번째 단편 : 남은 데이터
    • IP Header 20 byte + Payload 1020 byte
    • Length : 20 byte + ( 3980 - 1480 - 1480 ) byte / 20 byte + 1020 byte
    • Flag : 0 ( 뒤에 데이터가 남아 있는 패킷이 없음 )
    • Offset : 이전 단편들의 Payload / 8
      • ( 1480 + 1480 ) / 8 = 370

 

IP Header는 각각의 요소가 중요한 의미를 가지고 있어 2계층의 스위치처럼 상위 6 byte만 읽고 전달하는 것이 아닌 헤더 전체를 해석한 이후에 패킷을 전달하게 된다.

 

IP 주소

  • IPv4는 8 bit의 수 4개, 4 byte로 구성
  • IPv6는 16 bit의 수 8개, 16 byte로 구성

 

IPv4 주소

  • IPv4의 주소 체계는 8 bit의 수 4개로 32 bit ( 4 byte )다. 
  • IP Header를 확인하면 Source 및 Destination 주소가 4 byte임을 알 수 있다
  • 모든 비트가 0일 때 부터 모든 비트가 1일 때까지 표현이 가능하고 그 개수는 2^32( 43억개 )다.
  • 4 byte, 즉 32bit로 표현하게 되면 11000000101010000000000001100100와 같다.

 

2진수가 이어진 형태의 IP 주소는 너무 보기도 어렵고, 사용하기 어렵기 때문에 이를 해결하고자 나온 표기법이

Dot-Decimal notation이다.

 

Dot-Decimal notation

  • 점으로 구분한 십진수 표기법이다.
  • 10진수 문자열로 구성되며 각 옥텟( 8개의 비트 모임 )을 점으로 구분한 표기법이다.
  • aaa.bbb.ccc.ddd와 같이 표기한다.

 

11000000101010000000000001100100을 Dot-Decimal notation으로 변환하여 보자.

 

 

위 그림의 192.168.50.139에 핑을 보냈을 때와 3232248459에 핑을 보냈을 때 결과가 동일한 것을 확인할 수 있다.

 

네트워크 부와 호스트 부

  • IP 주소는 어떤 네트워크의 호스트( 누구, 어떤 PC인지 )를 식별하는 주소다
    • IP는 네트워크 주소를 의미하는 네트워크 ID와 호스트 ID로 구성된다.
      • 다른 네트워크와 구분하는 역할을 네트워크 ID로 한다.
      • 해당 네트워크의 어느 호스트인지를 나타내는 역할을 호스트 ID로 한다.
      • 호스트는 컴퓨터 뿐안 아니라 IP 주소가 할당되는 라우터도 포함된다.
      • 호스트 ID는 네트워크에 속한 호스트 중에서 고유한 값을 가지고 있어야 한다.
      • 네트워크 ID도 인터넷에 접속되어 있는 네트워크 중에서 고유해야 한다.

 

과거에는 클래스를 기준으로 네트워크 부와 호스트 부를 나누는 방식을 사용했지만,

현재는 서브넷마스크를 통해 네트워크 부와 호스트 부를 구분하는 CIDR이라는 기법을 사용하고 있다.

서브넷 마스크와 IP 주소를 AND 연산하여 나온 값이 네트워크 부가되고, 나머지 0 부분이 호스트 부가 된다.

 

위 그림에서는 192.168.56이 네트워크 부가되고 마지막 부분이 호스트 부가 들어올 수 있는 범위가 된다.

즉, 192.168.56.0 ~ 192.168.56.255 까지의 범위가 호스트가 할당받을 수 있는 IP가 된다.

이처럼 서브넷 마스크를 통해 네트워크 부와 호스트 부를 구분할 수 있고,

Prefix로 표현하면 192.168.56.1/24와 같이 표기할 수 있다.

이때 24는 서브넷 마스크를 2진수로 나타냈을 때 연속된 1의 개수다.

 

 

 

IP 클래스

  • 과거에 각각의 네트워크 대역에 Class라는 개념을 도입해서 목적과 상황에 따라 IP를 분류 하였다.
  • 하지만 호스트의 수가 늘어나며 턱없이 부족해지는 IP의 수로 인해 더이상 사용하지 않고, 지금은 CIDR 방식을 사용하여 IP를 분류하고 있다.
  • IP 클래스에 대해서는 '과거에 이런 기준을 통해 IP를 분류하였구나' 정도로 생각하고 넘어가면 된다.

 

IP를 할당받을 때 사용할 수 없는 호스트 주소가 있다.

특수 목적을 위한 IP 주소

  • 호스트 ID가 전부 1로 채워진 IP와 0으로 채워진 IP는 사용할 수 없다.

호스트 ID가 전부 0인 IP

  • 네트워크 주소를 의미하며 해당 네트워크를 대표하는 주소의 의미이기 때문에 사용이 불가능하다
  • ex) 192.168.56.0

호스트 ID가 전부 1인 IP

  • Broadcast 주소로 전체 네트워크에 데이터를 전송할 때 사용
  • ex) 192.168.56.255
  • 192.168.56.255로 데이터를 전송하면 192.168.56.0의 네트워크에 있는 모든 호스트가 데이터를 수신

 

 

라우팅

  • 네트워크에서 통신 데이터를 보낼 때 최적의 경로를 선택
  • 출발지로부터 최종 목적지까지 논리적으로 주소가 부여된 패킷의 전달 과정

소프트웨어를 이용한 라우팅

  • 라우팅 테이블을 이용하여 라우팅을 한다.

하드웨어를 이용한 라우팅

  • 라우터 장비를 사용하여 라우팅을 수행한다.

 

route print -4 명령어를 cmd에 입력하면 라우팅 테이블을 확인할 수 있다.

 

위 그림은 네트워크 대상에 0.0.0.0, 네트워크 마스크에 0.0.0.0이 입력되어 있는데 이는 모든 IP 패킷을 의미하게 된다.

192.168.50.139 인터페이스로 오는 모든 IP 패킷을 게이트웨이 192.168.50.1에 보내라는 의미를 가지고 있다.

 

라우터를 통해 패킷이 들어오면, 라우터의 인터페이스로 수신한 패킷의 목적지 IP에 따라 라우터는 어떤 인터페이스를 통해 전송할지를 결정한다. 또한 라우터는 네트워크 보안이나 QOS 등의 기능도 제공한다.

 

 

네트워크 계층에서 라우팅을 해주는 라우터는 서로 다른 네트워크 대역의 경로를 설정해 줘야 하기 때문에 연결된 네트워크의

수만큼 IP가 필요하게 된다.

 

네트워크 계층 프로토콜 ( TCP, IP를 제외한 )

  • MAC이라는 주소를 사용하여 통신한다.
  • Point to Point( 직접 연결된 ) 간 데이터 전송을 담당하며 흐름 제어, 오류 제어 기능이 존재한다.
    • MAC 주소를 통해 LAN 속 장치 간의 신뢰성 있는 정보( Frame )를 전송한다.
  • MAC( Media Access Control Address )
    • 데이터 링크 계층에서 통신을 위한 NIC에 할당된 고유 식별자를 말한다.
    • 16진수로 표현하며, 총 6 byte( = 48 bit )로 구성된다.
    • 상위 3 byte는 제조 업체 식별 코드 OUI( Organizetional Unique Identifier )를 나타낸다.
    • 하위 3 byte는 고유 번호를 부여하기 위한 시리얼 넘버를 나타낸다.

  • 이더넷( Ethernet )
    • MAC 주소를 통해 식별하는 유선 네트워크 구성 방식
    • LAN에서 적용되는 규칙으로 스위치 같은 장비에 연결된 장비들의 데이터 통신을 위해 사용
    • CSMA/CD 방식을 이용한 통신

2계층 프로토콜은 이더넷 외에도 Token Ring, FDDI, Wi-Fi 등이 존재한다.

 

CSMA/CD ( Carrier Sense Multiple Access with Collision Detection, 반송파 감지 및 접속 및 충돌 탐지 )

  • Carrier Sense : 신호 감지
  • Multiple Access : 다중 접근
  • Collision Detection : 충돌 방지

 

Ethernet Frame

  • Ethernet 네트워크를 통해 전송되는 데이터 단위이며, 헤더, 데이터( 페이로드 ), 트레일러로 구성된다.

Preamble

  • 물리계층에서 전송된 비트패턴
  • 송신자와 수신자의 동기를 맞추는데 사용한다.
  • 7 byte의 크기이며 항상 10101010... 으로 설정한다.

SFD( Start of Frame Delimiter )

  • 1 byte 형태의 물리 계층이 끝나고 프레임 헤더를 알려주는 신호 역할
  • 항상 10101011 이며 마지막 두 필드 11에 의해 프레임 시작을 알린다.

Preamble과 SFD는 프레임의 일부는 아니지만 동기화를 위해 사용된다.

Preamble과 SFD는 패킷 캡처 시 캡처되지 않는다.

 

Destination Address

  • 프레임이 전송되는 대상 장치의 MAC 주소
  • 6 byte
  • ex) AA:AA:AA:BB:BB:BB

Source Address

  • 프레임을 보내는 장치의 MAC 주소
  • 6 byte
  • ex) CC:CC:CC:DD:DD:DD

Ethernet Type

  • 상위 계층의 Protocol 코드 값
  • 3계층에서 어떤 통신을 할지 결정
  • 2 byte
  • IP : 0x0800, ARP : 0x0806 등

Data/Payload

  • 상위 계층에서 내려온 데이터
  • 7계층 부터 3계층의 캡슐화 된 데이터
  • 상위 계층의 데이터 크기에 따라 46 byte ~ 1500 byte까지 유동적인 길이를 가진다.

FCS( CRC ) = Trailer ( Frame Check Sequence( Cyclic Redundancy Check ) )

  • 오류를 확인하는 필드
  • Destination Address와 Source Address, 길이, 데이터 영역의 합을 계산해서 에러를 판별한다.
  • 송신 측에서 FCS에서 CRC를 추가해서 보내고 수신 측에서도 동일한 방법으로 추출한 결과와의 일치성으로 오류 검사를 하는 기술이다.

 

데이터 링크 계층의 장비

스위치

  • LAN에 위치한 장치를 연결하는데 사용한다
  • L2 스위치라고도 불리며 MAC 주소를 저장할 수 있는 특징이 있다.
  • MAC 주소를 저장할 수 있기 때문에 스위칭 기능이 존재한다.
    • 스위칭 기능은 자신이 원하는 목적지에 데이터를 전송하는 기법을 의미한다.
  • 패킷을 전달할 때 Preamble을 제외한 상위 6 byte( Destination MAC Address )만 목적지 MAC주소만 읽고 전달한다.

 

 

ARP( Address Resoluion Protocol )

  • 주소 결정 프로토콜로 해당 IP에 맞는 맥 주소를 가지고 오는 프로토콜이다.

ARP의 헤더를 살펴보자.

 

Hardware Type

  • 2계층 네트워크 유형을 정의
  • Ethernet의 경우 0x0001로 설정

Protocol Type

  • 3계층에서 사용하는 프로토콜을 정의
  • IPv4일 경우 0x0800으로 설정

HW addr Length

  • MAC 주소의 길이를 정의
  • Ethernet의 경우 6 byte로 설정

Protocol addr Length

  • 3계층 프로토콜의 길이를 정의
  • IPv4의 경우 4 byte로 설정

Operation

  • 패킷 유형
  • ARP 요청의 경우 1, ARP 응답의 경우 2를 설정

Sender HW Address

  • 발신자의 MAC 주소를 설정

Sender IP Address

  • 발신자의 IP 주소를 설정

Target HW Address

  • 목적지의 MAC 주소를 설정

Target IP Address

  • 목적지의 IP 주소를 설정

 

  • 시스템 간의 물리적 연결을 위한 계층
  • 전기 신호로 변환된 데이터들을 전송 매체로 이용해 전달하는 계층
  • 컴퓨터는 전기적 신호를 이용해 데이터를 정의한다.
    • 전기가 흐르면 ON( 1 ), 전기가 흐르지 않으면 OFF( 0 )

 

🤔 데이터를 0과 1로 이루어진 비트열로 변환하고 그대로 전송해도 될까?

  • 비트열은 0과 1의 집합이므로 전기 신호로 변환이 필요하다.
  • 랜 카드( NIC, Network Interface Controller )가 위 역할을 한다.
  • 물리 계층에서 전송할 수 있는 전기 신호를 만드는 과정을 변조( Modulation )라고 한다.
  • 물리 계층에서 데이터 링크 계층이 읽을 수 있는 디티절 신호를 만드는 과정을 복조( Demodulation )라고 한다.

 

일상에서 사람들끼리 대화를 할 때 공기라는 매체가 필요하고, 편지를 보낼 때 우체부라는 매체가 필요하다.

통신을 하기 위해서도 당연히 수신자와 송신자 사이에 매체가 필요하다.

 

📌 물리 계층의 전송 매체

📝 유선

  • 광케이블
  • 트위스트 페어 케이블 ( =랜 케이블 )
    • 카테고리 5 케이블 ( UTP 케이블 )
  • 동축 케이블

📝 무선

  • 라디오파
  • 마이크로파
  • 적외선

 

📌 물리 계층의 장비

📝 리피터( Repeater )

  • 전송 과정 중 약해진 신호를 다시 정상화 시키는 장비다.
  • 현재는 다른 장비들에서 리피터의 역할을 하기 때문에 이제는 따로 사용되지 않는다.

📝 더미 허브( Dummy Hub ) = 멀티 포트 리피터

  • 여러 개의 포트를 가지고 있고, 여러 대의 컴퓨터 끼리 송수신 할 수 있도록 해주는 장비다.
  • 신호를 증폭 시켜주는 리피터의 역할을 한다.
  • 들어오는 데이터를 전송할 때 특정 대상을 지정할 수 없어 연결되어 있는 모든 포트에 브로드 캐스트 패킷을 전달한다.

 

💡  더미 허브가 데이터를 전송할 때 특정 대상을 지정할 수 없는 이유

  • 더미 허브의 다른 이름은 멀티 포트 리피터로 포트를 여러 개 가진 리피터 라는 뜻이다.
  • 더미 허브는 전기 신호를 증폭 시키고 전달 하는 기능을 가지고 있다.
  • 모듈레이션과 디모듈레이션 기능이 존재하지 않아 전기 신호를 데이터로 읽을 수 없어 대상을 알 수 없다.
  • 위와 같은 이유로 모든 포트로 전기 신호를 증폭시켜 뿌리게 되고, 대상을 특정하여 보낼 수 없게 된다.

 

📌 캡슐화( Encapsulation )

  • 송신 측에서 데이터를 보낼 때 데이터의 앞부분에 본인 계층의 정보( 헤더 )를 붙여 다음 계층으로 전송하는 것

📌 역캡슐화( Decapsulation )

  • 수신 측에서 자기 계층에 해당 하는 헤더를 읽고 해석하는 것

트레일러 : 데이터를 전달할 때 데이터의 마지막에 추가하는 정보

 

 

📌 캡슐화 & 역캡슐화 장점

  1. 다른 모듈에 미치는 영향이 최소화된다.
  2. 각 계층에 맞는 헤더만 해석되기 때문에 목적에 부합하는 기능만 수행한다.
  3. 네트워크 동일 계층간 호환성이 유지된다.

📌 네트워크 모델의 종류

📝 OSI 7 Layer

  • Open Systems Interconnection 7 Layer의 약어로 국제 표준화 기구( ISO )에서 개발한 표준화된 네트워크 구조 모델
  • 서로 다른 기종 간에 연결이 가능하게 해주는 표준이다.
  • 7개의 계층으로 존재한다.

📝 TCP/IP

  • 패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 프로토콜인 TCP로 구성된다.
  • 하드웨어, 운영체제, 접속 매체에 관계없이 동작할 수 있는 개방성을 가지고 있다.
  • 인터넷에서 사용되는 애플리케이션은 TCP/IP 위에서 동작한다.

 

 

OSI 7 Layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되고,

실질적인 통신 자체는 TCP/IP 프로토콜을 사용한다

'K-Shield > Jr' 카테고리의 다른 글

[K-Shield][Jr] 1계층 - 물리 계층( PhySical Layer )  (1) 2025.04.25
[K-Shield][Jr] 캡슐화 & 역캡슐화  (0) 2025.04.25
[K-Shield][Jr] 네트워크  (0) 2025.04.25
[K-Shield][Jr] 공격 유형  (0) 2025.04.24
[K-Shield][Jr] 위협  (0) 2025.04.24
Net( 그물 ) + Work( 일하다 )의 합성어로 그물처럼 연결된 통신 이용형태를 의미한다.
두 대 이상의 컴퓨터들을 연결하고 서로 통신할 수 있는 것이다.
  • 라디오나 TV의 방송에서, 각 방송국을 연결하여 동시에 같은 프로그램을 방송하는 체제
  • 랜이나 모뎀 따위의 통신 설비를 갖춘 컴퓨터를 이용하여 서로 연결시켜 주는 조직이나 체계

 

분산되어 있는 노드들이 정보를 공유할 수 있게 통신망으로 연결한 것을 의미한다.

  • 노드란 컴퓨터, 서버, 네트워크 장비 등을 의미

 

📌네트워크 구성 단위 이해

  • 네트워크를 지리적 영역과 컴퓨터의 수로 구분할 때, PAN, LAN, MAN, WAN이 존재한다.
  • 네트워크 크기의 순서 PAN < LAN < MAN < WAN

 

📌 PAN( Personal Area Network )

  • 개인의 작업공간을 중심으로 장치들을 서로 연결하기 위한 컴퓨터 네트워크

 

📌 LAN( Local Area Network )

  • 가까운 구역인 한 사무실, 한 건물, 한 학교 등을 묶는 네트워크
  • 소규모의 구역을 나누고 있으며, 같은 IP 대역으로 구성

 

 

 

📑 주변의 LAN

  • Windows : 윈도우키 + r -> cmd -> ipconfig / all
  • WiFi에 연결되어 있으면 Wi-Fi가 나타나고, 랜선으로 연결 되어 있으면 이더넷 더탭터라는 문구를 확인할 수 있다.

PC가 WiFi로 연결되어 있는 모습

  • Mobile : 설정 -> Wi-Fi -> 현재 연결 되어 있는 Wi-Fi의 ⓘ

  • 서브넷 마스크 : IP 주소에서 네트워크 영역과 호스트 영역의 구분을 위한 역할
  • 게이트 웨이( 라우터 ) : 통신하기 위한 통로

 

📑 LAN의 다른 이름

  • Ethernet Network
  • Wi-Fi Network
  • Broadcast Domain
    • Broadcast란 같은 대역에 연결된 모든 호스트에 패킷이 전송되는 방식이다.
    • Broadcast를 받을 수 있는 단말기들을 브로드캐스트 도메인이라 부른다.
  • Switched Network

 

📌 MAN( Metropolitan Area Network )

  • 대도시 또는 캠퍼스에 퍼져 있는 컴퓨터 네트워크
    • 대도시 통신망으로 근거리 통신망인 LAN 보다 크고 WAN보다 작은 규모의 네트워크
  • MAN의 구성은 2개 이상의 LAN이 통신 목적으로 접속되면 MAN이 된다.

 

 

📌 WAN( Wide Area Network )

  • 국가 전체 또는 대륙과 같이 큰 지리적 영역에서 사용된다.
  • 시스템, 전화 회선 등의 공통 통신 사업자를 사용한다.
    • 공통 통신 사업자에는 한국을 예로 들 경우 SKT, LG U+, KT가 이에 해당한다.
  • WAN은 아래 그림처럼 여러개( 수천개 )의 LAN과 MAN이 연결되어 있고, 가장 큰 네트워크를 이룬다.
  • WAN은 인터넷에 가장 가까운 형태이자 한 종류이지만, 큰 기업에서 통신 회선을 임대하고 독점해서 대규모 회사 네트워크를 구축할 경우가 존재하기 때문에 모든 WAN이 인터넷이라고 볼 수는 없다.

 

📌 인터넷( Internet )

  • Inter Network에서 유래된 말로 여러 통신망을 하나로 연결한다는 의미다.
  • 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망이다.
  • TCP/IP을 사용하여 연결한다.
  • 인터넷과 네트워크는 동일한 표현이 아니고, 네트워크는 인터넷을 구성하는 요소 중 하나일 뿐이다.

💡 WWW( World Wide Web )은 인터넷인가?

  • WWW은 인터넷에서 HTTP 프로토콜을 사용하여 HTML 형식 등을 이용해 그림, 문자 등을 교환하는 전송방식이다.
  • Internet Explorer의 영향으로 인터넷과 WWW을 같다고 생각하는 사람들이 있지만, WWW는 인터넷에서 동작하는 하나의 서비스일 뿐 엄밀히 말해 인터넷은 아니다.

'K-Shield > Jr' 카테고리의 다른 글

[K-Shield][Jr] 캡슐화 & 역캡슐화  (0) 2025.04.25
[K-Shield][Jr] 네트워크 계층과 프로토콜  (0) 2025.04.25
[K-Shield][Jr] 공격 유형  (0) 2025.04.24
[K-Shield][Jr] 위협  (0) 2025.04.24
[K-Shield][Jr] 정보 보안  (0) 2025.04.24

📌  피싱( Phishing )

  • 가짜 웹 사이트나 이메일을 통해 사용자로 부터 민감한 정보를 획득하려는 사기 공격
  • scam( 사기 )도 피싱 공격의 한 형태다.

📌  랜섬웨어( Ransomware )

  • 몸 값을 의미하는 Ransom과 Software의 합성어
  • 사용자의 데이터를 암호화하고, 해독 키를 얻기 위해 금전을 요구하는 악성 소프트웨어를 말한다.

 

📌 공격 종류 - Network

📑 DDoS( Distributed Denial of Service )

  • 여러 컴퓨터를 이용해 대량의 트래픽을 발생시켜 서버나 네트워크의 정상적인 서비스 제공을 방해하는 공격

📑 Scanning

  • 목표로 하는 네트워크에서 동작 중인 시스템이나 서비스를 탐색하는 행위

📑 Sniffing

  • 네트워크 중간에서 남의 패킷 정보를 도청하는 행위

📑 MITM (Man In The Middle)

  • 중간자 공격으로 네트워크 통신을 조작하여 내용을 도청하거나 조작하는 공격
  • 연결된 두 사람 중간에 공격자가 존재해 중간자가 한쪽에서 정보를 가로채 도청하고, 조작하여 다시 전달하게 됨

 

📌 공격 종류 - Web

📑 SQL Injection

  • 웹 애플리케이션의 데이터베이스 쿼리에 악의적인 SQL 코드를 주입하여 데이터베이스를 조작하는 공격

📑 크로스 사이트 스크립팅(XSS)

  • 사용자 브라우저에 악성 스크립트를 실행시키는 공격
  • 서버측이 아닌 해당 페이지를 방문하게 되는 사용자에게 발생하는 공격

'K-Shield > Jr' 카테고리의 다른 글

[K-Shield][Jr] 캡슐화 & 역캡슐화  (0) 2025.04.25
[K-Shield][Jr] 네트워크 계층과 프로토콜  (0) 2025.04.25
[K-Shield][Jr] 네트워크  (0) 2025.04.25
[K-Shield][Jr] 위협  (0) 2025.04.24
[K-Shield][Jr] 정보 보안  (0) 2025.04.24

+ Recent posts