본문 바로가기

Archived(CSE)/컴퓨터망

Chap 2. 어플리케이션 계층

2-1. 네트워크 어플리케이션 원리

- App 구조에는 Server/Client, P2P 2 가지가 대표적

- Process 간 통신(Port#)에 interface로 소켓이 활용(Host는 ip 주소)

- App 전송 서비스(신뢰적, 처리량, 시간, 보안) 대표적인 것은 Tcp, Udp

 

2-2. Web, HTTP, FTP

- web은 대표적인 Server/Client 구조(서버, 브라우저)

- 비지속 연결과 지속 연결(비지속은 한 번 전송 후 연결 끊기지만 비지속은 아님)

- 비지속은 2RTT + transfer time

- 비지속 단점은 서버 과부하와 속도, 그 후 지속으로 발전

- HTTP는 요청/응답 메세지 주고 받음

- 쿠키는 서버에 사용자 정보 저장(get할 떄 쿠키 정보도 같이 요청)

- 웹 캐싱(프록시 서버에 정보 저장, 중간에서 server이자 client 역할 수행)

- 조건부 get은 캐싱할 때 최신 정보인지 확인(IF modified since~~)

- FTP(File Transfer Protocol)은 Port 21을 통해 제어, Port 20을 통해 데이터 전송

 

2-3. 인터넷 전자메일

- User agent + SMTP 구조 (메일박스, 메세지 큐)

- SMTP는 simple mail transfer protocol로 ASCII로 주고받음

- HTTP와 SMTP 공통점은 지속 연결, 차이점은 ASCII, HTTP는 pull이고 SMTP는 push

- 메일 프로토콜은 POP3 는 간단하게 사용, IMAP은 보다 발전된 형태로 원격 계층 등 기능 지원

 

2-4. DNS 

- IP 주소로 이동하기 힘들어서 host name으로 활용(이 사이 변환이 DNS)

- Centralized DNS 단점(고장나면, 양, 중앙 DB와의 거리, 유지보수)

- 분산화된 DNS(Root, TLD, Authoratative)

- 반복적 질의(local dns 서버에서 왔다갔다) / 재귀적 질의(local dns server에서 root로 들어가서 tld, authoratative)

- DNS 레코드와 메세지

 

2-5. P2P

- 피어 대 피어로 통신을 하기 때문에 뛰어난 확장성과 재분배

- 파일 배분 시간이 훨씬 효율적이다

- 비트토렌트의 경우, 트랙커라는 구조를 통해 활성화되어 계속 파일 분배(청크라는 작은 구조로 나누어 분배)

 

2-6. Socket Programming

- 소켓은 Process 통신 interface이다

- UDP는 비연결형이기에 각각의 소켓이 있고 목적지를 적어줘서 보냄(DGRAM)

- TCP는 연결형이기에 각각의 소켓이 연결되어 전송(STREAM)

 

'Archived(CSE) > 컴퓨터망' 카테고리의 다른 글