CS/면접을 위한 CS 전공지식 노트

[CH2.2] TCP/IP 4계층 모델

bibibibibiN 2024. 12. 11. 19:47

0. TCP/IP

  • 인터넷 프로토콜 스위트 : 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜 집합

 

1. 계층 구조

  • TCP/IP 4계층 VS OSI 7계층

 

  • 공통점
  • 특정 계층 변경되었을 때 다른 계층 영향 X
  • 차이점
  • OSI는 애플리케이션 계층을 세 개(애플리케이션/프레젠테이션/세션)로 쪼갬.
  • OSI는 링크 계층을 두 개(데이터 링크/물리)로 쪼갬

 

1) 애플리케이션 계층

  • FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층
  • 웹 서비스, 이메일 등 서비스 제공

 

2) 전송 계층

  • 송신자와 수신자를 연결하는 통신 서비스 제공
  • 애플리케이션과 인터넷 계층 사이 데이터가 전달될 때의 중계

 

  • TCP, UDP
프로토콜 종류 순서 보장 수신 여부 확인 패킷 교환 방식
TCP O O 가상회선 패킷 교환 방식
UDP X X 데이터그램 패킷 교환 방식

 

가상회선 패킷 교환 방식

  • 가상회선 패킷 교환 방식 : 패킷이 순서대로 도착

 

데이터그램 패킷 교환 방식

  • 데이터그램 패킷 교환 방식 : 패킷이 따로, 순서 다르게 도착

 

  • TCP 연결 성립 과정

3웨이 핸드셰이크

  1. SYN 단계 : 클라이언트는 서버에 클라이언트 ISN을 담아 SYN 송신
  2. SYN + ACK 단계 : 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 송신
  3. ACK 단계 : 클라이언트는 서버의 승인번호 담아 ACK를 서버에 송신
  • TCP 연결 해제 과정

  1. 클라이언트는 연결 닫을 때 서버에 FIN 보냄. 클라이언트는 FIN_WAIT_1 상태로 들아감
  2. 서버는 클라이언트에 ACK 보냄. CLOSE_WAIT 상태로 들어감. 클라이언트는 ACK 받으면 FIN_WAIT_2 상태로 들어감
  3. 서버가 클라이언트에 ACK 보내고 시간 지나면 클라이언트에 FIN QHSOA
  4. 클라이언트는 TIME_WAIT 상태 되고 다시 서버로 ACK 보냄. 서버는 CLOSED 상태로 감.
  5. 클라이언트 대기 후 모든 자원 연결이 해제됨.

3) 인터넷 계층

  • 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층
  • 상대방이 제대로 받았는지 보장 X (비연결형)

4) 링크 계층 ( = 네트워크 접근 계층 ) ( = 물리 계층 + 데이터 링크 계층)

  • 실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 '규칙'을 정하는 계층
  • 물리 계층 : LAN을 통해 0과 1로 이루어진 데이터 송신
  • 데이터 링크 계층 : '이더넷 프레임'을 통해 에러 확인. 흐름 제어. 접근 제어

 

유선 LAN

 

  • 전이중화 통신
  • 양쪽 장치가 동시에 송수신할 수 있는 방식
  • CSMA/CD
  • 유선 LAN에 '반이중화 통신' 중 하나.
  • 데이터 '보낸 이후' 충돌 발생하면 일정 시간 이후 재전송
  • 트위스트 페어 케이블
  • 하나의 케이블처럼 보이지만 실제로는 여덟 개의 구리선을 두 개씩 꼬아서 묶은 케이블
  • 광섬유 케이블
  • 광섬유로 만든 케이블. 레이저로 통신하기 때문에 장거리 및 고속 통신 가능

 

무선 LAN

 

  • 반이중화 통신
  • 양쪽 장치가 서로 통신은 가능하지만 동시에는 불가능
  • CSMA/CA
  • 장치에서 데이터를 보내기 전에 사전에 가능한 한 충돌 방지하는 방식
  • 와이파이
  • 전자기기들이 무선 LAN 신호에 연결할 수 있게 하는 기술. 무선 접속 장치(AP = 공유기)가 필요.
  • BSS
  • 기본 서비스 집합. 동일 BSS 내에 있는 AP들과 서로 통신이 가능한 구조
  • ESS
  • 하나 이상의 연결된 BSS 그룹. 장소 이동에도 중단 없음

 

계층 간 데이터 송수신 과정

계층 간 데이터 송수신 과정

  • 애플리케이션 계층 --(요청값 캡슐화)--> 전송 계층 --(서버와 통신)--> 링크 계층 --(비캡슐화)--> 애플리케이션 계층

 

  • 캡슐화 과정

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

 

  • 비캡슐화 과정

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

 

=> 최종적으로 사용자에게 애플리케이션의 PDU인 메시지로 전달

 

2. PDU

  • PDU : 네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위
  • 헤더(제어 관련 정보들) + 페이로드(데이터)

 

  • PDU의 계층별 명칭
  • 애플리케이션 계층 : 메시지
  • 전송 계층 : 세그먼트(TCP), 데이터그램(UDP)
  • 인터넷 계층 : 패킷
  • 링크 계층 : 프레임(데이터 링크 계층), 비트(물리 계층)

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

[CH2.4] IP 주소  (0) 2024.12.13
[CH2.3] 네트워크 기기  (0) 2024.12.12
[CH2.1] 네트워크의 기초  (1) 2024.12.11
[CH1.2] 프로그래밍 패러다임  (0) 2024.12.06
[CH1.1] 디자인패턴  (0) 2024.12.04