프로토콜
데이터 통신에 있어서 신뢰성 있게 효율적이고 안전하게 정보를 주고 받기 위해서 정보의 송/수신자측 또는 네트워크 내에서 사전에 약속된 규약 또는 규범이다.
- 주요 구성요소
· 구문(Syntax) : 구문은 데이터의 구조나 형식을 가리키며 데이터가 표현되는 순서를 의미한다.
· 의미(Semantics) : 의미는 비트의 영역별 의미를 나타낸다. 특정 패턴을 어떻게 해석하고 그를 기반으로 어떤 동작을 할 것인가를 결정하게 된다.
· 타이밍(Timing) : 데이터를 언제 얼마나 빠른 속도로 전송할 것인가를 나타낸다.
OSI model (OSI 7 Layers)
ISO 기구에서 발표한 개방 시스템 표준 모델이다. 개방형 시스템으로써 서로 다른 특성을 갖는 컴퓨터 혹은 정보처리 기기끼리도 상호 연결할 수 있다.
제1,2,3계층은 물리 계층, 데이터링크 계층, 네트워크 계층으로 한 장치에서 다른 장치로 데이터를 전송할 때 필요한 물리적인 면을 처리한다. 제5,6,7계층은 세션 계층, 표현 계층, 응용 계층은 사용자 지원 계층으로 생각될 수 있다. 이들은 서로 관련이 없는 소프트웨어 시스템 간의 상호 연동을 가능하게 한다.
전송 계층인 4계층은 두 그룹을 연결하고 하위 계층(1,2,3)에서 전송한 내용을 상위 계층(4,5,6)이 사용할 수 있는 형태가 되도록 보장한다.
물리 계층(Physical layer)
데이터를 물리 매체상으로 전송하는 역할을 담당하는 계층으로 전송을 위해 필요한 물리적 링크의 설정·유지·해제를 담당한다. 사용자장비와 네트워크 종단장비 사이의 물리적, 전기적인 인터페이스 규정에 초점을 두고 있으며, 전송 선로의 종류에 따라 전송방식과 인코딩방식을 결정한다.
데이터링크 계층(Data link layer)
데이터링크 계층은 물리 계층의 있는 그대로의 전송 설비를 신뢰할 수 있는 링크로 변환한다. 이는 상위 계층인 네트워크 계층에게 오류 없는 물리 계층으로 보이도록 한다.
물리 계층에서 전송하는 비트에 대한 비트 동기 및 식별 기능과 원활한 데이터의 전송을 위한 흐름제어 기능 그리고 안전한 데이터 전송을 위한 오류제어 기능 등을 수행한다.
데이터링크 계층에서 다루어지는 데이터 단위를 일반적으로 프레임(frame)이라고 한다.
e.g.) ethernet, 802.11(WLAN) 등
네트워크 계층(Network layer)
송신자측에서 수신자측까지 데이터를 안전하게 전달하기 위해서 논리적 링크를 설정하고 상위 계층 데이터를 작은 크기의 패킷으로 분할하여 전송하는 역할을 수행한다.
e.g.) IP, ICMP, IGMP, ARP/RARP, RIP 등
전송 계층(Transport layer)
전송 계층은 세션을 맺고 있는 두 사용자 사이의 데이터 전송을 위한 end-to-end 제어를 담당한다. 단순히 한 컴퓨터에서 다음 컴퓨터로의 전달이 아니라 송신 컴퓨터의 프로세스에서 최종 수신 컴퓨터의 프로세스로의 전달을 의미한다.
e.g.) TCP, UDP
세션 계층(Session layer)
세션 계층은 네트워크 대화 제어기이다. 통신 시스템 간에 상호대화를 설정하고, 유지하고, 동기화한다.
특정한 프로세스 사이에서 세션이라 불리는 연결을 확립하고 유지하며 동기화하는 기능을 제공한다.
세션 계층은 표현 계층으로 받은 데이터를 효율적인 세션 관리를 위해 짧은 데이터 단위로 나눈 후에 전송 계층으로 내려 보낸다.
표현 계층(Presentation layer)
송·수신자가 공통으로 이해할 수 있도록 정보의 데이터 표현방식을 바꾸는 기능을 담당한다.
응용 계층으로부터 데이터를 받아서 표준 포맷으로 변환시킨다. 송신자측의 표현 계층은 응용 계층으로부터 받은 데이터의 보안과 효율적 전송을 위해 암호화와 압축을 수행하여 세션 계층으로 내려 보낸다.
표현 계층에서 동작하는 프로토콜은 존재하지 않는다.
e.g.) ASCII, MIME, jpg 등
응용 계층(Application layer)
최상위 계층으로 사용자가 네트워크에 접속하는 것을 가능하게 한다.
e.g.) FTP, SNMP, SMTP, Telnet, HTTP, DNS, DHCP 등
TCP/IP 프로토콜 그룹
현재 인터넷에서 사용하는 프로토콜 그룹이다. 상호 작용하는 모듈로 이루어진 계층적 프로토콜이다. 여기서 계층적이라는 말은 각 상위 계층 프로토콜은 1개 이상의 하위 계층 프로토콜로부터 제공되는 서비스의 지원을 받는다는 의미이다.
원래의 TCP/IP 프로토콜 그룹은 4개의 소프트웨어 계층으로 정의되었지만 현재 5계층 모델로 간주한다.
TCP/IP 프로토콜과 OSI 모델과 비교를 해보자면 이런 느낌이 된다. 다만 TCP/IP 프로토콜이 먼저 개발되었기에 OSI 모델의 계층과 정확하게 일치하지는 않는다.
발신지 호스트와 목적지 호스트는 5개의 계층과 모두 관련이 있다. 발신지 호스트는 응용 계층에서 메시지를 생성하고 그것을 아래 계층으로 보냄으로써 메시지가 물리적으로 목적지 호스트에 보내지게 한다.
라우터가 오직 라우팅을 위해서만 사용된다면 physical ~ Network layer과 관련된다. 링크층 스위치는 라우터와는 달리 데이터링크 계층과 물리 계층만 관련된다.
캡슐화와 역캡슐화
데이터의 전송을 위해서 데이터 앞에 헤더를 추가하는데 이 과정을 캡슐화, 그 반대 과정을 역캡슐화라고 한다.
발신지 호스트에서는 캡슐화, 도착지 호스트에서는 역캡슐화 그리고 라우터에서 캡슐화와 역캡슐화가 이루어진다. 그러나 데이터링크 계층 스위치에서는 캡슐화/역캡슐화가 일어나지 않는다.
주소 지정
TCP/IP 프로토콜을 이용한 인터넷은 3개의 서로 다른 계층의 주소가 사용되는데, 이는 물리(링크) 주소(physical address), 논리 주소(logical address/IP) 그리고 포트 주소(port address)이다.
- 논리 주소
논리 주소는 기존 물리적 네트워크와는 독립적으로 전세계적인 통신 서비스를 위해 필요하다. 논리 주소는 현재 인터넷에 연결된 호스트를 유일하게 식별할 수 있는 32비트 주소 체계(IPv4)를 사용한다.
물리 주소는 홉에서 홉으로 갈 때마다 변경되지만 논리 주소는 발신지에서 목적지까지 같은 상태로 남아있다.
- 포트 주소
오늘날 컴퓨터는 다수의 프로세스를 동시에 실행할 수 있다. 인터넷 통신의 최종 목적은 한 프로세스가 다른 프로세스와 통신할 수 있도록 하는 것이다. 동시에 발생되는 프로세스를 구분하기 위해 포트 번호를 부여해 서로 다른 프로세스를 식별한다.
다중화와 역다중화
TCP/IP 프로토콜 그룹은 몇몇 계층에서 여러 개의 프로토콜을 사용하기 때문에 발신지에서는 다중화, 목적지에서는 역다중화를 한다.
다중화는 여러 소켓으로부터 들어오는 데이터(패킷)에 헤더를 붙여 전송하는 것을 의미하고, 역다중화는 수신된 데이터(세그먼트)를 올바른 소켓에 전송하는 것을 의미한다.
'정보보안기사' 카테고리의 다른 글
라우팅 (0) | 2023.04.09 |
---|---|
TCP/IP (0) | 2023.04.07 |
각종 시스템 보안위협 및 대응책 - 2 (0) | 2023.03.31 |
각종 시스템 보안위협 및 대응책 (0) | 2023.03.30 |
서버 보안 관리 - 2 (0) | 2023.03.28 |