Skip to content

Latest commit

 

History

History
156 lines (133 loc) · 6.71 KB

5-응용계층(2).md

File metadata and controls

156 lines (133 loc) · 6.71 KB

http://www.kocw.net/home/search/kemView.do?kemId=1159726


응용계층 (2)

Internet ISO/OSI 7계층
응용 계층
응용 계층 프레젠테이션 계층
세션 계층
전송 계층 전송 계층
네트워크 계층 네트워크 계층
링크 계층 링크 계층
물리 계층 물리 계층

네트워크 응용의 구조

  • Client-Server 구조
    • 응용을 서비스 해주는 컴퓨터를 따로 두는 구조
    • 내가 원하는 상황을 지원할 수 있는 실제 엔드유저를 찾지못하면 딜을 실패함
    • 예시)
      • 웹 검색
  • Pear-to-Pear(P2P) 구조
    • 토렌트
  • 하이브리드 구조
    • 필요할 때는 서버가 관리를 하지만 직접 연결할 수 있을 때는 직접 연결함
    • 예시)
      • Skype
      • 스타크래프트

프로세스간 통신

  • 응용 : 네트워크로 연결된 컴퓨터들이 협력하여 제공하는 서비스
    • 예시) 구글 검색
  • 프로세스
    • 하나의 컴퓨터에서 독립된 메모리 공간을 가지고 수행되고 있는 프로그램의 단위
  • 프로세스의 종류
    • 서버 프로세스
    • 클라이언트 프로세스
    • 피어 프로세스

=> 프로세스간 통신 - 응용을 이룰 때 어떻게 웹 브라우저가 웹 서버와 통신을 하는가

프로세스 주소

  • 기계의 주소 : IP

    256^4 = 2^32 = 약 40억
    • 원칙적으로는 한 IP가 하나의 기계를 가리켜야 하지만 현실에는 다름 (한 동네를 가리키거나)
  • 포트 번호
    • 2^16개 - TCP (주로 많이 사용하는 포트)
    • 2^16개 - UDP

=> IP 주소와 포트 번호를 알고 있으면 서로 간의 통신이 가능함

소켓 통신

  • 소켓을 통해서 웹 브라우저-서버 간에 정보를 주고받고, 소켓은 재활용됨
  • TCP의 경우
    • 소켓
    • 서버 소켓

실습


Internet ISO/OSI 7계층
응용 계층
응용 계층 프레젠테이션 계층
세션 계층
소켓 소켓
전송 계층 전송 계층

인터넷 전송계층의 서비스

  • TCP
    • 연결기반 전송계층
    • 연결에 대한 관리
      • 데이터 유실
    • 데이터 순서 보장
    • 혼잡에 민감한 패킷전송률 조정
  • UDP
    • 무연결 전송계층
    • 데이터 유실 가능
    • 데이터 순서 역전 가능
    • 최대한 성능으로 패킷 전송

응용 계층
프레젠테이션 계층
세션 계층 -> FTP / HTTP
소켓
전송 계층의 서비스

  • FTP (File Transfer Protocol)
    • 목적 원격 host에 있는 파일을 가져오거나 원격 host에 파일을 보내기 위한 protocol
    • 가정1 : client 사용자는 server와 파일을 읽을 수 있는 권한의 계정이 있다
    • 가정2 : 계정이 없는 경우도 접근하도록
    • 특징
      • 세션 로그인과 종료가 존재
      • 로그인을 통하여 권한 획득
      • 로그인 정보를 서버가 관리
      • Stateful Protocol


추가

네트워크 응용의 구조

  • Client-Server 구조

    • 서버 : 항상 켜져있는 호스트, 영구적인 IP를 가지며 응답가능한 데이터 센터
    • 클라이언트 : 간헐적으로 켜져있는 호스트, 유동적인 IP를 가지며 정보를 요청
    • 서버와 클라이언트가 직접 소통하지 X
  • Pear-to-Pear(P2P) 구조

    • 항상 켜져있는 서버가 없음
    • 호스트가 직접 연결되어, 요청-응답하는 방식으로 동작
    • => 서버가 컨텐츠를 제공하는 것이 아니라 임의의 end system들끼리 직접 컨텐츠를 송/수신하는 구조
    • 자가 확장성 - 작업부하를 주지만, 파일을 다른 피어에 분배해서 서비스 능력 추가 => 사용자가 많을수록 파일 분배 속도도 빨라짐
    • 피어는 간헐적으로 연결되며, IP주소도 바뀔 수 있어 관리가 복잡함

프로토콜 (Protocol)

  • protocol : 전송계층에서 송신자와 수신자 간 데이터를 보내기 위해 사용

  • TCP(Transmission Control Protocol)

    • 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜
    • 신뢰할 수 있는 전송(reliable transport)
    • 흐름 제어(flow control) : 수신 한도를 넘어 손실(loss)가 일어나지 않도록 양을 조절
    • 혼잡 제어(congestion control) : 흐름 제어가 호스트 간의 트래픽을 조절한다면, 혼잡 제어는 네트워크 차원
    • 연결 기반(connection-oriented) : 클라이언트와 서버 간 사전설정이 필요 (논리적 경로를 배정)
    • 속도가 느림
  • UDP(User Datagram Protocol)

    • 데이터를 데이터그램 단위로 처리하는 프로토콜
    • 데이터그램 - 독립적인 관계를 지니는 패킷
    • 비연결형 프로토콜 -> 연결을 위해 할당되는 논리적인 경로가 없음
    • 각각의 패킷은 다른 경로로 전송되고, 독립적으로 처리함
    • 오버헤드(CPU, 메모리 소요)가 적어서 단방향 빠른 전송 가능
    • 신뢰성이 낮음