Protocol (프로토콜)
컴퓨터끼리 서로 통신하기 위해서 꼭 필요한 서로 간의 통신 규약 또는 통신 방식에 대한 약속이다.
두 사람이 서로 대화를 한다고 가정하면, 같은 언어를 사용해야만 대화가 가능하다고 생각하면 쉽다.
TCP
TCP(Transfer Control Protocol)는 트랜스포트 층에 해당하며, 신뢰성 있는 바이트 스트림 서비스를 제공한다. 바이트 스트림 서비스란 용량이 큰 데이터를 보내기 쉽게 TCP 세그먼트라고 불리는 단위 패킷으로 작게 분해하여 관리하는 것을 말하고, 신뢰성 있는 서비스는 상대방에게 보내는 서비스를 의미한다.
TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP(Internet Protocol)와 전송조절 프로토콜인 TCP(Transmission Control Protocol)로 이루어져 있다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다. TCP는 IP위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다. HTTP, FTP, SMTP등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP위에서 동작하기 때문에, 묶어서 TCP/IP로 부르기도 한다. TCP/IP는 DARPA모델로 알려진 ‘응용, 전송, 네트워크, 링크’ 4개의 계층의 개념적인 모델로 되어 있다.
응용 계층은 OSI 7계층의 세션, 표현, 응용계층에 해당하며, TCP/IP 기반의 응용프로그램을 구현할 때 사용된다. 프로토콜의 예로는 FTP, HTTP, SSH, DNS등이 있다.
전송 계층은 OSI 7계층의 전송 계층에 해당하며, 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다. 프로토콜의 예로는 TCP, UDP등이 있다.
인터넷 계층은 OSI 7계층의 네트워크 계층에 해당하며, 통신 노드 간의 IP패킷을 전송하고, 라우팅 기능을 담당한다. 프로토콜의 예로는 IP, ARP, RARP등이 있다.
네트워크 액세스 계층은 OSI 7계층의 물리계층과 데이터 링크 계층에 해당한다. 물리적인 주소로 MAC를 사용하며 LAN, 패킷망, Ethernet 등에 사용된다.
TCP/IP의 통신방법을 확실하게 이해하기 위해 HTTP를 예로 들려고 한다. 먼저 HTTP(HyperText Transfer Protocol)는 WWW(월드 와이드 웹)상에서 정보를 주고 받는 프로토콜이며 또한, 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜이다.
TCP/IP의 신뢰성 있는 통신을 위해서, 주로 쓰리웨이 핸드쉐이킹(Three-Way HandShaking)이라는 방법을 사용하고 있다. 이 방법은 패킷을 보내고 잘 보내졌는지 여부를 상대에게 확인하는 것이다. 여기에서 'SYN'와 'ACK'라는 TCP 플래그를 사용한다.
송신측에서 최초 'SYN' 플래그로 상대에게 접속함과 동시에 패킷을 보낸다.
수신측에서는 'SYN/ACK' 플래그로 송신측에 접속함과 동시에 패킷을 수신한 사실을 전달한다.
마지막으로 송신측이 'ACK' 플래그를 보내 패킷 교환이 완료되었음을 전달한다.
추후 UDP 업로드
'ComputerScience > 네트워크' 카테고리의 다른 글
6. 네트워크 장비 - 허브(HUB), 브리지(Bridge)&스위치(Switch), 라우터(Router) (0) | 2020.07.15 |
---|---|
5. 네트워크 장비 - 랜카드 (0) | 2020.07.15 |
3. OSI 7 Layer (OSI 7 계층) (0) | 2020.07.15 |
2. MAC Address와 캐스트 (0) | 2020.07.14 |
1. 네트워크(Network)와 케이블 (0) | 2020.07.14 |