1. 물리 계층
응용, 전송, 네트워크, 데이터 링크에서의 통신은 논리적(logical)이고 물리 계층 통신은 물리적(physical)이다.
2. 데이터 링크 계층
데이터 링크에서 제공하는 서비스
- 프레임 짜기 - 다음 노드에게 데이터그램을 전송하기 전에 네트워크 계층에서 전달받은 패킷인 데이터그램을 프레임에서 캡슐화해야 한다.
- 흐름 제어
- 오류 제어
- 혼잡 제어
3. 네트워크 계층
네트워크 계층에서 다루는 임무는 라우팅(routing)과 포워딩(forwarding)으로, 둘은 서로 직접적으로 연관이 있다. 네트워크 계층은 패킷이 근원지에서 목적지까지 갈 수 있도록 경로를 라우팅해야 한다. 포워딩은 라우터상의 하나의 인터페이스에 패킷이 도착했을 때 라우터가 취하는 행동으로 정의할 수 있다. 이러한 행동을 취하기 위해 라우터가 일반적으로 사용하는 의사결정 테이블은 포워딩 테이블 혹은 라우팅 테이블이라 불리기도 한다.
IPV4 주소
클래스 기반의 주소 지정
인터넷이 시작될 당시 IPV4 주소는 소규모 및 대규모 네트워크를 지원하기 위해 한 가지가 아닌 세 가지의 고정된 접두사로 설계되었다. 전체 주소 공간은 5개의 클래스(A, B, C, D, E)로 구분된다. 이 기술을 클래스 기반 주소지정이라 한다.
클래스 | 설명 |
클래스 A | 첫 번째 비트가 '0'인 IP 주소이다. 첫 바이트의 나머지 7 비트가 네트워크 주소이고, 하위 세 바이트는 호스트 주소이다. |
클래스 B | 처음 두 비트의 값이 '10'인 주소이다. 첫 바이트의 나머지 6 비트와 두 번째 바이트가 네트워크 주소이고, 마지막 두 바이트는 호스트 주소로 사용된다. |
클래스 C | 처음 세 비트의 값이 '110'인 주소이다. 세 번째 바이트까지가 네트워크 주소이고, 마지막 한 바이트는 호스트 주소로 사용된다. |
클래스 D | 처음 네 비트의 값이 '1110'인 주소이다. 클래스 D 주소는 네트워크 주소와 호스트 주소의 구분이 없고 전체 주소가 멀티캐스트용으로 사용된다.정보, 멀티미디어, 그리고 리얼타임 비디오 등을 보내는데 사용된다. |
클래스 E | 처음 네 비트의 값이 '1111'인 주소이다. 추수 사용을 위해 예약된 주소이다. |
클래스 기반의 주소가 더 이상 사용되지 않는 이유는 주소 고갈 때문이다. 주소가 적절하게 분배되지 않았기 때문에 주소가 더 이상 남아 있지 않게 되는 문제에 직면하게 되었다.
주소 고갈을 완화하기 위헤 서브네팅(subnetting)과 슈퍼네팅(supernetting)의 두 가지 기술이 제안되었다.
클래스 없는 주소 지정(CIDR, Classless Inter-Domain Routing)
클래스 기반 주소지정에서 서브네팅과 슈퍼네팅은 실제로 주소 고갈 문제를 해결하지 못했다. 해결책으로 클래스 없는 주소지정 방식의 IPv4 주소가 사용된다. 즉, 주소 고갈을 해결하기 위해 클래스 권한이 제거되었다.
CIDR에는 주소 클래스가 없기 때문에 주소만으로 네트워크 IP의 크기를 파악할 수 없다. CIDR에서는 접두사(네트워크 ID)의 길이를 주소 뒤의 슬래시 다음에 표시한다.
IPv4의 주소에는 특별한 목적으로 사용되는 다섯 가지 특수 주소가 있다.
- 디스-호스트 주소 - 0.0.0.0/32의 주소를 디스-호스트(this-host) 주소라고 한다. 이 주소는 호스트가 IP 데이터그램을 보내려고 하지만 근원지 주소인 자신의 주소를 모를 때 사용한다.
- 제한된 브로드캐스트 주소 - 255.255.255.255/32의 주소는 제한된 브로드캐스트 주소이다. 이 주소는 호스트나 라우터가 네트워크 상의 모든 장치로 데이터그램을 보낼 때 사용된다.
- 루프백 주소 - 127.0.0.0/8의 블록은 루프백 주소이다. 블록 내의 주소는 소프트웨어의 테스트 목적으로 사용된다.
- 사설 주소 - 라우팅이 불가능한 특수 주소 집합을 정의한다. 이들 주소는 공중 인터넷에 존재하지 않는다.
Class A - 10.0.0.0 - 10.255.255.255
Class B - 172.16.0.0 - 172.31.255.255
Class C - 192.168.0.0 - 192.168.255.255 - 멀티캐스트 주소
IP
IPv4는 비신뢰적이고 비연결형인 데이터그램 프로토콜로 최신형 전송 서비스(bset-effort delivery service)이다. 모든 TCP/UDP, ICMP, IGMP 데이터는 IP 데이터그램을 사용하여 전송된다.
IP 프로토콜은 호스트와의 관리 질의를 위한 매커니즘이 없다. 그러나 호스트는 간혹 라우터나 다른 호스트가 동작하고 있는지 알 필요가 있다. 그리고 간혹 네트워크 관리자는 다른 호스트나 라우터로부터 정보를 획득할 필요가 있다. 인터넷 제어 메시지 프로토콜 버전 4(ICMPv4)는 위의 두 가지 단점을 보완하기 위해서 설계되었다.
ICMP 메시지는 크게 오류보고 메시지와 질의 메시지로 나눌 수 있다. IP가 신뢰성 없는 프로토콜이기 때문에 ICMP의 주된 임무 중 하나는 IP 데이터그램의 프로세싱 동안 발생하는 오류를 보고하는 것이다. 그러나 ICMP는 오류를 수정하는 것이 아니고 단지 보고를 할 뿐이다. 오류수정은 상위 계층 프로토콜에 맡긴다. 다음은 대표적인 ICMP 메시지이다.
ICMP | 메시지 기능 |
Echo Request | 원하는 호스트로의 IP 연결을 확인하기 위해 사용되는 간단한 문제 해결 메시지 |
Echo Reply | ICMP Echo Request에 대한 응답 메시지 |
Redirect | 데이터를 보낸 호스트에게 목적 IP 주소에 대한 좀 더 적합한 경로가 있음을 알리기 위해 라우터가 보내는 메시지. |
Sourece Quench | 데이터를 보낸 호스트에게 IP 데이터그램이 라우터의 집중 현상에 의해 손실되고 있음을 알리기 위해 라우터가 보내는 메시지. 그러면 호스트는 전송률을 낮추게 된다. |
Destination Unreachable | 라우터나 목적 호스트에 의해 보내지며 데이터그램이 전달되지 못했다는 것을 데이터를 보낸 호스트에 알려준다. TTL이 0이 되거나, IP 패킷 재조합 과정에서 타임아웃이 발생했을때 전송된다. |
Time Exceeded | 타임아웃이 발생하여 IP 페킷이 폐기되었음을 알리는 메시지이다. |
4. 전송 계층
UDP(User Datagram Protocol)
UDP는 비연결형이고 신뢰성이 최소한의 오버헤드를 가진 매우 간단한 전송 프로토콜이다.
TCP(Transmission Control Protocol)
TCP는 UDP처럼 포트 번호를 사용하여 프로세스 간 통신을 제공한다.
- 송신 및 수신 프로세스가 똑같은 속도로 데이터를 만들고 처리할 수 없기 때문에, TCP는 저장을 위해서 버퍼가 필요하다. 각 방향을 위해 송신 및 수신 두 가지 버퍼가 있다. 두 버퍼는 TCP흐름 및 오류 제어 기법에 사용된다.
- TCP는 전이중 통신을 제공하기 때문에 데이터는 동시에 양방향으로 전달 될 수 있다.
- UDP와 달리 TCP는 연결-지향 프로토콜이다. 여기서의 연결은 물리적 연결이 아닌 논리적(가상적)인 연결이다.
- TCP는 신뢰서 있는 전송 프로토콜이다. TCP는 데이터의 안전하고 확실한 도착을 확인하기 위하여 확인응답 기법을 사용한다.
5. 응용 계층
HTTP
하이퍼텍스트 전송 프로토콜(HTTP, Hypertext Transfer Protocol)은 웹으로부터 웹페이지를 가져오기 위해 어떻게 클라이언트-서버 프로그램을 작성할지를 정의하는 데 사용된다. 클라이언트는 요청을 하고 서버는 응답을 한다. 서버는 포트 80번을 사용하고 클라이언트는 임시 포트 번호를 사용한다.
FTP
파일 전송 프로토콜(FTP, File Transfer Protocol)은 하나의 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP가 제공하는 표준 프로토콜이다.
TELNET
TErminaL NETwork의 약어인 TELNET은 최초의 원격 로그인 프로토콜 중 하나이다. TELNET은 로그인 이름과 암호를 요구함에도 불구하고 암호를 비롯한 모든 데이터를 암호화되지 않은 평문으로 전송하기 때문에 해킹에 취약하다. 이러한 보안 문제 때문에 SSH(Secure SHell)이 더 많이 사용된다.
DNS
오늘날의 인터넷망은 매우 거대하기 때문에 중앙 디렉터리 시스템은 모든 매핑을 보유할 수 없다. 이 엄청난 양의 정보를 작게 나누어서 전 세계의 서로 다른 컴퓨터에 저장하는 방법을 사용하고 있다. 이 방법에서 각 호스트는 매핑이 필요한 경우 이 정보를 가지고 있는 가장 가까운 컴퓨터와 통신하게 된다. 도메인 네임 시스템(DNS, Domain Name System)이 이 방법을 사용한다.
'정보보안(산업)기사' 카테고리의 다른 글
정보보안(산업)기사 필기 - 네트워크 장비의 이해 (0) | 2025.05.18 |
---|---|
정보보안(산업)기사 필기 - 라우팅 (0) | 2025.05.18 |
정보보안(산업)기사 필기 - 네트워크 개요 (0) | 2025.05.16 |
정보보안(산업)기사 필기 - 윈도우 서버 보안 (0) | 2025.05.14 |
정보보안(산업)기사 필기 - 클라이언트 보안 (0) | 2025.05.13 |