
🌐 OSI 7 Layer: 네트워크의 7가지 층간소음 방지 대책
1. 물리 계층 (Physical Layer)
- 역할: 0과 1의 비트(Bit) 데이터를 전기 신호나 빛으로 바꿔서 선으로 쏴주는 단계입니다.
- 특징: 케이블, 허브, 리피터가 여기 속합니다.
- 실무: "인터넷 안 돼요!" 했을 때 랜선 꽂혀 있는지, 불 들어오는지 확인하는 게 1계층 점검입니다.
2. 데이터 링크 계층 (Data Link Layer)
- 역할: 기수님 말씀대로 운송 수단을 결정합니다. 물리적인 주소인 MAC 주소를 사용해 인접한 장비 간에 데이터를 안전하게 전달합니다.
- 단위: 프레임 (Frame)
- 핵심 장비: 스위치(Switch), 브릿지.
- 실무: 스위치에서 MAC 테이블을 확인하거나 VLAN을 나누는 작업이 여기서 일어납니다.
3. 네트워크 계층 (Network Layer)
- 역할: 논리적 주소(IP)를 사용해 최종 목적지까지 가는 최적의 경로(Routing)를 찾습니다.
- 단위: 패킷 (Packet)
- 핵심 장비: 라우터(Router), L3 스위치.
- 실무: 기수님이 설정하시는 NACL, 보안 그룹, NAT 설정이 모두 이 계층의 IP 주소를 보고 결정됩니다.
4. 전송 계층 (Transport Layer)
- 역할: 양 끝단의 사용자들 간에 신뢰성 있는 데이터를 주고받게 합니다. 포트(Port) 번호를 사용해 어떤 프로세스로 보낼지 결정합니다.
- 단위: 세그먼트 (Segment)
- 핵심 프로토콜: TCP(꼼꼼한 배송), UDP(빠른 배송).
- 실무: "포트가 열려 있나?" 확인하는
netstat, lsof 작업이 바로 4계층 확인 과정입니다.
5. 세션 계층 (Session Layer)
- 역할: 통신 장치 간의 대화(Session)를 관리합니다. 연결을 맺고(Open), 유지하고, 끊는(Close) 절차를 담당합니다.
- 특징: 통신이 도중에 끊겼을 때 어디서부터 다시 보낼지 체크포인트를 설정하기도 합니다.
- 실무: 로그인 유지, 복구 작업 등이 여기서 관리됩니다.
6. 표현 계층 (Presentation Layer)
- 역할: 데이터의 통역사입니다. 서로 다른 인코딩 방식을 맞추거나, 데이터를 암호화/복호화하고 압축합니다.
- 특징: "이 데이터는 JPEG 사진이야", "이건 암호화된 SSL 데이터야"라고 정의해 줍니다.
- 실무: SSL/TLS 암호화 적용이 이 계층과 밀접한 관련이 있습니다.
7. 애플리케이션 계층 (Application Layer)
- 역할: 사용자가 직접 사용하는 서비스 입구입니다.
- 프로토콜: HTTP(웹), FTP(파일 전송), SMTP(메일), DNS 등.
- 실무: 우리가 브라우저에 주소를 치거나, 안랩 관리 콘솔에 접속하는 행위 자체가 7계층 서비스 이용입니다.
1. 내부 -> 외부 과정
ex) 내 컴퓨터에서 8.8.8.8(구글 IP)로 데이터 전송할 때 지나치는 과정
내 컴퓨터의 IP가 192.168.1.100(사설IP)를 가지고 있다고 가정한다.
192.168.100 -> 목적지가 외부IP인지 확인 하고 외부 IP이므로 router에 전송해야됨 -> ARP table로 router의 사설 IP 조회 -> router의 MAC 주소 발견 -> switch를 통해 해당하는 포트를 찾음 -> router에다 정보 전송 -> IP를 NAT을 통해 공인 IP로 변환 -> WAN을 통해 8.8.8.8에 접근 가능
ARP?
사설 IP와 mac 주소(기기의 고유번호)를 연결시켜주는 역할을 한다. 해당하는 table이 있고 정보가 없을 경우는 broadcast를 통해 mac 주소를 찾아내서 table에 저장한다
ARP 테이블: [IP ↔ MAC] 연결 (내 PC나 라우터가 가짐).
만약 VLAN으로 swtich의 포트가 논리적으로 분리되어 있다고 하면 VLAN 10에 존재하는 포트는 VLAN 20에 존재하는 포트에 데이터를 전송하지 못한다. 따라서 Router의 포트는 트렁크 포트라는 공용 포트를 통해 아무 VLAN에서 자유롭게 접근 가능하게 하는 것이 좋다.
VLAN?
스위치 즉 layer2 데이터 링크 계층에서 논리적으로 포트를 구분시킨 것이다. 해당하는 그룹끼리만 정보를 전송이 가능해 보안성을 높일 수 있다.
2. 외부 -> 내부 과정
8.8.8.8 에서 WAN을 통해 우리 라우터로 접근 -> NAT을 통한 사설 IP로 변경 -> 라우터가 ARP 테이블을 통한 MAC 주소를 찾음 -> 스위치에서 MAC테이블 조회후 해당하는 포트를 찾음 -> 해당하는 포트에 정보를 전송
📦 1. 내부 ➔ 외부: 캡슐화 (Encapsulation)
"데이터를 7층에서 1층까지 겹겹이 포장하는 과정"입니다.
기수님이 크롬 브라우저에서 구글에 "Hello"라고 보낼 때, 컴퓨터 안에서는 이런 일이 벌어집니다.
- L7~L5 (Data): "Hello"라는 메시지 생성.
- L4 (Segment): 데이터에 목적지 포트(443)를 붙여서 포장합니다. (TCP 헤더 추가)
- L3 (Packet): 그 위에 목적지 IP(8.8.8.8)를 붙여서 또 포장합니다. (IP 헤더 추가)
- L2 (Frame): 마지막으로 목적지 MAC(라우터의 MAC)을 붙여서 겉봉투를 완성합니다. (Ethernet 헤더 추가)
- L1 (Bit): 이 모든 포장된 덩어리를 전기 신호로 바꿔서 랜선을 통해 밖으로 던집니다.
🔓 2. 외부 ➔ 내부: 역캡슐화 (Decapsulation)
"들어온 전기 신호를 1층에서 7층까지 껍질을 하나씩 벗기는 과정"입니다.
구글에서 보낸 답장이 기수님 PC 랜선에 도착했을 때의 상황입니다.
- L1 (Bit): 들어오는 전기 신호를 다시 0과 1의 디지털 데이터로 바꿉니다.
- L2 (Frame): 목적지 MAC을 확인하고 "내 거네?" 하면 L2 껍데기(MAC 정보)를 뜯어버립니다.
- L3 (Packet): 안에 든 목적지 IP를 확인하고 "내 사설 IP 맞네?" 하면 L3 껍데기(IP 정보)를 뜯어버립니다.
- L4 (Segment): 목적지 포트를 보고 "아, 이건 크롬 브라우저 거구나!" 확인 후 L4 껍데기(포트 정보)를 뜯어버립니다.
- L7 (Data): 드디어 알맹이인 "Hi, Gisu!"라는 진짜 데이터만 남아서 브라우저 화면에 보여줍니다.
💡 기수님을 위한 핵심 비교 테이블
| 구분 | 캡슐화 (나갈 때) | 역캡슐화 (들어올 때) |
|---|
| 방향 | L7 (상위) ➔ L1 (하위) | L1 (하위) ➔ L7 (상위) |
| 비유 | 편지를 쓰고 봉투에 넣어 우표 붙이기 | 봉투를 뜯고 편지 내용 읽기 |
| 주요 역할 | 각 계층의 주소(포트, IP, MAC)를 붙임 | 각 계층의 주소를 확인하고 제거함 |