OSI 참조 모델의 개요
통신 기술의 도입과 통신 기능의 확장을 쉽게 하려고 프로토콜을 몇 개의 계층으로 나누는 것을 ‘계층화’라 하고, 통신 기능을 7 계층으로 분류하여 각 계층마다 프로토콜을 규정한 규격을 OSI(Open System Interconnection)’ 모델이라고 한다.
물리 계층(Physical Layer)
- 두 시스템 간에 데이터를 전송하려고 링크를 활성화하고 관리하는 전기적·기계적·절차적·기능적 특성 등을 정의
- 허브, 라우터, 네트워크 카드, 케이블 등 전송매체를 통해 비트(bit)를 전송
특성
- OSI 참조 모델 7 계층 중 물리 계층은 최하위 계층인 첫 번째 계층으로, 상위 계층에서 전송된 데이터를 물리매체를 통해 다른 시스템에 전기적 신호로 전송
- LAN 카드, 케이블, 허브, 라우터 등 물리적인 것과 데이터 전송에 사용하는 전압 등 기본적인 것이 물리계층에 속함
데이터 단위
- 송신 측의 물리 계층은 데이터 링크 계층에서 0과 1로 구성된 비트열의 데이터(프레임)를 받아 전기적 신호로 변환한 후 전송매체를 통하여 수신 측에 전송
- 수신 측의 물리 계층은 송신 측에서 받은 전기 신호를 0과 1로 구성된 비트열로 복원하여 수신 측의 데이터 링크 계층에 전송
데이터 링크 계층(Data Link Layer)
- 물리적 링크를 이용하여 신뢰성 있는 데이터를 전송하는 계층으로, 네트워크를 통해 데이터를 전송할 때 전송로 역할
- 비트를 프레임이라는 논리적 단위로 구성하는데, 전송하려는 데이터에 인접하는 노드(시스템)의 주소가 더해짐
- 주소는 최종 수신지의 주소가 아니라 전송되는 다음 노드의 주소
특성
- OSI 참조 모델 7계층 중 데이터 링크 계층은 하위 계층인 두 번째 계층으로, 물리 계층의 바로 위에 위치
- 시스템 간에 오류 없이 데이터를 전송하려고 네트워크 계층에서 받은 데이터 단위(패킷)를 프레임으로 구성하여 물리 계층으로 전송
규칙
- 데이터 링크 계층은 네트워크 접속 장치 간에 신호를 주고받는 규칙을 정하는 계층
- 가장 일반적으로 사용되는 규칙은 이더넷으로, 이더넷은 허브와 같은 네트워크 접속 장치에 연결된 컴퓨터와 데이터를 전송받을 때 사용
이더넷 헤더
- 이더넷 헤더는 수신지 MAC 주소(6바이트), 송신지 MAC 주소(6바이트), 유형(2바이트)의 총 14바이트로 구성
- 이더넷 헤더 외에 데이터 뒤에 추가하는 트레일러는 FCS [Frame Check Sequence]라고 하며, 이는 데이터 송신 도중에 오류가 발생하는지 확인하는 용도로 사용
- 이처럼 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 함
네트워크 계층
필요성
- 데이터 링크 계층은 이더넷 규칙을 기반으로 데이터의 전송을 담당하며, 이 규칙에 따라 같은 네트워크에 있는 컴퓨터에는 데이터를 전송할 수 있지만 다른 네트워크나 인터넷으로는 데이터를 전송 불가능
- 즉 수많은 네트워크가 연결된 환경에서는 데이터 링크 계층의 기능만으로는 다른 네트워크로 데이터를 전송하기 어려움
- 이때 서로 다른 네트워크 간의 통신을 가능하게 하는 것이 네트워크 계층이고, 네트워크 계층을 통해 다른 네트워크로 데이터를 전송하려면 라우터라는 네트워크 접속 장치가 필요
- LAN에서는 MAC 주소만으로도 통신이 가능하지만, 다른 네트워크에는 데이터를 전송 불가능
- 따라서 MAC 주소가 아닌, 네트워크를 식별할 수 있는 주소가 필요한데 이를 IP 주소라고 함
네트워크 계층의 역할
- 네트워크 계층은 데이터 전송과 경로 선택 기능을 제공하고, 라우팅 프로토콜을 사용하여 최적의 경로를 선택
- 데이터를 전송할 수신 측의 주소를 찾고 수신된 데이터의 주소를 확인하여 자신의 것이면 전송 계층으로 전송
- OSI 참조 모델 7계층 중 네트워크 계층은 세 번째 계층으로, 패킷을 송신 측에서 수신 측으로 전송
IP 프로토콜
- IP는 컴퓨터 간에 통신하기 위해 TCP/IP 프로토콜의 네트워크 계층에서 사용하는 프로토콜
- IP는 레이어3 스위치나 라우터 등의 중계 장치를 사용하여 라우팅을 하는 기능이 있음
- TCP는 오류가 발생하면 데이터를 재전송할 수 있는 신뢰성 있는 연결 지향형 프로토콜인 반면, IP는 데이터가 제대로 수신되었는지 확인하는 기능이 없는 비연결형 프로토콜
- 즉 IP는 최선을 다해 패킷을 수신지까지 전송하지만 전송 완료를 보장하지는 않음
- 비연결형 데이터그램 프로토콜은 각 데이터그램을 독립적으로 처리하고 수신지까지 다른 경로로 전송 가능
- 여러 송신지에 데이터그램을 보내면 순서가 뒤바뀌어 도달하기도 하고 일부는 전송 도중 분실 또는 훼손되기도 함
- 통신 접속 절차나 패킷 전체의 내용이 정상인지는 상위 계층인 TCP에서 확인
연결형 서비스
- 송수신자 간에 논리적인 연결을 확립하고 데이터를 전송하는 방법
- 패킷 순서가 서로 맞지 않을 위험성이 낮고 오류가 발생하면 재전송하기 때문에 신뢰성이 있음
- 연결형 서비스는 다음 계층인 전송 계층에 해당
비연결형 서비스
- 송수신자 간에 논리적인 연결을 확립하지 않은 채 데이터를 전송하는 방법
- 오류가 발생해도 재전송하지 않기 때문에 신뢰성이 없지만 전송 속도가 빨라 중요도가 낮은 데이터 전송에 많이 사용
- 비연결형 서비스는 UDP 방식이며, 신뢰성 있는 데이터 전송을 할 수 없어 상위 계층인 TCP 등에서 신뢰성을 보장해야 함
- IP는 TCP/IP 네트워크를 통해 전송하는 데이터의 기본 단위를 정의하며, 데이터를 전송할 최적의 경로를 선택하는 라우팅 기능을 수행
라우터
- 스위치만 있는 네트워크에서는 모든 컴퓨터와 스위치가 동일한 네트워크에 속함
- 허브도 스위치와 마찬가지로 네트워크를 분할할 수 없지만 라우터는 네트워크를 분할할 수 있음
- 네트워크로 분할한 뒤 다른 네트워크에 있는 컴퓨터로 데이터를 전송하려면 라우터의 IP 주소(192.168.35.1)를 설정해야 함
- 이는 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이라고 함
- 기본 게이트웨이는 ipconfig 명령으로 확인 가능
라우팅 테이블
- 현재 네트워크에서 다른 네트워크로 데이터를 전송할 때는 라우팅의 경로 정보를 바탕으로 최적의 경로로 데이터를 전송
- 각 라우터의 라우팅 테이블에 경로 정보가 등록되어 있어 라우팅이 가능
- 이제 컴퓨터 1에서 다른 네트워크의 컴퓨터 5에 데이터를 전송 가능
주소 변환 프로토콜(ARP)
- IP 프로세스는 물리 주소인 MAC 주소를 모르기 때문에 최종 수신지 호스트까지 신호를 전송하려면 기본 게이트웨이에서 수신지 IP 주소와 관련이 있는 네트워크 카드(LAN 카드)의 MAC 주소를 알아야 함
- 이때 논리 주소인 IP 주소를 물리 주소인 MAC 주소로 매핑하는 것이 바로 주소 변환 프로토콜 ARP
- 네트워크 카드의 물리 주소는 제조 업체에서 생산할 때 결정되므로 네트워크 카드를 교체하면 MAC 주소도 바뀜
- 하지만 IP 주소는 네트워크 카드를 교체해도 동일한 주소를 사용 가능
- ARP V 표준은 RFC 826을 따르며, ARP 명령어를 사용하면 네트워크에 등록된 하드웨어 주소를 확인 가능
인터넷 제어 메시지 프로토콜(ICMP)
- 네트워크의 호스트나 라우터에서는 예상치 못한 상황이나 오류가 발생할 수도 있는데, 인터넷 제어 메시지 프로토콜 ICMP은 라우터에서 발생한 오류를 송신 측으로 전송하는 데 사용하는 프로토콜
- ICMP는 네트워크 계층에서 상주하지 않고 IP 데이터그램에 캡슐화되어 인터넷으로 전송
IP
- 집 주소가 있어야 우편 서비스를 이용할 수 있듯이 네트워크에 접속된 각 컴퓨터에도 고유한 식별 번호가 있어야 정확하게 데이터를 송수신 가능
- 따라서 인터넷에 연결된 모든 컴퓨터에는 고유 주소가 부여되는데 이것이 IP 주소
공인 IP와 사설 IP
- 공인 IP 주소는 ISP가 제공
- IPv4는 주소가 고갈되었기 때문에 인터넷에 직접 연결되는 컴퓨터나 라우터에는 공인 IP 주소를 할당하고 집이나 회사의 LAN에 연결되는 컴퓨터에는 사설 IP 주소를 할당하는 정책을 시행
IPv4
- 현재 주로 사용하는 IP 주소 체계인 IPv4 Internet Protocol version 4는 32비트의 IP 주소로 232(약 43억) 개의 컴퓨터에 할당 가능
클래스 구조
- IP 주소는 비트로 구분하지만 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어서 네트워크의 크기를 조정 가능
- 네트워크의 크기는 클래스 개념으로 구분하며, IP 주소는 네트워크의 규모에 따라 A, B, C, D, E 클래스로 나뉨
- D 클래스는 IP 멀티 캐스팅용으로, E 클래스는 연구 및 특수 용도로 사용하는 주소이므로 일반 네트워크에서는 A 클래스(대규모 네트워크 주소), B 클래스(중형 네트워크 주소), C 클래스(소규모 네트워크 주소)를 사용 가능
- A 클래스는 처음 8비트가 네트워크 ID이고 다음 24비트가 호스트 ID
- B 클래스는 처음 16비트가 네트워크 ID이고 다음 16비트가 호스트 ID
- C 클래스는 처음 24비트가 네트워크 ID이고 다음 8비트가 호스트 ID
네트워크 주소와 브로드캐스트 주소
- 네트워크 주소와 브로드캐스트 주소는 컴퓨터나 라우터가 자신의 IP로 사용할 수 없는 주소
- 네트워크 주소는 호스트 ID가 2진수로 00000000이고 10진수로 0인 주소
- 브로드캐스트 주소는 호스트 ID가 2진수로 11111111이고 10진수로 255인 주소
- 즉 호스트 ID가 10진수로 0이면 네트워크 주소이고, 호스트 ID가 10진수로 255이면 브로드캐스트 주소
- 네트워크 주소는 전체 네트워크에서 작은 네트워크를 식별할 때 사용되고, 호스트 ID가 10진수로 0이면 그 네트워크 전체를 대표하는 주소가 됨
- 브로드캐스트 주소는 네트워크에 있는 모든 컴퓨터에 동시에 데이터를 전송할 때 사용되는 전용 IP 주소로 전체 네트워크에 데이터를 전송할 때는 호스트 ID에 255를 설정하면 됨
서브넷의 구조
- A 클래스 네트워크는 호스트 ID가 24비트이고 IP 주소를 16,777,214개 사용 가능
- 이 많은 컴퓨터가 브로드캐스트 패킷을 전송한다면 모든 컴퓨터에 패킷이 전송되어 네트워크가 혼잡해짐
- 이때 A 클래스의 대규모 네트워크를 좀 더 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있는데, 네트워크를 분할하는 것을 서브넷팅이라 하고 분할된 네트워크를 서브넷이라 함
- 이렇게 하면 더 많은 네트워크를 생성함으로써 IP 주소를 보다 효율적으로 활용 가능
- 호스트 ID에서 비트를 빌려 서브넷으로 만듦
서브넷 마스크
- 서브넷 마스크는 IP 주소를 서브넷팅하는 경우 어디까지 네트워크 ID이고 어디부터 호스트 ID인지 판단하기 어려울 때 사용
- 서브넷 마스크는 네트워크 ID와 호스트 ID를 식별하기 위한 32비트의 값으로 A 클래스는 255.0.0.0, B 클래스는 255.255.0.0, C 클래스는 255.255.255.0
ex) C 클래스의 IP 주소를 서브넷팅하는 방법을 살펴보자. C 클래스이므로 네트워크 ID가 24비트인데 네트워크 ID를 26비트로 변경하려면 2비트를 호스트 ID에서 빌려야 한다. 따라서 네트워크 ID가 24비트, 서브넷 ID가 2비트, 호스트 ID가 6비트가 된다.
문제
1. c 클래스 네트워크를 24개의 서브넷으로 나누려고 한다.
각 서브넷은 4~5개의 호스트가 연결되어할 때 서브넷 값은? 255.255.255.248
2. IP 주소가 128.110.121.32(255.255.255.0) 일 때 네트워크 주소는? 128.110.121.0
3. IP 주소 203.10.24.27 이란 호스트의 서브넷 마스크는 255.255.255.240이다.
이때 호스트의 범위와 브로드캐스트 주소는? 203.10.24.17 ~ 203.10.24.30, 203.10.24.31
4. 클래스 B 주소로 서브넷 마스크 255.255.255.240으로 만들 때
서브넷 수와 호스트 수는? 16, 14
5.
사설 IP주소 서브넷 마스크 클래스 호스트개수
201.222.10.60 255.255.255.248 C 6
15.18.192.6 255.255.0.0 B 2^16 - 2
130.15.121.13 255.255.255.0 C 254
153.70.100.2 255.255.255.192 C 62
Extra)
IP 192.168.0.128/26
NETWORK 192.168.0.128
BROADCAST 192.168.191
NETMASK 255.255.255.192
IP 172.15.8.66/16
NETWORK 172.15.0.0
BROADCAST 172.15.255.255
NETMASK 255.255.0.0
IP 10.1.1.56/8
NETWORK 10.0.0.0
BROADCAST 10.255.255.255
NETMASK 255.0.0.0
IPv6
IPv6 도입의 필요성
- 한 조직이 A 클래스의 주소를 할당받으면 호스트 1,600만 개를 할당 가능
- 그러나 C클래스는 주소를 256개만 할당받을 수 있는데 이 수는 충분치 않음
- 또한 D 클래스와 E 클래스에서도 주소 수백만 개가 낭비
- 다시 말해 IPv4는 산술적으로 주소를 43억 개 할당할 수 있지만 클래스별 주소 분류 방식 때문에 사용하지 않는 주소가 많음
- 4차 산업혁명 시대에는 단말기마다 IP가 부여되는 환경이 필요하므로 IPv4를 사용하면 IP 주소가 부족
- 인터넷의 폭발적인 성장으로 32비트로 구성된 IPv4 주소 공간(약 40억 개)은 이미 고갈된 상태
- IPv6는 전 세계 60억 인구가 1인당 53,731,028개의 주소를 할당받을 수 있기 때문에 주소 부족 현상이 일어나지 않을 것으로 예상
- IPv6는 128비트로 구성되며, 긴 주소를 쉽게 읽을 수 있도록 16비트씩 콜론(:)으로 나누어 각 필드를 16진수로 표현하는 방법을 사용
- 기존의 IPv4 주소도 하위 32비트는 IPv4 주소를 그대로 채우고 상위 비트는 모두 0으로 채워 IPv6 주소로 표현 가능
전송계층
TCP
연결형
포트 번호
- 포트는 TCP가 상위 계층으로 데이터를 전송하거나 상위 계층에서 TCP로 데이터를 전송할 때 상호 간에 사용하는 데이터의 이동 통로
- 상위 계층 프로토콜과 하위 계층 프로토콜이 같은 포트를 사용해야만 통신 가능
- TCP 프로토콜이 포트를 여러 개 사용하여 상위 계층의 프로그램과 각각 따로 통신하기 때문에 동시에 파일을 다운로드 가능
UDP
비연결형
- UDP(사용자 데이터그램 프로토콜)는 RFC 768 문서에 정의된 비연결 지향 프로토콜로, TCP(연결 지향 프로토콜)와 달리 패킷이나 흐름 제어, 단편화 및 전송 보장 등의 기능을 제공하지 않음
- UDP 통신은 요청 메시지와 응답 메시지만으로 구성되고 주로 적은 양의 데이터 전송에 사용
- UDP를 사용하는 대표적인 응용 계층 프로토콜은 DNS, DHCP, SNMP 등
'🔐 [정보보안] 모의해킹 침해대응 전문가 취업캠프 > Packet Tracer' 카테고리의 다른 글
[Packet Tracer] 라우팅 프로토콜 (0) | 2023.08.19 |
---|---|
[Packet Tracer] Packet Tracer 기본 (0) | 2023.08.16 |
[Packet Tracer] 네트워크 통신 (0) | 2023.08.09 |
[Packet Tracer] 네트워크의 구성 (0) | 2023.08.09 |
[Packet Tracer] 네트워크의 이해와 설정 (0) | 2023.08.09 |