티스토리 뷰

컴퓨터네트워크 9장


9.1 이메일과 SMTP
9.1.1 이메일 시스템의 구성과 동작원리.

전송에 SMTP 수신에 POP3, IMAP 사용.

전송절차
메일은 메일서버의 MTA서버에 수신되 스풀에 저장. 이후 전송.
MTA서버간 통신은 SMTP에 따라 이루어짐.

9.1.2 이메일주소
캐노니컬주소 : 일반 이메일 주소
별칭주소 : 그룹주소. 그룹명이 애플 이라면 애플@도메인.주소 형식.

9.1.3 이메일 메시지 포맷.
envelope와 메시지 부분으로 구성.
봉투 부분엔 송,수신자 주소, 날짜 등 포함.

바디부분은 제어문자와 아스키문자텍스트로 이루어짐.
MIME를 통해 아스키텍스트로만 구성되는 메시지에 멀티미디어 메시지 구성가능.

9.1.4 MIME
기존 메시지포맷에 MIME헤더를 추가하고, 인코딩을 통해 이진 메시지를 아스키코드로 변환해 전송할수 있게함.
인코딩 타입이 base64를 많이 씀.

일반 멀티미디어 데이터의 이진 데이터를 8비트로 나눈후 base64인코딩 테이블을 통해 6비트 단위로 인코딩.
인코딩 결과가 가르키는 인코딩테이블의 7비트 아스키 문자로 다시 변환
8비트->6비트->7비트

9.1.5 SMTP
아스키코드로 구성된 메시지를 전송하기 위한 프로토콜.
송신서버->수신서버로 PUSH, 수신서버->받는이 PULL
헤더의 끝은 <CR><LF>로 알림.
메시지내용의 끝은 . 으로 알림.

9.1.6  POP3 , IMAP4

메일전송은 SMTP로 유지되고 이는 TCP를 사용하기때문에 통신을 위해 항상 활성화되어있어야한다.
PULL형태의 프로토콜은 POP3, IMAP4가 있다.
POP3의 영구포트번호는 110번. 인증,트랜잭션, 갱신 단계를 수행한다. 
1사용자인증 후 세션을 개시함.
2트랜잭션단계에서 메일클라이언트는 메일서버로부터 리스트를 가져오며, 메일을 받으면서 삭제할수도있음.
3세션이종료되면 갱신단계로진입해 트랜잭션에서 삭제한 메시지를 제거함.
단점. 서버의 메일박스의 메일을 사용자원하는대로 관리할수없음.

IMAP4는 이런 문제점을 개선하기 위해 개발됨. 메일박스의 접근이 자유롭다.
웹메일은 POP,IMAP대신 HTTP를 통해 이루어짐.

9.2 웹서비스와 HTTP
9.2.1 웹 시스템 구성과 동작 원리
9.2.2 웹서버와 웹페이지
URL은 유일하게 문서의 위치를 지시하기 위한 지정 표준.
9.2.3 웹 문서 유형
정적, 동적, 활성 문서 등 3가지로 구분.

9.2.4 동적 문서
동적문서생성을 위한 응용프로그램은 CGI표준에 따라 작성된다. 언어자체보단, 표준 인터페이스 정의.일반 언어를 사용하기도 하나, HTML과의 통합을 위해 웹언어 ASP,JSP,PHP를 주로 사용.
사용자-서버 전송은 GET, POST방식이 있다.

GET : 주소정보에 연결해 웹서버에 전달. 환경변수로서 사용 전달량 한계, 보안상 문제
POST : 폼에 입력데이터를 담아 요청메시지를 통해 전달. 크기제한이 없고, 보안 우수.

9.2.5 활성 문서
동적 문서는 서버측에서 프로그램이 구동. 활성문서는 클라이언트측에서 구동.
동적으로 바로 변화적용 가능. 동적문서가 서버의 많은 부하가 걸리는 반면, 활성문서는 부하방지.

9.2.7 HTTP
TCP상에서, 요청,응답메시지로 작동함.

9.2.10 쿠키서비스
HTTP는 비 상태형 프로토콜 이므로, 요청,응답 메시지를 전달하면 관계가 종료된다.
이러한 비상태형대신 상태형 서비스를 제공하기 위해 쿠키를 사용한다.

9.3 파일전송 서비스와 FTP
9.3.1 파일 전송 시스템의 구성과 동작 원리
TCP를 이용한 상호통신. 제어정보와 파일데이터정보를 서로 다른 TCP를 이용해 전달. 서버제어 프로세스는 영구포트번호, 클라이언트 제어 프로세스는 임시포트번호. 각 제어 프로세스는 명령메시지 교환 및 처리기능 담당, 데이터전송프로세스들은 제어프로세스에 의해 지정된 파일을 이동시킴. 

9.3.2 FTP 제어 연결과 데이터 연결
제어와 데이터를 구분하는 이유는, 파일전송중 제어를 하기 위함.
제어와,데이터의 포맷이 다르므로 다양한종류의 파일을 전송함에도 간단한 제어명령을 사용가능.
PassiveOPEN : 21번포트를 열어 임의클라이언를 대기
ActiveOPEN : 클라이언트에서 서버로 접속과정중 자연스럽게 21번 포트 개방.

1 FTP데이터연결설정을 위해 먼저 클라이언트 데이터 전송 프로세스가 수동개방작업 수행
2 클라이언트 제어프로세스는 미리 설정된 제어 연결을 통해 클라이언트 데이터 전송 프로세스를위한 포트 번호를 서버 제어 프로세스에게 전달.
3 서버제어 프로세스는 데이터연결을 통한 파일전송을 담당할 자식 서버 데이터 전송 프로세스 생성, 서버 데이터 연결 소켓 생성, 데이터전송을 위한 능동개방 수행.

9.3.3 제어 연결상의 통신
명령메시지, 응답메시지로 구성.

9.3.4 데이터 연결상의 통신
제어연결은 접속중 계속 유지되지만, 데이터연결은 전송시에만 연결됨.
스트림모드로 파일이 전송될 때, 파일이 전송완료되면 EOL을 표시해 연결해제함.
압축, 블록으로 전송하면, 파일의 끝에 자동으로 종료신호가 들어있어서 연결이 해제됨.

9.3.6 TFTP
작은용량의 메모리만 주어지는 하드웨어환경에서 사용할 수 있게 개발된 간단한 파일전송 프로토콜.
크기를 줄일 수 있도록 TCP  대신  UDP를 사용한다. 비신뢰성을 보완하기 위해 자체적으로 오류확인,복구기능을 가지도록 설계되었음.

9.4 DNS
9.4.1 DNS의 역할과 동작원리
1 사용자가 주소를 입력하면, DNS해석기에 이를 전달하고 IP주소로 변환요청.
2 해석기는 DNS질의메시지를 작성해, TCP/UDP를 사용해 도메인이름서버에 전송.
3 DNS는 IP정보를 포함하는 응답메시지를 작성해 반환.


9.4.2 도메인 이름
www.kut.ac.kr
에서 kr은 중앙관리기관에서 한국에 존재한 호스트이름에게 부여한 이름.
ac는 kr을관리하는 한국의 중앙이름관리기관에서 부여함.
kut는 ac.kr을 관리하는 기관에서 부여함.
www 는 kut.ac.kr에서 부여함.

COM, EDU, GOV, NET, MIL, ORG

9.4.3 도메인 이름 서버

하나의 서버가 모든 도메인 이름정보를 가지는 것은 안전성,성능,효율성에서 바람직하지않음.
따라서 계층적으로 관리됨.
루트서버는 도메인이름정보를 유지하지 않고, 하위도메인서버에 대한 참조 정보 가짐.
하위도메인서버는 도메인이름정보를 유지하거나 또다른하위 도메인서버에 대한 참조 정보를 가질 수 있음.

도메인이름정보를 유지하는 서버를 책임서버,
루트-책임서버 중간위치 서버를 중간서버.

9.4.4 도메인 이름 해석

해석할 주소를 지역 도메인 이름서버에 전달.
지역도메인이름서버에서 해석을할수 없다면 루트로 보냄.
반복적인해석 : 루트서버로부터 중간서버의 정보 수령. 다시 중간서버로 가서 정보 수령, 다시 책임서버로 가서 발견.
재귀적인해석 : 루트서버자체에서 중간서버로 질의, 중간서버자체에서 책임서버로 질의, 이후 리턴,리턴, 발견.
보통 재귀적해석 많이 사용. 그러나 부담이 커서
보통 루트서버는 반복, 나머진 재귀적인 방법을 쓰는 통합적 해석 기법을 사용함.

9.4.5 DNS 데이터베이스
도메인이름서버가 분산된 구조이므로, 분산데이터베이스를 유지하게됨.

9.5 BOOTP
RARP는 물리주소를 통해 IP주소를 확인할 수 있음.
나머지 필요정보(서브넷 등)를 알기위해선 ICMP를 통해 일일히 받아야함.
BOOTP는 이러한 필요정보들을 담은 요청/응답 메시지를 통해 한번에 받음.
그러나, 수동으로 변경해야하는 단점이 있다.

9.6 DHCP
정적/동적 데이터베이스 두개 유지.
정적에서 구성정보를 찾을 수 없다면 , 동적 에서 임의로 임시주소를 할당, 구성정보 자동 추가함.
DHCP에 문제가 생기면 전체네트워크가 불능이 되므로 다중화 필요.
여러개의DHCP서버가 존재한다면, 한 IP를 여러 장비에 할당할 수 있으므로, 미리 할당전에 에코메시지를 보내 비어있는지 확인한다.

9.7  NAT, NAPT
가상IP를 공인IP로 변환하는 기술.
모든 장비가 항상 인터넷에 접속하지 않는다는점에 착안.
필요 장비만 공인IP를 할당한다.

변환시 변환테이블에 해당 기록을 남기고,
외부에서 데이터가 되돌아올때, 변환테이블을 참조해 출발지로 되돌려보냄.
단, 공인IP는 동시사용이안되고 1대만사용가능.

이를 극복하기 위한 것이 NAPT
주소+포트번호를 통해 동시에 공인IP를 사용하며 사설IP를 구분할 수 있음.

'2013-summer > 컴퓨터네트워크' 카테고리의 다른 글

컴퓨터네트워크 11장[완]  (0) 2013.07.19
컴퓨터네트워크 8장  (0) 2013.07.15
컴퓨터네트워크 7장  (0) 2013.07.09
컴퓨터네트워크 5장  (0) 2013.07.08
컴퓨터네트워크 4장  (0) 2013.07.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함