Network란?
컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계
Network의 기능
- 어플리케이션 목적에 맞는 통신 방법 제공
- 신뢰할 수 있는 데이터 전송 방법 제공
- 네트워크 간의 최적의 통신 경로 결정
- 목적지로 데이터 전송
- 노드 사이의 데이터 전송
이 많은 기능들을 수행하기엔 하나의 protocol만으로 가능한가?? 불가능
Network Protocol이란?
네트워크 통신을 하기 위해서 통신에 참여하는 주체들이 따라야 하는 형식, 절차, 규약
따라서 이를 모듈화 해야하는데..
각 기능들이 각 계층별로 나누어진 기능들 인 것같은 느낌이 듬 -> 계층 구조(layered architecture)
-> OSI model(7 layer) :범용적인 네트워크 구조
-> TCP/IP stack(4 layer) : 인터넷에 특화된 네트워크 구조
L7/Application layer : 어플리케이션 목적에 맞는 통신 방법 제공 (HTTP,DNS,SMTP,FTP)
L6/Presentation layer : 어플리케이션 간의 통신에서 메시지 포맷 관리
L5/Session layer : 어플리케이션 간의 통신에서 세션을 관리(RPC:remote procedure call)
L4/Transport layer :
- 어플리케이션 간의 통신 담당
- 목적지 어플리케이션으로 데이터 전송
- 안정적이고 신뢰할 수 있는 데이터 전송 보장(TCP)
- 필수 기능만 제공(UDP)
L3/Network layer :
- 호스트 간의 통신 담당(IP)
- 목적지 호스트로 데이터 전송
- 네트워크 간의 최적의 경로 결정
L2/Data link layer : 직접 연결된 노드 간의 통신 담당, MAC 주소 기반 통신(ARP:IP주소를 MAC 주소로 변환해주는 프로토콜)
L1/Physical layer : bit단위로 데이터 전송(물리적인 케이블 등)
예제) 유튜브 댓글을 쓸 경우, 어떻게 유튜브 서버까지 전송이 되는가?
Application layer 부터 data link layer 까지의 정보들을 모아서 최종적으로 Physical layer로 내려준다.
Physical layer는 bits단위로 맨 처음 라우터로 전송하게 되고 그 라우터의 Physical layer에서는
비트 단위로 전송받은 데이터들을 data link layer로 올려주게 되고, data link layer에서 Header 와 tailer 를 확인하여
처리한다. 문제가 없으면 떼어낸 뒤 남아있는 데이터를 네트워크 레이어로 올려준다.
네트워크 레이어에서는 전송받은 데이터가 목적지 주소로 가기 위해서 또 어디로 가야하는지
판단하기 위해 Network layer의 Header에 있는 IP주소를 확인 후 다음 노드로 데이터를 Data link layer로 내려준다.
이제 이 data link layer는 두 노드 사이의 통신을 담당하게 되고, 다시 필요한 정보들을 header,tailer 에 담아
다시 Physical layer로 내려준다. Physical layer에서는 다음 라우터로 데이터를 전송하게 된다.
다음 라우터의 Physical layer에서는 비트 단위의 row 데이터를 그림과 같은 데이터 형태로 만들어
Data link layer로 올려주게 된다. 다시 Header와 Tailer 에 있는 정보를 바탕으로 문제가 없는지를 확인하고
떼어낸 후 Network layer로 올려준다. 목적지의 IP주소를 확인 한 후, 전체 데이터를 다시 Data link layer로 내려준다.
호스트의 physical layer에서 전달받은 비트 단위의 로우 데이터를 위 형식의 데이터로 만든다음. data link layer로 올려준다. Network layer에서 header 확인 후 목적지 IP와 같으니, Header를 떼어낸 후 Transport layer로 올려준다.
Transport layer에서는 어플리케이션 간의 데이터를 전달하기 때문에 어떤 어플리케이션에 데이터를 전달하면 되는지를
판단을 하고, Header를 떼어낸 후 Session layer로 올려준다.
'Network' 카테고리의 다른 글
Network Protocol (1) | 2024.10.21 |
---|