important application layer protocols
TCP / IP 프로토콜 제품군의 DNS, FTP, SMTP 및 MIME 응용 프로그램 계층 프로토콜에 대해 자세히 살펴 봅니다.
이것에 심층 네트워킹 교육 시리즈 , 우리는 IPv4와 IPv6 주소 지정의 차이점 이전 튜토리얼에서. 응용 프로그램 계층은 TCP / IP 프로토콜 제품군의 최상위 계층입니다.
이 자습서에서는이 계층에서 작동하는 다양한 프로토콜을 자세히 살펴 봅니다.
소프트웨어 테스터는 테스터가이 계층에서 작업하고 일상적인 작업에 필요하므로 각 애플리케이션 계층 프로토콜의 다양한 기능을 이해하는 것이 중요합니다.
각 프로토콜에는 고유 한 역할과 중요성이 있습니다. 여기서 논의 할 주요 배포 프로토콜에는 DNS, FTP, HTTP, MIME, SMTP, LDP 및 DHCP가 포함됩니다.
이 프로토콜을 두 부분으로 연구 할 것입니다. 이 튜토리얼은 Part-1이며 여기서는 DNS, FTP, SMTP 및 MIME 프로토콜에 대해 설명합니다.
학습 내용 :
- DNS (도메인 이름 서버)
- FTP (파일 전송 프로토콜)
- SMTP (Simple Mail Transfer Protocol)
- MIME (Multipurpose Internet Mail Extensions)
DNS (도메인 이름 서버)
개인용 컴퓨터, 랩톱 또는 태블릿의 사용자가 인터넷을 사용하고 일부 웹 사이트에 로그인하려고하면 사용자는 확실히 DNS를 사용하고있는 것입니다. 따라서 도메인 이름 서버에서의 작업을 이해하는 것이 매우 중요합니다.
PC, 노트북 또는 태블릿은 웹 주소의 언어를 인식하지 못합니다. 즉, Google.com과 같은 도메인 이름을 사용하여 우리가 찾고있는 사이트를 이해할 수 있습니다. 따라서 DNS가 역할을 맡아 웹 사이트의 도메인 이름과 관련하여 매핑 된 IP 주소를 호스트에 제공합니다.
소프트웨어 테스트에서 테스트 데이터 관리 란?
위 그림과 같이 PC1이 www.softwaretestinghelp.com을 요청하는 것과 같이 인터넷상의 PC에서 웹 페이지를 요청하면 도메인 이름 쿼리를 해결하고 각각의 IP 주소를 제공하는 것이 작업의 일부입니다. DNS 서버의.
DNS 서버는 각각의 도메인 이름으로 매핑 된 모든 관련 IP 주소의 데이터베이스를 저장합니다.
추가 읽기 = >> DNS 캐시를 플러시하는 방법
도메인 이름에 대한 IP 주소를 요청하는 DNS 쿼리는 PC1에서 DNS 서버 1로 이동합니다. 서버는 쿼리에 대한 IP 주소가 있는지 자체적으로 확인하고 확인 된 DNS 응답을 반환합니다.
그렇지 않으면 정보를 요청하는 다른 DNS 서버 2로 전달합니다. 이번에는 DNS 2에서 확인을 가져와 응답으로 도메인 이름에 해당하는 IP 주소 즉 10.150.120.2로 매핑되어 다시 PC1로 보냅니다.
이제 PC1은 대상 IP 주소를 가지며 라우팅에 따라 알려진 IP 주소와 추가로 통신 할 수 있습니다.
이제 PC가 IP 주소를 얻기 위해 어떤 DNS를 사용해야하는지 어떻게 알 수 있는지에 대한 질문이 생깁니다.
이에 대한 답은 우리 시스템을 ISP에 연결할 때 라우팅 정보 및 기타 구성을 할당하는 라우터 또는 스위치와 같은 네트워크 장치뿐만 아니라 주소 변환을 위해 PC가 연결해야하는 DNS 서버를 전송하는 것입니다.
추천 읽기 = >> 최고의 블록 체인 DNS 소프트웨어
FTP (파일 전송 프로토콜)
TCP / IP 프로토콜 제품군에서 널리 사용되는 응용 프로그램 계층 프로토콜 중 하나입니다. FTP는 기본적으로 인터넷이나 인트라넷을 통해 두 호스트 장치간에 안전하게 데이터를 교환하는 데 사용됩니다.
시스템간에 파일을 공유하는 가장 안전한 모드 중 하나로 언급되므로 대규모 산업, 대학 및 사무실에서 배포됩니다.
클라이언트-서버 모델에서 작동하므로 사용자는 시스템에서 FTP를 실행하기 위해 FTP 클라이언트 프로그램이 필요합니다. 일반적인 유형의 FTP 클라이언트 프로그램에는 Filezilla 및 Dreamweaver 등이 있습니다.
데이터 전송은 한 번에 한 방향으로 만 이루어집니다. FTP 프로토콜은 데이터 파일의 생성 및 삭제, 나열, 이름 변경 등과 같은 파일 전송과는 별도로 많은 업무를 수행합니다.
FTP 모델
이 모델에서 한 호스트는 클라이언트로 작동하고 다른 호스트는 서버로 작동합니다. 파일 공유 또는 데이터를 요청하는 사람은 클라이언트 호스트이고 응답으로 요청을 완료하는 사람은 서버 호스트입니다.
먼저 클라이언트와 서버 컴퓨터간에 FTP 연결이 설정되고 그 후에 데이터 교환이 발생합니다. 두 개의 채널이 FTP 연결 그림에 나타납니다. 즉 제어 채널과 데이터 채널입니다.
제어 채널은 클라이언트와 서버 간의 연결을 설정하고 전체 세션 동안 열려 있습니다. 제어 채널 포트 번호는 TCP / IP에서 21입니다. 데이터 채널은 클라이언트가 파일 공유를 요청할 때 열리고 서버의 요청 완료 후 닫힙니다.
데이터 전송 프로세스 (DTP)와 프로토콜 인터프리터 (PI)를 명명하는 두 가지 프로세스는 클라이언트와 서버 간의 통신을 관리하는 데 사용됩니다. DTP는 데이터 채널에 대한 연결을 설정 및 관리하고 PI는 제어 채널에서 제공하는 명령을 적용하여 DTP를 관리합니다.
서버 호스트 끝 PI는 제어 채널, 연결 설정 및 DTP 실행을 통해 클라이언트 호스트 끝에서받은 명령을 분석 할 책임이 있습니다. 클라이언트 PI는 FTP 명령을 전달하고 서버로부터 응답을 수신하며 FTP 서버와의 연결을 설정합니다.
FTP 클라이언트와 FTP 서버 간의 연결이 설정된 후 클라이언트는 연결을 구축하고 FTP 명령을 서버로 보냅니다. 서버는이를 분석하고 응답으로 요청을 완료합니다.
이제 서버 끝 PI는 파일이 클라이언트 DTP로 전달 될 포트 세부 정보를 보냅니다. 그런 다음 클라이언트 DTP는 데이터가 서버에서 결정된 포트에 도착할 때까지 기다립니다.
FTP 응답
클라이언트와 서버간에 안전하고 안정적인 파일 전송을 수행하려면 서버와 클라이언트가 서로 동기화 상태를 유지해야합니다.
따라서 클라이언트가 실행하는 각 명령에 대해 사용자는 응답으로 확인되고 작업은 서버 호스트에서 순서대로 수행됩니다. 응답은 3 자리 코드와 명령 처리를 나타내는 텍스트 (문자열은 숫자와 공백으로 구분됨)로 구성됩니다.
연결 유형
FTP 서버는 제어 포트 21에서 FTP 클라이언트에 연결됩니다. 그 후 클라이언트는 FTP 서버와 연결할 연결 유형, 즉 활성 또는 수동 연결을 결정합니다.
(i) 활성 연결 : 활성 연결이 설정되면 서버 쪽의 데이터 연결이 포트 20 또는 클라이언트 쪽의 더 큰 범위에서 열립니다. 그러면 모든 데이터 흐름이이 연결에서 발생합니다.
(ii) 수동 연결 : 수동 연결이 설정되면 클라이언트는 서버에 수동 연결을 요청하고 10,000보다 큰 포트를 할당합니다. 서버는 자신을이 포트에 바인딩하고이를 통해 클라이언트로 돌아갑니다.
그런 다음 클라이언트는이 새로 바인딩 된 포트에서 특정 세션에 대한 새 데이터 연결을 엽니 다. 수동 연결에서는 클라이언트 측에서 새 데이터 연결 요청이 발생할 때 새 포트가 할당 될 때마다. 네트워킹 시스템의 최신 트렌드는 대부분 수동 모드에서 작동합니다.
예: 직원이 수백 건의 성과 및 일일 활동 보고서를 생성하고 원격 끝에서 수직 책임자, CEO 또는 상급자와 공유해야하는 소프트웨어 조직의 예를 들어 보겠습니다.
일일 보고서와 트래커를 공유하는 한 가지 방법은 모두에게 이메일을 보내는 것입니다. 그러나 시간이 많이 걸리고 이메일에서 첨부 파일의 크기가 큰 경우 다운로드에 많은 시간이 걸리고 대용량 메일로 인해 메일 박스가 자주 가득 차게됩니다.
이를 수행하는 다른 방법은 데이터 작성자가 보고서와 추적기를 FTP 서버에 저장하고 각 관심사와 경로를 공유하는 것입니다. 이 경우 최종 사용자는 클라이언트 호스트로 동작하고 서버에 로그인하기 만하면 서버에서 해당 시대의 파일에 액세스 할 수 있습니다.
암호를 입력하여 서버를 안전하게 만들 수 있습니다. 관심사 만이 액세스 할 수있는 사용자 이름과 비밀번호를 갖게됩니다. 여기에 사용되는 포트는 21입니다. 클라이언트에 부여 된 권한에 따라 클라이언트는 서버와 서버에서 파일을 복사, 수정 및 삭제할 수도 있습니다.
SMTP (Simple Mail Transfer Protocol)
SMTP는 인터넷에서 전자 메일을 전송하기위한 표준화입니다.
전자 메일 서버에서 메시지를 보내고받는 데 사용되지만 클라이언트 호스트 기반 응용 프로그램은 메시지를 메일 서버로 보내는 데만 사용합니다. 수신 목적으로 POP3 또는 IMAP를 사용합니다.
TCP / IP 애플리케이션 계층 프로토콜이며 메일 서버에서 사용하는 TCP 포트는 25이고 메일 클라이언트는 통신을 위해 포트 587 또는 465를 사용합니다.
Microsoft 시스템, Gmail 및 Yahoo 메일의 Outlook 메일 시스템은 외부에서 이메일을 보내고 검색하기 위해 SMTP를 배포하는 반면 각 시스템 간의 내부 메일 교환에는 자체 프로토콜을 사용합니다.
메일 처리 시나리오
메일 사용자 에이전트 (MUA)로 알려진 전자 메일 서비스를 사용하는 클라이언트는 메일 서버에 메일을 보관하고, 메일 제출 에이전트 (MSA)는 포트 587에서 SMTP를 사용합니다. MSA는 메일을 해당 메일 전송 에이전트 (MTA)로 전달합니다. turn은 PC 또는 랩톱 호스트 장치에서 처리를 수행합니다.
#1) 때때로 수신자 호스트로 메일을 보내기 위해 여러 중간 컴퓨터 호스트 장치를 통해 이동할 수 있으므로 각 장치는 SMTP를 사용하여 대상에 도달 할 때까지 다음 호스트 장치에서 메시지를 전달합니다.
#두) MTA는받는 사람의 도메인에 대한 세부 정보를 제공하는 MX (메일 교환기 레코드)를 찾기 위해 DNS를 배포합니다. (@ 뒤에 메일 주소의 일부를 의미 에 대한 예 Gmail 또는 Yahoo 메일 등).
MTA는 대상 호스트에 대해 MX 레코드에서 수집 한 정보를 기반으로 Exchange 서버를 찾아 메시지 전달을위한 SMTP 클라이언트로 연결합니다.
#삼) 메시지 전송은 단일 홉 또는 일련의 중간 홉을 통해 이동하여 최종 목적지에 도달 할 수 있습니다. 최종 대상에 도달하면 MTA는 최종 배달을 위해 메시지를 MDA (메시지 배달 에이전트)로 전달합니다. MDA는 적절한 메일 함 형식으로 메시지를 저장합니다.
# 4) 메일이 로컬 메일 서버로 전달 된 후 메일이 저장되므로 인증 된 최종 사용자 (예 : MUA)가 검색 할 수 있습니다. 이메일 클라이언트는 IMAP 또는 POP 프로토콜을 사용하여 이메일에 액세스하고 원하는 형식으로 메일을 수신하기 위해 SMTP 형식 용으로 설계된 Microsoft Outlook, Lotus Notes 등이 사용됩니다.
# 5) SMTP는 전자 메일의 내용이 아닌 전자 메일의 전송에만 관심이 있습니다. 연결 지향 프로토콜이며 프로토콜 메시지는 텍스트 기반입니다.
특정 SMTP 세션에는 SMTP 클라이언트가 시작한 명령과 SMTP 서버의 각 응답이 포함됩니다. 송신 측에서 시작 에이전트는 작업을 수행하는 반면 수신 측에서는 청취 에이전트와 수신자가 작업을 수행합니다.
Outlook에서 SMTP의 역할은 아래 스크린 샷의 도움으로 표시되며 이메일 전송을 위해 수행되는 SMTP 구성도 설명됩니다.
스크린 샷 1 : 아래 그림에서는 메일 박스의 기본 설정이 설정되어 있으며 메일 발송시 SMTP가 선택되어 있습니다.
스크린 샷 2 : 아래 그림에서 이메일 설정 후 발신 메일 서버의 주소가 설정된 인터넷 이메일 설정이 이루어지며 Outlook에서 선택한 기본 서버는 SMTP입니다. 따라서 우리가 사용하고있는 웹 서버의 웹 주소에 따라 서버 주소는 webmail.nutek.in으로 설정됩니다.
정렬 C ++ 코드 병합
그 후, 우리는 추가 설정 탭 , 여기에서 보내는 서버 선택권, 보내는 서버에 필요한 SMTP 인증으로 확인 표시하고받는 서버에 대해서도 동일한 설정을 확인합니다. 들어오는 서버에 대해서도 동일한 설정을 선택할 필요는 없지만 여기서는 두 서버 모두에 동일한 서버를 사용합니다.
스크린 샷 3 : 이제 추가 설정 옵션의 고급 설정 탭으로 이동해 보겠습니다. 여기서 수신 및 발신 서버 포트는 앞서 언급 한대로 995 및 465로 정의되고 암호화 된 연결에 체크 표시를하여 안전한 통신을 보장합니다.
따라서 Outlook에서 사서함의 위 구성 설정에서 SMTP를 사용하여 인터넷 연결을 통해 전자 메일을 보내고받을 수 있습니다.
MIME (Multipurpose Internet Mail Extensions)
기본적으로 SMTP로 알려진 초기 이메일 프로토콜의 확장이며 사용자는이 프로토콜을 사용하여 배포 된 ASCII 텍스트와 함께 오디오, 비디오, 이미지 및 다양한 프로그램 파일과 같은 인터넷에서 다양한 종류의 데이터 파일을 공유 할 수 있습니다. 원래 하나에서.
MIME의 특징
- 하나의 메시지에서 여러 첨부 파일을 쉽게 보낼 수 있습니다.
- 메시지 길이에는 제한이 없습니다.
- ASCII 코드 외에도 다른 데이터 파일도이를 통해 공유 할 수 있습니다.
- 다양한 종류의 레이아웃, 글꼴 스타일, 색상 및 크기를 메시지에 사용할 수 있습니다.
- MIME는 특수 헤더 형식을 사용하여 메일 본문이 사용하는 형식 유형을 보여줍니다. 따라서 이메일 클라이언트가 올바른 형식으로 쉽게 이해할 수 있습니다.
- MIME는 SMTP를 지원하도록 설계되었지만 MIME에 정의 된 콘텐츠 유형은 전자 메일과는 별도로 통신 프로토콜에서 의미가 있습니다.
웹 서버는 웹 데이터 순환의 시작점에 MIME 헤더를 추가합니다. 따라서 웹 클라이언트는이 콘텐츠 유형 헤더를 사용하여 헤더에 표시된대로 서비스에 적합한 뷰어 애플리케이션을 완성합니다.
MIME 헤더
(i) MIME 버전 : 이 헤더의 존재는 메시지가 MIME 형식임을 지정합니다. 사용 된 최신 버전은 1.0이므로 다음과 같이 표시됩니다. MIME 버전 : 1.0.
(ii) 콘텐츠 유형 : 메시지 데이터의 유형과 하위 유형을 지정합니다. 기본 헤더 값은 다음과 같이 나타납니다. 콘텐츠 유형 : 텍스트 / 일반. 위의 유형 및 하위 유형은 메시지에 간단한 텍스트가 포함되어 있음을 의미합니다.
예를 들어 , 이미지, 오디오 및 비디오의 디테일링은 이미지 / gif, 오디오 / mp3 및 비디오 / mp4와 같습니다.
(iii) 콘텐츠 전송 인코딩 : 메시지 본문에 배포 된 인코딩 유형을 지정합니다. 사용되는 다양한 인코딩 기술은 7 비트, 8 비트, 바이너리, base-64 (첨부 파일 포함 및 인용 인쇄 가능)입니다.
(iv) 콘텐츠 처리 : 메시지와 관련된 프레젠테이션 스타일 및 파일 이름을 지정합니다.
프레젠테이션 스타일은 두 가지 유형이 있습니다. 첫 번째는 메일이 표시 될 때마다 프레젠테이션 스타일이 자동으로 나타나는 인라인이고 두 번째는 메일을 열기 위해 특정 작업을 수행 할 때까지 표시되지 않는 첨부 파일 유형입니다.
MIME는 HTTP 프로토콜에서 사용되는 웹 문서 유형을 구별하는 데 사용됩니다. 웹 서버와 브라우저 간의 통신 세션 동안 웹 서버는 먼저 MIME 콘텐츠 유형을 보냅니다.
예를 들어 , 콘텐츠 처리 : 첨부 따라서 브라우저는 콘텐츠를 표시하는 방법을 알게됩니다.
Multipart- 메시지 및 하위 유형
아래와 같이 다양한 종류의 하위 유형이 있습니다.
- 멀티 파트 / 혼합 : 첨부 파일이있는 일반 텍스트와 같은 여러 요소를 보내기 위해 배포됩니다.
- 멀티 파트 / 대안 : 사용자의 클라이언트가 이해할 수있는 형식으로 메시지 내용을 표시하는 대체 방법을 지정합니다. 일반적으로 메시지 내용을 텍스트 또는 HTML 형식으로 표시하는 데 사용됩니다. 내용은 동일하고 형식 만 다릅니다.
- 멀티 파트 / 서명 : 전자 메일의 메시지와 함께 디지털 서명을 적용하기 위해 배포됩니다.
- 멀티 파트 / 관련 : 전체 메시지의 관련 메시지 정보를 지정합니다. 이것은 웹 페이지에 다양한 이미지 또는 비디오 파일이 포함 된 경우 주로 사용됩니다. 따라서 전체 웹 페이지는 단일 메시지로 전송되고 이후 부분에서는 이미지 또는 비디오가 검색됩니다.
- 멀티 파트 / 혼합 교체 : HTTP와 협력하여 비디오 스트리밍, 즉 온라인 영화를 위해 배포됩니다.
다른 많은 메시지 유형도 있지만 여기서는 몇 가지 중요한 메시지 유형 만 설명합니다.
결론
이 튜토리얼에서 TCP / IP 프로토콜 제품군의 중요한 애플리케이션 계층 프로토콜에 대해 논의했습니다.
추가 읽기 = >> SNMP 란 무엇입니까?
우리는 이것이 인터넷을 통한 커뮤니케이션 분야의 일상 활동에 매우 유용하다고 결론을 내릴 수 있습니다. 이는 차례로 정보 및 네트워킹 시스템 산업에서 큰 의미를 갖습니다.
이전 튜토리얼 | NEXT 튜토리얼
추천 도서
- 네트워크 보안이란 무엇입니까? 유형 및 관리
- IEEE 802.11 및 802.11i 무선 LAN 및 802.1x 인증 표준
- IPSec (IP 보안), TACACS 및 AAA 보안 프로토콜이란?
- HTTP (Hypertext Transfer Protocol) 및 DHCP 프로토콜이란 무엇입니까?
- IPv4 vs IPv6 : 정확한 차이점은 무엇입니까
- WAN (Wide Area Network)이란 : 라이브 WAN 네트워크 예
- 레이어가 다른 TCP / IP 모델
- 방화벽에 대한 완전한 가이드 : 보안 네트워킹 시스템을 구축하는 방법