CS 상식 - 네트워크

[CS 상식 - 네트워크] 네트워크 계층 복습

beginner-in-coding 2025. 1. 13. 18:08

학습 기간: 2025.01.06 ~ 2025.01.10


01. OSI 7계층 (Open Systems Interconnection Model)

  • OSI 7계층은 네트워크 통신을 7단계로 나눈 모델
  • 각 계층은 특정 역할과 책임을 가지고 있음

1계층: 물리 계층 (Physical Layer)

  • 역할: 실제 하드웨어적인 전송 매체와 전송 방식에 대한 규정을 다룸.
  • 기능: 물리적 회선을 통한 데이터 스트림의 송수신 기능 제공
    • 전기적 신호, 광 신호, 무선 신호로 데이터를 전달.
    • 케이블, 커넥터, 리피터, 허브 등 물리적 장치 관리.
  • : UTP 케이블, 광섬유, IEEE 802.11(Wi-Fi).
  • 정보 단위: 비트(Bit)

2계층: 데이터 링크 계층 (Data Link Layer)

  • 역할: 물리 계층에서 받은 데이터를 프레임 단위로 나눠 신뢰성 있는 전송을 보장.
  • 기능: 인접한 스테이션 간의 신뢰성 있는 통신을 보장
    • 오류 감지 및 수정 (CRC).
    • MAC(Media Access Control) 주소를 기반으로 데이터 전송.
    • 검사해서 데이터가 깨졌으면 재요청
    • 동시에 보내지 않게 데이터 송수신 1:1 보장
  • 프로토콜/장비: Ethernet, PPP(Point-to-Point Protocol), 스위치.
  • 정보 단위: 프레임
    • 이더넷 프레임
  • 헤더에 MAC 주소를 포함하여 src와 dest를 식별
    • 참고: MAC 플러딩(Flooding)

3계층: 네트워크 계층 (Network Layer)

  • 역할: 데이터의 목적지 주소(IP)를 기반으로 라우팅과 전달 경로 결정.
  • 기능: 네트워크를 거쳐 원하는 목적지까지의 연결성 제공
    • 라우팅: 데이터가 여러 네트워크를 거쳐 목적지까지 도달하도록 경로를 설정.
    • 논리 주소(IP 주소) 관리.
    • 원하는 목적지
      • 타겟 IP 주소
      • 헤더에 추가
      • 수신 패킷 dest IP가 본인인지 확인
      • 어느 router로 갈 지 정해줌
  • 프로토콜/장비: IP(IPv4/IPv6), ICMP, RIP, OSPF, 라우터.
  • 단점
    • Best Effort
      • 최선을 다하지만 결과를 보장하지는 못함
      • 4계층의 TCP가 보장
  • 정보 단위: 패킷
    • 헤더에 IP 주소를 포함하여 타겟 식별

4계층: 전송 계층 (Transport Layer)

  • 역할: 데이터의 신뢰성과 정확성을 보장하며, 데이터의 송수신 상태를 제어.
  • 기능: 통신 양단 간에 신뢰성 있는 통신을 보장
    • end to end 간 신뢰성 
    • 데이터 분할 및 재조합.
    • 흐름 제어 및 오류 복구.
    • 헤더에 포트 번호를 기반으로 애플리케이션 식별.
      • Port로 서비스 지정
  • 프로토콜: TCP(연결 지향), UDP(비연결 지향).
    • TCP
      • 전송 단위: segemt
      • 안정성 중요
      • socket이 1:1 응답이 가능한 지 물어보고 응답하면 주고받음
      • http
    • UDP
      • 전송 단위: datagram
      • 속도 중요
      • 여러 개의 소켓과 주고받음
      • 스트리밍, 라이브 방송
    • 4계층 장치: 로드 밸런서

5계층: 세션 계층 (Session Layer)

  • 역할: 통신 세션(연결)의 생성, 유지, 종료를 관리.
  • 기능:
    • 데이터 교환 시작/중단 제어.
    • 동기화 및 체크포인트 설정.
  • : NetBIOS, RPC(Remote Procedure Call).

6계층: 표현 계층 (Presentation Layer)

  • 역할: 데이터 형식의 변환 및 표현 방식 설정.
  • 기능:
    • 데이터 암호화 및 복호화.
    • 데이터 압축.
    • 문자 인코딩(예: ASCII, EBCDIC).
  • : SSL/TLS, JPEG, GIF, MPEG.

7계층: 응용 계층 (Application Layer)

  • 역할: 사용자와 네트워크 간의 상호작용을 지원.
  • 기능:
    • 애플리케이션이 네트워크 서비스를 사용할 수 있도록 인터페이스 제공.
    • HTTP, FTP, SMTP 등과 같은 응용 계층 프로토콜 사용.
  • : 웹 브라우저(HTTP/HTTPS), 이메일 클라이언트(SMTP, IMAP).

요약

  • 하위 계층(1~4계층): 데이터 전송 및 신뢰성 보장.
  • 상위 계층(5~7계층): 데이터의 표현 및 사용자 인터페이스 제공.

각 계층은 특정 기능에 집중하며, 계층 간 상호작용으로 복잡한 통신 작업을 효율적으로 수행할 수 있음

 

02. TCP/IP 계층

 
  • TCP/IP 계층은 OSI 7계층 모델을 실질적으로 구현한 인터넷 기반의 네트워크 모델임
  • OSI 7계층보다 간단하게 구성되어 있으며, 4계층으로 나뉨

1. 네트워크 인터페이스 계층 (Network Interface Layer)

  • 역할: 데이터가 실제 네트워크 하드웨어를 통해 물리적으로 전송되는 계층.
  • 기능:
    • 물리적 전송 매체(케이블, 무선 등)를 사용한 데이터 전송.
    • 하드웨어 주소(MAC)를 기반으로 데이터 프레임 전달.
    • 장치 간 데이터 흐름 관리.
  • OSI 계층 대응: 물리 계층 + 데이터 링크 계층(1, 2계층).
  • : Ethernet, Wi-Fi(IEEE 802.11), ARP(Address Resolution Protocol).

2. 인터넷 계층 (Internet Layer)

  • 역할: 네트워크 간 데이터를 라우팅하고 최적의 경로로 전달.
  • 기능:
    • IP 주소를 사용하여 데이터 패킷의 출발지와 목적지 식별.
    • 데이터 패킷의 분할(Fragmentation) 및 재조합.
    • 데이터 전송 중 경로를 선택(라우팅).
  • OSI 계층 대응: 네트워크 계층(3계층).
  • 프로토콜:
    • IP (Internet Protocol): IPv4, IPv6.
    • ICMP (Internet Control Message Protocol): 네트워크 상태 점검.
    • IGMP (Internet Group Management Protocol): 멀티캐스트 관리.

3. 전송 계층 (Transport Layer)

  • 역할: 데이터의 신뢰성 있는 전송과 송신/수신 간의 연결 관리.
  • 기능:
    • 데이터 분할 및 재조합.
    • 데이터의 전송 오류 복구.
    • 포트 번호를 사용하여 애플리케이션 식별.
  • OSI 계층 대응: 전송 계층(4계층).
  • 프로토콜:
    • TCP (Transmission Control Protocol): 연결 지향, 신뢰성 보장.
    • UDP (User Datagram Protocol): 비연결 지향, 속도 우선.

4. 응용 계층 (Application Layer)

  • 역할: 네트워크 서비스를 애플리케이션이 사용할 수 있도록 지원.
  • 기능:
    • 사용자와 네트워크 간의 상호작용 인터페이스 제공.
    • 데이터 형식 변환 및 암호화 등 응용 프로그램의 데이터 처리.
  • OSI 계층 대응: 세션, 표현, 응용 계층(5, 6, 7계층).
  • 프로토콜:
    • HTTP/HTTPS: 웹 서비스.
    • SMTP/POP3/IMAP: 이메일.
    • FTP/SFTP: 파일 전송.
    • DNS: 도메인 이름 해석.
    • Telnet/SSH: 원격 접속.

03. OSI 7계층과 TCP/IP 계층의 비교

OSI 계층TCP/IP 계층주요 프로토콜 예시
7. 응용 계층 응용 계층 HTTP, FTP, DNS, SMTP
6. 표현 계층    
5. 세션 계층    
4. 전송 계층 전송 계층 TCP, UDP
3. 네트워크 계층 인터넷 계층 IP, ICMP, ARP, IGMP
2. 데이터 링크 계층 네트워크 인터페이스 계층 Ethernet, Wi-Fi, ARP
1. 물리 계층    

04. 주요 특징

  1. TCP/IP는 실용적이고 단순화된 계층 구조:
    • OSI 모델은 이론적이고 정교하지만, TCP/IP는 인터넷에서 실제 구현과 사용에 초점.
  2. 인터넷 중심 설계:
    • TCP/IP는 전 세계적으로 사용되는 인터넷의 핵심 프로토콜 집합.
  3. 유연성과 확장성:
    • 다양한 네트워크 기술과 하드웨어에서 작동 가능.

05. 송신 측: 데이터 포장(Encapsulation) 과정

각 계층은 데이터를 처리하고, 해당 계층의 **헤더(header)**를 추가하여 데이터를 포장합니다.

(1) 7계층: 응용 계층 (Application Layer)

  • 데이터: 사용자가 요청한 데이터 생성(예: 파일, 텍스트 등).
  • 헤더 추가: 없음(사용자 데이터를 생성하는 계층).
  • 결과물: 응용 데이터(Payload).

(2) 6계층: 표현 계층 (Presentation Layer)

  • 역할: 데이터의 형식 변환(예: 암호화, 압축).
  • 헤더 추가: 데이터 형식 변환과 관련된 정보 추가.
  • 결과물: 표현된 데이터 + 표현 헤더.

(3) 5계층: 세션 계층 (Session Layer)

  • 역할: 세션(연결)을 설정, 유지, 종료.
  • 헤더 추가: 세션 ID, 제어 정보.
  • 결과물: 세션 데이터 + 세션 헤더.

(4) 4계층: 전송 계층 (Transport Layer)

  • 역할: 데이터의 신뢰성 있는 전송, 데이터 분할 및 재조립, 포트 번호 추가.
  • 헤더 추가:
    • TCP: 시퀀스 번호, 확인 응답 번호, 포트 번호 등.
    • UDP: 포트 번호, 길이, 체크섬.
  • 결과물: 세그먼트(Segment, TCP) 또는 데이터그램(Datagram, UDP).

(5) 3계층: 네트워크 계층 (Network Layer)

  • 역할: 데이터를 목적지 IP 주소로 라우팅.
  • 헤더 추가: IP 주소(출발지와 목적지), TTL(Time to Live), 프로토콜 번호.
  • 결과물: 패킷(Packet).

(6) 2계층: 데이터 링크 계층 (Data Link Layer)

  • 역할: 데이터를 물리적 네트워크로 전송, 오류 감지 및 수정.
  • 헤더 추가: MAC 주소(출발지와 목적지), 오류 제어 정보(FCS).
  • 결과물: 프레임(Frame).

(7) 1계층: 물리 계층 (Physical Layer)

  • 역할: 데이터를 비트(Bit) 신호로 변환하여 물리 매체를 통해 전송.
  • 헤더 추가: 없음(데이터는 전기적 신호로 변환).
  • 결과물: 비트 스트림.

06. 수신 측: 데이터 해포장(Decapsulation) 과정

  1. 물리 계층에서 수신된 비트 신호는 데이터 링크 계층으로 전달됩니다.
  2. 각 계층은 헤더를 제거하며, 데이터를 상위 계층으로 전달합니다.
    • 데이터 링크 계층: 프레임 → 패킷.
    • 네트워크 계층: 패킷 → 세그먼트.
    • 전송 계층: 세그먼트 → 세션 데이터.
    • 응용 계층까지 전달된 최종 데이터는 사용자에게 전달됩니다.

07. OSI 7계층 데이터 흐름

송신 측

  • 응용 계층: 데이터 생성 →
  • 표현 계층: 데이터 변환(압축, 암호화) →
  • 세션 계층: 세션 설정 →
  • 전송 계층: 데이터 분할, 포트 추가 →
  • 네트워크 계층: IP 주소 추가 →
  • 데이터 링크 계층: MAC 주소 추가 →
  • 물리 계층: 비트 신호로 변환 및 전송.

수신 측

  • 물리 계층: 비트 신호 수신 →
  • 데이터 링크 계층: 프레임 해석 →
  • 네트워크 계층: 패킷 해석 →
  • 전송 계층: 데이터 조립 및 확인 →
  • 세션 계층: 세션 관리 →
  • 표현 계층: 데이터 복원(압축 해제, 복호화) →
  • 응용 계층: 사용자에게 데이터 전달.

08. 헤더와 페이로드의 관계

  • 각 계층은 데이터를 처리할 때, **헤더(Header)**를 추가하여 데이터의 전달 정보를 포함시
  • 데이터(payload)는 하위 계층으로 내려가며, 최종적으로 **프레임(Frame)**이 되어 물리 계층으로 전달됨
  • 수신 측에서는 반대로 헤더를 제거하여 최종 데이터를 복원함