TCP/IP 4계층 모델

James_·2022년 5월 21일
0

CS

목록 보기
2/4

면접 질문 중 한 번씩 나올 수 있는 TCP/IP 4계층 모델을 공부해보자

인터넷 프로토콜 스위트(Internet Protocol Suite)?

인터넷에서 컴퓨터들이 서러 정보를 주고받는데 쓰이는 프로토콜의 집합이며, TCP/IP 4계층, OSI 7계층 모델로 설명할 수 있음

계층 구조

어플리케이션 계층

FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층이며 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 계층이다.

FTP

장치와 장치 간의 파일을 전송하는데 사용되는 표준 통신 프로토콜

SSH

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

HTTP

World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는데 쓰는 프로토콜

SMTP

전자 메일 발송을 위한 인터넷 표준 통신 프로토콜

DNS

도메인 이름과 IP 주소를 매핑해주는 서버

전송 계층

송신자와 수신자를 연결하는 통신 서비스를 제공한다.
연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어 제공, 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때까지 중계 역할을 한다.
대표적으로 TCP, UDP가 있음.

TCP

패킷 사이의 순서를 보장하며 연결지향 프로토콜을 사용해서 연결하여 신뢰성을 구축해서 수신 여부를 확인하며 가상회선패킷 교환 방식을 사용함.

가상회선 패킷 교환 방식

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

TCP 연결 성립 과정

TCP는 신뢰성을 확보할 떄 3-way handshake 작업을 진행한다.

  • SYN
    Synchronization의 약자, 연결 요청 플래그

  • ACK
    Acknowlegement의 약자, 응답 플래그

  • ICN
    Initial Sequence Number의 약자, 초기 네트워크 연결시 할당된 32비트 고유 시퀀스 번호

연결 과정
  1. SYN 단계: 클라 -> 서버 ISN을 담아 SYN을 보냄
  2. SYN + ACK 단계: 서버는 클라의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라의 ISN + 1을 보냄
  3. ACK 단계: 클라는 서버의 ISN+1한 값인 승인번호를 담아 ACK를 서버에 보냄

3-웨이-핸드셰이크 과정 이후 신뢰성이 구축되고 데이터 전송을 시작함.
TCP는 이 과정이 있기 떄문에 신뢰성이 있는 계층이며 UDP는 이 과정이 없기 때문에 신뢰성이 없는 계층이라고 한다.

연결 해제 과정

1.클라가 연결을 닫으려고 할때 FIN으로 설정된 세그먼트를 보내고 FIN_WAIT_1 상태러 들어가고 서버의 응답을 기다림
2.서버는 클라에게 ACK 승인 세그먼트를 보냄. 그리고 CLOSE_WAIT 상태에 들어감, 클라가 받으면 FIN_WAIT_2상태에 들어감
3.서버는 ACK를 보내고 일정 시간 이후에 클라이언트에게 FIN이라는 세그먼트를 보냄
4.클라이언트는 TIME_WAIT 상태가 되고 다시 서버로 ACK를 보내서 서버는 CLOSED상태가 됨. 클라는 어느정도 대기한 후 연결이 닫힘 양 쪽다 모든 자원 연결 해제됨

TIME WAIT을 하는 이유?

  • 지연 패킷이 발생할 경우를 대비(데이터 무결성 문제)
  • 두 장치가 연결이 닫혔는지 확인하기 위해(LAST_ASK에서 닫히게 되면 다시 새로운 연결시 장치는 계속 LAST_ACK 상태가 됨)

UDP

순서를 보장하지 않고 수신 여부를 확인하지 않으며 단순히 데이터만 주는 데이터그램 패킷 교환 방식을 사용한다.

데이터그램 패킷 교환 방식

패킷이 독립적으로 이동하여 최적의 경로를 선택하여 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 순서가 다를 수 있음.

인터넷 계층

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

링크 계층

전선, 광섬유, 무선 등으로 실직적으로 데이터를 전달하며 장치간에 신호를 주고받는 규칙을 정하는 계층
네트워크 접근 계층이라고도 함

profile
Android 개발자

0개의 댓글