2.2 TCP/IP 4계층 모델

2025. 1. 7. 23:26·SW개발/면접을 위한 CS 전공지식 노트
목차
  1. TCP/IP 4계층
  2. 애플리케이션 계층
  3. 전송 계층
  4. TCP와 UDP의 차이점
  5. TCP의 가상회선 패킷 교환 방식
  6. UDP의 데이터그램 패킷 교환 방식
  7. TIME_WAIT 상태의 필요성
  8. 인터넷 계층
  9. 링크 계층
반응형

계층 구조

 

인터넷 프로토콜 스위트

 

* TCP/IP 4계층은 DOD(미국 국방성)실용성과 효율성을 위해 OSI 7계층의 복잡성을 단순화한 구조로 설계

TCP/IP 4계층

계층 역할데이터 단위프로토콜 예시
응용 계층 사용자와 네트워크 간의 상호작용 메시지 HTTP, FTP, DNS, SMTP
전송 계층 신뢰성 있는 데이터 전송 세그먼트 TCP, UDP
인터넷 계층 데이터 주소 지정 및 경로 설정 패킷 IP, ICMP, ARP
네트워크 계층 물리적 데이터 전송 관리 프레임/비트 Ethernet, Wi-Fi, PPP

 

  1. 응용 계층 (Application Layer)
    • 역할: 사용자와 네트워크 간의 상호작용을 담당. 데이터 표현, 사용자 인터페이스, 네트워크 서비스 요청 처리.
    • 프로토콜 예: HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS.
    • 예시: 웹 브라우저가 HTTP를 사용해 서버에서 웹 페이지를 요청하고 표시.
  2. 전송 계층 (Transport Layer)
    • 역할: 데이터 전송 관리, 신뢰성 있는 데이터 전달, 흐름 제어, 오류 제어. 데이터를 세그먼트 단위로 분할/재조립.
    • 프로토콜:
      • TCP: 연결 기반, 신뢰성 보장, 데이터 순서 유지, 오류 검출.
      • UDP: 비연결형, 속도 중시, 신뢰성 보장하지 않음.
    • 예시:
      • TCP: 이메일 송수신, 파일 다운로드.
      • UDP: 동영상 스트리밍, VoIP.
  3. 인터넷 계층 (Internet Layer)
    • 역할: 데이터 패킷의 주소 지정 및 경로 설정, 서로 다른 네트워크 간 데이터 전달.
    • 프로토콜: IP, ICMP, ARP.
    • 예시: 데이터가 목적지까지 전달되기 위해 라우터를 거쳐가는 경로 설정.
  4. 네트워크 인터페이스 계층 (Network Interface Layer)
    • 역할: 물리적 네트워크를 통해 데이터 전송, 하드웨어와의 상호작용 처리.
    • 프로토콜: Ethernet, Wi-Fi, PPP, DSL.
    • 예시: 데이터가 실제 네트워크 케이블이나 Wi-Fi를 통해 전송

애플리케이션 계층

FTP : 장치와 장치간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜 (자세히)

SSH : 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜 (자세히)

HTTP : www를 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜 (자세히)

SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜 (자세히)

DNS : 도메인 이름과 IP 주소를 매핑해주는 서버 (자세히)

 

전송 계층

TCP 연결 성립 과정 (3-Way Handshake)

  1. 1단계: SYN (Synchronize)
    • 클라이언트 → 서버: 클라이언트가 연결 요청 메시지인 SYN 플래그가 설정된 패킷을 서버로 전송합니다.
    • 패킷 정보: SYN=1, SEQ=x
  2. 2단계: SYN-ACK (Synchronize-Acknowledgment)
    • 서버 → 클라이언트: 서버가 클라이언트의 요청을 수락하고, SYN과 ACK 플래그가 설정된 패킷을 전송합니다.
    • 패킷 정보: SYN=1, ACK=1, SEQ=y, ACK=x+1
  3. 3단계: ACK (Acknowledgment)
    • 클라이언트 → 서버: 클라이언트가 서버의 응답을 확인하고, ACK 플래그가 설정된 패킷을 전송합니다.
    • 패킷 정보: ACK=1, SEQ=x+1, ACK=y+1
SYN 연결 요청 플래그, 초기 통신 시작 알림
ACK 수신 확인 플래그, 성공적 데이터 수신 알림
SEQ 순서 번호, 데이터 패킷의 순서 및 시작 위치 식별
ISN 초기 네트워크 연결 시, 할당된 32bits 고유 스퀀스 번호. 각 연결 시작 시 임의로 설정

TCP와 UDP의 차이점

구분 TCP UDP
연결 방식 연결 지향(Connection-oriented) 비연결형(Connectionless)
전송 신뢰성 데이터의 신뢰성을 보장 (패킷 손실 시 재전송) 신뢰성을 보장하지 않음 (패킷 손실 발생 가능)
속도 느림 (연결 설정 및 확인 과정 필요) 빠름 (연결 설정 없이 데이터 전송)
오버헤드 상대적으로 큼 (헤더가 더 크고 프로세스가 복잡) 상대적으로 작음
데이터 순서 데이터 순서를 보장 순서를 보장하지 않음
사용 사례 파일 전송(FTP), 이메일(SMTP), 웹브라우징(HTTP/HTTPS) 등 스트리밍(동영상, 오디오), VoIP, 게임 등 실시간 서비스
흐름 제어 흐름 제어 및 혼잡 제어 기능 지원 흐름 제어 및 혼잡 제어 기능 없음

TCP의 가상회선 패킷 교환 방식

 

TCP는 가상회선 패킷 교환 방식(Virtual Circuit Packet Switching)을 사용하여 데이터를 신뢰성 있게 전송합니다. 이는 물리적인 회선을 연결하지는 않지만, 논리적인 연결을 설정하여 데이터를 순서대로 전송하는 방식을 의미합니다.


1. 주요 특징

  • 연결 지향적: 통신 전에 송신자와 수신자 간에 논리적 연결을 설정합니다.
  • 패킷의 순서 보장: 데이터를 작은 패킷으로 나누어 전송하며, 수신 측에서 시퀀스 번호를 통해 패킷을 올바른 순서로 재조합합니다.
  • 신뢰성 보장: 패킷이 손실되거나 오류가 발생한 경우, 재전송 메커니즘을 통해 데이터 전송의 신뢰성을 확보합니다.
  • 혼잡 제어 및 흐름 제어: 네트워크 상태에 따라 데이터 전송 속도를 조정하여 네트워크 혼잡을 방지합니다.

2. 작동 과정

  1. 연결 설정 (3-way Handshake)
    • 송신자와 수신자가 통신을 시작하기 전에 논리적 연결을 설정합니다.
    • 송신자는 SYN 메시지를 보내 연결 요청 → 수신자는 SYN-ACK 메시지로 응답 → 송신자는 ACK로 응답하여 연결이 완료됩니다.
  2. 데이터 전송
    • 데이터를 패킷 단위로 나누어 전송하며, 각 패킷은 시퀀스 번호를 가집니다.
    • 수신 측은 ACK(확인 응답) 메시지를 통해 데이터를 제대로 받았음을 알립니다.
    • 손실된 패킷은 재전송됩니다.
  3. 연결 종료 (4-way Handshake)
    • 데이터를 모두 전송한 후, 송신자와 수신자는 FIN과 ACK 메시지를 교환하여 논리적 연결을 종료합니다.

TCP 가상회선 방식의 장점

  • 데이터 전송의 신뢰성과 정확성을 보장.
  • 패킷이 올바른 순서로 도착하도록 관리.
  • 혼잡 제어와 흐름 제어를 통해 네트워크 효율성 증가.

TCP 가상회선 방식의 단점

  • 연결 설정 및 종료(Handshake)로 인해 오버헤드 발생.
  • 속도가 느림(연결 설정과 확인 과정 포함).
  • 실시간 애플리케이션에는 부적합.

UDP의 데이터그램 패킷 교환 방식

UDP는 데이터그램 패킷 교환 방식(Datagram Packet Switching)을 사용합니다. 이는 비연결형 통신으로, 데이터를 독립적인 패킷 단위로 전송하며, 각 패킷은 서로 독립적으로 처리됩니다.

1. 주요 특징

  • 비연결형: 송신자와 수신자 간 연결 설정 과정 없이 데이터를 전송합니다.
  • 순서 비보장: 각 패킷은 독립적으로 전송되며, 도착 순서가 보장되지 않습니다.
  • 신뢰성 미보장: 패킷 손실, 중복, 순서 오류 등에 대해 보장하지 않습니다.
  • 오버헤드가 작음: 간단한 프로토콜로 빠른 데이터 전송이 가능하며, 네트워크 자원을 적게 사용합니다.

2. 작동 과정

  1. 패킷 전송
    • 데이터를 데이터그램 단위로 나누어 전송합니다.
    • 각 데이터그램에는 수신지 주소와 포트 정보가 포함됩니다.
    • 데이터그램은 독립적으로 네트워크를 통해 전송됩니다.
  2. 패킷 처리
    • 수신 측은 패킷을 수신하지만, 데이터가 손실되거나 순서가 뒤섞이는 경우 자체적으로 복구하지 않습니다.
    • 신뢰성과 복구는 애플리케이션 레벨에서 관리해야 합니다.

UDP 데이터그램 방식의 장점

  • 빠른 전송 속도: 연결 설정 및 상태 확인 과정이 없으므로 실시간 전송에 적합.
  • 오버헤드가 적음: 간단한 구조로 네트워크 자원을 적게 사용.
  • 실시간 애플리케이션에 적합: VoIP, 스트리밍, 온라인 게임 등.

UDP 데이터그램 방식의 단점

  • 데이터의 신뢰성 보장 불가: 손실된 패킷은 재전송되지 않음.
  • 순서 보장 없음: 데이터그램이 도착하는 순서가 뒤섞일 수 있음.

TCP 연결 해제 과정

 

TCP 연결 종료 과정 요약

  1. 클라이언트의 FIN 전송
    • 클라이언트가 연결 종료를 요청하며 FIN 세그먼트를 전송.
    • 상태: FIN_WAIT_1
  2. 서버의 ACK 응답
    • 서버가 FIN에 대한 승인(ACK)을 보내고 CLOSE_WAIT 상태로 전환.
    • 클라이언트는 ACK를 받으면 상태가 FIN_WAIT_2로 전환.
  3. 서버의 FIN 전송
    • 서버가 일정 시간이 지난 후 클라이언트에 FIN 세그먼트를 전송.
  4. 클라이언트의 ACK 응답 및 종료
    • 클라이언트는 서버의 FIN에 대한 ACK를 보내고 TIME_WAIT 상태로 전환.
    • 서버는 ACK를 받은 뒤 CLOSED 상태로 전환.
    • 클라이언트는 대기 시간을 거친 후 자원 해제 및 연결 종료.

TIME_WAIT 상태의 필요성

  1. 지연된 패킷 처리
    • 이전 연결에서 전송된 패킷이 뒤늦게 도착할 경우를 대비하여 데이터 충돌 방지.
  2. 연결 상태 확인
    • 두 장치가 연결이 완전히 종료되었음을 확실히 하기 위함.
    • 오류 없이 새로운 연결을 설정할 수 있도록 보장.

TIME_WAIT은 데이터 무결성과 연결 안정성을 보장하기 위해 필수적인 과정입니다.

 

인터넷 계층

 

  • 역할
    • 서로 다른 네트워크 간의 통신을 가능하게 하고 연결성을 제공.
    • 네트워크 상에서 데이터 전송을 담당.
  • IP 주소
    • 단말을 구분하기 위해 논리적 주소(IP 주소)를 할당.
    • IP 주소를 통해 네트워크 상의 컴퓨터를 식별하고 주소를 지정.
  • 라우터와 라우팅
    • 라우터: 네트워크 간 데이터를 연결하고 전송하는 기기.
    • 라우팅: 라우터에 의해 네트워크 간 데이터가 전송되는 과정.
    • 라우터는 내부의 라우팅 테이블을 이용해 경로 정보를 등록하고 최적의 경로를 탐색.
  • End-to-End 통신
    • 출발지와 목적지 간 데이터 전송 과정을 의미.
    • 최적의 경로를 통해 데이터가 전송됨.

링크 계층

유선 LAN

- 유선 LAN을 이루는 이더넷은 IEEE802.3 프로토콜을 따름.

- 전이중화 통신

- 예전에는 반이중화 통신을 썼다.

- 8개의 구리선을 2개씩 꼬아서 만든 케이블 사용(트위스트 페어 케이블 : 커넥터는 RJ-45)

*실드 처리를 하면 UTP 케이블(일반적인 LAN 케이블), 실드가 없으면 STP

 

전이중화(Full duplex) 통신이란?

양쪽 장치가 동시에 송수신할 수 있는 방식(동시, 양방향 통신)

 

반이중화(half duplex) 통신이란?

양쪽 장치는 서로 통신할 수 있으나, 동시에는 할 수 없는 방식 (단일, 양방향 통신)

수신 송신이 채널이 나눠져 있지 않아, 동시에 통신이 안된다.

 

무선 LAN은 반이중화 통신을 사용한다. 

 

무선 LAN

- 무선 신호 전달 방식을 이용하여 2대 이상의 장치를 연결하는 기술

- 지그비, 블루투스, 와이파이 등

- 무선 접속 장치(AP)가 있어야 함 -> 흔히 공유기라고 함.

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'SW개발 > 면접을 위한 CS 전공지식 노트' 카테고리의 다른 글

2.5 HTTP  (0) 2025.01.07
2.4 IP주소  (1) 2025.01.07
2.3 네트워크 기기  (0) 2025.01.07
2.1 네트워크 기초  (1) 2024.12.31
면접을 위한 cs 전공지식 노트 요약본  (3) 2024.12.31
  1. TCP/IP 4계층
  2. 애플리케이션 계층
  3. 전송 계층
  4. TCP와 UDP의 차이점
  5. TCP의 가상회선 패킷 교환 방식
  6. UDP의 데이터그램 패킷 교환 방식
  7. TIME_WAIT 상태의 필요성
  8. 인터넷 계층
  9. 링크 계층
'SW개발/면접을 위한 CS 전공지식 노트' 카테고리의 다른 글
  • 2.4 IP주소
  • 2.3 네트워크 기기
  • 2.1 네트워크 기초
  • 면접을 위한 cs 전공지식 노트 요약본
코코도롱
코코도롱
    반응형
  • 코코도롱
    도롱이의 전자공학소
    코코도롱
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • AI (16)
        • 데이터 분석과 모델 학습 (4)
        • 모델별 정리 (7)
        • (PJT)음성 화자 분류 (4)
      • SW개발 (38)
        • C++ (9)
        • 면접을 위한 CS 전공지식 노트 (24)
        • Django+Vue.js (0)
        • 이런저런 개발이야기 (1)
        • 갑자기 C코테를 봐야할때 (2)
        • RPI5 프로젝트 (1)
        • 트러블슈팅 (1)
      • ESG (2)
        • 내가 쓰는 Assay (1)
        • 뉴스 스크랩 (1)
      • 반도체 (4)
        • 반도체 (3)
        • 슬기로운 학부생활 (1)
        • 회로 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    홉바이홉통신
    페이징 기법
    요약본
    ESG
    데이터분석 #데이터전처리 #결측치 #머신러닝 #딥러닝 #Pandas #DataFrame
    보고서 수식
    데이터분석 #머신러닝 #딥러닝 #데이터사이언스 #알고리즘 #데이터전처리
    c언어 입출력
    파일입출력 #DataFrame불러오기
    입출력관리
    메시지큐
    면접을 위한 cs전공지식 노트
    데이터전처리 #데이터분석 #딥러닝 #머신러닝 #Pandas #Numpy #Python
    반도체 공학
    멀티프로세스
    반도체 물성
    CS지식
    ios7계층
    c io
    면접을 위한 CS 전공지식 노트
    os구조
    전공 지식
    홉바이홉
    LAN
    word 수식
    반도체 소자 공학
    정리본
    공백포함입력받기
    MySQL
    운영체제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코코도롱
2.2 TCP/IP 4계층 모델
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.