03 통신 서비스와 프로토콜

  • Intro

    • 통신서비스와 프로토콜

      • 통신서비스는 컴퓨터 속에 있는 프로그램끼리 정보를 주고 받아 이루어진다.

      • 서버: 서비스 제공기능

      • 클라이언트: 서비스를 받는 기능

      • 대부분의 통신 서비스는 서버와 클라이언트의 주고받기 형태

      • application protoccol: 서버와 클라이언트 간에 수행되는 서비스 고유의 주고받기 '약속'

  • 서버와 클라이언트

    • 서버(server): 서비스를 제공하는 측

      • 서비스를 제공하는 기능을 가지고 있는 프로그램.

      • 서비스 종류에 맞게 다양한 서버가 있음.

    • 클라이언트(client): 서비스를 받는 측

      • 서비스를 요청하고 사용자가 알 수 있는 형태로 표시하는 기능을 가진 프로그램.

  • 데이터가 어디있지?

    • 서버에게 데이터 요청시, 데이터 있는곳을 확실히 표시할 필요가 있음.

    • 네트워크 상에서 자원이 어디 있는지 알려주기위한 규약

    • URL: 네트워크 상에 있는 특정 데이터 등을 표시할 때 사용

      • 예: https://www.blabla.co.kr:80/src/components/index.html

        • https: 스키마, 서비스의 종류를 나타냄(종류: http, https, mailto, ftp, telnet,file)

        • www.blabla.co.kr: 도메인, 서버(숫자도 가능)

        • 80: 포트번호, application protocol 식별번호. (스킴명에 의해 판단가능, 생략가능)

        • src/compoennts: 경로, 서버 내 파일 주소

        • index.html 파일 이름

    • gTLD(generic Top Level Domain): com, net, org, biz, info 와 같이 나라 관계없이 사용하는 조직속성(국가코드 필요X)

    • ccTLD:국내에서만 사용가능한 조직 속성: 예: co.kr

  • WWW

    • (world wide web)

      • 하이퍼텍스트(HyperText): 참조(하이퍼링크)를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트.

      • 웹페이지는 하이퍼텍스트라는 문서로 작성되어 있음.

      • 따라서, 전 세계 인터넷에서 정보를 공개하고 공유하는 서비를 가리켜 WWW라고 함.

    • www browser(application)

      • www에 대한 클라이언트

      • 서버로부터 받은 데이터를 사용자가 알기 쉬운 형식으로 표시

    • WWW 개요

      • [WWW브라우저(클라이언트)] <= [HTTP:Hyper text transfer protocol] => [WWW서버]

  • 전자메일

    • 예: minhee@gmail.com

      • minhee: 메일 계정, 사용자 고유의 문자열

      • @: at(~에있는)

      • gmail.com: 도메인, 메일박스가 있는 서버의 주소

    • 전자메일 개요

      • [메일러(클라이언트 송신)] =>(SMTP(프로토콜))=> [메일서버(송신)] =>[메일서버(수신)] => (POP) => [메일러(클라이언트 수신)]

      • SMTP서버: 메일 전송을 담당하는 프로그램

      • POP서버: 클라이언트에게 메일 제공을 담담하는 프로그램

  • 파일전송

    • 대표: FTP (File Transfer Protocol)

      • FTP서버 내에 미리 전송 공간을 확보해두고, 클라이언트가 파일 업로드하거나 다운로드가 가능하게 함.

    • FTP 클라이언트: 전용에플리케이션이나 FTP서비스를 처리하는 www브라우저 등

    • [통신이 허용된 클라이언트] < 데이터 전송 > [FTP서버(특정 전송 공간)]

    • FTP 는 보안에 문제 있을 수 있어, 암호화해서 전달하는 FTPS, SFTP를 권장.

  • 원격 로그인

    • 떨어져 있는 장소의 다른 컴퓨터를 조작할 수 있는 서비스.

    • 대표: Telnet

      • Telnet 클라이언트: telnet 명령이나 테라텀이라는 app

      • test: telnet naver.com 80 => 성공시, Telnet naver.com이라고 뜨고 기본포트열림(80)

      • 클라이언트의 명령(command)가 서버로 보내지고, 처리결과가 클라이언트로 반환

      • 서버측의 OS에 맞추어 명령 사용

    • SSH(Secure Shell)

      • 다른 컴퓨터에 로그인할 때, 통신을 암호화하는 프로토콜

      • Telnet에는 암호화 기능이 없기때문에, SSH로 명령을 암호화 해서 보냄.

      • (제 3자가 패킷을 훔쳐가더라도 해독이 어려움)

    • 데스크톱 공유

      • 통신프로토콜(RDP: Remote Desktop Protocol)

      • 네트워크상 다른 컴퓨터의 desk top 환경에 접속해 조작하는 기술

      • 윈도우: 원격 데스크톱

      • MacOS: 화면공유

  • 파일공유

    • 파일이나 에플리케이션 등을 다른 사용자와 함께 사용할 수 있도록 하는 통신 서비스

    • OS에 따라 다른 프로토콜

      • UNIX (Samba) - Windows

      • 같은 OS 환경끼리면, 별도로 필요한 app 은 없음

    • 주로 사용되는 프로토콜

      • Windows: SMB(Server Message Block), CIFS(Common Internet File System)

      • UNIX: NFS(Network File System)

  • 기타서비스

    • IP

      • VoIP(Voice over IP): 상대의 전화번호나 음성 데이터를 패킷화 해서 전달하는 기술

      • IP 전화: VoIP기술을 사용해서 인터넷이나 독자적인 네트워크에서 통신하는 전화서비스

      • IP전화가 일어나는 2가지 공정

        • SIP (Session Initiation Protocol): 전화 걸어서 상대에게 호출되기까지 공정

        • RTP(Real Time Transport Protocol) or RTCP(RTP Control Protocol):

          : 실제 대화가 시작된 후 주고받는 공정

    • IM(인스턴트 메신저)

      • 미리 등록한 클라이언트(멤버)가 통신할 수 있는 상태인지 아닌지 상태 표시하고 실시간으로 통신할 수 있는 서비스

      • IM용서버를 통해 상대의 상태 체크, 메세징, 음성통신, 전자회의를 할 수 있음

      • 상대의 상태로는 오프라인, 자리비움, 온라인등의 표시가 가능

      • IM은 기능마다 개별 프로토콜을 사용하며, 통일 되어 있지 않기 때문에 다른 클라이언트 끼리는 통신 할 수 없음

Last updated