02 TCP/IP 개요
통신 프로토콜: 데이터를 주고 받으려면, 송신측과 수신측의 컴퓨터가 미리 정해둔 공통 메뉴얼에 따라 연락을 취해야한다. 이 때 이 메뉴얼을 프로토콜이라고 한다.
TCP/IP란?
데이터 송수신에 관한 일련의 작업을 하나로 모은것.
전 세계적으로 공통된 통신 프로토콜로 체택.
'데이터를 디지털 신호로 바꾼다' => '보낼 곳에 전달' => 디지털 신호를 데이터로 되돌린다.
이 때, 5 단계의 절차를 거친다.
각 단계를 계층(layer)라고 하며
사용자에게 가까운 application 계층 => 기계에 가까운 물리 계층 순으로 아래 작성.
어플리케이션 계층
application에 맞춰 통신 수행
어플리케이션마다 다양한 프로토콜이 있음.
예: HTTP, SMTP,POP3, FTP, ...
트렌스포트 계층
송신된 데이터를 수신측 application에 전달하기 위해 작동
예: TCP(Transmission Control Protocol), UDP
네트워크 계층
수신측 컴퓨터까지 데이터를 전달하기 위해 작동.
전달된 데이터가 손상됬는지 또는 수신측이 잘 받았는지는 관여X
예: IP(Internet Protocol)
데이터링크 계층
네트워크에 직접 연결된 기기간 전송을 수행할 수 있게 함.
네트워크계층과 물리계층간의 차이를 완전 흡수하기위한 다양한 프로토콜 존재
예: Ethernet, ATM, PPP, PPPoE, FDDI , ...
물리계층
데이터를 신호로, 신호를 데이터로 변환.
변환 방법은 통신 매체에 의존.
따라서 특정 프로토콜이 정해져 있진 않음.
일반적으로 TCP/IP라고 하면, 위 5계층을 가리킴.
하지만 TCP, IP 각 프로토콜을 가리키는 경우도 있어서, 구별하기위해
5계층 전체를 TCP/IP 프로토콜 군이라고 함.
프로토콜 조합을 바꿈으로써, 다양한 Application이나 기기 처리가 가능.
'무엇을 할지?'에 따라, 사용할 프로토콜 조합이 달라짐.
계층간 연락방법
송신측의 각 계층에서는 수신측의 동일한 계층에서 필요한 정보를 공통된 서식으로 데이터를 추가해 가야한다.
[헤더]-[데이터]-[트레일러]
데이터 앞에 추가한 정보를 헤더, 뒤에 추가한 정보를 트레일러라고함.
상위 계층에서 추가한 헤더와 트레일러는 데이터로 합쳐져서 하나로 묶인다.
(캡슐화: 데이터와 정보가 하나루 묶여서 다뤄지는 것.)
트레일러가 없는 것도 있음!
송신측에서 추가된 헤더와 트레일러는 수신측의 동일한 계층에서만 사용됨.
계층으로 보는 데이터 송수신 작업
송신
Application 계층
어플리케이션간에 데이터 주고받기 위해 필요한 정보를 넣음(헤더/트레일러)
트렌스포트 계층
접속환경에 맞춘 크기로 분할, 분할된 하나하나를 패킷이라고함.
어플리케이션을 나타내는 번호와, 데이터를 조합하기위한 정보를 넣음
네트워크 계층
송수신할 컴퓨터의 주소와, 수신 불명일 경우 데이터를 파기하는 표시등을 함.
데이터 링크 계층
네트워크 종류에 맞춘 형식으로 보낼 곳의 정보를 써넣음.
물리계층
비트열을 신호로 변환
수신
물리 계층
신호를 비트열로 변환
데이터 링크 계층
헤더에 정보를 확인하고, 지정된 프로토콜로 전달.
네트워크 계층
헤더에 적힌 목적지를 확인하고, 지정된 프로토콜로 전달.
트렌스포 계층
헤더를 확인하고, 데이터 순서대로 나열 하고 조합.
데이터에 문제가 있을시, 그에 따른 처리를 함.
어플리케이션 계층
지정된 어플리케이션으로 전달.
패킷: TCP/IP에서 데이터를 일정한 크기로 분할해서 보낼때, 작게 나눠진 데이터 하나하나를 뜻한다. 보통 1,024bit로 데이터 외에도 데이터 목적지, 주소 등 제어 정보를 가지고 있다.
Last updated