TCP/IP 는 컴퓨터와 컴퓨터간 지역네트워크(LAN), 광역네트워크(WAN)에서 원활한 통신을 가능하도록 하기 위한 통신규약(Protocol) 로 정의 된다.(WWW, EMAIL, TELNET, FTP 등 대부분이 TCP/IP 기반으로 만들어져 있다.)
많은 서비스들이 TCP/IP 방식을 이용하는 대표적인 이유는 TCP/IP의 개방성에 있다.
TCP/IP는 TCP + IP ..2개의 프로토콜로 이루어져 있는데, 통상 IP프로토콜위에 TCP프로토콜이 위치하게 되므로 TCP/IP라고 불린다.
TCP는 서버와 클라이언트간의 데이터를 신뢰성있게 전달하기 위해 만들어진 프로토콜이다.
데이터는 네트워크선로를 통해 전달되는 과정에서 손실되거나, 순서가 바뀌어서 전달될수 있는데, TCP는 손실을 검색해서, 이를 교정하고 재조합할수 있도록 해준다. 데이터 전송전에, 데이터를 전송하기 위한 연결을 만들므로
TCP는연결지향 프로토콜이다.
TCP의 기능
1. 패킷이 빠졌을 경우, 재전송을 요청,
2. 패킷에 일련번호를 두어, 서로 다르게 도착될지도 모르는 패킷의 순서를 재조합.
TCP <-> UDP
TCP는 연결지향이며, 자체적으로 오류를 처리하며, 네트웍 전송중 순서가 뒤바뀐 메세지를 교정시키준다. 연결지향이라 함은, 데이터 전송측과 수신측간의 전용 데이터 전송 선로(Session)를 만든다는 의미. -> 데이터의 신뢰도가 중요하다고 판단될때 사용한다.
UDP는 비연결지향. 오류를 처리하거나 순서를 재조합하는 기능없다. 단순히 데이터 주고 받기만 하는 프로토콜. -> 실시간 멀티미디어 정보 처리위해서 사용
OSI 7 계층과 TCP/IP 4계층
1. Application Layer
- 네트웍을 사용하는 응용프로그램(FTP, Telnet, SMTP) 등으로 이루어지며, OSI 계층의 Application Layer 와 Presentaion Layer 를 모두 포함한다.
2. Transport Layer
- 도착을 원하는 시스템까지 데이터를 전송하기 위한 일을 한다.
- OSI의 Session Layer과 Transport Layer를 포함하며, 각각의 시스템을 연결하고, TCP 프로토콜을 이용하여 데이터 전송한다.
3. Internet Layer
- 데이터를 정의하고 데이터의 경로를 배정하는일(라우팅)을 담당한다. IP프로토콜을 사용한다.
- OSI의 Newwork Layer 과 Data Layer를 포함한다.
4. Physical Layer
- 물리적 계층(이더넷 카드), 하드웨어를 지칭
TCP/IP 4계층에 의한 데이터 전송 (WWW의 예시)
사용자가 브라우저(IE,크롬과 같은)를 통해 URL입력하여 페이지 요청 -> 사용자의 요청이 인터넷상에서 전달되기 용이한 패킷으로 만들기 위해 TCP패킷으로 만들어짐 -> 만들어진 패킷이 인터넷상에서 원하는 주소로 이동할수 있도록 하기 위해 IP패킷으로 다시 생성 -> 이더넷카드로 보내짐
(Internet 상태)
라우터, 토큰링과 같은 장치를 통해서, 해당 목적지의 이더넷카드로 TCP/IP 패킷이 전달 -> 이더넷카드는 받은 패킷을 Internet Layer로 보냄->Internet Layer은 받은 패킷(IP패킷)을 분석해서, 패킷이 어디서 왔으며, 목적지가 어딘지 판단->만약 목적지가 자신이면, Transport Layer로 보내고, TCP 프로토콜을 사용하여, 메세지누락 확인(다시요청), 순서 재조합등의 메세지 검사후 Application Layer에 보낸다.
Application Layer 에서 웹서버(IIS, Apache와 같은)가 통신메세지를 HTTP 프로토콜에 준하여, 검사하면서 사용자가 요청한 웹페이지를 읽어들임. -> Transport Layer 전송 -> 나머지부분 반복
연결지향
- TCP/IP 는 데이터가 전송되기 전에, Browser 와 Server 간의 연결을 성립하는 과정이 데이터 전송전이 이루어진다.
- three way handshake 과정이 이루어진다.
=> 데이터 전송전, Browser은 Server 에 서버확인요청 -> Server는 Browser에게 데이터 전송요청 -> Browser은 Server에게 데이터 보내겠다는 요청 -----> 통신선로가 성립되기위해 3번의 데이터 전송이 이뤄진다.