네트워크 TCP/IP 4계층 - 응용 계층(Application Layer)

이강용·2024년 6월 9일
0

CS

목록 보기
44/109

응용(Application) 계층

  • TCP/IP 모델의 최상위 계층으로 사용자가 네트워크 서비스를 활용할 수 있도록 다양한 프로토콜과 기능을 제공
  • 네트워크를 통해 데이터 전송을 수행하는 프로그램과 그 데이터를 처리하는 방식에 대한 규칙을 정의
  • 응용 계층 프로토콜은 웹 브라우징, 이메일 전송, 파일 전송, 원격 로그인 등과 같은 다양한 인터넷 서비스를 지원

HTTP(Hypertext Transfer Protocol)

  • 웹 브라우저와 웹 서버 간의 통신을 위한 프로토콜
  • 웹 페이지와 웹 리소스를 전송하는 데 사용
  • 요청 - 응답 모델을 기반으로 하며 클라이언트가 서버에 요청을 보내고 서버가 응답을 반환
  • 상태 비저장 프로토콜로 각 요청 간에 연결 상태를 유지하지 않음(Stateless)

SMTP(Simple Mail Transfer Protocol)

  • 이메일 전송을 위한 프로토콜
  • 이메일 클라이언트와 메일 서버 그리고 메일 서버 간에 이메일을 전송하는데 사용

JavaScript - NODEMAILER

// email.js
const nodemailer = require("nodemailer");

// SMTP 설정
const transporter = nodemailer.createTransport({
  service: "gmail",
  auth: {
    user: "your-email@gmail.com",
    pass: "your-email-password", // 이 부분은 안전한 방법으로 관리해야 합니다.
  },
});

// 이메일 옵션 설정
const mailOptions = {
  from: "your-email@gmail.com",
  to: "recipient-email@example.com",
  subject: "Hello from Node.js",
  text: "This is a test email sent from Node.js using nodemailer!",
};

// 이메일 전송
transporter.sendMail(mailOptions, (error, info) => {
  if (error) {
    return console.log(error);
  }
  console.log("Email sent: " + info.response);
});

SSH(Secure Shell)

  • 네트워크 상에서 안전한 원격 로그인과 기타 네트워크 서비스를 제공하는 프로토콜
  • 데이터 전송을 암호화하여 보안을 강화하며 안전한 파일 전송과 원격 명령 실행을 지원

예시 - AWS EC2 인스턴스 SSH로 접근

ssh -i ~/Downloads/my-key-pair.pem ec2-user@192.0.2.0

FTP(File Transfer Protocol)

  • 파일 전송을 위한 프로토콜
  • 클라이언트와 서버 간에 파일을 업로드하거나 다운로드할 수 있게 함
  • 보안이 강화된 SFTP(Secure File Transfer Protocol)나 FTPS(FTP Secure)로 대체되기도 함

profile
HW + SW = 1

0개의 댓글