Chapter 06. 프로토콜
프로토콜의 이해 네트워크 계층 프로토콜 전송 계층 프로토콜 응용 계층 프로토콜 및 서비스
다양한 프로토콜의 종류를 알아본다. 네트워크 계층 프로토콜을 학습한다. 전송 계층 프로토콜의 종류와 특징을 알아본다. 응용 계층 프로토콜의 종류와 특징을 알아본다. 응용 계층 서비스의 종류와 특징을 알아본다.
01. 프로토콜의 이해 프로토콜의 개념 및 필요성 프로토콜이란 서로 다른 시스템에 있는 두 개체간에 성공적으로 데이터를 전송하는 통신규약 가장 기본적인 프로토콜 인터넷의 기본 프로토콜인 TCP/IP 원하는 웹사이트의 웹페이지를 볼 수 있는 HTTP 인터넷을 사용하여 이메일을 주고받으려면 SMTP나 POP3 등 프로토콜을 사용해야 하고, 인터넷을 이용하여 자료나 파일을 업로드하거나 다운로드하려면 FTP 등 프로토콜을 사용해야 한다.
01. 프로토콜의 이해 프로토콜은 네트워크에 연결된 컴퓨터끼리 데이터를 주고받을 수 있도록 미리 약속한 전송규약(규칙)을 말한다.
02. 네트워크 계층 프로토콜 TCP/IP 프로토콜에서 네트워크 계층 프로토콜은 IP, ARP, ICMP, IGMP로 구성된다. 전송 계층의 패킷은 세그먼트 형태로 네트워크 계층으로 전송하고, 네트워크 계층의 데이터는 IP 헤더가 추가된 IP 데이터그램으로 동작한다.
02. 네트워크 계층 프로토콜 ARP RARP(Reverse ARP) IP 주소를 받아 네트워크 카드의 물리 주소인 MAC 주소로 변환시켜주는 프로토콜 이다. RARP(Reverse ARP) 물리 주소인 MAC 주소를 IP 주소로 변환시켜주는 역주소 변환 프로토콜이다.
02. 네트워크 계층 프로토콜 주소 변환 프로토콜 논리적 주소인 IP 주소를 물리적 주소인 MAC 주소로 매핑시켜주는 것이 바로 ARP(Address Resolution Protocol)다.
02. 네트워크 계층 프로토콜 IP 주소와 MAC 주소 매핑 A 컴퓨터에서 C 컴퓨터로 신호를 전송한다고 가정해 보자. 각 호스트의 IP 주소와 MAC 주소가 [그림 6-5]와 같을 때, IP 주소로 MAC 주소를 매핑시키는 절차는 다음 과 같다.
02. 네트워크 계층 프로토콜 : ARP MAC 주소로 데이터 전송 A 호스트에서는 C 호스트의 MAC 주소를 알아내면 다음 과정을 거쳐 A에서 작성한 메시지를 C로 전송할 수 있다.
02. 네트워크 계층 프로토콜 : RARP 역주소 변환 프로토콜 호스트 컴퓨터의 물리 주소를 알고 있을 때 IP 주소를 알아내는 데 사용한다. 컴퓨터 를 네트워크에 처음 연결할 때나 디스크가 없는 컴퓨터를 부팅할 때 사용하는 프로 토콜이다. RARP(Reverse Address Resolution Protocol)는 이더넷, 토큰링 FDDI 등 근거리 통신 망에서 사용할 수 있다.
02. 네트워크 계층 프로토콜 : ICMP 인터넷 제어 메시지 프로토콜 네트워크의 호스트나 라우터에서는 예상치 못한 상황이나 오류가 발생할 수 있다. 이때 라우터에서 발생한 오류를 송신 측으로 전송하는 데 사용하는 프로토콜이 바 로 ICMP(Internet Control Message Protocol)다. ICMP는 네트워크 계층에서 상주하지 않고, IP 데이터그램에 캡슐화되어 인터넷으로 전송된다.
02. 네트워크 계층 프로토콜 : ICMP 타입 : ICMP 메시지의 종류를 15개의 서로 다른 값으로 명시한다. 코드 : 메시지의 종류를 타입보다 좀 더 세분화하는 추가적인 코드다. 검사합 : 메시지 오류 검사 기능을 한다. 나머지 헤더 : 타입과 코드 값에 따라 변경된다
02. 네트워크 계층 프로토콜 : ICMP ICMP 질의 메시지
02. 네트워크 계층 프로토콜 : ICMP ICMP 오류 메시지 가장 일반적인 ICMP 메시지로, 전송을 시도할 때나 IP 데이터그램 전송 도중에 발 생하는 다양한 형태의 오류 상태를 통보한다.
02. 네트워크 계층 프로토콜 : IGMP 인터넷 그룹 메시지 프로토콜 IGMP(Internet Group Message Protocol)는 인터넷에 연결한 컴퓨터가 멀티캐스트 그룹을 주위의 라우터에 알릴 수 있는 수단을 제공하는 프로토콜이다. 멀티캐스팅은 네트워크의 한 호스트 컴퓨터가 미리 지정된 다수의 컴퓨터에 메시지 를 보낼 수 있도록 허용한다. IGMP는 멀티캐스트 라우터가 주기적으로 서브넷 호스트 컴퓨터 그룹에 IGMP 쿼리 메시지를 전송하고, 호스트 컴퓨터는 IGMP 쿼리 메시지에 응답하며, 자신이 가입하 려는 그룹 주소 정보를 IGMP 리포트 메시지를 이용하여 라우터에 알려주는 방식으 로 동작한다.
03. 전송 계층 프로토콜 전송 계층에서는 패킷 단위로 데이터를 전송하는데, 이 역할을 수행하는 기본 프로토콜은 전송 제어 프로토콜인 TCP와 사용자 데이터그램 프로토콜인 UDP다. 데이터를 송수신할 때 UDP나 TCP 중 어느 것을 사용하든지 상관없으나, UDP는 패킷의 확실한 전송을 보장하지 못하는 반면 TCP는 패킷의 확실한 전송을 보장한다.
03. 전송 계층 프로토콜 : SPX SPX SPX는 NetWare의 연결 지향 프로토콜로, 패킷 접수 통지와 흐름 제어 등 TCP와 유 사한 기능을 한다. NetWare 서버들은 프린트 큐 사이에서 프린트 서버 및 프린터 간의 통신에 SPX를 주로 사용하며, 인터넷 통신에는 거의 사용하지 않는다. SPX 패킷은 42바이트 헤더와 최대 534바이트 데이터로 구성되므로, 크기는 42~576바이트다.
03. 전송 계층 프로토콜 : SPX 연결 제어(Connection Control) : 8비트 크기로, 제어 기능 메시지를 포함한다. 데이터 스트림 유형(Data Stream Type) : 8비트 크기로, 데이터 영역의 정보 데이터 유형이나 연결 종료 과정에서 사용하는 코드 등을 포함한다. 송신지 연결 ID(Source Connection ID) : 16비트 크기로, 송신 시스템이 현재의 연결 을 구별하는 데 사용하는 수를 포함한다. 수신지 연결 ID(Destination Connection ID) : 16비트 크기로, 수신 시스템이 현재의 연결을 구별하는 데 사용하는 수를 포함한다. 순서 번호(Sequence Number) : 16비트 크기로, 일련의 데이터 패킷 중에서 이 패 킷의 위치를 지정한다. 확인 일련번호(Acknowledgement Number) : 16비트 크기로, 수신 시스템이 다음에 받을 패킷의 일련번호를 포함한다. 위치 번호(Allocation Number) : 16비트 크기로, 수신 시스템이 사용할 수 있는 패킷 수신버퍼의 크기를 나타낸다. 데이터(Data) : 응용 프로그램이나 상위 계층 프로토콜이 만든 데이터 정보로, 크기 는 가변적이다.
03. 전송 계층 프로토콜 : NCP NCP SPX가 프린트 관련 작업을 담당한다면, NCP는 NetWare 클라이언트와 서버 간의 파일공유 등 다양한 네트워크 기능을 담당한다. TCP/UDP나 SPX와는 달리 서로 다른 포맷을 사용하며, 최근에는 NCPB라는 NCP 메 시지로 메시지 여러 개를 한꺼번에 전송할 수 있는 기능도 구현하고 있다. NCP는 이런 여러 포맷의 메시지를 이용하여 클라이언트와 서버 간에 해석기 또는 번역기의 기능을 제공한다.
03. 전송 계층 프로토콜 : NCP 요청 유형(Request Type) : 16비트 크기로, 요청 메시지의 종류를 나타낸다. 서비스 연결생성과 파일 서버 요청 등의 종류가 있다. 일련번호(Sequence Number) : 8비트 크기로, 현재 메시지의 순서를 나타낸다. 연결 번호 로(Connection Number Low) : 8비트 크기로, NetWare 서버에 연결된 클 라이언트의 수를 나타낸다. 작업 번호(Task Number) : 8비트의 유일한 값으로, 서비스를 요청하는 작업이 무엇 인지를 구분하는 수다. 시스템은 전송받은 응답 메시지를 요청한 작업에 반환할 때 이 값을 사용한다. 연결 번호 하이(Connection Number High) : 8비트 크기로, 현재 사용하지 않는다.
04. 응용 계층 프로토콜 및 서비스 TCP/IP 응용 계층에는 최종 사용자가 직접 사용할 수 있는 여러 가지 프로토콜과 서비스가 정의되어 있다. 응용 계층 프로토콜은 TCP나 UDP가 제공하는 프로세스-프로세스 통신 서비스를 이용하여 유용한 기능을 수행한다. 보통 사용자는 TCP/UDP에 직접 접속하지 않고 응용 계층을 이용하여 통신 서비스를 사용하며, 응용 계층 프로그램은 시스템 소프트웨어가 아닌 응용 프로그램으로 제공한다.
04. 응용 계층 프로토콜 및 서비스 프로토콜 응용 계층에서 제공하는 프로토콜에는 TCP 응용 계층 프로토콜인 FTP, HTTP, 텔넷, SMTP, POP3, IMAP와 UDP 응용 계층 프로토콜인 DHCP, SNMP 프로토콜이 있다.
04. 응용 계층 프로토콜 및 서비스 : FTP FTP(TCP 포트 : 21) FTP 클라이언트 프로그램을 이용하여 접속하려는 서버의 주소(IP나 도메인)를 입력 하여 접속이 완료되면 파일을 업로드하거나 다운로드할 수 있다.
04. 응용 계층 프로토콜 및 서비스 : HTTP HTTP 서비스(TCP 포트 : 80) HTTP는 클라이언트의 웹브라우저가 서버에 웹서비스를 요청(Request)하면, 서버가 적절한 응답(Response)을 하여 클라이언트의 사용자에게 웹페이지를 제공하는 서비 스다. 즉, HTTP는 서버와 클라이언트 간에 하이퍼텍스트 문서를 송수신하는 프로토콜이다.
04. 응용 계층 프로토콜 및 서비스 : HTTP HTTP 1.0에서는 전송받을 문서에 이미지가 있으면, 문서를 받을 때와 이미지를 받 을 때 각각 연결을 설정한다.
04. 응용 계층 프로토콜 및 서비스 : HTTP HTTP 1.1에서는 다시 연결을 설정하지 않고 연결된 소켓을 통해 데이터(이미지)를 전송받는데, 프로토콜의 수행 성능이 향상된 것을 확인할 수 있다.
04. 응용 계층 프로토콜 및 서비스 SMTP와 POP3, IMAP TCP/IP 프로토콜에서는 클라이언트와 메일 서버, 메일 서버와 메일 서버 간에 이메 일을 교환하려고 SMTP와 POP3, IMAP를 사용한다. 메일 서버 간의 이메일은 SMTP로 교환하며, 메일 서버와 클라이언트 간에는 이메 일 전송 과정에 따라 SMTP와 POP3 또는 IMAP를 각각 따로 사용한다.
04. 응용 계층 프로토콜 및 서비스 : SMTP, POP3 SMTP(TCP 포트 : 25) SMTP(Simple Mail Transfer Protocol)는 네트워크의 두 메일 서버 간에 이메일을 송 수신하는 데 사용하는 TCP/IP 프로토콜이다. 응용 계층에 속하며, 전송 계층의 TCP 에 기반을 둔 프로토콜이다. 사용자가 이메일을 메일 서버로 보낼 때는 SMTP를 사용하고, 메일 서버에서 자신 의 이메일을 다운로드할 때는 POP3나 IMAP를 사용한다. POP3(TCP 포트 : 110) POP3(Post Office Protocol3)는 이메일을 수신하는 표준 프로토콜로, POP의 최신 버 전이다. 이메일을 수신하고 보관하려고 인터넷 서버에서 사용하는 프로토콜로 TCP/IP의 응용 계층에 속하며, SMTP에 의존한다.
04. 응용 계층 프로토콜 및 서비스 : IMAP IMAP(TCP 포트 : 143) IMAP(Internet Mail Access Protocol)는 이메일을 저장·복사하는 프로토콜이다. POP3처럼 SMTP 프로토콜에 의존하지만, POP3와 달리 IMAP에서는 내 컴퓨터에서 지운 이메일도 서버에 남아 있어 언제 어디서든 이메일을 다시 볼 수 있다.
04. 응용 계층 프로토콜 및 서비스 : SNMP SNMP(UDP 포트 : 161) SNMP(Simple Network Management Protocol)는 다른 네트워크 장치를 원격에서 관리할 수 있는 간단한 방법을 제공하는 인터넷 표준 프로토콜이다. 이 프로토콜을 적용할 수 있는 네트워크 장치에는 네트워크 카드나 프로그램, 허브 나 라우터 같은 네트워크 장치 등이 있다. SNMP는 네트워크를 관리하는 중앙 관리 시스템과 네트워크를 관리하는 데 사용하 는 개체정보인 MIB(Management Information Base)로 구성되어 있다. 중앙 관리 시스템은 네트워크를 관리하려고 하나 이상의 MIB를 모니터할 수 있다.
04. 응용 계층 프로토콜 및 서비스 : DHCP DHCP(UDP 포트 : 67, 68) DHCP(Dynamic Host Configuration Protocol)는 네트워크의 각 노드에 유일한 IP 주 소를 자동으로 할당하고 관리하는 서비스다. 관리자는 DHCP로 IP 주소를 관리하는 시간과 노력을 크게 줄일 수 있을 뿐만 아니 라 IP 주소 할당 과정에서 발생할 수 있는 잠재적인 오류도 줄일 수 있어 네트워크 의 효율이 높다.
04. 응용 계층 프로토콜 및 서비스 : DHCP DHCP 서버가 동작하면 클라이언트들은 그 서버에 연결하여 유일한IP 주소를 제공받는데, 그 과정은 다음과 같다.
04. 응용 계층 프로토콜 및 서비스 : DHCP 컴퓨터의 DHCP 구성 정보는 <네트워크 및 공유 센터 → 로컬 영역 연결>을 클릭하면 확인할 수 있다.
04. 응용 계층 프로토콜 및 서비스 : DHCP 명령 프롬프트에서 ipconfig/all을 입력하면 [그림 6-31]처럼 DHCP 구성 정보를 확인할 수 있다.
04. 응용 계층 프로토콜 및 서비스 : PING Ping 서비스 Ping(Packet InterNet Groper)은 TCP/IP에서 널리 사용하는 서비스 중 하나로, 모든 TCP/IP 설치에 포함되어 있다. 네트워크에 있는 다른 시스템에서 TCP/IP가 정상적으로 동작하는지 알려주는 프로 그램으로, ICMP를 사용하여 일련의 에코 메시지를 만들어 지정한 컴퓨터 이름이나 IP 주소 시스템에 전송한다. 이때 두 시스템 간에 에코 메시지를 주고받는 과정을 ‘핑잉(Pinging)’이라고 한다. 호스트의 IP 주소가 192.168.0.7이고, 게이트웨이 주소가 192.168.0.88이며, 수신지 IP 주소가 58.142.193.69일 때 다음 과정을 거치면 어디에서 문제가 발생했는지 확 인할 수 있다. ping 127.0.0.1 또는 Ping localhost ping 192.168.0.7 ping 192.168.0.88 ping 58.142.193.69
04. 응용 계층 프로토콜 및 서비스 : 텔넷 텔넷(TCP 포트 : 23) 텔넷(Telnet, Telecommunication Network Protocol)은 인터넷을 이용하여 내 컴퓨 터에서 상대방의 컴퓨터를 원격으로 제어할 수 있도록 해주는 명령 라인 클라이언 트/서버 프로그램이다. Windows 7에서 텔넷을 실행하면 [그림 6-38]처럼 오류 메시지를 출력한다.
04. 응용 계층 프로토콜 및 서비스 : 텔넷 Windows 7에서 텔넷을 사용하려면 <시작 → 제어판 → 프로그램 → 프로그램 및 기능>에서 <Windows 기능 사용/사용 안 함>을 클릭한다
04. 응용 계층 프로토콜 및 서비스 : 텔넷 [Windows 기능] 대화상자에서 ‘텔넷 클라이언트’ 항목에 체크하면 텔넷 프로그램을 사용할 수 있다.
04. 응용 계층 프로토콜 및 서비스 : 텔넷 다시 텔넷을 사용하면, [그림 6-38]과는 달리 텔넷 명령어가 실행 중임을 확인할 수 있다. 텔넷은 해당 포트가 개방되어 있는지 확인하는 용도로 유용하게 사용할 수 있다
감사합니다.