。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

CS

2.1 네트워크 계층

quarrrter 2023. 11. 28. 14:36

OSI 7계층 : 네트워크를 개념적으로 나눔

TCP/IP 4계층 : 실제 인터넷 통신에 사용됨

 

2.1.1 OSI 7계층

국제 표준화 기구에서 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델

 

데이터 송수신 흐름

데이터를 송신할 때는 높은 계층에서 낮은 계층으로 전달,

데이터가 수신부의 가장 낮은 계층에 도달하면 수신부에서는 낮은 계층에서 높은 계층으로 데이터를 전달

 

데이터 캡슐화 :

  • 데이터를 송신할 때 각 계층에서 필요한 정보를 추가하여 데이터를 가공
  • 제어 정보를 담는 헤더(데이터 앞에 붙음), 트레일러(뒤에 붙음) 가 있음
  • 수신부의 같은 계층에서 데이터 호환성을 높이고, 오류의 영향을 최소화하기 위함

캡슐화를 거친 데이터를 수신부는 물리 계층에서 응용 계층까지 거치며 헤더와 트레일러를 분석하여 제거하는 역캡슐화 진행.

 

프로토콜: 통신규약, 데이터를 송수신하기 위해 정한 규칙

 

7계층(응용 계층)
HTTP, FTP 등의 프로토콜을 응용 프로그램의 UI를 통해 제공한다.
6계층(표현 계층)
데이터를 표준화된 형식으로 변경한다.
5계층(세션 계층)
세션의 유지및 해제 등 응용 프로그램 간 통신 제어와 동기화를 한다.
4계층(전송 계층)
신뢰성 있는 데이터를 전달하기 위한 계층으로, TCP, UDP 같은 전송 방식과 포트 번호등을 결정한다.
3계층(네트워크 계층)
데이터를 송신부에서 수신부까지 보내기 위한 최적 경로를 선택하는 라우팅을 수행한다. 이때 선택한 최적의 경로를 라우트라고 한다. 네트워크 계증의 장비로는 라우터가 있다.
2계층(데이터 링크 계층)
데이터 흐름을 관리하며 데이터의 오류 검출 및 복구 등을 수행한다. 브릿지, 스위치, 이더넷이 데이터 링크 계층의 장비에 해당한다. 
1계층(물리 계층)
데이터를 비트 단위로 변환한 후 장비를 사용해 전송하거나 전기 신호를 데이터로 복원한다. 리피터, 허브 등이 물리 계층에 해당하는 장비다.

 

2.1.2 TCP/IP 4계층

TCP/IP : 인터넷에서 데이터를 주고받기 위한 네트워크 프로토콜 // 대표: HTTP

TCP(Transmission Control Protocol, 전송 제어 프로토콜) : 데이터를 나누느 단위인 패킷의 전달 여부와 전송 순서를 보장하는 통신방식

IP(Internet Protocol, 인터넷 프로토콜) : 패킷을 빠르게 보내기 위한 통신 방식 

 

=> TCP/IP 에 맞춰 OSI  7계층을 단순화 한 것: TCP/IP 4계층

 

4계층(응용 계층) / 데이터: 메세지
사용자와 소프트웨어를 연결해 주는 계층으로 HTTP, HTTPS, DNS 등의 프로토콜이 작동한다.
3계층(전송 계층) / 데이터: 세그먼트
데이터의 신뢰성을 보장하며, 포트 번호로 데이터를 적절한 응용 프로그램에 전달하는 역할. TCP, UDP 등의 프로토콜이 속하며, 전송 계층의 데이터 단위를 세그먼트라고 한다.
2계층(인터넷 계층) / 데이터: 패킷
데이터를 최종 목적지까지 도달할 수 있게 하는 계층으로, IP가 대표적인 프로토콜이다. 
여기서 전송 계층으로부터 받은 데이터에 헤더를 붙여 캡슐화하는데 이를 패킷 또는 데이터그램이라고 한다.

*패킷: 네트워크에서 주고 받는 데이터를 작게 분할한 단위(데이터의 송신 주소, 수신 주소 등의 정보가 포함되어 목적지에 제대로 전달을 도와줌)
1계층(네트워크 인터페이스 계층) / 데이터: 프레임
네트워크 접근 계층이라고도 하며, 데이터를 전기 신호로 변환하고, MAC주소를 사용해 기기에 데이터를 전달한다. 이더넷, Wi-Fi 가 대표 프로토콜이다.

*MAC 주소: 48비트로 구성된 하드웨어 고유 주소

 

 

*IP 주소

IP: (인터넷 프로토콜(Internet Protocol) :인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약 

IP에서 컴퓨터 또는 네트워크 장치를 식별하기 위한 값. 

8자리 2진수 4개를 10진수로 표현한 것. 앞에 3개는 네트워크부(어떠한 네트워크에 속해있는지 구분), 나머지 1개 호스트부(네트워크에서 어떠한 기기인지 나타내는 값)

 

*서브넷마스크

서브넷: IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크
서브넷팅(subneting)
-> IP 주소 낭비를 방지하기 위해 원본 네트워크를 여러개의 서브넷으로 분리하는 과정

C 클래스는 기본적으로 앞의 24비트는 Network ID, 뒤의 8비트는 Host ID를 나타낸다. 
이때 서브넷 마스크를 이용하면 원본 네트워크를 여러 개의 네트워크로 분리할 수 있다.

 

네트워크부와 호스트부를 구분하려면 서브넷 마스크를 사용한다. 

서브넷 마스크는 IP주소와 동일한 구조인 8자리 2진수 4개로 구성되고 연속적인 1과 0으로 구성되어 있어서 IP주소와 and 연산을 하면 IP주소에서 네트워크부와 호스트부를 알아낼 수 있다.

 

서브넷마스킹을 해서 나눠지는 네트워크는 라우팅을 통해 통신 가능함.

'CS' 카테고리의 다른 글

2.3 HTTP / HTTPS  (0) 2023.12.01
2.2 TCP와 UDP  (1) 2023.11.29
1. 운영체제 질문  (0) 2023.11.25
1. 운영체제 정리  (1) 2023.11.25
캐시 메모리  (0) 2023.11.25