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은 회선교환망에 대한 액세스 표준
보기만 해도 아찔한
통신 프로토콜의 종류들
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이란 시스템간 통신을 위한 규약