Protocol?
네트워크라는 것은 통신으로 이루어진다. 통신시에 서로 약속한 포맷에 맞추어 통신을 한다.
이러한 약속을 프로토콜이라고 부른다.
계층 구조
컴퓨터와 컴퓨터가 서로 통신하기 위해서는 단 한개의 Protocol로만 이루어질 수 없다.
1. 0101 인 숫자를 보낼텐데 이건 어떤 패턴인가요?
2. IP로 목적지를 찾으면 되나요?
3. 실행할 때 어떤 앱으로 실행해야하나요? (ppt, html etc..)
등등...
위와 같이 약속하고 규정해야할게 많으며 프로토콜은 순차적으로 이루어져야 한다.
보내는 컴퓨터: 데이터를 수정해서 바꾸고 보낸다
받는 컴퓨터: 순차적으로 데이터를 바꿔서 데이터를 처리한다
OSI 7계층 모델
각 레이어에 맞게 프로토콜이 세분화되어 구현되어 있으며 각 레이어의 프로토콜은 하위 레이어의 프로토콜이 제공하는 기능을 사용하여 동작한다.
1계층 - 물리 계층 (Physical Layer)
최하위 계층이다. 하드웨어같은 물리적인 매체를 통해 bits 단위로 데이터를 전송한다. 0과 1로 이루어져 있는 전기적 신호를 데이터로 변환하여 구리나 광섬유 또는 무선 통신 매체를 통해 전송해준다.
실제 장치를 연결하기 위한 전기적 및 물리적 세부사항을 정의한 계층이다.
인터넷 레이블, 라우터 스위치 등의 전기적 신호가 물리적인 장치에 의해 왔다갔다(통신)하는 계층이다.
1계층에서는 단지 데이터를 전달할 뿐이다. 어떤 데이터를 보내고 받는지, 어떤 에러가 있는지 등은 신경쓰지 않는다.
예> 케이블 종류, 무선 주파수 링크, 전압, 물리요건 등...
2계층 - 데이터링크 계층 (Link Layer)
장비의 고유 주소인 MAC주소를 이용하여 노드간 데이터를 전송하는 계층이다. IP 주소를 가지고 MAC 주소를 찾거나(ARP) MAC 주소를 가지고 IP주소를 찾아준다
2계층은 1계층을 이용한다. 간단히 말해, 장치 간 신호를 전달하는 물리 계층을 이용해 네트워크 상의 주변 장치들 간의 데이터를 전송하는 것이다. (위의 MAC 주소를 이용)
전송되는 단위를 프레임이라고 부른다.
하는 역할
- 주소 할당 : 물리계층으로부터 받은 신호들이 네트워크 상의 장치에 올바르게 안착시킴
- 오류 감지 : 신호가 전달되는 동안 오류가 포함되는지 감지 오류가 있다면 해당 데이터 폐기
대표적 프로토콜
ARP, RARP 등
대표적 장비
브리지 스위치 등
3계층 - 네트워크 계층 (Network Layer)
실제 네트워크 간 라우팅을 담당하는 계층이다. IP주소등을 통해 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 역할을 하며 라우터를 통해 경로를 선택하여 경로에 따라 패킷을 전달한다 ( = 데이터 패킷의 경로 설정과 주소 지정 및 라우팅 담당)
하는 역할
라우팅, 흐름 제어, 세그멘테이션, 오류 제어, 인터네트워킹 등을 수행함
@라우팅 - 데이터 패킷이 출발지에서 목적지까지 최적의 경로를 선택하여 전달되는 과정이다.
@세그멘테이션 - 큰 데이터 블록을 네트워크에서 전송할 수 있는 작은 패킷으로 나누는 과정이다.
@인터네트워킹 - 서로 다른 네트워크 간의 통신을 가능하게 하는 기능이다.
대표적인 프로토콜
- IP (Internet Protocol): 데이터 패킷의 주소 지정 및 라우팅을 담당한다. IPv4와 IPv6라는 두 가지 버전이 있다.
- ICMP (Internet Control Message Protocol): 오류 메시지 및 진단 정보를 전송하는 데 사용된다. 예를 들어, ping 명령어가 ICMP를 사용하여 호스트의 응답성을 확인한다.
- ARP (Address Resolution Protocol): IP 주소를 물리적 주소(MAC 주소)로 변환하는 데 사용된다. 이는 로컬 네트워크에서 중요한 역할을 한다.
4계층 - 전송 계층 (Transport Layer)
데이터 전송을 담당하는 계층으로 포트번호를 기반으로 송신자와 수신자 간의 신뢰성있고 효율적인 데이터 전송을 보장하는 역할이다.
즉, 통신을 활성화하기 위한 계층이며 주로 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol) 을 사용한다. 포트를 열어서 응용프로그램들이 전송할 수 있게 한다.
4계층까지가 물리적인 계층에 속한다 .
상위 계층(5,6,7)이 데이터 전달의 유효성이나 효율성을 신경쓰지 않게 도와준다. => 상위계층(5,6,7)은 TCP를 통해 데이터를 안전하게 전달 받게 된다. 이제 받은 데이터를 사용자에게 시각적으로 표현한다.
5계층 - 세션 계층 (Session Layer)
애플리케이션간 통신을 관리하고 세션을 설정, 유지 , 및 종료하는 역할을 한다.
동기화 기능을 사용해 데이터 전송의 무결성을 보장하며 전이중, 반이중, 단방향 통신 방식의 설정을 통해 효율적인 데이터 전송을 지원한다.
하는 역할
- 세션관리 - 클라이언트와 서버 간의 통신 세션을 설정하고 관리한다. 통신 세션이란, 특정 애플리케이션 간의 데이터 전송을 위한 연결을 의미한다
- 세션 연결 및 해제 - 세션 시작 시 연결을 설정하고, 데이터 전송이 완료되면 세션을 종료한다. 이 과정에서 세션의 상태를 관리하여, 필요할 경우 재연결을 쉽게 할 수 있다.
- 동기화 기능 - 데이터 전송 중 오류가 발생했을 경우, 세션 계층은 마지막으로 성공적으로 전송된 데이터 지점(동기점)부터 다시 데이터를 전송할 수 있도록 지원한다.
통신방식
1. 전이중 방식 (Full Duplex)
양방향 통신 방식으로, 송신선과 수신선이 각각 존재하여 양쪽이 동시에 데이터를 전송할 수 있는 방식이다.
예> 현대의 고속 이더넷, 전화 통화 등이 있다. 두 사람이 동시에 이야기할 수 있는 전화 통화가 전이중 방식의 대표적인 사례
2. 반이중 방식 (Half Duplex)
양방향 통신 방식이지만, 하나의 회선을 통해 송신과 수신을 번갈아가면서 수행하는 방식이다. 한 번에 한 방향으로만 전송할 수 있다.
예> 무전기나 walkie-talkie에서 사용된다. 사용자가 말을 하고 있을 때, 상대방은 듣기만 할 수 있다.
3. 단방향 방식 (Simplex)
한쪽에서만 데이터를 전송할 수 있는 방식이다. 즉, 송신 측만 존재하고 수신 측은 데이터 전송을 받을 수 없다.
예> TV 방송이나 라디오 방송이 단방향 통신의 대표적인 사례이다. 방송국에서 송신된 신호는 수신자에게만 전달되며, 수신자는 송신 측에 데이터를 전송할 수 없다.
대표적 프로토콜
- SSH (Secure Shell): 원격 로그인 및 명령 실행을 위한 프로토콜로, 보안성이 높고 세션 관리 기능을 제공한다.
- TLS (Transport Layer Security): 데이터 통신의 보안을 위한 프로토콜로, 세션을 설정하고 암호화된 연결을 제공한다.
6계층 - 프레젠테이션 계층(표현 계층 = Presentation Layer)
애플리케이션간의 통신에서 데이터 표현의 차이를 해결하기 위해 서로 다른 형식으로 변환 해주거나 공통 형식을 제공하는 등 데이터의 표현방식을 결정해주는 계층이다.
또한, 데이터의 효율적인 전송을 위한 데이터 압축 및 데이터 보안을 위한 데이터 암호화와 복호화 기능을 제공한다.
왜? 6계층에서 데이터를 변환하는가?
통신하는 두 기기가 특성이 같다는 보장이 없기 때문이다. 기기의 종류에 관계없이 이해할 수 있는 공통 표준 형식으로 데이터를 변환하여 수신자에게 보내고 수신자는 자신에게 맞는 형태로 해당 데이터를 다시 변환해주는 것이다.
예> EBCDIC(확장 이진화 십진법 교환 부호)로 인코딩된 문서 파일을 ASCII로 인코딩 된 파일로 바꿔 주는 것, 해당 데이터가 TEXT인지 그림인지 GIF인지 JPG인지 구분해주는 역할
7계층 - 애플리케이션 계층(응용 계층 = Application Layer)
최상위 계층이며 최종 사용자에게 가장 가까운 계층이다. 사용자와 소프트웨어 애플리케이션 간의 상호작용을 제공한다.
사용자가 응용 프로그램을 통해 네트워크 서비스에 접근할 수 있도록 사용자 인터페이스를 제공한다.
실제 우리가 사용하는 앱들과 연결해주는 프로토콜이 존재한다.
예>
메일이면 SMTP, 파일이면 FTP, 웹이면 HTTP, DNS 등이 있다.
웹 브라우저 : 크롬, 파이어폭스 / 응용프로그램 : Skype, Outlook, Office 등
https://velog.io/@elile-e/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B3%84%EC%B8%B5%EA%B5%AC%EC%A1%B0
네트워크 - 계층구조
사실 클라 개발자다 보니네트워크 자체에 대한 학습을 넓게 해본 적은 없었다. (CS 자체도 마찬가지이니)관련해서 내용자체를 넓게 학습해보려 한다.일단 네트워크라는 것은 통신으로 이루어집
velog.io
[네트워크] | 네트워크 계층구조(OSI 7계층 & TCP/IP 4계층)
컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신체계를 말하는 네트워크는 아래와 같은 여러가지 기능들을 제공한다. 애플리케이션 목
velog.io
[네트워크] OSI 7Layer / 7계층 개념 및 역할, 구조까지 한번에 알아보기
목차 FullMoon System fullmoon-system.com 정보처리기사 실기 C언어 코딩 기출변형 문제 #1코딩 문제의 경우 같은 문제를 여러 번 풀다 보면 답이 머리에 기억되어 새로운 문제가 필요하게 되는 순간이
onecoin-life.com
공부용으로 작성한 글이며 문제시 비공개처리하도록 하겠습니다. 피드백 환영합니다