[리눅스마스터 1급] 이기적 이론서 3회차 정리 - 네트워크
🏁 이기적 이론서 학습 범위
- PART 01 리눅스 실무적 이해
- CHAPTER 03 네트워크의 이해
네트워크의 기초
☑️ OSI 7 계층
OSI 7 계층 개요
- OSI 7계층: 컴퓨터 네트워크 프로토콜 디자인과 통신 계층을 구성하여 개발한 네트워크 모델
- OSI 7계층의 특징
- 각 계층은 하위 계층이 제공하는 서비스를 이용하고 상위 계층에게 서비스를 제공
- 상위 → 하위 계층으로 데이터 전달 시, 헤더와 트레일러를 추가하여 캡슐화를 수행
- 하위 → 상위 계층으로 데이터 수신 시, 헤더와 트레일러를 제거하고 분석하여 역캡슐화를 수행
- 계층 구조: 물리 > 데이터 링크 > 네트워크 > 전송 > 세션 > 프레젠테이션 > 응용
OSI 7계층 세부 설명
- 1계층: 물리계층
- 네트워크의 전기적, 물리적 연결을 담당함
- 유선의 경우 케이블 종류, 무선의 경우 무선 주파수 링크를 통해 데이터를 전송
- 데이터는 비트 단위로 전송됨
- 주요 네트워크 장비: 허브, 리피터
- 2계층: 데이터 링크 계층
- 노드 간 프레임 단위로 데이터 전송을 수행
- 송수신 측의 물리적 주소 및 오류 검출을 위한 CRC 값을 포함한 헤더 및 트레일러를 추가함
- MAC 주소를 기반으로 장치를 식별
- 흐름 제어 수행: 수신 노드의 속도에 맞춰 송신 노드가 데이터를 적절한 속도로 전송함
- 정지-대기(Stop-and-wait), 슬라이딩 윈도우(Sliding window) 기법 활용
- 회선 제어: 신호 간 충돌 방지 기능 제공
- 오류 제어: 오류 검출 및 재전송 수행
- 오류 감지 시 NAK 반환
- ARQ(Automatic Repeat Request) 기법 사용 (Stop-and-wait ARQ, Go-Back-N ARQ, SR(Selective Repeat) ARQ)
- FEC(Forward Error Control): 재전송 없이 오류 정정 수행
- 세부 계층: 매체접근제어(MAC) 계층, 논리연결제어(LLC) 계층
- 주요 네트워크 장비: 브리지, 스위치
- 3계층: 네트워크 계층
- 여러 네트워크를 거쳐 패킷(packet) 단위로 데이터를 전송함
- 라우팅 기능 제공: 송수신 노드 간 최적 경로 설정
- 혼잡 제어, 패킷의 분할 및 병합, 인터네트워킹 기능 제공
- 주요 네트워크 장비: 라우터
- 4계층: 전송 계층
- 송신 및 수신 프로세스 간 연결을 제공하여 신뢰성 있는 통신을 보장함
- 주소 및 포트 지정, 연결 제어, 오류 복구, 흐름 제어 기능 제공
- 전송 단위: 세그먼트
- 주요 프로토콜: TCP/IP
- 커널의 시스템 콜을 통해 상위 계층에 기능 제공
- 5계층: 세션 계층
- 노드 간 메시지 단위로 데이터 전송 수행
- 세션 설정 및 유지, 동기 기능, 대화 기능 제공
- 동기 기능: 동기점을 설정하여 오류 발생 시 이후 데이터만 복구
- 대화 기능: 데이터 전송 시 시간 경과에 따라 순차적 동기점 부여
- 6계층: 표현 계층
- 데이터 표현 방식 변환
- 송신 측과 수신 측의 표현 방식 차이를 해결
- 암호화, 해독, 압축 및 압축 해제 기능 제공
- 7계층: 응용 계층
- 사용자에게 편리한 응용 환경 제공
- 주요 프로토콜: SMTP(전자우편), HTTP(웹서비스), FTP(파일전송), TELNET(원격접속)
OSI 7계층의 전송 단위 및 프로토콜
전송 단위
계층/이름 프로토콜 7계층/응용계층 HTTP, SMTP, POP3, IMAP, DNS, NFS, FTP, TELNET, SSH 6계층/프레젠테이션 계층 SMB, AFP, ASN.1 5계층/세션 계층 SSL, TLS, NetBIOS 4계층/전송 계층 TCP, UDP, RTP 3계층/네트워크 계층 IP, ICMP, ARP, RARP, IGMP, BGP, RIP, IPX 2계층/데이터 링크 계층 Ethernet, Token Ring, FDDI, ATM 1계층/물리 계층 RS-232, USB, I2C, IEEE802.15.4, 10BASE-T, 100BASE-T, 1000BASE-T, Bluetooth 주요 프로토콜
계층 프로토콜 7계층/응용 계층 HTTP, SMTP, POP3, IMAP, DNS, NFS, FTP, TELNET, SSH 6계층/프레젠테이션 계층 SMB, AFP, ASN.1 5계층/세션 계층 SSL, TLS, NetBIOS 4계층/전송 계층 TCP, UDP, RTP 3계층/네트워크 계층 IP, ICMP, ARP, RARP, IGMP, BGP, RIP, IPX 2계층/데이터 링크 계층 Ethernet, Token Ring, FDDI, ATM 1계층/물리 계층 RS-232, USB, I2C, IEEE 802.15.4, 10BASE-T, 100BASE-T, 1000BASE-T, Bluetooth
☑️ 네트워크 장비
LAN 구성 장비
- 네트워크 카드 (NIC, Network Interface Controller)
- 컴퓨터가 네트워크에 연결될 수 있도록 하는 장치
- LAN 환경에서는 LAN 아답터 또는 이더넷 카드라고도 함
- OSI 1계층(물리 계층)과 2계층(데이터 링크 계층)의 기능을 수행
- 각 NIC에는 고유한 MAC 주소가 할당됨
케이블
네트워크에서 신호를 전달하는 물리적 매체로 다양한 종류가 존재함.
- 꼬임선(Twisted Pair): 두 가닥의 전선을 꼬아 신호 간섭을 줄이는 방식, 저렴하지만 거리 제한(약 100m)이 존재
- 동축 케이블(Coaxial Cable): 중심 도체를 절연체로 감싸고 외부 도체로 보호, 외부 간섭에 강함
- 광섬유(Fiber Optic Cable): 유리 또는 플라스틱 섬유를 이용한 광신호 전송 방식, 속도가 빠르고 신호 감쇠가 적지만 비용이 높음
- 허브 (Hub)
- 네트워크 장치를 LAN에 연결하는 기본 장치
- 플러딩(Flooding) 방식으로 모든 포트에 데이터를 전송 → 충돌 가능성이 높음
- 스타(Star)형 네트워크에서 사용됨
- 신호를 증폭해 전송 거리를 연장하는 역할 수행
- 현재는 허브보다 충돌을 줄이는 스위치(Switch) 사용이 일반적
인터네트워크 장비
- 리피터 (Repeater)
- 신호 감쇄를 방지하기 위해 신호를 증폭하여 재전송하는 장치
- OSI 1계층(물리 계층)에서 동작
- 최대 4개까지 연결 가능하며, 전송 거리는 2.5km까지 연장 가능
- 브리지 (Bridge)
- MAC 주소를 기반으로 데이터 프레임을 필터링하여 특정 포트로 전송하는 장치
- OSI 2계층(데이터 링크 계층)에서 동작
- 전체 네트워크로 데이터가 전달되지 않도록 브리지 테이블을 관리
- 라우터 (Router)
- 여러 네트워크를 연결하고, 최적의 경로를 설정하여 패킷을 포워딩하는 장치
- OSI 3계층(네트워크 계층)에서 동작
- 포워딩 기능: 네트워크 간 패킷 전달 수행
- 라우팅 기능: 경로를 설정하여 최적의 네트워크 경로 선택
- 정적 라우팅: 관리자가 직접 설정한 경로 사용
- 동적 라우팅: 네트워크 상태에 따라 자동으로 최적 경로 설정
- 게이트웨이 (Gateway)
- 서로 다른 네트워크 또는 프로토콜을 사용하는 시스템을 연결하는 장치
- 데이터 변환을 수행하여 서로 다른 시스템 간 통신 가능
- 예시: LAN과 인터넷 연결을 위한 인터넷 게이트웨이
☑️ 데이터 통신의 기본 이해
네트워크 토폴로지 (Network Topology)
- 스타(Star)형
- 중앙 노드(허브, 스위치)를 통해 각 장치가 연결됨
- 특정 노드가 장애를 일으켜도 전체 네트워크에는 영향 없음
- 중앙 노드가 장애 발생 시 전체 네트워크 마비
- 버스(Bus)형
- 하나의 공유 회선(버스)에 여러 장치가 연결됨
- 비용이 적고 설치가 쉬우나, 한 노드가 장애를 일으키면 전체 네트워크에 영향을 미칠 수 있음
- CSMA/CD 또는 토큰 패싱 방식 사용
- 링(Ring)형
- 모든 노드가 원형으로 연결되어 있음
- 특정 노드 장애 시 전체 네트워크에 영향을 줌
- 토큰 패싱(Token Passing) 방식 사용
- 망(Mesh)형
- 모든 노드가 서로 직접 연결됨
- 장애 발생 시 대체 경로가 존재하여 신뢰성이 높음
- 설치 비용이 높음
네트워크 통신 방식
- 이더넷(Ethernet)
- LAN에서 가장 많이 사용되는 유선 네트워크 기술
- IEEE 802.3 표준 기반
- CSMA/CD(반송파 감지 다중 접속 및 충돌 탐지) 방식 사용
- MAC 주소를 기반으로 데이터 전송
- 토큰링(Token Ring)
- IEEE 802.5 표준 기반
- 토큰(Token)을 소유한 장치만 데이터 전송 가능
- 충돌 발생 가능성이 없지만 속도가 느리고 구축 비용이 높아 현재는 거의 사용되지 않음
- FDDI (Fiber Distributed Data Interface)
- 광섬유 기반 백본 네트워크 기술
- 이중 링(Dual Ring) 구조를 사용하여 장애 발생 시 자동 복구 가능
- 최대 1000개의 스테이션 연결 가능
☑️ TCP/IP 및 네트워크 프로토콜
프로토콜
- 프로토콜: 컴퓨터나 통신 장비가 서로 메시지를 주고받기 위한 형식과 규칙의 체계
- 프로토콜은 형식(Format), 의미(Meaning), 타이밍(Timing)으로 구성된다.
- 프로토콜의 주요 기능
- 오류 제어
- 캡슐화
- 연결 제어
- 순서 제어
- 흐름 제어
- 혼잡 제어
- 동기화
- 주소 지정
- 단편화 및 재조합
- 데이터 형식화
- 표준 제정 기관
- 국제표준화기구(ISO)
- 미국국립표준협회(ANSI)
- 국제전기통신연합(ITU-T)
- 전기전자공학회(IEEE)
- 전자산업협회(EIA)
- 한국정보통신기술협회(TTA)
TCP/IP
- TCP/IP 개요
- 인터넷 및 근거리 통신망에서 네트워크에 연결된 장비들 간의 데이터 통신과 라우팅을 지원하는 프로토콜 체계
- 관련 프로토콜: TCP, IP, UDP(User Datagram Protocol), ARP(Address Resolution Protocol), RARP(Reverse ARP)
- TCP/IP 구조
- 네트워크 액세스 계층, 인터넷 계층, 전송 계층, 응용 계층의 4계층으로 구성됨
- 네트워크 액세스 계층
- 실제 데이터 전송을 담당하는 하드웨어 인터페이스
- 관련 프로토콜: 이더넷, 다이얼업 회선, LAN, X.25, 위성 통신 등
- 인터넷 계층에서 전달받은 패킷을 프레임으로 구성하여 전송하며, 반대로 물리 매체에서 받은 프레임을 상위 계층으로 전달
- 인터넷 계층
- 전송 계층에서 받은 데이터를 서브 네트워크와 무관하게 목적지까지 효율적으로 전달
- 패킷의 도착 여부 및 손상 여부를 확인하지 않으며, 이러한 기능은 상위 계층이 담당
- 네트워크 상태 진단, IP 주소와 MAC 주소 변환 기능 수행
- 관련 프로토콜: IP, ICMP, ARP, RARP
- 전송 계층
- 응용 계층에서 전달받은 데이터를 세그먼트(TCP) 또는 데이터그램(UDP) 단위로 전송
- 관련 프로토콜: TCP, UDP
- 응용 계층
- 응용 프로그램 간 데이터 통신을 담당하는 추상 계층
- 전송 계층 프로토콜을 이용하여 호스트 간 연결을 지원
- 관련 프로토콜: HTTP, SMTP, POP3, IMAP, DNS, NFS, FTP, TELNET, SSH
TCP와 UDP
- TCP (Transmission Control Protocol)
- 연결 지향형 전송 프로토콜
- 가상 회선 방식을 사용하여 신뢰성을 보장
- 3-way handshake 과정으로 연결 설정, 4-way handshake로 연결 해제
- 3-way handshake: 클라이언트가 SYN 패킷을 보내면, 서버는 SYN-ACK 패킷을 응답한 후, 클라이언트가 다시 ACK를 보내 연결 확립
- 흐름 제어 및 혼잡 제어 기능 제공
- 패킷 손실 시 재전송 기능을 통해 신뢰성을 확보
- 패킷 전송 후 ACK 패킷을 수신해야 하므로 UDP보다 속도가 느림
- 전이중(Full Duplex) 통신 지원, 점대점(Point-to-Point) 연결 방식 사용
- UDP (User Datagram Protocol)
- 비연결형 서비스
- 데이터그램 전송 방식 사용
- 데이터가 올바르게 전송되었는지 확인하는 절차 없음
- 헤더의 Checksum 필드를 이용해 최소한의 오류만 검출 가능
- TCP보다 속도가 빠름
포트번호와 소켓
- 포트번호
- TCP/UDP 프로토콜은 각 프로세스에 고유한 포트 번호를 할당함
- 포트 번호 범위: 0~65535
- 0~1023번은 시스템에서 예약된 잘 알려진 포트(Well-Known Ports)
- 주요 포트 번호는
/etc/services
파일에서 확인 가능
- 소켓
- 네트워크에서 데이터 통신을 위한 접점(End Point)
- 소켓을 생성한 후 상대방 소켓과 연결하여 데이터 송수신 수행
- 인터넷 프로토콜(IP), 로컬/원격 시스템의 IP 주소 및 포트 번호로 구성됨
IP 주소
- IP 주소
- 네트워크에서 장치를 식별하는 고유한 번호
- 발신지와 수신지를 명확하게 지정하여 데이터 전달
- IP 주소 할당 방식
- 동적 할당 (DHCP 서버 이용)
- 고정 할당 (수동 설정)
- IP 주소 형식
- IPv4 주소: 32비트, 0~255 값 사용, 점(dot)으로 구분된 십진수 표기
- 범위:
0.0.0.0 ~ 255.255.255.255
- 특수 IP 주소
127.0.0.1
: Localhost(자기 자신을 가리키는 주소)- A~C는 일반 목적, D,E는 특수 목적으로 사용
서브넷(subnetting)
- 서브넷이 필요한 이유
- 네트워크를 효율적으로 분할하여 트래픽을 관리하고 IP 주소를 절약
- 브로드캐스트 범위를 줄여 성능 향상
- 서브넷 마스크 (Subnet Mask)
- IP 주소를 네트워크 주소와 호스트 주소로 분리하는 데 사용
- 서브넷 마스크와 IP 주소를 AND 연산하여 네트워크 주소를 추출
도메인(domain)
- 도메인 네임(Domain Name)
- 숫자로 된 IP 주소를 사람이 쉽게 기억할 수 있도록 이름을 붙인 것
- 도메인 구조
- *.(dot)**으로 구분되는 다단계 트리 구조로 되어 있음
- 루트 도메인은 도메인 네임과 최상위 도메인(TLD)으로 구성됨
- 앞에는 서브 도메인이 올 수 있음
- 프로토콜은 통신을 위한 규약
- 예시:
http:// www . domain-name . com
- 프로토콜 / 서브도메인 / 도메인 네임 / 최상위 도메인
- 최상위 도메인은 일반 최상위 도메인(gTLD)과 국가 코드 최상위 도메인(ccTLD)으로 나뉨
- 일반 최상위 도메인: com, net, org, edu, gov, mil, int 등
- 국가 코드 최상위 도메인: kr, cn, us 등
- 2단계 도메인은 기관 이름이나 기관 종류를 나타냄
- co, go, or 등이 사용됨
- 필요에 따라 3단계, 4단계 도메인으로 확장 가능
- 도메인네임 시스템(DNS: Domain Name System)
- 도메인 네임을 IP 주소로 변환하는 시스템
- DNS 서버에 도메인 네임을 질의하면 IP 주소를 반환
- 도메인 네임의 계층 구조에 따라 단계별 질의 가능
- ICANN(Internet Corporation for Assigned Names and Numbers)
- 인터넷 DNS 기술 관리, IP 주소 공간 할당, 프로토콜 파라미터 지정, 루트 서버 시스템 관리 등을 조정하는 국제 인터넷 주소 관리 기구
IPv6(Internet Protocol version 6)
- IPv6
- IPv4 주소 고갈 문제 해결을 위해 주소 길이를 128비트로 확장한 프로토콜
- 16비트 단위로 8자리로 구성됨
- 각 자리 간 구분은 콜론(:)을 사용
- 16진수 값으로 표기하며, 0값은 생략 가능
- 특징
- 헤더 구조 단순화 → 확장 헤더로 일부 기능을 이동하여 기본 헤더의 필드를 12개에서 8개로 줄임
- 주소 공간 확대 → 128비트 주소 체계를 사용하여 인터넷상의 모든 기기에 주소 할당 가능
- 계층적 주소 구조 → 상위 ISP가 받은 주소 일부를 하위 네트워크에 할당하는 방식
- 자동 주소 할당 지원 → 호스트가 별도의 설정 없이 주소를 자동으로 할당받을 수 있음
- 보안 기능 기본 제공 → 출처 인증, 데이터 무결성, 비밀 보장 기능을 IPv6 확장 헤더에서 지원
- 트래픽 분류 기능 → 흐름 레이블 필드를 사용하여 트래픽을 구분
- QoS 지원 → 라우터를 통해 품질 보장(QoS) 처리가 가능
- 모바일 환경 지원 → IPv6 주소를 유지한 채 자유롭게 이동 가능