- TCP/IP 계층
- 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신 규약
- 1계층~4계층까지 각각 네트워크 엑세스, 인터넷, 전송, 응용으로 나뉩니다
- 네트워크 통신을 체계적으로 다루는 ISO에서 표준으로 지정한 모델
- 데이터를 주고받을 때 데이터 자체의 흐름을 각 구간별로 나눕니다
- 네트워크 패킷들은 사실 TCP/IP에 더 맞습니다
계층분류
7계층: 응용 | HTTP, SMTP, SSH |
6계층: 표현 | XDR |
5 계층: 세션 | NetBIOS |
4 계층: 전송 | TCP, UDP, SPX |
3 계층: 네트워크 | IP, ICMP, ARP |
2 계층: 데이터 링크 | Ethernet |
1 계층: 물리 | 전산, 동축케이블, CSMA/CD |
- 물리 계층 (Physical Layer):
- 역할: 물리적 매체와 전기 신호를 다룹니다. 하드웨어 단에서 송수신이 일어납니다
- 주요 활동: 데이터를 전기 신호로 변환, 전송 매체 관리. 예를 들어, 네트워크 케이블, 허브, 리피터, NIC 등의 장치가 이 계층에 속합니다
- 데이터 링크 계층 (Data Link Layer):
- 역할: 직접 연결된 두 노드 간의 신뢰성 있는 데이터 전송을 보장합니다
- 주요 활동: 프레임(데이터 패킷)의 전송, 오류 검출 및 수정, 흐름 제어, 노드 간 주소 지정 (MAC 주소) 등을 수행합니다. 스위치와 이더넷 카드가 이 계층에 속합니다
- 네트워크 계층 (Network Layer):
- 역할: 여러 네트워크 간 라우팅과 패킷 전달을 관리합니다
- 주요 활동: 라우팅, 논리 주소 지정 (IP 주소), 패킷 전달 및 중계, 서브넷 구분 등을 수행합니다. 라우터가 이 계층에 속합니다
- 전송 계층 (Transport Layer):
- 역할: 호스트 간 통신을 위한 종단 간 연결과 데이터 흐름 제어를 관리합니다
- 주요 활동: 포트 번호를 사용하여 프로세스 간 통신을 구분하고, 데이터의 신뢰성을 제공하기 위해 오류 복구와 흐름 제어를 수행합니다. TCP와 UDP가 이 계층에 속합니다
- 세션 계층 (Session Layer):
- 역할: 세션 관리, 대화 제어, 동기화, 체크포인트 및 복구를 제공합니다
- 주요 활동: 세션 설정, 유지, 종료, 데이터 동기화 및 복구 등을 처리합니다
- 표현 계층 (Presentation Layer):
- 역할: 데이터 형식 변환, 압축, 암호화 및 해독 등 데이터 표현 및 변환을 담당합니다
- 주요 활동: 데이터 인코딩, 데이터 형식 변환, 보안 기능을 수행하여 상위 계층에서 데이터를 처리하기 쉽도록 합니다
- 응용 계층 (Application Layer):
- 역할: 응용 프로그램과 사용자 간의 인터페이스를 제공합니다
- 주요 활동: 응용 프로그램과 네트워크 간의 통신을 지원하며, 예를 들어 이메일, 웹 브라우징, 파일 전송, 원격 접속 등 다양한 응용 프로그램을 포함합니다
- 네트워크를 계층으로 나누고 계층마다 역할을 정의합니다
- 계층의 수 차이 (7계층, 4계층)
- OSI는 역할 기반이고, TCP/IP는 프로토콜 기반입니다
- OSI는 통신 전반에 대한 표준입니다
- TCP/IP는 데이터 전송기술에 특화되었습니다
- OSI는 이론적인 참조를 위해서 TCP/IP는 구현을 위해서 만들어졌습니다. 실제로 네트워크 프로토콜을 일일히 캡쳐해서 보면 TCP/IP에 가깝습니다
- TCP/IP의 1계층이 OSI모델에선 1,2계층으로 나뉘어있습니다. (OSI모델에서 너무 세분화해서 나눴습니다)
- HTTP도 7계층이라 표현했지만 하나의 프로토콜 안에 응용, 표현, 세션이 다 들어가있습니다
- 하지만 우리나라의 웬만한 시험, 면접에선 TCP/IP보다 OSI 7계층에 대해 물어봅니다
- 네트워크 상에서 전달되는 모든 데이터의 통칭(단위)
- 데이터의 형식화된 하나의 블록단위
- 패킷 안에는 제어 정보와 사용자 데이터로 이루어집니다 (누가 누구에게 보내는지, 어떻게 어떤 데이터를, 뭘 요청하는지 등)
- 패킷은 여러 프로토콜의 조합입니다. (a.k.a 마트료시카 인형)
- 프로토콜이 달라지면 헤더의 내용이 달라집니다
(패킷의 이동)
- 기본형태
헤더페이로드풋터
풋터는 1가지 경우 빼고 사용 안 하고 헤더+페이로드만 사용합니다 (1가지 : Ethernet 프로토콜)
ex)
Ethernet | IPv4 | TCP | HTTP
- 위의 경우에 HTTP프로토콜을 페이로드로 해서 TCP라는 헤더를 붙입니다. 이러면 하나의 패킷이 됩니다
- 다시 1의 패킷을 페이로드로 해서 IPv4를 헤더를 붙입니다.
- 2의 패킷을 페이로드로해서 Ethernet 프로토콜을 헤더로 붙입니다. 패킷의 형태는 정해져있지 않고 계속 붙을 수 있습니다.
↙ | 데이터 | ||
↙ | TCP | 데이터 | |
↙ | IPv4 | TCP | 데이터 |
Ethernet | IPv4 | TCP | 데이터 |
캡슐화 과정에서 상위계층에서 하위계층으로 내려가면서 프로토콜을 붙입니다. 하위프로토콜 앞에 상위 프로토콜이 올 수 없습니다. (OSI 계층으로 나누면 TCP는 4계층 IPv4는 3계층 Ethernet은 2계층입니다)
페이로드에 프로토콜을 헤더에 붙이는 과정을 캡슐화라고 하는데 캡슐화는 누군가에게 패킷을 보낼 때 사용합니다. 반대로 패킷을 받을 때는 프로토콜을 하나씩 확인하면서 데이터를 확인하는 과정을 디캡슐화라고 합니다. 확인을 할 때는 반대로 Ethernet부터 시작해서 하나씩 확인하여 페이로드를 확인합니다.
패킷
각각의 계층에서 패킷을 부르는 용어가 다릅니다. 패킷은 인터넷에서 네트워크 망을 통하여 왔다갔다하는 네트워크 데이터를 통칭해서 부르는 말이지만 계층에 따라 용어가 다릅니다.
- 세그먼트 (4계층) - TCP+데이터 만 붙어있음
- 패킷 (3계층) - 통칭해서 말하는 패킷과는 다름. IPv4 + TCP + 데이터
- 프레임 (2계층) - Ethernet + IPv4 + TCP + 데이터
프로세스가 소켓에다가 입출력을 시도하면 그 때 메모리에 저장된 스트림형식의 길다란 데이터를 일정 단위로 Segment화 한 후에 패킷 형식으로 캡슐화하여 생성됩니다. MTU(Maximum Transmission Unit)가 보통 1500이라 2000바이트로 보내면 패킷이 2개가 보내지게 됩니다.
- 정해진 회선으로만 통신하는 네트워크 (전통적인 전화망)
- 사전에 연결 수립 작업
- 다른 호스트는 도중에 끼어들 수 있습니다
- 장점 : 전송률 보장
- 단점 : 회선 이용률 저하
'CS (Computer Science) > 네트워크' 카테고리의 다른 글
VLAN (Virtual Local Area Network) 개념 (1) | 2024.12.02 |
---|---|
허브와 스위치의 개념 및 CSMA/CD 원리 (1) | 2024.12.02 |
NIC(네트워크 인터페이스 카드)과 계층의 관계 (0) | 2024.12.01 |
OSI 2계층 데이터 링크 계층 (0) | 2024.12.01 |
네트워크와 인터넷: 개념, 구성요소, 그리고 동작 원리 (1) | 2024.12.01 |