일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- array
- for문
- 코딩
- 배열
- VAR
- 국비지원
- Let
- 개발자
- useState
- 화살표함수
- likelion
- JavaScript
- 비동기
- 멋사
- react
- 네트워크
- SS
- 멋쟁이사자처럼
- frontend
- 프론트엔드
- 타입스크립트
- 이벤트루프
- 웹개발
- 메소드체이닝
- 리액트
- CSS
- 반복문
- 자바스크립트
- 내일배움카드
- 제주코딩베이스캠프
- Today
- Total
Ch.Covelope
OSI 7 계층(osi 7 layer) 본문
OSI 7 Layer란
OSI 7 Layer는 네트워크 프로토콜과 통신을 표준화하기 위해 개발된 ISO(국제 표준화 기구)의 OSI(Open Systems Interconnection) 모델이다. 이 모델은 7개의 계층으로 구성되어 있으며, 각 계층이 서로 상호 작용하여 전체 네트워크 통신 프로세스를 지원한다.
1.응용 계층 (Application Layer):
이 계층은 사용자와 직접적으로 상호작용하는 소프트웨어 애플리케이션을 제공.
이메일, 파일 전송, 웹 브라우저 등과 같은 애플리케이션을 제공한다.
사용자 인터페이스 및 응용 프로그램을 처리
이메일, 웹 브라우저, FTP 클라이언트 등 다양한 프로토콜이 포함
2.표현 계층 (Presentation Layer):
이 계층은 데이터의 표현 방법을 정의. 데이터를 표시하고 변환하며 암호화, 복호화 등의 기능을 수행한다.
사용자 시스템과 응용 프로그램 사이에서 데이터를 변환하고 번역
MIME 인코딩, SSL/TLS 등이 포함
3.세션 계층 (Session Layer):
이 계층은 데이터 통신의 세션을 생성하고 관리. 세션을 만들고 유지하며 끝내는 기능을 제공한다.
통신 세션을 구성하고, 연결 설정, 유지 및 종료에 관한 기능을 담당
4.전송 계층 (Transport Layer):
이 계층은 데이터의 신뢰성과 흐름 제어를 담당.클라이언트 간의 연결 제어를 담당 이 계층에서는 연결 지향 프로토콜(TCP)과 비연결 프로토콜(UDP)과 같은 프로토콜을 사용한다.
데이터를 세그먼트로 분할하여 상위 계층으로부터 데이터를 전송하고, 하위 계층으로부터 데이터를 수신.
TCP 및 UDP와 같은 프로토콜이 포함
5.네트워크 계층 (Network Layer):
이 계층은 다양한 노드를 통해 패킷을 전송한다. 이 계층은 라우팅 및 패킷 흐름 제어와 같은 기능을 제공.
IP를 기반으로 논리적 주소를 통해 데이터를 전달한다.
라우터, 레이어 3 스위치 등이 포함
6. 데이터 링크 계층 (Data Link Layer):
이 계층은 물리 계층에서 전송된 데이터를 프레임으로 분할한다 그리고 오류 검사와 흐름 제어와 같은 기능을 수행한다.
프레임으로 데이터를 구성하고, 맥(MAC) 주소를 사용하여 물리적 인터페이스에서 데이터를 전송.
스위치, 브릿지 등의 장비들이 이 계층에 포함
7. 물리 계층 (Physical Layer):
이 계층은 데이터를 전송하기 위한 물리적 매체를 제공한다.
데이터를 비트 스트림으로 변환하여 전송하기 위한 기초적인 기능을 담당한다.
케이블, 허브, 리피터, 모뎀 등이 여기에 포함
상위계층(1번부터)에서 데이터와 계층별 헤더를 붙여서 하위 계층으로 전달하고 마지막 물리 단계에서 비트 스트림 (직렬화) 으로 만들어서 전송하게 된다.
이 과정에서 위에서 아래로 전달되는 데이터들은 인캡슐레이션 캡슐화 시켜서 하위로 전달한다.
반대로 수신하는 쪽에서는 받은 데이터를 아래서 위쪽으로 디캡슙레이션 작업을 거친다.
osi7 계층은 데이터에 비해 오버헤드(전송을 위한 부가적인 비트)가 크기 때문에 현재는 참조 모델로 필요한 계층만 가져와서 사용하기도 한다.
최근 OSP 7 Layer의 변형
OSI 7 Layer 모델은 이론적이고, 실제 현실에서는 완벽하게 일치하지 않는다. 대표적인 예로 인터넷 프로토콜 스위트인 TCP/IP 모델이 있다.
TCP/IP 모델은 전송 계층, 인터넷 계층, 네트워크 액세스 계층 및 응용 계층으로 구성되어 있다.
실제로 TCP/IP를 기반으로 하는 인터넷은 OSI 7 Layer 모델보다 더 많이 사용되고 있다. 따라서 현대의 네트워크 엔지니어들은 TCP/IP 모델을 중점적으로 공부하고 이를 기반으로 네트워크 구축을 진행해야 한다. OSI 7 Layer 모델은 네트워킹의 기본 원리를 이해하기 위한 학습 도구로 보면 될 듯하다.
프로토콜 스위트(protocol suite)
네트워크에서 정보를 주고받는 데 필요한 프로토콜들의 집합을 말한다.
프로토콜 스위트는 OSI 모델과 TCP/IP 모델에서 모든 계층에 해당하는 프로토콜들의 집합으로 구성된다. 각 계층은 하위 계층의 프로토콜에 의존하고, 상위 계층의 프로토콜을 사용. 따라서 각 계층마다 특정한 프로토콜이 사용되며, 이들이 상호작용함으로써 정보를 주고받는다. 예를 들어, TCP/IP 프로토콜 스위트에서는 아래와 같은 프로토콜들이 사용된다.
- 물리/링크 계층: Ethernet, Wi-Fi, Bluetooth, Token Ring 등
- 네트워크 계층: IP(Internet Protocol), ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol) 등
- 전송 계층: TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 등
- 응용 계층: SMTP(Simple Mail Transport Protocol), FTP(File Transfer Protocol), HTTP(Hypertext Transfer Protocol) 등
프로토콜 스위트는 네트워크에서 정보를 주고받으며 원활한 통신을 위해 필요한 프로토콜들을 모아둔 것으로, 다양한 OSI 모델과 TCP/IP 모델에서 다양한 프로토콜들이 사용된다
비트 스트림
비트 스트림(Bit Stream)은 0과 1의 이진수로 이루어진 일련의 데이터(연속적인 데이터 흐름)를 말한다.
이진수는 컴퓨터에서 모든 데이터를 표현하는 기본적인 단위이며, 비트(bit)는 0 또는 1의 값을 가진다. 비트 스트림은 컴퓨터 네트워크에서 데이터를 전송하거나 저장할 때 사용. 이진수로 이루어져 있기 때문에 기계어로 번역될 수 있고, 빠른 속도로 처리할 수 있다.
예를 들어, 비디오나 오디오 데이터를 디지털화하여 저장하거나 전송할 때, 비트 스트림으로 변환하여 처리할 수 있다.
비트 스트림은 다양한 종류의 정보를 전송할 수 있으며, 일부는 동영상, 이미지, 오디오, 텍스트 등의 미디어 콘텐츠로 변환될 수 있다.
MAC 주소
MAC 주소는 네트워크 인터페이스 카드의 고유 식별자이다.
모든 네트워크 인터페이스 카드에는 고유한 MAC 주소가 할당된다. MAC 주소는 48비트(6바이트)의 이진수로 표현되며, 보통 16진수로 표현된다.
MAC 주소는 데이터 링크 계층에서 데이터를 전송할 때 목적지와 출발지를 식별하기 위해 사용된다. 데이터 프레임의 목적지 MAC 주소 필드에는 데이터를 받을 대상의 MAC 주소가 쓰이며, 출발지 MAC 주소 필드에는 데이터를 보내는 송신 측의 MAC 주소가 쓰인다. 이를 통해 네트워크에서 데이터가 올바르게 전송되고 목적지에 도착하도록 보장된다.
데이터 프레임
데이터 프레임은 데이터 링크 계층에서 전송되는 데이터의 단위이다. 일반적으로 이더넷 프로토콜을 사용하는 네트워크에서는 데이터 프레임이 사용된다. 데이터 프레임은 몇 가지 필드로 구성되어 있다.
- 프리앰블: 데이터 프레임이 전송될 준비를 마치기 위해 송신 측에서 수신 측으로 보내는 패턴.
- 목적지 MAC 주소: 데이터가 전송될 대상의 MAC 주소.
- 출발지 MAC 주소: 데이터를 전송하는 송신 측의 MAC 주소.
- 유형: 전송되는 데이터의 종류를 나타낸다.
- 데이터: 전송되는 실제 데이터.
- CRC: 전송된 데이터에 대한 오류 검사 코드.
프레임은 헤더(시작 부분),
페이로드(데이터 부분),
트레일러(끝 부분)로 구성되어 있다.
헤더와 트레일러에는 에러 검출, 수신처 맥(MAC) 주소 및 다른 제어 정보가 포함되어 있다. 프레임은 데이터 링크 계층에서 사용되는 오류 수정 기능과 함께 하위 계층인 물리 계층을 통해 전송된다.
이더넷 프로토콜
이더넷(Ethernet) 프로토콜은 컴퓨터 네트워크에서 가장 많이 사용되는 유선 LAN(Local Area Network) 프로토콜 중 하나이다.
이더넷은 1970년대 말에 처음 개발되어 1980년대에는 표준화되어 LAN 분야에서 큰 발전을 이루었다.
이더넷 프로토콜은 데이터 링크 계층에서 작동하며, 물리적으로 이더넷 케이블을 통해 전기 신호를 이용하여 데이터를 전송. 이더넷은 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 방식을 사용하여 충돌을 감지하고 대처할 수 있도록 설계되어 있다.
이더넷 프레임은 프로토콜의 기본 단위이며, 목적지 MAC 주소, 출발지 MAC 주소, 타입 필드, 데이터와 같은 정보를 포함한다. 또한 이더넷 프로토콜은 다양한 전송 속도를 지원하며, 현재는 10Mbps, 100Mbps, 1Gbps, 10Gbps, 40Gbps, 100Gbps와 같은 다양한 속도의 이더넷 케이블이 존재한다.
이더넷 프로토콜은 이제까지 가장 많이 사용되는 LAN 프로토콜 중 하나이며, 컴퓨터 네트워크의 발전과 함께 계속해서 발전해나가고 있다.
TCP
TCP는 신뢰성 있는 데이터 전송을 위해 3-way handshake 방식으로 연결을 설정하고, 데이터를 세그먼트 단위로 분할하여 전송한다. 세그먼트 전송 후 수신 측에서 ACK(ACKnowledgement) 메시지를 보내 확인을 한 후, 이에 대한 응답 메시지가 오지 않을 경우 재전송을 수행. 이러한 방식으로 신뢰성 있는 데이터 전송을 보장하며, 대용량의 데이터를 안정적으로 전송할 수 있다.
UDP
반면에 UDP는 데이터를 세그먼트로 나누지 않고 그대로 전송한다. 따라서 TCP와는 달리 데이터 전송을 보장하지 않지만, 대신 전송 속도가 빠르고 처리 속도가 빠르기 때문에, 실시간 스트리밍 서비스나 DNS(Domain Name System) 등에서 사용된다.
TCP 3-way handshake
3-way handshake는 다음과 같은 세 단계로 이루어진다.
- SYN: 클라이언트는 서버에게 SYN(Synchronize) 패킷을 보낸다. 이 패킷은 클라이언트가 서버와 연결하고자 한다는 것을 알리는 것. 이 패킷에는 랜덤 한 숫자인 ISN(Initial Sequence Number)이 포함되어 있다.
- SYN-ACK: 서버는 SYN 패킷을 받으면, 클라이언트에게 ACK(Acknowledgment)와 SYN 패킷을 보낸다. 이 패킷에는 클라이언트의 ISN 값에 1을 더한 값인 서버의 ISN 값도 포함되어 있다.
- ACK: 클라이언트는 SYN-ACK 패킷을 받으면, 서버에게 ACK 패킷을 보낸다. 이 패킷에는 서버의 ISN 값에 1을 더한 값이 포함되어 있다.
이렇게 3-way handshake가 완료되면, 클라이언트와 서버는 연결이 설정된 상태가 된다. 이후에는 데이터 전송이 가능해진다. 이 과정에서 SYN 패킷이 유실되거나 잘못된 순서로 전송되는 경우, 서버는 SYN-ACK 패킷을 보내지 않으며, 클라이언트는 타임아웃이 발생한다. 이 경우에는 클라이언트가 다시 SYN 패킷을 보내서 연결을 재시도해야 한다.
IP(Internet Protocol)
IP는 네트워크 계층에서 사용되는 프로토콜로, 데이터를 패킷 단위로 전송하며, 출발지 및 목적지의 주소 정보를 처리한다. 패킷이 손실되거나 중복 전송되더라도 데이터를 최종 목적지까지 전달한다.
DNS(Domain Name System)
DNS는 인터넷에서 도메인 이름을 IP 주소로 변환하는 시스템. 사용자에게 친숙한 도메인 이름을 사용하여 웹 사이트에 접근할 수 있게 해준다. 응용 계층에서 주로 사용.
Ch.Covelope
Chrys_Code_Develope. https://velog.io/@goggg8822
covelope.tistory.com
'Networks' 카테고리의 다른 글
Http / Https 란? (http 와 https 차이) (0) | 2023.04.24 |
---|