1.3 네트워크 기본 TCP/IP
인터넷을 포함하여 일반적으로 사용하는 네트워크 TCP/IP라는 프로토콜에서 움직인다. HTTP도 그 중 하나이다.
1.3.1 TCP/IP는 프로토콜의 집
컴퓨터 네트워크 기기가 상호간에 통신하기 위해 같은 방법으로 통신해야한다. 다른 하드웨어 다른 OS로 통신하기 위해서는 규칙이 필요하다.-> 프로토콜
프로토콜은 여러가지가 있다. 케이블규격, IP 주소지정 방법, 떨어진 상대를 찾기 위한 방법 도달 순서, 웹을 표시하기 위한 순서등.
인터넷과 관련된 프로토콜들을 모은 것을 TCP/IP라고 한다.
1.3.2 계층으로 관리하는 TCP/IP
애플리케이션 계층
트랜스포트 계층
데이터링크 계층
링크 계층
각 계층을 계층끼리 연결되어 있는 부분만 결정되어 있어 각 계층의 내부는 자유롭게 설계 할 수 있다.
애플리케이션 계층
유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정한다. FTP, DNS 등도 애플리케이션의 한 가지 이다. HTTP도 이 계층에 포함된다.
트랜스포트 계층
애플리케이션 계층에 네트워크로 접속되어 있는 2대의 컴퓨터 사이의 데이터 흐름을 제공한다. 서로 다른 성질의 UDP, TCP 프로토콜이 있다.
네트워크 계층(인터넷계층)
네트워크 상에서 패킷의 이동을 다룬다. 패킷이란 전송하는 데이터의 최소단위이다. 어떠한 경로를 거쳐 상대의 컴퓨터까지 패킷을 보낼지 결정하기도 한다. 인터넷의 경우라면 상대 컴퓨터에 도달하는 동안에 여러 대의 컴퓨터랑 네트워크 기기를 거쳐서 상대방에게 전송된다. 이러한 여러가지 선택지 중에서 하나의 길을 결정하는 역할을 한다.
데이터 링크 계층
네트워크에 접속하는 하드웨어적인 면을 다룬다. 운영체제가 하드웨어를 제어하기 때문에 디바이스 드라이버랑 네트워크 인터페이스 카드를 포함한다.케이블, 커넥트등 여러가지 물리적으로 보이는 부분도 포함한다.
1.3.3 TCP/IP 통신의 흐름
애플리케이션(HTTP) -> 트랜스포트(TCP) -> 네트워크 (IP) -> 링크 (네트워크)
TCP/IP로 통신을 할 때 계층을 순서대로 거쳐 통신한다. 송신측은 애플리케이션부터 내려가고 수신은 반대이다.
송신준비 : HTTP를 예로 들면 애플리케이션(HTTP) 계층에서 어느 웹페이지를 보고싶다는 HTTP 리퀘스트를 지시한다. 트랜스포트 계층(TCP)에서는 애플리케이션 계층에서 받은 데이터(HTTP 메시지)를 통신하기 쉽게 조각내어 안내번호와 포트 번호를 붙여 네트워크 계층에 전달한다. 네트워크 계층에서는(IP) 수신지 MAC 주소를 추가해서 링크 계층에 전달한다.
수신 : 링크 계층에서 데이터를 받아들여 순서대로 위의 계층에 전달한다. 애플리케이션 계층에 도달하면 HTTP 리퀘스트 내용을 수신할 수 있다.
각 계층을 거칠 때는 각 계층마다 필요한 헤더정보를 붙이고 수신측은 계층을 거칠때 마다 반드시 해당 계층마다 사용한 헤더를 삭제한다. 이렇게 정보를 감싸는 것을 캡슐화라고 한다.
Last updated