OSI 7계층 정리
Layer | name | 역할 | PDU ,Process Data Unit | 주요 장비 | 주요 프로토콜 |
7 | application | APP 목적에 맞는 통신 방법 제공 | HTTP, FTP, SMTP | ||
6 | presentation | 파일 인코딩/디코딩 등으로 표준 방식으로 변환(메시지 포맷 관 | JPG, MPEG, SMB, AFP | ||
5 | session | 통신의 세션 구성, 포트 기반 연결 | SSH, TLS | ||
4 | transport | 통신의 제어와 에러 관리 | Segment, Datagram | 게이트웨이, L4 스위치 | TCP, UDP, ARP, RTP |
3 | network | 라우팅 : 출발지 네트워크에서 목적지 네트워크까지 데이터를 전달 | Packet | 라우터, L3 스위치 | IP, ICMP |
2 | data link | 네트워크 내부 기기간의 데이터 전송 | Frame | 브릿지, 스위치 | 이더넷, MAC |
1 | physical | 포장된 비트 형태의 데이터를 전기적 신호로 변환하여 전송 | 리피터, 케이블 허브 | Cable, FIber |
<OSI 1, 2 Layer>
1 Layer - 물리 계층
7계층부터 1계층까지 캡슐화된 비트 형태의 데이터인 Frame을 전기 신호로 변환하여 케이블 또는 무선을 통해 다른 기기와 주고 받는 역할을 하는 계층
주요 장비
랜카드 | 리피터 | 허브(더미 허브, 리피터 허브) | |
역할 | 비트를 전기신호로, 전기신호를 비트로 변환 | 두 기기 사이의 전기 신호를 정형(일그러진 신호를 복원)하고 증폭하는 기능을 하는 장비 | 가까운 거리에 있는 여러 장비들을 케이블을 사용하여 연결하여 네트워크를 만들어주는 장치(리피터 + 멀티포트) |
특징 | 컴퓨터에 인터넷 선을 연결하는 곳의 부품 | 먼 거리까지 데이터를 전달 가능(전기 신호는 멀리 갈수록 신호의 세기가 약해지거나 변형됨) | - 전기 신호를 정형하고 증폭하는 리피터 기능 지원 - 중심 축에서 컴퓨터 여러 대와 통신하며 네트워크 생성(멀티포트) |
한계점 | 허브와 같은 다른 네트워크 장비가 리피터의 기능 지원해서 많이 사용되진 않음 | IP를 할당하는 기능이 없고, 특정 포트로만 데이터를 전송해야 하는 경우에도 모든 포트에 데이터 전송(과도한 트래픽, 충돌) |
🔎 L1 - 물리 계층 정리
컴퓨터의 디지털 신호를 전선으로 전달하기 위해 아날로그 신호로 바꾸어 주는 역할을 한다. 여기서 사용되는 네트워크 장비가 랜카드이다. 랜카드는 디지털 신호를 아날로그 신호로 변환하고, 케이블을 통해 신호를 전달한다. 기본적으로는 1:1 통신을 지원하지만, 더미 허브를 통해 정확히 신호를 어디로 전달할 지는 몰라도, 브로드캐스팅 방식으로 연결된 모든 컴퓨터에 신호를 전달하는 것이 가능하다.
2 Layer - 데이터 링크 계층
물리적으로 연결되어 네트워크 안에 있는 두 장비가 서로 Frame을 잘 주고 받을 수 있게 하는 역할을 하는 계층
물리 계층에서는 허브가 있다. 허브는 더미 허브라고도 불리며, 여러 대의 컴퓨터 모두에 내가 보냈던 신호를 그대로 보내는 방식이다. 이런 방식으로 많은 컴퓨터를 연결하면, 필요 없는 전송도 함께 이루어지게 된다. 또한 단방향 전송의 특성 상 충돌이 발생할 수도 있다.
이러한 문제를 해결하기 위해 이더넷이 등장했다.
프로토콜 : Ethernet, 이더넷
L2에서 만들어진 프레임을 충돌 없이 안전하게 전송하기 위해서는 어떠한 규칙이 필요하다. 대표적인 규칙인 Ethernet에 대해 알아보자.
🔎 Ethernet, 이더넷
네트워크에 연결된 각 기기들이 48비트 길이의 고유의 MAC 주소를 가지고, 이 주소를 이용해 상호 간에 데이터를 주고받을 수 있도록 만들어진 기술
MAC Address
전 세계에서 유일한 주소로, 기기의 물리 주소를 말한다.
1A-F2-3A-05-7D-FF라는 MAC 주소가 있다면,
앞의 32비트(1A-F2-3A)는 제조사 번호이고
뒤의 32비트(05-7D-FF)는 제조사의 일련 번호이다.
그렇다면 이더넷은 이러한 MAC 주소를 가지고 어떤 방식으로 통신할까? 그건 바로 이더넷의 헤더에 MAC주소를 적고 이용한다.
이더넷의 헤더와 트레일러
이더넷 헤더(LH)는 다음과 같은 구조로 이루어져 있다.
목적지의 MAC 주소(6바이트) + 출발지의 MAC 주소(6바이트) + 이더넷 유형(2바이트)
- 이더넷 유형이란 이더넷으로 전송되는 데이터의 상위 계층인 Network Layer의 프로토콜을 말한다.
- 유형 번호 - 프로토콜
- 0800 - IPv4
- 0806 - ARP
- 86DD - IPv6
- 유형 번호 - 프로토콜
또한 이더넷의 트레일러(LF)는 FCS(Frame Check Sequence)라고도 하며, 데이터의 전송 중에 오류가 발생했는지 확인하기 위해 사용된다.
반 이중 방식과 CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
반 이중 방식, Half-duplex
- 회선 하나로 송수신을 번갈아가며 통신하는 방식이다. 만약 회선에 두 기기가 동시에 데이터를 전송하는 경우 충돌이 발생한다.
- 이더넷에서는 반이중 방식을 사용하는 경우 CSMA/CD 방식을 사용한다.
🔎 CSMA/CD
기기들이 서로 눈치를 보며 통신하는 형태이다.
이더넷 환경에서 통신을 하려고 하는 기기들은, 먼저 네트워크 상에 Carrier(통신 중인 신호)가 있는지 확인한다(Carrier Sense). 만약 Carrier가 없다면 네트워크 상에 자신의 데이터를 싣는다(Multiple Access). 혹시 여러 기기가 같은 타이밍에 데이터를 보내 충돌(Collision)이 발생한 경우(Collision Detection), 랜덤한 시간 동안 기다린 후 기회를 봐서 다시 한 번 통신을 시도한다.
절차를 나눠 보면,
1. 컴퓨터 케이블에 신호가 흐르는 지 확인한다
1.1 신호가 흐르지 않는다면, 데이터를 보낸다
1.2 신호가 흐른다면 잠시 대기한다.
이처럼 케이블에 신호가 흐르면 잠시 대기하는 방식으로 충돌을 해결했다. 하지만 현실에서는 이 방식은 비효율적이어서 거의 쓰이지 않고, 대신 스위치를 도입시킨다.
전 이중 방식, Full-duplex
두 기기가 송신과 수신에 서로 독립된 회선을 사용하여 송수신을 동시에 하는 방식이다.
1Gbps 이더넷 부터는 거의 대부분 이 방식을 사용하며, 10Gbps 이더넷은 Half-duplex 방식을 지원하지 않고, 오직 Full-duplex 방식만 지원한다.
주요 장비
스위치(스위칭 허브, L2 스위치) | |
범위 | 하나의 네트워크 내부 |
정의 | 인접한 여러 기기를 연결하여 하나의 네트워크를 만들어 네트워크 입구 역할을 하는 장치로, 같은 네트워크 내의 특정한 단말기로 패킷을 보낼 수 있는 기능 제공 |
MAC 주소 테이블
MAC 주소 테이블이란, 포트 번호와 해당 포트에 연결된 컴퓨터의 MAC 주소가 저장된 데이터베이스를 말한다. 이를 MAC 주소 테이블 또는 브리지 테이블(bridge table)이라 부른다.
- MAC 주소 학습 기능
- 스위치를 켜자마자 MAC 주소가 자동으로 등록되는 것이 아니라, 처음 알맞은 목적지에 방문하는 순간 (포트번호 - MAC주소)를 학습하여 등록한다.
- 플러딩 Flooding
- 프레임의 목적지 MAC 주소가 등록되지 않은 경우, 연결된 모든 컴퓨터에 정보를 보내는 것을 플러딩이라 한다.
- MAC 주소 학습 기능에 따라 올바른 위치에 데이터가 전달되면, MAC 주소 테이블에 정보를 등록한다.
- 포워딩 Forwarding
- 프레임의 목적지 MAC 주소가 스위치의 MAC 주소 테이블에 들어 있는 경우, 해당 목적지로 프레임을 전송하는 것을 포워딩이라 한다.
- MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라 한다.
🔎 L2 - 데이터링크 계층 정리
해당 계층에서는 디지털 데이터 신호를 받아서 목적지 MAC주소, 출발지 MAC주소, 이더넷 유형에 대한 정보를 이더넷 헤더에 넣어 붙여주고, 트레일러로 오류 검사를 하는 FCS를 넣어 프레임을 만들어준다.
스위치는 MAC 주소 테이블을 가지고 있으며, MAC 주소를 통해 특정 노드를 목적지로 갖는 통신이 가능했다. MAC 주소가 테이블에 등록되어 있지 않다면, 연결된 모든 컴퓨터에 신호를 보내는 플러딩을 통해 MAC 주소를 학습하여 테이블에 새로운 MAC주소를 등록할 수 있다.
참고자료
https://lamarr.dev/#NetworkingBeginner
lamarr.dev
OSI 3 계층 네트워크 계층 (Network Layer) 알아보기
1계층과 2계층 복습하기 3계층인 네트워크 계층을 알아보기 전에 1계층과 2계층에서 무슨 일을 했었는지 확실히 복습해보자. 1계층 (물리 계층) 1계층은 물리 계층이었고, 핵심적인 역할은 디지털
jake-seo-dev.tistory.com
'Computer Science > Network' 카테고리의 다른 글
OSI 7 Layer - 3 Network Layer - IP Address (0) | 2024.03.22 |
---|---|
OSI 7 Layer - 3 Network Layer (1) | 2024.03.17 |
CORS란 무엇인가요? (0) | 2024.01.12 |
TLS/SSL handshake (0) | 2023.10.25 |
HTTP & HTTPS (0) | 2023.10.25 |