TCP/IP란?
데이터가 의도된 목적지에 닿을 수 있도록 보장해주는 통신 규약이다.
TCP, IP 두가지의 프로토콜로 이루어져 있다.
- 프로토콜 : PC와 스마트폰 등이 통신하는 규칙
- 네트워크 아키텍처 : 복수의 프로토콜을 조합한 것
(네트워크 아키텍처는 우리가 사용하는 언어에 해당한다.)
현재는 TCP/IP만 거의 사용한다.
TCP/IP의 계층구조
TCP/IP는 OSI 7계층 중 4계층으로 이루어져 있다.
(7계층은 실무에서 사용하는 경우가 없으므로, 자세히 다루지 않겠다.)
웹 액세스의 프로토콜 조합
데이터를 전송하는 역할을 하는 계층
- 네트워크 인터페이스층 : 같은 네트워크 안에서 데이터를 전송하는 층
하나의 네트워크는 [라우터]와 [레이어2 or 3 스위치]로 구획하는 범위이다.
- 인터넷층 : 네트워크 사이에서 데이터를 전송하는 역할을 한다.
- 라우팅 : 라우터에 의한 네트워크 간 전송을 뜻함
- 엔드투엔드 통신 : 원격지 네트워크에서 최종 출발지와 목적지 사이의 데이터 전송을 뜻함
애플리케이션의 동작을 준비하는 계층
- 트랜스포트층 : 데이터를 적절한 애플리케이션에 배분하는 일을 담당
트랜스포트층은 TCP, UDP를 포함하는 계층이다.
TCP : TCP는 데이터가 유실되더라도 그 사실을 검출해 데이터를 다시 보내준다.
(엔드투엔드의 신뢰성을 확보해준다.)
애플리케이션층 : 애플리케이션의 기능을 실행하기 위한 데이터의 형식과 처리 절차등 결정하는 것입니다.
데이터 송수신 규칙
- 헤더
각 프로토콜에는 각각의 기능을 실현하기 위한 제어 정보(헤더)가 필요함 - 캡슐화
- 역캡슐화
- 캡슐화 순서
데이터 수신, 전송할 때의 규칙
- 데이터 전송
- 웹서버 애플리케이션의 데이터 수신 (헤더로 목적지를 확인하고 수신)
이더넷 → IP → TCP → HTTP → 웹브라우저
1_ 이더넷(네트워크 인터페이스 계층) :
1) 이더넷 헤더를 참조하여 자기 앞으로 온 데이터인지 확인
2) FCS로 데이터에 오류가 없는지 확인
3) 이더넷 헤더, FCS를 제거함
2_ IP(인터넷 계층) :
- IP헤더를 참조하여 자기 앞으로 온 데이터인지 확인
- IP 헤더를 제거함
3_ TCP(전송 계층) :
- TCP 헤더를 참조해 어느 애플리케이션의 데이터인지 확인
- TCP 헤더를 제거함
4_ HTTP(응용 계층) :
- HTTP 헤더를 읽고 웹 서비스를 제공할 수 있도록 데이터를 처리
5_ 애플리케이션으로 데이터 처리를 넘김
6_ HTTP 헤더와 그뒤의 데이터 부분을 처리함
데이터를 부르는 방법
- 애플리케이션층 → 메시지
- 트랜스포트층 → 세그먼트(TCP) or 데이터그램(UDP)
- 인터넷층 : IP 패킷 or IP 데이터그램
- 네트워크 인터페이스층 : 프레임
**HTTP 메시지** = 웹브라우저의 데이터 + HTTP 헤더
**TCP 세그먼트** = HTTP메시지 + TCP 헤더
**IP 패킷(IP 데이터그램)** = TCP 세그먼트 + IP 헤더
**이더넷 프레임** = IP패킷 + 이더넷 + FCS
'프로그래밍 > Network' 카테고리의 다른 글
Cookie와 Web Storage (0) | 2021.09.14 |
---|