네트워크 (Network)
컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계
- 네트워크의 기능
- 어플리케이션 목적에 맞는 통신 방법 제공
- 신뢰할 수 있는 데이터 전송 방법 제공
- 네트워크 간의 최적의 통신 경로 결정
- 목적지로 데이터 전송
- 노드 사이의 데이터 전송
네트워크에서 통신 기능이 제대로 동작하기 위해서는 참여자들 사이에서 약속된 통신 방법이 있어야 함
이 방법이 바로 네트워크 프로토콜!
즉 네트워크 통신을 하기 위해서 통신에 참여하는 주체들이 따라야 하는 형식, 규약, 절차
이 네트워크의 모든 기능을 단 하나의 프로토콜로 구현할 수 없음
그렇기때문에 모듈화를 통해 기능별로 구현을 해야함
각 기능들이 계층별로 동작하는 것 같아 보여 계층 구조 모델로 모델링을 한 것이 OSI 7계층!
OSI 7 layer와 TCP/IP 는 통신 절차를 표현한 모델이다. (데이터 전달 과정)
OSI 7 Layer를 간소화 한 모델이 TCP/IP 모델임.
인터넷은 TCP/IP 모델에 더 적합함
OSI (Open System Interconnection) 7계층 : 범용적인 네트워크 구조
컴퓨터 간의 통일된 소통 규격! (네트워크 표준 모델)
이 안에 TCP/IP 및 네트워크 통신에 사용되는 전반적인 프로토콜이 모두 포함되어 있음
1. 물리 계층 (bit) : 실제로 장치들을 연결하기 위한 물리적인 사항을 정의
2. 데이터 계층 (Frame) : 직접 접속되어 있는 노드와 노드 사이의 데이터 전달
3. 네트워크 계층 (packet) : 네트워크 통신 경로 선택 , IP 주소로 패킷을 보내줌
4. 전송 계층 (segment) : 네트워크의 통신 관리 (최종 프로세스로의 전달, 포트 주소)
5. 세션 계층 (message) : 통신 시작/종료 순서 (통신하는 프로세스 사이의 대화 제어 및 동기화)
6. 표현 계층 (message) : 데이터 표현 방법 (인코딩 및 데이터의 형식 차이를 조절)
7. 응용 계층 (message): 사용자에게 서비스 제공
TCP / IP (Transmission Control Protocol) / (Internet Protocol)
컴퓨터는 구조는 3단계로 이루어짐 -> (1) H/W (2) SW kernel mode (3) SW user mode
이 컴퓨터 구조 위에서 인터넷은 TCP/IP 모델로 설명 할 수 있음
전송 계층은 운영체제에서 구현이 됨
TCP는 패킷들을 재조립하고 손실된 패킷이 있다면 재요청함
(패킷 : 네트워크에서 사용하는 작게 분할된 데이터 조각으로 네트워크에서 전송되는 데이터 기본 단위)
인터넷 데이터 통신은 TCP/IP 두방식을 조합하여 진행됨
TCP는 신뢰성 있고 무결성을 보장하는 연결을 통해 데이터를 안전하게 전송하는 프로토콜
IP는 패킷들이 가장 효율적인 방법으로 최종 목적지로 갈 수 있도록 해주는 프로토콜
TCP 계층과 응용 계층은 socket이라는 파일로 연결됨
소켓은 프로세스가 열고 닫고 관리함
- 계층 별 식별자
- Access 계층의 식별자는 MAC 이고 이는 NIC (Lan 카드)를 식별함
- 네트워크 계층의 식별자는 IP 주소이며 Host를 식별함
Host는 인터넷에 연결된 컴퓨터이고 컴퓨터는 n개의 IP주소를 가질 수 있음 - 전송 계층의 식별자는 Port 번호이고 프로세스, 서비스를 식별함
- Network : 관계
- Networking : 상호 작용
SW는 user mode와 kernel mode로 나뉨
User mode와 Kernel mode 예시
Kernel : (TCP/IP) 프로토콜이 구현된 소프트웨어
User mode : 크롬
driver : H/W를 제어하기 위한 프로그램
- 인터넷
인터넷 통신의 대부분은 패킷 통신으로 이루어짐
- TCP/IP 계층
TCP/IP : 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 프로토콜의 집합
패킷 통신 규약중 하나인 TCP와 IP는 인터넷 프로토콜을 아울러 지칭하는 용어 (IP < TCP)
TCP/IP 계층에는 Application Layer + Transport Layer + Internet Layer + Network Access Layer가 있음
- TCP/IP 흐름
1. 웹브라우저에 url 입력 = url을 가진 웹서버에 http request 메세지를 보내는 것
2. 메세지를 인터넷을 통해 웹서버로 전달하기 위해 패킷을 만들어야함
패킷에는 각 계층에 필요한 정보들이 담겨야함
- 예시 : TCP/IP 연결을하여 파일을 다운로드하는 상황
https://www.youtube.com/watch?v=TBUaVzNkxFg
'네트워크' 카테고리의 다른 글
3-1. 프로토콜 표준 스펙에서 정의한 소켓, 포트, TCP 연결 (0) | 2023.07.19 |
---|---|
2. 프로토콜과 OSI 7 layer (0) | 2023.07.16 |
CORS (Cross Origin Resource Sharing) (0) | 2023.03.04 |
CSRF (Cross Site Request Forgery)란? (0) | 2023.03.04 |
HTTP 상태코드 (0) | 2023.03.04 |