• 특정 계층이 변경되었을 때 다른 계층이 영향 받지 않도록 설계

애플리케이션 계층

  • FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층
  • 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층
  • FTP : 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜
  • SSH : 보안되지 않은 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜
  • HTTP : WWW을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜
  • SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
  • DNS : 도메인 이름과 IP 주소를 매핑해주는 서버

전송계층

  • 송신자와 수신자를 연결하는 통신 서비스 제공
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어 제공
  • 애플리케이션과 인터넷 계층 사이 데이터 전달 시 중계 역할
  • TCP, UDP
  • TCP : 패킷 사이 순서 보장, 연결 지향 프로토콜 사용, 신뢰성 구축, 가상회선 패킷 교환 방식
  • UDP : 순서를 보장하지 않고 수신 여부 확인 X, 단순히 데이터만 주는 데이터그램 패킷 교환 방식

가상회선 패킷 교환 방식

  • 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상 회선이 해제되고 패킷들은 전송된 순서대로 도착하는 방식

데이터그램 패킷 교환 방식

  • 패킷이 독립적으로 이동하며 최적의 경로를 선택하여 가는데, 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 도착한 순서가 다를 수 있는 방식

TCP 연결 성립 과정 - 3 way 핸드셰이크

  1. SYN 단계 : 클라이언트 서버에 ISN을 담아 SYN 전송
    • ISN : 새로운 TCP 연결의 첫번째 패킷에 할당된 임의의 시퀀스 번호
  2. SYN + ACK 단계 : 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내 승인번호로 클라이언트의 ISN + 1 전송
  3. ACK 단계 : 클라이언트는 서버의 ISN + 1 한 값인 승인번호를 담아 ACK 전송

TCP 연결 해제 과정 - 4 way 핸드셰이크

  1. 클라이언트가 연결을 해제하려 할 때 FIN으로 설정된 세그먼트 전송, 클라이언트는 FIN_WAIT_1 상태
  2. 서버는 클라이언트로 ACK (승인 세그먼트) 전송, 서버는 CLOSE_WAIT 상태, 클라이언트가 세그먼트를 받으면 FIN_WAIT_2 상태
  3. 서버는 ACK를 보내고 일정 시간 후 클라이언트에 FIN 세그먼트 전송
  4. 클라이언트는 TIME_WAIT 상태, 다시 서버로 ACK 전송, 서버는 CLOSED 상태, 대기시간 이후 연결이 닫히고 클라이언트와 서버의 자원 연결 해제

TIME_WAIT

  • 소켓이 바로 소멸되지 않고 일정시간 유지되는 상태
    1. 지연 패킷이 발생할 경우를 대비하기 위함
    1. 두 장치가 연결이 닫혔는지 확인하기 위함

인터넷 계층

  • 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층
  • IP, ARP, ICMP
  • 패킷을 수신해야 할 상대의 주소를 지정하여 데이터 전달
  • 상대방이 제대로 받았는지 보장하지 않는 비연결형적인 특징

링크 계층

  • 전선, 광섬유, 무선 등 실질적으로 데이터 전달
  • 장치 간 신호를 주고받는 규칙을 정하는 계층
  • 물리 계층 : 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층
  • 데이터 링크 계층 : 이더넷 프레임을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하는 계층

유선 LAN(IEEE802.3)

  • 전이중화 통신 : 양쪽 장치가 동시에 송수신할 수 있는 방식
  • 수신로와 송신로
  • 트위스트 페어 케이블, 광섬유 케이블

CSMA/CD

  • 유선 LAN 이전
  • 반이중화 통신 : 데이터를 보낸 이후 충돌이 발생한다면 일정시간 후 재전송
  • 경로 기반, 충돌에 대비해야 함

무선 LAN(IEEE802.11)

  • 수신과 송신에 같은 채널 사용
  • 반이중화 통신 : 양쪽 장치는 서로 통신할 수 있지만 동시에 통신할 수 없음
  • 장치가 신호 수신 시 전송이 완료될 때까지 기다려야 함
  • 충돌 방지 시스템 필요
  • 와이파이, BSS, ESS

CSMA/CA

  • 반이중화 통신
  • 장치에서 데이터 전송 전 캐리어 감지 등으로 사전에 가능한 한 충돌을 방지하는 방식 사용

이더넷 프레임

계층 간 데이터 송수신 과정

  • 애플리케이션 계층 전송 계층으로 요청 값들이 캡슐화 과정을 거쳐 전달
  • 링크 계층을 통해 해당 서버와 통신
  • 해당 서버의 링크 계층 애플리케이션 계층까지 비캡슐화 과정을 거쳐 데이터 전송

캡슐화 과정

  • 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고 해당 계층의 헤더 삽입

비캡슐화 과정

  • 하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정

PDU(Protocol Data Unit)

  • 네트워크의 어떤 계층에서 계층으로 데이터가 전달될 때 단위
  • 제어 관련 정보들이 포함된 헤더, 데이터를 의미하는 페이로드로 구성
  • 애플리케이션 계층 : 메시지
  • 전송 계층 : 세그먼트(TCP), 데이터그램(UDP)
  • 인터넷 계층 : 패킷
  • 링크 계층 : 프레임, 비트

정리

  • 애플리케이션 계층 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층, FTP, HTTP, SSH, SMTP, DNS
  • 전송 계층 송신자와 수신자를 연결하는 통신 서비스 제공, TCP, UDP
  • 인터넷 계층 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층
  • 링크 계층 전선, 광섬유, 무선 등 실질적으로 데이터 전달
  • TCP 연결지향 프로토콜, 가상회선 패킷교환방식, 연결 3 way 핸드셰이크, 해제 4 way 핸드셰이크, 세그먼트, 신뢰성 있는 연결
  • UDP 순서 보장 X, 수신여부 확인 X, 데이터만 전송하는 데이터그램 전송 방식
  • 캡슐화 상위 계층 헤더와 데이터를 하위 계층 데이터에 포함시키고 헤더를 추가하는 방식

Ref

  • 면접을 위한 CS 전공지식 노트, 주홍철 지음, 길벗 출판사