정보처리기사/정보 시스템 구축 관리
통신 프로토콜 3
RangA
2023. 6. 1. 20:07
02 인터넷 프로토콜(TCP/IP)
03. TCP 계층
1) TCP(Transmission Control Protocol)
1. TCP의 기능
- 두 종단 간 연결을 설정한 후 데이터(주소와 정보)를 패킷 단위로 교환하게 함
- TCP는 전송 데이터의 흐름을 제어하고 데이터의 에러 유무를 검사함
- 수신 측에서 잘못 전송된 패킷에 대해 재전송을 요구함
- TCP는 OSI 7계층에서 전송(Transport) 계층에 해당함
- TCP는 데이터 전송 프로토콜로 연결형(접속형) 프로토콜
- CRC 체크와 재전송 기능을 통해 신뢰성 있는 전송을 확보함
- Flow Control 기능을 수행하여 단계별 데이터 전송 상황을 체크함
- 논리적인 1:1 가상 회선을 지원하여 해당 경로로만 데이터가 전달되도록 함
- TCP를 이용하는 대표 서비스는 FTP, Telnet, HTTP, SMTP, POP, IMAP 등이 있음
2. TCP 프로토콜의 링크 설정
- 연결형 프로토콜
- 데이터 전송 시 상대방과 통신을 수립함
- TCP의 통신 수립을 3단계(3-Way) 핸드셰이킹이라고 함
- 핸드셰이킹은 제어 비트 중 SYN과 ACK를 이용함
1단계 : 수신 측에 플래그 비트 중 SYN을 1로 설정하여 전송함
2단계 : 수신 측은 STN을 1로 받았으면 SYN을, ACK를 1로 송신 측에 전달함
3단계 : 송신 측은 다시 ACK를 1로 설정하여 수신 측에 전달하면, 통신 수립된 것
- 통신 수립 후에 데이터를 전송하므로 신뢰성이 있는 프로토콜
- 통신 수립 단계 때문에 지연 시간이 생김
- 수신 측에서 ACK 응답을 수신하지 못하면 재전송 기능을 이용하여 재전송을 해야 함
2) UDP(User Datagram Protocol)
1. UDP의 기능
- 신뢰성을 보장하지 않는 비접속형 통신을 제공함
- 메시지가 분실되거나 송신된 순서와 서로 다른 순서로 수신될 수 있음
- 흐름 제어나 순서 제어가 없어 전송 속도가 빠르지만 신뢰성 있는 데이터 전송에는 부적합함
- 하나의 송신 정보를 다수의 인원이 수신해야 할 경우 UDP를 사용함
- UDP를 이용하는 대표 서비스로는 SNMP, DNS, TFTP, NFS, NetBIOS, 인터넷 게임/방송/증권 등이 있음
2. UDP 프로토콜의 링크 설정
- 비연결형 프로토콜
- 통신 수립 단계가 없는 프로토콜(보내면 끝)
- 송신 측은 전송된 데이터의 확인 응답인 ACK가 없음
- 통신 수립 단계가 없으므로 신뢰적이지 못함
- 통신 수립 단계가 없으므로 신속함
- 저용량의 데이터를 신속하게 처리하는 서비스에 적합함
- UDP 헤더는 송수신 측 포트 주소와 패킷의 길이, 체스섬만 존재함
3) SNMP(Simple Network Management Protocol)
- 네트워크 장비를 관리 감시하기 위한 목적으로 UDP 상에 정의된 응용 계층 표준 프로토콜
- 네트워크 관리자가 네트워크 성능을 관리하고 네트워크 문제점을 찾는 것으로, 일반 사용자를 위한 응용 프로토콜이 아닌 망을 관리하기 위한 프로토콜
4) RTP(Real Time transport Protocol)
- 실시간으로 음성이나 동영상을 송수신하기 위한 전송 계층 통신 규약
- RTP는 인터넷상에서 실시간 트래픽을 처리하기 위해 설계된 프로토콜로 UDP와 애플리케이션 프로그램 사이에 위치함
04. IP 계층
1) IP(Internet Protocol)
- IP는 패킷의 주소를 해석하고 경로를 결정하여 다음 호스트로 전송함
- IP는 여러 개의 패킷 교환망들이 상호 연결을 위한 범용 비연결형 프로토콜
- IP는 각 패킷의 주소 부분을 처리하여 패킷이 목적지에 도달할 수 있도록 함
- IP는 OSI 7계층에서 네트워크 계층에 해당함
2) ARP(Address Resolution Protocol)
- 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적인 주소(LAN Card 주소)로 번역해주는 프로토콜
3) RARP(Reverse Address Resolution Protocol)
- 호스트의 연결된 네트워크 접속 장치의 물리적인 주소(LAN Card 주소)를 호스트 IP 주소로 번역해주는 프로토콜
4) ICMP(Internet Control Message Protocol)
- IP 상태 및 오류 정보를 공유하며 ping에서 사용됨
- 호스트나 라우터의 오류 상태 통지 및 예상치 못한 상황에 대한 정보를 제공할 수 있게 하는 인터넷 프로토콜
- IP 패킷을 처리할 때 발생하는 문제를 알려주는 프로토콜
- ICMP는 TCP/IP 기반의 인터넷 통신 서비스에서 인터넷 프로토콜로 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 처리하는 비연결성 프로토콜
- 호스트 서버와 인터넷 게이트웨이의 상태를 알려줌
- 네트워크 컴퓨터상에서 돌아가는 운영체제에서 오류 메시지를 전송 받는데 주로 쓰이며 인터넷 프로토콜의 주요 구성원 중 하나로 인터넷 프로토콜에 의존하여 작업을 수행함
- ICMP를 사용하는 명령어는 Ping, Tracert, Echo 등이 있음
5) DNS
1. DNS(Domain Name Server)
- 도메인 네임은 문자로 구성되어 있어서 숫자로 구성된 IP 주소보다 인터넷 주소를 이해하거나 기억하기 쉬움
- 도메인 네임은 '호스트명.소속기관명.소속기관의종류.소속국가' 순으로 구성됨
- 도메인 네임은 한글과 숫자를 섞어서 만들 수 있음
- 도메인 네임으로 공백은 사용할 수 없음
2. DNS
- 도메인 네임(Domain Name)을 컴퓨터가 이해할 수 있는 IP 주소로 변환해 주는 데이터베이스 시스템
- 도메인 주소를 IP 주소로 변환시켜 주는 컴퓨터
3. DNS의 특징
- 전 세계 모든 국가에서 사용하는 IP 주소 형식은 동일하지만 도메인 형식은 모두 다름
- 인터넷의 모든 도메인은 전 세계적으로 고유하게 존재해야 함
- 도메인 네임은 왼쪽에서 오른쪽으로 갈수록 상위 도메인을 의미함
4. 도메인 네임의 관리
- 인터넷 주소로 사용하는 도메인 네임을 유일하게 관리하며 중재하는 곳이 바로 NTC(Network Information Center)
- 국제적으로는 InterNIC이 있고 태평양 지역에는 APMIC이 있으며, 한국에는 KRNIC이 있음
05. IPv4 주소
1) IP(Internet Protocol) 주소의 개념
- IP 주소는 전 세계 컴퓨터에 부여되는 유일한 식별자
- IP는 각 나라의 공인 기관에서 할당하고 관리하는데, 우리나라의 경우에는 한국인터넷진흥원에서 관리함
- IPv4는 인터넷 초기부터 현재까지 쓰고 있는 주소 체계이며 000.000.000.000과 같이 12자리 이내로 표시하며 약 43억 개를 부여할 수 있음
- 최근에는 디바이스의 증가 IPv4가 가진 주소의 양이 부족할 수 있어 IPv6를 공표하였음
- 현재는 IPv4와 IPv6가 공존하며 두 개의 주소 체계를 변환하여 사용하고 있으며 이를 담당하는 것을 NAT(Network Address Translator)라고 함
- IPv6는 이전 버전에 비하여 효율적인 패킷을 처리하고 보안이 강화되었음
2) IPv4의 주소 형식
- IPv4는 32비트 IP 주소 체계로 232개, 대략 43억 개의 IP 주소를 사용함
- IPv4는 32비트, 8비트씩 4부분으로 구성됨
- IPv4 주소 체계는 10진수 숫자로 표시되는 4개의 섹션들과 각 섹션 간 구분은 점(.)으로 주소를 표현함
- 각 자리는 0부터 255까지의 숫자를 사용함
3) IPv4의 클래스(Class)
A 클래스
- 상위 비트 : 0
- 네트워크 비트 : 7
- 호스트 비트 수 : 24
- 호스트 개수 : 224 = 256 × 256 × 256 ≒ 16,000,000
B 클래스
- 상위 비트 : 10
- 네트워크 비트 : 14
- 호스트 비트 수 : 16
- 호스트 개수 : 216 = 256 × 256 ≒ 65,000
C 클래스
- 상위 비트 : 110
- 네트워크 비트 : 21
- 호스트 비트 수 : 8
- 호스트 개수 : 28 = 256
D 클래스
- 상위 비트 : 1110
- 네트워크 비트 : 28비트의 연속 정의
E 클래스
- 상위 비트 : 1111
- 네트워크 비트 : 미정의
네트워크 비트는 A클래스인 경우에 7비트를 사용하므로 전 세계적으로 27 = 128개의 네트워크가 있다는 의미
호스트의 개수는 하나의 네트워크에 속해 있는 컴퓨터에 고정 IP를 부여할 수 있는 개수를 말함
C 클래스인 경우에는 전 세계적으로 221개의 네트워크가 있고, 하나의 C 클래스는 256개의 고정 IP를 사용할 수 있음
4) IPv4 주소의 클래스 구분
A 클래스
- 상위 비트 : 0
- 상위 8비트(1번째) : 00000000 ~ 01111111
- 클래스 범위 : 0.0.0.0 ~ 127.255.255.255
B 클래스
- 상위 비트 : 10
- 상위 8비트(1번째) : 10000000 ~ 10111111
- 클래스 범위 : 128.0.0.0 ~ 191.255.255.255
C 클래스
- 상위 비트 : 110
- 상위 8비트(1번째) : 11000000 ~ 11011111
- 클래스 범위 : 192.0.0.0 ~ 223.255.255.255
예를 들어 203.123.167.56라는 IP가 있따면, 상위 첫 번째 수가 203으로 시작되는 IP 주소이므로 C 클래스에 해당되며, 네트워크 주소(대표 주소)는 203.123.167.0이 됨
이때 컴퓨터에 부여할 수 있는 IP 주소는 203.123.167.1부터 203.123.167.254까지로 총 254개
첫 번째 주소인 203.123.167.0은 네트워크를 대표하는 네트워크 주소로, 마지막 주소인 203.123.167.255는 네트워크에 속해 있는 모든 컴퓨터에 데이터를 보낼 수 있는 브로드케스트 주소(방송용 주소)로 사용함
5) IPv4의 주소 부족 문제 해결 방안
- CIDR(Classless Inter-Domain Routing)
- 한정된 자원인 IP 주소를 쓸데없이 사용하는 것을 방지하거나 라우터의 처리 부하를 경감시킬 목적으로 개발됨
- IP 주소 할당 방법의 하나로, 기존 8비트 단위로 통신망부와 호스트부를 구분하지 않고 사용함
- DHCP(Dynamic Host Configuration Protocol)
- 자동이나 수동으로 가용한 IP 주소를 호스트에 할당함
- 부족한 IP 주소를 해결하기 위해 몇 개의 IP를 여러 사용자가 공유할 수 있도록 인터넷에 접속할 때마다 자동으로 IP 주소를 할당해 주는 기술
- 유동 IP를 할당함
- IPv4
- 현재 사용되고 있는 32비트 IP 주소 체계인 IPv4의 주소 부족 문제를 해결하기 위해 개발되어 128비트의 주소를 사용함
- 현재 IPv4에서 IPv6로 변화하는 중
- NAT(Network Address Translation)
- 사설 IP 주소(192.168.0.1 형태)를 공인 IP 주소로 바꿔주는 주소 변환기
- 인터넷의 공인(고정) IP 주소를 절약할 수 있음
- 사설 IP 주소를 사용하므로 사설망을 공격자로부터 보호할 수 있음
6) IPv4 - 서브넷 마스크
- 서브넷 마스크(Subnet Mask)의 개념
- 어떤 기관에서 배정 받은 하나의 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 방식
- 네트워크 내에 주소에 해당하는 IP 주소 중 네트워크를 식별하기 위해 몇 비트는 네트워크 주소에 사용할 지 정의하는 것
- 네트워크 ID 부분과 호스트 ID 부분을 구별해 줌
- 클래스별 서브넷 마스크
- A 클래스 : 255.0.0.0
- B 클래스 : 255.255.0.0
- C 클래스 : 255.255.255.0
- C Class(211.168.83.0)의 네트워크 분할이 없는 경우
- 네트워크의 논리적인 분할이 없을 경우에 255.255.255.0를 서브넷 마스크로 사용함
- 211로 시작되었으니 C 클래스 주소이고, 대표 주소인 네트워크 주소는 211.168.83.0이 됨
- C 클래스를 할당 받은 업체에 속해있는 컴퓨터에 부여할 수 있는 고정 IP는 254개(256개에서 네트워크 주소, 브로드캐스트 주소 제외)
- C 클래스 전체를 하나의 네트워크로 사용할 수도 있고, 2개, 4개, 8개, 16개의 네트워크로 나누어 사용할 수도 있음
- 5개의 네트워크로 나누어 사용할 경우, 정확히 5개로 분할해서 사용하지 못하고, 일단 8개로 나누고, 나머지 3개는 사용하지 않는 형태로 분할하는 것
- 네트워크를 분할하지 않고 그대로 사용할 경우 255.255.255.0을 서브넷 마스크로 사용하면 됨
- 네트워크 주소 211.168.83.0, 브로드케스트 주소는 211.168.83.255
- 네트워크 주소는 패킷망에서 해당 네트워크까지 접근하는 주소이고, 네트워크의 대표 주소라고 할 수 있음
- 브로드캐스트 주소는 해당 네트워크에 속해 있는 모든 컴퓨터에게 동일한 메시지를 보내기 위한 방송용 주소
- C Class는 256개이므로 위 두 개의 주소를 빼면 254(1~254)개의 고정 IP를 사용할 수 있는 것
- 사브넷 마스크를 255.255.255.0으로 사용하면 0~255번까지가 모두 같은 결과가 됨
- 같은 결과가 하나뿐이므로 0~255가 하나의 네트워크에 속한 주소가 되는 것
- C Class(211.168.83.0)의 네트워크를 2개로 분할할 경우
- 네트워크를 2개로 분할하려면 255.255.255.128를 서브넷 마스크로 사용하면 됨
- 끝자리 0(00000000)에서 최상위 비트를 1로, 즉 128(10000000)로 변경하면 됨
- 서브넷 마스크를 255.255.255.128로 사용하면 다음과 같이 1번째(0
127번)와 2번째(128255번)로 결과가 나누어지므로 2개의 네트워크로 분리된 것 - 1번째 네트워크 주소는 211.168.83.0, 브로드캐스트 주소는 211.168.83.127
- 2번째 네트워크 주소는 211.168.83.128, 브로드캐스트 주소는 211.168.83.255