본문 바로가기

교육/Netwrok

Day 55 (네트워크)

반응형

<목차>

1. 전자우편

1) user agent

2) Mail server

3) SMTP(simple mail TP)

2. 메시지 구성

3. 메일전송과정

4. FTP


1. 전자우편

 

전자우편은 유닉스 계정간 Message를 전송하는 것이 원래의 용도였다. 이 기능이 확장되어 네이버와 같은 웹페이지에서 사용이 가능한데 이 경우에는 virtual계정을 사용하는 것이다.

전자우편의 주요 3가지 구성요소는 User agent, Mail server, SMTP이다.

 

1) user agent

 

사용자는 user agent를 통해 Mail server로 메일을 보내고 받는다. user mailbox는 user agent에서 사용하는 우체국의 사서함과 같은 개념이다. user mailbox는 unix 계정과 연결된 file로써 결과적으로 볼때는 user mailbox끼리 mail을 주고 받는 것이다. 

 

 

2) Mail server

 

Mail server간에는 중간에 어떤 서버를 이용하지 않고 반드시 직접 연결한다. message queue는 다른 서버로 전송될 message를 임시로 저장하는 queue다. 따라서 메시지 저장방식은 FIFO방식을 사용한다. 만약 메일 송신 시도를 하는데 서버에 응답이 없을 경우 해당 메일을 마지막 순서로 이동시킨다. 이 과정을 서버에서 지정한 횟수만큼 시도한후에도 응답이 없으면 해당 message를 삭제한다. mailbox가 없어도 mail server로 메일 보내는 것이 가능했다. 하지만 현재는 송신측 추적이 불가능해서 사용하지 않는다.

 

 

3) SMTP(simple mail TP)

 

SMTP는 지속연결을 이용하는 Push방식의 프로토콜이다. SMTP message는 7bit의 ASCII코드로 되어있기 때문에 이미지나 외국어를 사용할 수 없다. 또한 TCP의 신뢰적인 전송을 사용한다. 

 

2. 메시지 구성

 

header와 body로 구성되며, header에는 송신자, 수신자, 제목등의 정보가 들어간다. body는 ascii코드로만 작성되며 내용이 메시지로만 구성된다. MIM규격에 맞춰 encording 된다.

 

3. 메일전송과정

1) 송신측은 user agent 이용 message  작성하고 제공한 메일 주소로 전송하도록 한다.
2) user agent mail server message 전송한다. message 서버의 message queue 놓인다.
3) Client SMTP message queue 확인하고 TCP connection 수신측의 mail server 연결한다.
4) TCP connection 이용 message 전송한다.
5) 수신측의 mail 서버는 message bob 메일 박스  저장한다.
6) 수신측은 user agent 이용 message 꺼내와서 읽는다.

 

mailbox에 message를 남기고 user agent로 전송하는 것과 message를 안남기고 user agent로 전송하는 것 두가지 방식이 있다. 또한 access protocol 중에서 POP(Post Office Protocol) 또는 IMAP(Internet Mail Access Protocol)을 이용해 mail을 1군데로 집합시켜야 한다. 대부분은 POP를 이용한다. 이 프로토콜이 정해지지 않는다면 메일 서버를 하나씩 찾아야 한다.

 

4. FTP

FTP가 보편적으로 사용하지 않는 이유는 사용법이 어려워 접근성이 떨어지고, 소켓을 2개 사용하기 때문에 리소스를 많이 사용한다. 리소스를 많이 사용해 성능이 좋다면 다행이지만 FTP는 그렇지 않다.

FTP(the file transfer protocol)은 원격 host로 파일을 송수신하는 protocol로서 완벽한 client-server모델이다.

Out of band는 통신시 파일을 전송하는 connection과 제어하는 connection을 다르게 하는 것이고, 파일 전송과 제어를 하는 connection을 1개만 사용하는 것을 in band라고 한다. web은 사용자의 정보를 유지 하지 않고 세션이나 쿠키에 저장해 놓는 방식을 사용하지만 FTP는 사용자의 정보를 유지한다. 그렇기 때문에 보안상 서버가 유지할 수 있는 전체 세션수를 상당히 제어하여 일부 사용자만 사용하게 해야한다.

 

역할 모드 사용 포트 용도
Server   port #21 접속제어
Client Active mode port #20 서버가 클라이언트에게 데이터를 전송한다.
Passive mode port #<1023번 밖의 임의의 포트넘버> 클라이언트가 서버측에서 데이터를 가져온다.

<사용 포트번호 : 서버측>

반응형

'교육 > Netwrok' 카테고리의 다른 글

Day 58 (Transport Layer)  (0) 2020.02.11
Day 55 (NAT 네트워크 구성)  (0) 2020.02.06
Day 54 (Network)  (0) 2020.02.05
Day 53 (Network)  (0) 2020.02.04
Day 52 (네트워크)  (0) 2020.02.03