티스토리 뷰

Goal 

 - 네트워크에서 프로토콜의 의미에 대해 알아본다.

 - 프로토콜의 기본 구조에 대해 알아본다

 - TCP/IP 스택에 대해 알아본다.

1. 네트워크 프로토콜

- 프로토콜 : 규정또는 규약.

- 네트워킹을 한 다는 것은 통신을 한다는 것이고, 통신 또는 소통을 한다는 것은 정해진 규약(프로토콜)에 따른다는 것을 의미함.

- 프로토콜은 규칙 지정한 그룹에 따라 특징이 다르고 다양함. 네트워크 분야에서는 프로토콜 기술이 이더넷-TCP/IP 기반 프로토콜로 통일되고 있음.

- 네트워크에서 프로토콜은 2가지 측면으로 나뉨.

  • 물리적 측면: 데이터 전송 매체, 신호 규약, 회선 규격 등. 이더넷이 널리 쓰인다.
  • 논리적 측면: 장치들끼리 통신하기 위한 프로토콜 규격. TCP/IP 가 널리 쓰인다.

2. 프로토콜의 구조

- 프로토콜을 인간이사용하는 일반 언어와 유사하게(자연어) 사용하면 이해하기 쉽지만, 네트워크 서비스가 처음 개발되었던 1900년대의 네트워크 환경은 열악했고 한정된 자원과 느린 네트워크 속도를 효율적으로 처리하기 위해 대부분의 프로토콜이 문자기반이 아닌 2진수 비트 기반으로 만들어 졌음.

- 2진수 비트 기반으로 통신을하다 보니, 서로간의 약속을 치밀하게 정의해야 했고 복잡했음. 어플리케이션 레벨의 프로토콜 (HTTP, SMTP 등)은 대부분 문자 기반으로 사용하고 있음.

- 이러한 프로토콜은 문자 자체를 이용해 헤더, 바디로 데이터를 표현하고 전송함.

 

헤더예시

GET /api HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://zigispace.net/
Accept-Language: ko-KR
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; TCO_20181
006113830; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: theplmingspace.tistory.com
DNT: 1
Connection: Keep-Alive

문자로 프로토콜을 표현하므로 사람이 정보를 읽을 수 있고, 확장이 용이함. but 실제 텍스트 파일과 같은 데이터가 전달되므로 효율은 떨어짐. (보통 1text는 8bit) 참고( HandOut.PDF (cmu.edu) )

3. TCP/IP 프로토콜 스택

- 일반적으로 TCP/IP는 프로토콜이 아닌 프로토콜 스택이라고 부름. TCP와 IP는 별도 계층에서 동작하는 프로토콜이지만, 함께 사용되고 이런 프로토콜 묶음을 프로토콜 스택이라고 부르는 것임.

- TCP/IP 프로토콜 스택에는 TCP, IP뿐만 아니라 UDP, ICMP, ARP, HTTP, SMTP, FTP와 같은 매우 다양한 애플리케이션 레이어 프로토콜들이 있음.

- 프로토콜 스택의 구성

물리부분 : 이더넷

네트워크 계층 : 데이터가 목적지를 찾아가도록 해줌.

전송계층 : 잘린 패킷을 데이터 형태로 잘 조합하도록 도와줌

애플리케이션 계층

댓글