1. TCP / IP 란
- TCP/IP 가 나타난 이유는 컴퓨터 간의 통신을 위해서였다. 이는 컴퓨터와 컴퓨터간의 지역네트워크(LAN) 혹은 광역네트워크(WAN)에서 원할한 통신을 가능하도록 하기 위한 통신규약으로 정의할 수 있다.
- 인터넷으로 연결된 수많은 컴퓨터와 통신을 위해서 TCP/IP를 사용하는 이유는 그 개방성에 있다. 하드웨어, 운영체제, 접속매체에 관계없이 동작할 수 있다는 점에서 핵심적이다.
- HTTP, FTP, SMTP 등 TCP를 기반으로 하여 만들어졌고, 이러한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에 TCP/IP 라고 부른다. 이렇게 두 방식의 조합을 통해 인터넷 데이터 통신을 하는 것을 묶어 TCP/IP라고 부른다.
- 오늘날 인터넷 통신의 대부분은 패킷 통신을 기본으로 하고 있다. TCP/IP는 이러한 패킷 통신을 위한 인터넷의 규약이다.
1.1 IP(Internet Protocol)
- 컴퓨터와 컴퓨터 간(= node와 node 간)의 데이터 패킷을 전송하기 위해서는 각 node에 주소를 필요로 한다. IP는 4바이트로 이루어진 주소번호를 사용하여 각각의 node 를 구분하고, 목적지를 찾아간다.
- 이를 IP Address라고 하며, '192.168.100.100' 과 같은 형식으로 사용한다. IP는 숫자로 이루어져 있기 때문에 Domain Name Service를 통해 인간이 식별할 수 있는 이름으로 변환된다.
- IP는 인터넷 프로토콜로 데이터 조각들을 최대한 빨리 목적지로 보내는 역할을 한다. 조각들의 순서가 뒤바뀌거나 일부가 누락되도 일단 보내는데 집중을 한다.
1.2 TCP (Transmission Control Protocol)
- 서버와 클라이언트 간에 데이터를 신뢰성있게 전달하기 위해 만들어진 프로토콜이다. 데이터는 네트워크를 통해 전달되는 과정에서 손실되거나 순서가 뒤바뀔수 있는데, TCP는 이러한 손실을 검색해서 교정할 수 있도록 한다.
- TCP는 전송 제어 프로토콜로 TCP는 IP위에서 동작하면서 IP보다 느리지만 꼼꼼한 방식으로 도착한 조각을 점검하여 순서대로 배치하고 누락된 조각을 다시 요청한다. TCP를 통해 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다.
- TCP는 연결시 3-way handshaking 방식으로 목적지와 상호패킷을 교환하여 연결한다. 연결을 종료할 때는 4-way handshaking 방식을 사용한다.
1.3 UDP (User Datagram Protocol)
- 비연결형 프로토콜로서 데이터를 빠르게 전달하는데에 초점을 두고 있다. 따라서 UDP는 목적지에 데이터가 제대로 잘 전달되었는지 확인하지 않는다.
- 그래서 신뢰성 있는 데이터 전송이 필요할 때보다 동영상 스트리밍같이 연속적인 특성을 가지고 있는 서비스에 사용한다.
2. 어떻게 TCP/IP 로 데이터 통신이 이뤄지는가
- 이를 이해하기 위해서는 OSI7에 대한 이해가 필요하다. OSI는 각종 시스템간의 연결을 위하여 ISO에서 제안한 모델로써, Open System Interconnection Reference Model의 약어이며, 시스템에 상관없이 서로의 시스템이 연결될수 있도록 만들어주는 모델이다.
- 이는 7개의 계층으로 되어 있고, 컴퓨터 사이의 데이터 전송은 이 7개 계층을 직-간접적으로 거쳐서 전송이된다. OSI를 이렇듯 계층별로 나눔으로써, 각 계층에서 필요한 부분만을 개발자들이 신경쓰고 통신서비스 개발시간을 줄일수 있도록 도와준다.
- 다음의 순서는 상위부터 하위 순서의 계층이다. 각 계층은 통신을 할 때 각각의 해당하는 계층에만 상관한다.
- Application Layer : 이 계층은 네트워크를 사용하는 응용프로그램으로 이루어지며, OSI 계층의 Application layer과 Presentation layer를 모두 포함한다.
- Transport Layer : 도착을 원하는 시스템까지 데이터를 전송하기 위한 일을 하는 계층이다. Session layer과 Transport layer를 포함하고 있으며, 각각의 시스템을 연결하고 TCP 프로토콜을 이용하여 데이터를 전송한다.
- Internet Layer : 데이터를 정의하고 그 경로를 배정하는 일을 담당한다. 데이터를 정확히 라우팅하기 위해서 IP 프로토콜을 사용한다. OSI의 Network layer 과 Data link layer를 포함한다.
- Physical Layer : 물리적 계층 즉 이더넷 카드와 같은 하드웨어를 말한다.
3. TCP/IP 와 OSI 7 Layer 비교
TCP/IP 와 OSI 7 Layer 을 그림으로 비교하면 다음과 같다.
'Computer Science' 카테고리의 다른 글
인증과 인가 (0) | 2021.08.12 |
---|---|
SPA (Single Page Application) (0) | 2021.06.23 |
JWT(Json Web Token) (0) | 2021.06.21 |
쿠키와 스토리지 (cookie & storage) (0) | 2021.06.20 |
OSI 7 Layer (0) | 2021.06.03 |