이전 글에서 HTTP를 알아보면서 클라이언트가 데이터를 요청/응답하는 과정에서 HTTP 통신을 하며, 이때 HTTP는 TCP/IP위에서 동작한다고 언급을 했다
사실 클라이언트나 서버가 데이터를 전달하는 과정에서 전달받은 데이터를 그대로 보내는 것이 아니라 몇 개의 계층으로 나뉘어 각 계층에서 데이터를 캡슐화, 역캡슐화하여 데이터를 주고받는다
이 때 몇 개의 계층을 표준화한 것이 이번에 다루어볼 내용이다
OSI(Open System Interconnection) 7계층은 국제표준화기구(ISO)에서 개발한 모델로
- 계층화: 네트워크 프로토콜 디자인과 데이터 통신을 계층으로 나누어 표준화한 것
- 단계적 설명: 통신 과정을 단계별로 설명할 수 있도록 하며 각 계층은 이전 계층에서 받은 데이터를 가공하고 다음 계층으로 전달
- 계층 간 분리: 특정 계층에서 문제가 발생할 시 해당 계층만 처리하면 됨
- 네트워크 표준: 네트워크 전송 시 데이터 표준을 정리한 것
- Wifi 모델
TCP/IP 4계층
- 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜) -> 실제 사용하는 인터넷 표준
- OSI 참조 모델과 유사한 개념적 계층화를 사용했지만 TCP/IP 모델은 초기 인터넷 프로토콜 스택의 설계에 사용된 모델로, OSI 모델의 일부 계층을 합친 형태로 구현됨
- 실제 네트워크 프로토콜 스택의 기본 구조로 사용되기 때문에 지속적인 표준화가 이루어짐
OSI 7계층을 통해 데이터 통신 계층의 개념을 간단하게 이해하고 실제 인터넷에 사용되는 네트워크 프로토콜 구조인 TCP/IP 4계층에 대해서 정리한다
OSI 7계층
- 물리계층
- 하드웨어에 속하는 계층
- 전기적 신호를 주고받는 계층이며, 통신 케이블로 데이터가 전송
- 통신 단위는 bit로 0, 1로 나타냄
- 데이터를 전송하기만 하고 데이터 종류나 오류를 제어하지 못함
- 허브, 증폭기
- 데이터 링크 계층
- 물리계층으로 송신, 물리계층에서의 수신되는 정보의 오류와 흐름을 관리
- Point to Point의 신뢰성을 보장 (직접적인 연결 또는 링크를 Point-to-Point라고 한다)
- 기기의 MAC 주소(무선 LAN 내장기기의 개별적으로 부여되는 단말번호)를 기반으로 통신
- 이더넷, 투포인트 프로토콜(HDLC, ADCCP), 근거리 네트워크 프로토콜 등이 해당
- 이더넷, PPP, 스위치(Navigation), 브리지를 사용
- 네트워크 계층
- 전송 데이터가 목적지까지 최적의 경로로 전송되는 데이터의 라우팅을 담당
- 경로를 선택하고 주소를 정하여 패킷을 전달해 주는 역할
- 라우터를 사용하며 IP 주소를 이용
- 라우터를 Navigation, GateWay로 사용
- 데이터를 연결하는 다른 네트워크를 통해 전달하는 계층
- 전송계층
- End-to-End 사이 데이터를 통신하도록 신뢰성을 보장하며 통신을 활성화시키는 계층
- 전송 속도를 제어하고, 오류를 검출하는 등을 반복하여 신뢰성을 확보하여 상위 계층에서 유효성과 효율성 고려를 하지 않도록 함
- TCP(Transmission Control Protocol), UDP(User Diagram Protocol) 프로토콜
- TCP는 데이터 전송을 보장하는 연결성 프로토콜 - 3 way handshaking 방식, segment 단위
- UDP는 비연결성 프로토콜로 전송 속도에 초점을 둔다 전송만 하면 종료되는 형식, Datagram 단위
- 데이터 전송을 위해 Port 번호가 활용됨
- Port: 운영체제 통신의 종단점(소프트웨어)
- 네트워크 서비스나 특정 프로세스 식별의 논리적 단위
- 세션 계층
- 논리적인 연결을 관리하고 지속시켜 주는 계층
- 데이터를 만들어내는 영역으로 세션을 만들고 유지, 유휴, 종류, 재시작 등의 기능도 포함됨
- TCP/IP 기반으로 만들어지며, 통신하는 사용자들을 동기화하고 오류 복구를 진행
- 표현 계층
- 송신자에서 온 데이터를 해석하기 위한 응용 계층 데이터 부호화, 변화
- 하나의 통일된 구문형식으로 변환 (일률화)
- 수신자에서 데이터의 압축을 풀 수 있는 방식으로 된 데이터 압축
- 데이터의 암호화, 복호화
- MIME(파일 변환) 인코딩이나 암호화, 데이터가 텍스트인지 그림인지 구분
- 송신자에서 온 데이터를 해석하기 위한 응용 계층 데이터 부호화, 변화
- 응용계층
- 사용자와 가장 가까운 계층
- 응용 서비스나 프로세스가 동작하는 계층
- HTTP, FTP 같은 통신 프로토콜이 속함
TCP/IP 4계층
TCP/IP 4계층은 실제 네트워크 프로토콜 스택에 적용되는 모델이라고 했으며 OSI 7계층에서 구분이 모호한 계층을 그룹화하였다고 생각할 수 있다 개념적으로 구분하고 설명하기엔 OSI 7계층이 명확할 수 있지만 실제 사용되는 인터넷 표준을 자세히 알아보자
각 계층과 데이터 단위, 캡슐화, 역캡슐화를 모두 담고 있는 사진이 있어 첨부하였습니다
- 네트워크 인터페이스 계층 or 네트워크 액세스 계층
- OSI 계층이 1, 2계층에 해당 -> 하드웨어 부분
- TCP/IP 패킷을 네트워크 매체로 전달하는 과정을 담당
- 데이터 단위는 프레임, 전송 주소는 MAC 주소를 참조하여 다음 홉(호스트)으로 전송
- 물리적인 네트워크 통신을 정의
- 프레임의 Header의 프레임 제어 정보
- 프레임 제어 정보를 통해 데이터의 흐름을 관리
- CRC(Cyclic Redundancy Check)와 같은 알고리즘으로 오류를 검출
- 인터넷계층
- OSI 3계층에 해당 -> 네트워크 계층
- Addressing, Packaging, Routing 기능을 제공
- 데이터 단위는 패킷(TCP), 데이터그램(UDP)으로 전송 주소는 IP 주소를 참조
- 논리적 주소인 IP를 이용한 노드사이 전송과 라우팅 기능을 처리하며, 네트워크상 목적지까지 연결성을 제공
- 패킷은 Segment를 목적지에 전송하기 위해 시작, 목적지의 논리주소를 붙인 단위
- IP, ARP, ICMP, IGMP 등이 해당
- 전송계층
- OSI 3,4 계층에 해당
- 통신 노드 간의 연결제어 및 자료의 송수신
- 데이터 단위는 세그먼트로 전송 주소는 Port를 참조
- 애플리케이션 계층의 세션과 데이터그램 통신 서비스를 제공
- TCP, UDP 프로토콜이 해당
- 세그먼트는 전송을 위해 데이터를 일정 크기로 나누며 발신, 수신, 포트주소, 오류검출코드가 첨부됨
- 응용계층
- OSI 5, 6, 7 계층에 해당
- 다른 계층의 서비스에 접근할 수 있는 응용 프로그램 서비스를 제공
- 데이터 단위는 Data/Message이다
- 인터페이스를 제공하여 사용자가 소프트웨어 응용 프로그램을 사용할 수 있게 함
- 응용 프로그램 사이 데이터 통신을 위해 사용하는 프로토콜을 정의 (HTTP, FTP, SSH, Telnet 등)
정리
- OSI 7계층은 프로토콜을 개념적으로 설명하기 위해 고안된 모델로 실제로 사용되지 않으나, 네트워크에서 문제가 발생할 시 각 계층을 독립적으로 다루고 문제 해결을 용이하게 하기 위해 네트워크 프로토콜 디자인과 데이터 통신을 계층으로 나누어 표준화한 모델
- TCP/IP 4계층을 사용하는 이유
- 간결함
- TCP/IP 모델은 OSI모델에 비해 간결하고 현실적으로 적용하기 쉬움
- 실제 인터넷 통신을 반영하여 네트워크 프로토콜을 이해하고 구현하는데 훨씬 더 쉬운 접근법을 제공
- 역사적 배경
- TCP/IP 모델은 초기 ARPANET 및 인터넷의 개발에 사용된 모델로 오랜 기간 동안 표준화 및 개발되어 옴
- 네트워크 통신의 현실적인 측면을 더 잘 반영
- TCP/IP 모델의 표준화
- TCP/IP 모델은 OSI 모델보다 초기에 개발되었으며 현실적인 인터넷 통신을 반영하기 위해 설계됨
- 실제 네트워크 프토콜 스택의 기본 구조로 사용되었으며 지속적인 표준화 및 개발이 진행
- 간결함
References
https://yozm.wishket.com/magazine/detail/1956/
주니어 개발자를 위한 엄청 쉬운 TCP/IP 4계층 이야기 | 요즘IT
이번 글에서는 이전 글 “택배 배송 과정으로 알아보는 엄청 쉬운 컴퓨터 네트워크”를 컴퓨터에서 일어나는 일로 가져와 설명해보도록 하겠습니다. 이전 글에서 저는 데이터가 4단계에 걸쳐
yozm.wishket.com
https://www.bmc.com/blogs/osi-model-7-layers/
OSI Model: The 7 Layers of Network Architecture
www.bmc.com
https://abangpa1ace.tistory.com/entry/Web-OSI-7%EA%B3%84%EC%B8%B5
[Web] OSI 7계층 vs TCP/IP 4계층
오늘 면접을 본 회사에서, 가장 기본적인 개념을 물어보았다. 웹페이지의 도메인을 엔터했을 때, 이것이 브라우저까지 보여지는 일련의 과정. 나는 브라우저 렌더링 절차에 관해서만 설명하였
abangpa1ace.tistory.com
[OSI 7계층, TCP/IP 4계층] 네트워크의 기본 계층 구조
1. OSI 7계층 이 모형을 이용하면 특정 네트워킹 시스템에서 일어나는 일을 계층을 활용해 시각적으로 쉽게 설명할 수 있다. 덕분에 네트워크 관리자는 어떤 문제의 원인이 어디에 있는지 범위를
ryusae.tistory.com
🗼 TCP / IP 4계층 모델 - 핵심 총정리
TCP / IP 개념 정리 (선수 지식) IP (인터넷 프로토콜) 지정한 IP 주소에 데이터의 조각들을 패킷(Packet)이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할. 조각들의 순서가 뒤바뀌거나 일부가
inpa.tistory.com
https://wooono.tistory.com/507
[Network] TCP/IP 와 TCP/IP 4계층이란?
패킷 통신이란? 데이터를 패킷이라고하는 작은 단위로 나누어 전송하는 방식을 의미합니다. IP (Internet Protocol) 란? IP는, 패킷 데이터들을 최대한 빨리 특정 목적지 주소로 보내는 프로토콜입니다
wooono.tistory.com
'CS' 카테고리의 다른 글
운영체제란? (0) | 2023.10.15 |
---|---|
라우팅 (0) | 2023.10.12 |
쿠키와 세션 (0) | 2023.09.28 |
HTTP와 HTTP 메서드 (0) | 2023.09.26 |
Nginx와 Apache의 차이? (0) | 2023.03.20 |