SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
Now Loading
발표가 곧 시작됩니다
2007년 7월 9일 월요일
대우주 창조신의 소리를 듣는 사람이 나타났습니다
혹시 문제는 우리에게 있는것이 아닐까요?
“ 빵 상 ? ”
이건 도대체 무슨 뜻인걸까요?
Interface, And Protocol
우리가 대우주 창조신의 소리를 듣기 위해 필요한 것,
혹은 그냥 인터넷 세계의 표준
대화할 때 필요한 가장 기본적인 요소는?
너무 당연한 소리지만…
입
너무 당연한 소리지만…
입 귀
너무 당연한 소리지만…
Inter- : 1. [동사, 명사, 형용사, 부사에서]
‘…사이의’, ‘상호간의’라는 뜻을 나타냄
Face : 3. [동사] …을 마주보다(향하다)
What is Interface?
서로 다른 시스템을 연결하는 접점
What is Interface?
서로 다른 시스템을 연결하는 접점
User
Interface
What is Interface?
서로 다른 시스템을 연결하는 접점
User
Interface
What is Interface?
서로 다른 시스템을 연결하는 접점
User
Interface
What is Interface?
서로 다른 시스템을 연결하는 접점
User
Interface
What is Interface?
서로 다른 시스템을 연결하는 접점
User
Interface
What is Interface?
서로 다른 시스템을 연결하는 접점
What is Interface?
서로 다른 시스템을 연결하는 접점
What is Interface?
서로 다른 시스템을 연결하는 접점
What is Interface?
서로 다른 시스템을 연결하는 접점
여기서 퀴즈!
이사님이 흐드미라 하는
HDMI는 무엇의 약자일까요?
나?
What is Interface?
서로 다른 시스템을 연결하는 접점
What is Interface?
서로 다른 시스템을 연결하는 접점
What is Interface?
서로 다른 시스템을 연결하는 접점
- Interface -
• 서로 이질적인 두 대상을 연결하는 접점
• 처리방식이 서로 다른 두 대상이 서로의
정보를 수용할 수 있도록 매개, 및 변환
기능을 수행
• 물리적, 소프트웨어적인 것을 모두 포괄
“ 빵 상 ! 깨 라 까 랑 ? ”
“ 빵 상 ! 깨 라 까 랑 ? ”
= 인간들아! 무엇이 알고싶느냐?
Ισχυρως
εστιν ό
ανθρωπ
발표는!
한국말과
영어로만!
규칙이 필요한 순간
프로토콜 설명
HTTP
(HyperText Transfer
Protocol)
- www 상에서 정보를 주고 받을 수 있는 프로토콜
- 주로 HTML문서를 주고 받는 데에 쓰임
- TCP와 UDP를 사용하며, 80번 포트를 사용
- 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜
SMTP
(Simple Mail Transfer
Protocol)
- 인터넷에서 이메일을 보내고 받기 위해 이용되는 프로토콜, TCP 포트번호 25번 사용
- 상대서버를 지시하기 위해서 DNS의 MX레코드가 사용됨, RFC2821에 따라 규정됨
- 텍스트 기반의 프로토콜로서 요구/응답 메시지 뿐만 아니라 모든 문자가 7bit ASCII로 되어 있어야 함 (8bit 이상의 코드를 사
용하는 파일과 바이너리는 마임(MIME)방식으로 7bit로 변환되어 전달)
SNMP
(Simple Network
Management Protocol)
- 네트워크 장비를 관리 감시하기 위한 목적으로 TCP/IP 상에 정의된 응용 계층 표준 프로토콜
- 네트워크 관리자가 네트워크 성능을 관리하고 네트워크 문제점을 찾아 수정하는데 도움을 줌
- SNMP를 지원하는 서버에 관리자가 질의를 해 자료를 받아갈 수 있고, 반대로 어떤 값은 설정을 요청할 수도 있음.
FTP
(File transfer protocol)
- 컴퓨터 간 파일을 전송하는데 사용되는 프로토콜
- 사용자인증, 데이터의 전환, 디렉터리 검색 등과 같은 많은 기능 및 선택사항을 제공
- 클라이언트/서버 관계를 이루며 동작함, 표준 RFC959에 따라 규정됨
- 데이터 전달 : 20번포트, 제어정보전달 : 21번포트
TELNET
- 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜, IETF STD 8로 표준화
- 보안문제로 사용이 감소하고 있으며, 원격제어를 위해 SSH로 대체되기도 함
IMAP
(Internet Message
Access Protocol)
- 원격파일 서버와 유사하게 작동, POP3와 달리 메일을 받아올 때 서버에서 메일을 삭제하지 않고 보관하는 프로토콜
- 다른 컴퓨터 환경에서 항상 같은 메일 내용을 메일 서버로부터 받아올 수 있는 장점이 있음
- POP3에 비해 메일서버와의 통신 트래픽이 높은 단점을 가짐
IRC
(Internet Relay Chat)
- 인터넷으로 실시간 대화를 나눌 수 있는 프로토콜
- 동시에 다중 대화가 가능한 채팅 프로토콜
- RFC2810~2813이 주로 사용되며, TCP 6667과 6668 포트 사용
SIP
(Session Initiation
Protocol)
- 인터넷 상에서 통신하고자 하는 지능형 단말(전화, 인터넷 콘퍼런스, 인스턴트 메신저 등)들이 서로를 식별하여 그 위치를 찾고,
그들 상호 간에 멀리미디어 통신 세션을 생성하거나 삭제 또는 변경하기 위한 절차를 명시한 시그널링 프로토콜
- HTTP와 SMTP의 많은 부분 그대로 사용하여 개발된 텍스트 기반이므로 구현이 용이 하고, 유연성과 확장성이 있음.
POP3(Post O
ffi
ce
Protocol Version 3)
- 멀리 떨어져있는 메일서버에 지정된 사용자ID로 접속해서, 메일박스 내에 도착한 메일을 자신(클라이언트)에게 가져오기 위해
사용되는 비교적 간단한 프로토콜
- RFC1939에 정의되어 있음.
SSH
(Secure Shell)
- 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주
는 응용 프로그램 또는 그 프로토콜
- 기존 rsh, rlogin, 텔넷을 대체하기 위해 설계됨
- 강력한 인증방법 제공 및 안정성이 우수함, 22번 포트 사용
UUCP
(Unix to Unix Copy)
- 원격 명령실행, 파일 전송, 이메일, 컴퓨터간 네트뉴스 등을 가능하게 하는 컴퓨터 프로그램과 프로토콜 스위트 또는 세트를 가
리킴
DNS
(Domain Name System)
- 호스트에 대한 정보를 분산시켜서 관리하는 데이터베이스
- IP주소와 Host이름이 서로 연결되어 구조화된 역 트리구조를 갖는 계층적이고, 분산(Distributed)된, 클라이언트/서버 구조의
데이터베이스 시스템을 말함.
프로토콜 설명
XDR
(External Data
Representation)
- 하드웨어 독립적으로 데이터 서술과 기호화를 하기 위한 표준으로서, 원격절차 호출 시스템에서 사용하기 위해 썬마이크로시스
템즈가 개발하였음.
- 서로 다른 컴퓨터 구조간에 데이터를 전송하는데 유용함
- X.409나 ISO의 ASN등과 달리 묵시적인 형식을 사용함
SSL
(Secure Socket Layer)
- 넷스케이프사에서 전자상거래 등의 보안을 위해 개발하였음.
- TLS(Transport Layer Security)라는 이름으로 표준화되었음.
- 네트워크 레이어의 암호화 방식이기 때문에 HTTP 뿐만 아니라, NNTP, FTP등에도 사용
- 인증, 암호화, 무결성 보장
MPEG
(Moving Picture Experts
Group)
- 정지된 화상을 압축하는 방법을 고안한 JPEG와는 달리, 시간에 따라 연속적으로 변화하는 동영상 압축과 코드 표현을 통해 정
보의 전송이 이루어질 수 있는 방법을 연구
- 영상압축기술에 대한 표준을 정립하면 반도체 업체에서 이들 표준을 지원하는 영상 압축칩을 개발
ASCII
(American Standard
Code for Information
Interchange)
- 영문 알파벳을 사용하는 대표적인 문자 인코딩
- 컴퓨터와 통신장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기반함
- 아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어짐
프로토콜 설명
NetBIOS
- 네트워크의 기본적인 입출력을 정의한 규약
- IBM의 PC-Networks, 마이크로소프트사의 MS-Networks LAN 매니저 등에서 사용함
RPC
(Remote Procedure Call)
- Windows 운영 체제에서 사용하는 원격프로시저 호출 프로토콜
- RPC를 사용하면 특정 컴퓨터에서 실행되는 프로그램에서 원격 시스템의 코드를 완벽하게 실행할 수 있게 해주는 프로세
스간 통신(IPC) 메커니즘을 구현할 수 있음.
Winsock
(Windows Socket)
- 예전부터 유닉스 등에서 TCP/IP 통신시 사용하는 Socket을 Windows에서 그대로 구현한 것.
프로토콜 설명
TCP
(Transmission control
Protocol)
- 전송제어프로토콜, 네트워크의 정보전달을 통제하는 프로토콜
- 인터넷을 이루는 핵심 프로토콜의 하나로서 IETF의 RFC793에 기술되어 있음
- TCP는 IP위에서 동작하는 프로토콜로 흔히 TCP/IP로 표기함
- 패킷의 교환을 근간으로 하는 인터넷 프로토콜(IP)을 기반으로 작동함.
UDP
(User Datagram Protocol)
- 신뢰성이 낮은 데이터그램 프로토콜로써 완전성을 보증하지 않으나, 응용이나 네트워크 환경에서 가상회선을 굳이 확립할
필요가 없어서 유연하고 효율적인 데이터 전송에 사용되는 프로토콜
- 비연결성이고 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공
RTP
(Real-Time Transport
Protocol)
- 인터넷상에서 다수가 종단간에 실시간으로 비디오나 오디오 패킷을 전송하기 위해(영상회의 등) 표준화된 프로토콜을 말
함.
- 신뢰성은 없으나 빠르게 데이터를 전달할 수 있는 UDP라는 수송 프로토콜 위에서 실행되며 주로 실시간 서비스를 제공함
프로토콜 설명
IP
(Internet Protocol)
- 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약
- OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당함.
- 비신뢰성과비연결성이 특징
ICMP
(Internet Control Message
Protocol)
- TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알리거나, 진단 등과 같이 IP계층에서 필요한 기타 기능들을 수행하기
위해 사용되는 프로토콜로 IP와 하나의 쌍을 이루며 동작함
- 네트워크 오류의 보고 (에러메세지)
- 네트워크 상태조사를 위한 질의 요청 및 응답 (질의메세지)
IGMP
(Internet
Group
Management Protocol)
- IP 멀티캐스트를 실현하기 위한 통신 프로토콜
- RFC 1112에 규정
- 구내 정보 통신망(LAN)상에서 라우터가 멀티캐스트 통신 기능을 구비한 개인용 컴퓨터(PC)에 대해 멀티캐스트 패킷을 분
배하는 경우에 사용됨.
IPSec
(Internet Protocol Security
Protocol)
- 네트워크 계층상에서 IP패킷 단위로 인증 및 암호화를 하는 기술을 말하며, 인터넷 경유 구간에 일종의 보안 통로인 터널링
을 형성해 줄 수 있음.
- 보안프로토콜과 키 관리 프로토콜로 복수의 프로토콜로 구성하여 보안연합(Security Association)이라고 함.
ARP
(Address Resolution
Protocol)
- 네크워크상에서 IP 주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜
- 물리적 네트워크 주소는 이더넷 또는 토큰링의 48비트 네트워크 가드 주소를 뜻함.
RIP
(Router Interchange
Protocol)
- 매 30초마다 메시지 패킷을브로드캐스트하여 각 라우터가 네트워크 정보를 학습하도록 함, RFC1058에서 정의됨
- Distance Vector Algorithm에 기초하여 버클리대에서 개발한 라우팅 프로토콜로써, IGP(Interior Gateway Protocol)
용이며 과거에 널리 사용되었으나, 최근에는 소규모 교육용 외에 사용 않음
BGP
(Border Gateway Protocol)
- 자치시스템(AS) 상호간의 라우팅에 적용되는 라우팅 프로토콜
- 쉽게말하면, ISP 사업자들 상호간에 주로 사용되는 라우팅 프로토콜
- BGP-4는 EGP를 개량한 최근 버전임
EGP
(Exterior Gateway protocol)
- 일반적으로 자치시스템 상호간(Inter-AS 또는 Inter-Domain)에 경로정보를 교환하기 위한 라우팅 프로토콜을 총칭
- 연구기관이나 국가기관, 대학, 기업간, 즉 도메인 간을 연결하는 인터넷 라우팅 프로토콜
프로토콜 설명
Ethernet
- Xerox, Digital, Intel이 공동으로 사양을 개발하여 1980년에 제품화시킨 LAN구현 방식을 말함.
- 비연결성(connectionless)모드, 전송속도 10Mbps 이상
- 모든 노드가 동일한 전송매체를 공유함(Shared Media)
HDLC
(High-Level Data-Link
Control)
- 고속 데이터 전송에 적합하고, 비트 전송을 기본으로 하는 범용의 데이터 링크 전송제어절차로써, 컴퓨터간을 연결하는 컴
퓨터 네트워크에도 적합한 전송제어방식을 말함
- ISO 3309, 4435에 기술되어 있음.
- 비트지향적 프로토콜
PPP
(Point-to-Point Protocol)
- 전화선 같이 양단간 비동기 직렬 링크를 사용하는 두 컴퓨터간의 통신을 지원하는 프로토콜
- TCP/IP기반 등의 데이터 서비스에 많이 이용됨
- 절대적 회선 링크
프로토콜 설명
RS-232
- 1962년 EIA에서 표준화한 DTE 및 DCE간 직렬(시리얼) 인터페이스 규격안을 말함.
- 보통 15m이하 단거리에서 38400bps까지 전송을 위한 직렬 인터페이스 표준규격으로써 통상 컴퓨터와 터미널 또는 컴
퓨터와 모뎀 등 다양한 기기와의 접속에 사용됨
X.25 / X.21
- CCITT에서 DTE로 명명한 사용자 컴퓨터와 DCE로 명명된 통신회사 장비 사이에서 신호들을 교환함으로써 통신의 시작
이나 종료를 하는 방법을 규정하고 있음
- X.25는 패킷교환망에 대한 액세스 표준
- X.21은 회선교환망에 대한 액세스 표준
보기만 해도 아찔한
통신 프로토콜의 종류들
정보를 전달할 때는?
알아 들을 수 있게!
지키고 싶지 않으면
안지켜도 돼
안 지키면 어차피
안 받을꺼니까 ^^
ARPANET
ARPANET
Request
For
Comments!
• RFC-2068
• RFC-2616
• RFC-7230 ~ 7235
HTTP 1.1관련 RFC 문서
Start Line
Start Line
요청일때
Start Line
요청일때
응답일때
Start Line
요청일때
Methode SP Request target(path) SP HTTP version CRLF
응답일때
Start Line
요청일때
Methode SP Request target(path) SP HTTP version CRLF
응답일때
HTTP version SP Status-code SP Response phrase CRLF
•
fi
eld-name ":" OWS
fi
eld-value OWS
• 임의의 header를 추가 가능
(이전, 임의의 header는 x-를 붙였었지만 해당 규칙은 현재 삭제됨)
• 일반적으로 바디 내용, 바디 크기, 인코딩 여부, 인증, 클라이언트 정
보 등을 주고 받기 위해서 사용
Header
전송에 필요한 모든 부가정보를 포함(너무 많아서 구글링 추천)
• header와는 Blank Line 으로 구분
• Byte로 표현할 수 있는 모든 데이터를 담는 것이 가능
• Get Methode 에서 body는 생략될 수 있음
Body
전송할 데이터를 담는 부분
마지막 정리
Interface와 Protocol은 네트워크를 통해 정보를 주고받기 위한 기본적인 약속
Interface란 엔드포인트의 규격과 인바운드, 아웃바운드 처리 방식
Protocol이란 시스템간 통신을 위한 규약
깨 라 까 랑 ?

Mais conteúdo relacionado

Semelhante a Interface and Protocol

08 1 인터넷과멀티미디어
08 1 인터넷과멀티미디어08 1 인터넷과멀티미디어
08 1 인터넷과멀티미디어
Youngsun Lee
 
Digital contents multimedia
Digital contents multimediaDigital contents multimedia
Digital contents multimedia
Donghoi Kim
 

Semelhante a Interface and Protocol (20)

Netmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureNetmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW Architecture
 
Network virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkNetwork virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center Network
 
코딩에는 좋은 노트북이 필요 없다
코딩에는 좋은 노트북이 필요 없다코딩에는 좋은 노트북이 필요 없다
코딩에는 좋은 노트북이 필요 없다
 
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
 
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
 
ice_grad
ice_gradice_grad
ice_grad
 
웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD
 
네트워크와 인터넷
네트워크와 인터넷네트워크와 인터넷
네트워크와 인터넷
 
08 1 인터넷과멀티미디어
08 1 인터넷과멀티미디어08 1 인터넷과멀티미디어
08 1 인터넷과멀티미디어
 
리눅스 소켓 프로그래밍 기초
리눅스 소켓 프로그래밍 기초리눅스 소켓 프로그래밍 기초
리눅스 소켓 프로그래밍 기초
 
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
 
Implementing remote procedure calls rev2
Implementing remote procedure calls rev2Implementing remote procedure calls rev2
Implementing remote procedure calls rev2
 
HTTP 완벽가이드 : 1-1 http 개관
 HTTP 완벽가이드 : 1-1 http 개관 HTTP 완벽가이드 : 1-1 http 개관
HTTP 완벽가이드 : 1-1 http 개관
 
컴퓨터 네트워크와 인터넷
컴퓨터 네트워크와 인터넷컴퓨터 네트워크와 인터넷
컴퓨터 네트워크와 인터넷
 
Digital contents multimedia
Digital contents multimediaDigital contents multimedia
Digital contents multimedia
 
Python으로 채팅 구현하기
Python으로 채팅 구현하기Python으로 채팅 구현하기
Python으로 채팅 구현하기
 
WebRTC
WebRTCWebRTC
WebRTC
 
네트워크 기반 통신 및 계층 구조_Wh apm
네트워크 기반 통신 및 계층 구조_Wh apm네트워크 기반 통신 및 계층 구조_Wh apm
네트워크 기반 통신 및 계층 구조_Wh apm
 
Linux programming study
Linux programming studyLinux programming study
Linux programming study
 
스위치의 분류 및 역할_Wh apm
스위치의 분류 및 역할_Wh apm스위치의 분류 및 역할_Wh apm
스위치의 분류 및 역할_Wh apm
 

Mais de Wonjun Hwang

Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Wonjun Hwang
 
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
Wonjun Hwang
 
스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)
Wonjun Hwang
 
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
Wonjun Hwang
 
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Wonjun Hwang
 

Mais de Wonjun Hwang (20)

Spring HTTP Client (Kitworks Team Study)
Spring HTTP Client (Kitworks Team Study)Spring HTTP Client (Kitworks Team Study)
Spring HTTP Client (Kitworks Team Study)
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)
 
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
 
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
 
Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)
 
JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)
 
Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)
 
XSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team StudyXSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team Study
 
Flutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team StudyFlutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team Study
 
PWA
PWAPWA
PWA
 
얕은복사,깊은복사
얕은복사,깊은복사얕은복사,깊은복사
얕은복사,깊은복사
 
Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기
 
완전 유용한 CSS 모음
완전 유용한 CSS 모음완전 유용한 CSS 모음
완전 유용한 CSS 모음
 
2024 개발 트렌드
2024 개발 트렌드2024 개발 트렌드
2024 개발 트렌드
 
디바운싱과 쓰로틀링
디바운싱과 쓰로틀링디바운싱과 쓰로틀링
디바운싱과 쓰로틀링
 

Interface and Protocol

  • 1. Now Loading 발표가 곧 시작됩니다
  • 2. 2007년 7월 9일 월요일 대우주 창조신의 소리를 듣는 사람이 나타났습니다
  • 3. 혹시 문제는 우리에게 있는것이 아닐까요? “ 빵 상 ? ” 이건 도대체 무슨 뜻인걸까요?
  • 4. Interface, And Protocol 우리가 대우주 창조신의 소리를 듣기 위해 필요한 것, 혹은 그냥 인터넷 세계의 표준
  • 5. 대화할 때 필요한 가장 기본적인 요소는?
  • 8. 입 귀 너무 당연한 소리지만…
  • 9. Inter- : 1. [동사, 명사, 형용사, 부사에서] ‘…사이의’, ‘상호간의’라는 뜻을 나타냄 Face : 3. [동사] …을 마주보다(향하다)
  • 10. What is Interface? 서로 다른 시스템을 연결하는 접점
  • 11. What is Interface? 서로 다른 시스템을 연결하는 접점 User Interface
  • 12. What is Interface? 서로 다른 시스템을 연결하는 접점 User Interface
  • 13. What is Interface? 서로 다른 시스템을 연결하는 접점 User Interface
  • 14. What is Interface? 서로 다른 시스템을 연결하는 접점 User Interface
  • 15. What is Interface? 서로 다른 시스템을 연결하는 접점 User Interface
  • 16. What is Interface? 서로 다른 시스템을 연결하는 접점
  • 17. What is Interface? 서로 다른 시스템을 연결하는 접점
  • 18. What is Interface? 서로 다른 시스템을 연결하는 접점
  • 19. What is Interface? 서로 다른 시스템을 연결하는 접점
  • 20. 여기서 퀴즈! 이사님이 흐드미라 하는 HDMI는 무엇의 약자일까요? 나?
  • 21. What is Interface? 서로 다른 시스템을 연결하는 접점
  • 22. What is Interface? 서로 다른 시스템을 연결하는 접점
  • 23. What is Interface? 서로 다른 시스템을 연결하는 접점
  • 24. - Interface - • 서로 이질적인 두 대상을 연결하는 접점 • 처리방식이 서로 다른 두 대상이 서로의 정보를 수용할 수 있도록 매개, 및 변환 기능을 수행 • 물리적, 소프트웨어적인 것을 모두 포괄
  • 25. “ 빵 상 ! 깨 라 까 랑 ? ”
  • 26. “ 빵 상 ! 깨 라 까 랑 ? ” = 인간들아! 무엇이 알고싶느냐?
  • 28. 프로토콜 설명 HTTP (HyperText Transfer Protocol) - www 상에서 정보를 주고 받을 수 있는 프로토콜 - 주로 HTML문서를 주고 받는 데에 쓰임 - TCP와 UDP를 사용하며, 80번 포트를 사용 - 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜 SMTP (Simple Mail Transfer Protocol) - 인터넷에서 이메일을 보내고 받기 위해 이용되는 프로토콜, TCP 포트번호 25번 사용 - 상대서버를 지시하기 위해서 DNS의 MX레코드가 사용됨, RFC2821에 따라 규정됨 - 텍스트 기반의 프로토콜로서 요구/응답 메시지 뿐만 아니라 모든 문자가 7bit ASCII로 되어 있어야 함 (8bit 이상의 코드를 사 용하는 파일과 바이너리는 마임(MIME)방식으로 7bit로 변환되어 전달) SNMP (Simple Network Management Protocol) - 네트워크 장비를 관리 감시하기 위한 목적으로 TCP/IP 상에 정의된 응용 계층 표준 프로토콜 - 네트워크 관리자가 네트워크 성능을 관리하고 네트워크 문제점을 찾아 수정하는데 도움을 줌 - SNMP를 지원하는 서버에 관리자가 질의를 해 자료를 받아갈 수 있고, 반대로 어떤 값은 설정을 요청할 수도 있음. FTP (File transfer protocol) - 컴퓨터 간 파일을 전송하는데 사용되는 프로토콜 - 사용자인증, 데이터의 전환, 디렉터리 검색 등과 같은 많은 기능 및 선택사항을 제공 - 클라이언트/서버 관계를 이루며 동작함, 표준 RFC959에 따라 규정됨 - 데이터 전달 : 20번포트, 제어정보전달 : 21번포트 TELNET - 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜, IETF STD 8로 표준화 - 보안문제로 사용이 감소하고 있으며, 원격제어를 위해 SSH로 대체되기도 함 IMAP (Internet Message Access Protocol) - 원격파일 서버와 유사하게 작동, POP3와 달리 메일을 받아올 때 서버에서 메일을 삭제하지 않고 보관하는 프로토콜 - 다른 컴퓨터 환경에서 항상 같은 메일 내용을 메일 서버로부터 받아올 수 있는 장점이 있음 - POP3에 비해 메일서버와의 통신 트래픽이 높은 단점을 가짐 IRC (Internet Relay Chat) - 인터넷으로 실시간 대화를 나눌 수 있는 프로토콜 - 동시에 다중 대화가 가능한 채팅 프로토콜 - RFC2810~2813이 주로 사용되며, TCP 6667과 6668 포트 사용 SIP (Session Initiation Protocol) - 인터넷 상에서 통신하고자 하는 지능형 단말(전화, 인터넷 콘퍼런스, 인스턴트 메신저 등)들이 서로를 식별하여 그 위치를 찾고, 그들 상호 간에 멀리미디어 통신 세션을 생성하거나 삭제 또는 변경하기 위한 절차를 명시한 시그널링 프로토콜 - HTTP와 SMTP의 많은 부분 그대로 사용하여 개발된 텍스트 기반이므로 구현이 용이 하고, 유연성과 확장성이 있음. POP3(Post O ffi ce Protocol Version 3) - 멀리 떨어져있는 메일서버에 지정된 사용자ID로 접속해서, 메일박스 내에 도착한 메일을 자신(클라이언트)에게 가져오기 위해 사용되는 비교적 간단한 프로토콜 - RFC1939에 정의되어 있음. SSH (Secure Shell) - 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주 는 응용 프로그램 또는 그 프로토콜 - 기존 rsh, rlogin, 텔넷을 대체하기 위해 설계됨 - 강력한 인증방법 제공 및 안정성이 우수함, 22번 포트 사용 UUCP (Unix to Unix Copy) - 원격 명령실행, 파일 전송, 이메일, 컴퓨터간 네트뉴스 등을 가능하게 하는 컴퓨터 프로그램과 프로토콜 스위트 또는 세트를 가 리킴 DNS (Domain Name System) - 호스트에 대한 정보를 분산시켜서 관리하는 데이터베이스 - IP주소와 Host이름이 서로 연결되어 구조화된 역 트리구조를 갖는 계층적이고, 분산(Distributed)된, 클라이언트/서버 구조의 데이터베이스 시스템을 말함. 프로토콜 설명 XDR (External Data Representation) - 하드웨어 독립적으로 데이터 서술과 기호화를 하기 위한 표준으로서, 원격절차 호출 시스템에서 사용하기 위해 썬마이크로시스 템즈가 개발하였음. - 서로 다른 컴퓨터 구조간에 데이터를 전송하는데 유용함 - X.409나 ISO의 ASN등과 달리 묵시적인 형식을 사용함 SSL (Secure Socket Layer) - 넷스케이프사에서 전자상거래 등의 보안을 위해 개발하였음. - TLS(Transport Layer Security)라는 이름으로 표준화되었음. - 네트워크 레이어의 암호화 방식이기 때문에 HTTP 뿐만 아니라, NNTP, FTP등에도 사용 - 인증, 암호화, 무결성 보장 MPEG (Moving Picture Experts Group) - 정지된 화상을 압축하는 방법을 고안한 JPEG와는 달리, 시간에 따라 연속적으로 변화하는 동영상 압축과 코드 표현을 통해 정 보의 전송이 이루어질 수 있는 방법을 연구 - 영상압축기술에 대한 표준을 정립하면 반도체 업체에서 이들 표준을 지원하는 영상 압축칩을 개발 ASCII (American Standard Code for Information Interchange) - 영문 알파벳을 사용하는 대표적인 문자 인코딩 - 컴퓨터와 통신장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기반함 - 아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어짐 프로토콜 설명 NetBIOS - 네트워크의 기본적인 입출력을 정의한 규약 - IBM의 PC-Networks, 마이크로소프트사의 MS-Networks LAN 매니저 등에서 사용함 RPC (Remote Procedure Call) - Windows 운영 체제에서 사용하는 원격프로시저 호출 프로토콜 - RPC를 사용하면 특정 컴퓨터에서 실행되는 프로그램에서 원격 시스템의 코드를 완벽하게 실행할 수 있게 해주는 프로세 스간 통신(IPC) 메커니즘을 구현할 수 있음. Winsock (Windows Socket) - 예전부터 유닉스 등에서 TCP/IP 통신시 사용하는 Socket을 Windows에서 그대로 구현한 것. 프로토콜 설명 TCP (Transmission control Protocol) - 전송제어프로토콜, 네트워크의 정보전달을 통제하는 프로토콜 - 인터넷을 이루는 핵심 프로토콜의 하나로서 IETF의 RFC793에 기술되어 있음 - TCP는 IP위에서 동작하는 프로토콜로 흔히 TCP/IP로 표기함 - 패킷의 교환을 근간으로 하는 인터넷 프로토콜(IP)을 기반으로 작동함. UDP (User Datagram Protocol) - 신뢰성이 낮은 데이터그램 프로토콜로써 완전성을 보증하지 않으나, 응용이나 네트워크 환경에서 가상회선을 굳이 확립할 필요가 없어서 유연하고 효율적인 데이터 전송에 사용되는 프로토콜 - 비연결성이고 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공 RTP (Real-Time Transport Protocol) - 인터넷상에서 다수가 종단간에 실시간으로 비디오나 오디오 패킷을 전송하기 위해(영상회의 등) 표준화된 프로토콜을 말 함. - 신뢰성은 없으나 빠르게 데이터를 전달할 수 있는 UDP라는 수송 프로토콜 위에서 실행되며 주로 실시간 서비스를 제공함 프로토콜 설명 IP (Internet Protocol) - 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약 - OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당함. - 비신뢰성과비연결성이 특징 ICMP (Internet Control Message Protocol) - TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알리거나, 진단 등과 같이 IP계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜로 IP와 하나의 쌍을 이루며 동작함 - 네트워크 오류의 보고 (에러메세지) - 네트워크 상태조사를 위한 질의 요청 및 응답 (질의메세지) IGMP (Internet Group Management Protocol) - IP 멀티캐스트를 실현하기 위한 통신 프로토콜 - RFC 1112에 규정 - 구내 정보 통신망(LAN)상에서 라우터가 멀티캐스트 통신 기능을 구비한 개인용 컴퓨터(PC)에 대해 멀티캐스트 패킷을 분 배하는 경우에 사용됨. IPSec (Internet Protocol Security Protocol) - 네트워크 계층상에서 IP패킷 단위로 인증 및 암호화를 하는 기술을 말하며, 인터넷 경유 구간에 일종의 보안 통로인 터널링 을 형성해 줄 수 있음. - 보안프로토콜과 키 관리 프로토콜로 복수의 프로토콜로 구성하여 보안연합(Security Association)이라고 함. ARP (Address Resolution Protocol) - 네크워크상에서 IP 주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜 - 물리적 네트워크 주소는 이더넷 또는 토큰링의 48비트 네트워크 가드 주소를 뜻함. RIP (Router Interchange Protocol) - 매 30초마다 메시지 패킷을브로드캐스트하여 각 라우터가 네트워크 정보를 학습하도록 함, RFC1058에서 정의됨 - Distance Vector Algorithm에 기초하여 버클리대에서 개발한 라우팅 프로토콜로써, IGP(Interior Gateway Protocol) 용이며 과거에 널리 사용되었으나, 최근에는 소규모 교육용 외에 사용 않음 BGP (Border Gateway Protocol) - 자치시스템(AS) 상호간의 라우팅에 적용되는 라우팅 프로토콜 - 쉽게말하면, ISP 사업자들 상호간에 주로 사용되는 라우팅 프로토콜 - BGP-4는 EGP를 개량한 최근 버전임 EGP (Exterior Gateway protocol) - 일반적으로 자치시스템 상호간(Inter-AS 또는 Inter-Domain)에 경로정보를 교환하기 위한 라우팅 프로토콜을 총칭 - 연구기관이나 국가기관, 대학, 기업간, 즉 도메인 간을 연결하는 인터넷 라우팅 프로토콜 프로토콜 설명 Ethernet - Xerox, Digital, Intel이 공동으로 사양을 개발하여 1980년에 제품화시킨 LAN구현 방식을 말함. - 비연결성(connectionless)모드, 전송속도 10Mbps 이상 - 모든 노드가 동일한 전송매체를 공유함(Shared Media) HDLC (High-Level Data-Link Control) - 고속 데이터 전송에 적합하고, 비트 전송을 기본으로 하는 범용의 데이터 링크 전송제어절차로써, 컴퓨터간을 연결하는 컴 퓨터 네트워크에도 적합한 전송제어방식을 말함 - ISO 3309, 4435에 기술되어 있음. - 비트지향적 프로토콜 PPP (Point-to-Point Protocol) - 전화선 같이 양단간 비동기 직렬 링크를 사용하는 두 컴퓨터간의 통신을 지원하는 프로토콜 - TCP/IP기반 등의 데이터 서비스에 많이 이용됨 - 절대적 회선 링크 프로토콜 설명 RS-232 - 1962년 EIA에서 표준화한 DTE 및 DCE간 직렬(시리얼) 인터페이스 규격안을 말함. - 보통 15m이하 단거리에서 38400bps까지 전송을 위한 직렬 인터페이스 표준규격으로써 통상 컴퓨터와 터미널 또는 컴 퓨터와 모뎀 등 다양한 기기와의 접속에 사용됨 X.25 / X.21 - CCITT에서 DTE로 명명한 사용자 컴퓨터와 DCE로 명명된 통신회사 장비 사이에서 신호들을 교환함으로써 통신의 시작 이나 종료를 하는 방법을 규정하고 있음 - X.25는 패킷교환망에 대한 액세스 표준 - X.21은 회선교환망에 대한 액세스 표준 보기만 해도 아찔한 통신 프로토콜의 종류들
  • 30.
  • 31. 지키고 싶지 않으면 안지켜도 돼 안 지키면 어차피 안 받을꺼니까 ^^
  • 35. • RFC-2068 • RFC-2616 • RFC-7230 ~ 7235 HTTP 1.1관련 RFC 문서
  • 39. Start Line 요청일때 Methode SP Request target(path) SP HTTP version CRLF 응답일때
  • 40. Start Line 요청일때 Methode SP Request target(path) SP HTTP version CRLF 응답일때 HTTP version SP Status-code SP Response phrase CRLF
  • 41. • fi eld-name ":" OWS fi eld-value OWS • 임의의 header를 추가 가능 (이전, 임의의 header는 x-를 붙였었지만 해당 규칙은 현재 삭제됨) • 일반적으로 바디 내용, 바디 크기, 인코딩 여부, 인증, 클라이언트 정 보 등을 주고 받기 위해서 사용 Header 전송에 필요한 모든 부가정보를 포함(너무 많아서 구글링 추천)
  • 42. • header와는 Blank Line 으로 구분 • Byte로 표현할 수 있는 모든 데이터를 담는 것이 가능 • Get Methode 에서 body는 생략될 수 있음 Body 전송할 데이터를 담는 부분
  • 43.
  • 44. 마지막 정리 Interface와 Protocol은 네트워크를 통해 정보를 주고받기 위한 기본적인 약속 Interface란 엔드포인트의 규격과 인바운드, 아웃바운드 처리 방식 Protocol이란 시스템간 통신을 위한 규약
  • 45. 깨 라 까 랑 ?