컴퓨터공학 공부

컴퓨터공학 공부 다시 시작하기 22주차-TCP/IP 모델 이해, ITCP 프로토콜/TCP 연결 및 연결 해제 방식 이해(네트워크)

개발학생 2025. 4. 1. 17:30
반응형

1. TCP/IP 모델 이해

  • OSI 7 Layer는 표준 모델이며, 현실에서 인터넷 통신을 위해 사용하는 모델이 TCP/ IP 모델
  • 이 모델의 응용 계층은 OSI 모델의 세션+표현+응용 계층 통합, 이 모델의 네트워크 접속 계층은 OSI 모델의 물리+데이터링크 계층 통합, 이 모델의 인터넷 계층은 OSI 모델의 네트워크 계층
응용  계층(Application Layer) HTTP, FTP, DNS, POP3, SMTP 등등
전송 계층(Transport Layer) TCP, UDP
인터넷 계층(Internet Layer) IPv4, IPv6
네트워크 접속 계층(Network Access Layer) Ethernet

 

IPv4

  • Internet Protocol version 4: 32비트로 구성(2^32개 IP 주소/0.0.0.0 ~ 255. 255. 255. 255)
    -> 비트로 표시하면: 8bit.8bit.8bit.8bit
    => 이를 5개의 클래스로 분리하는데, 이 중 상위 3개 클래스가 주로 사용됨
    • A(0~127. 255. 255. 255)
    • B(128~191. 255. 255. 255)
    • C(192~223. 255. 255. 255)
    • D(224~239. 255. 255. 255)
    • E(240~255. 255. 255. 255)
  • 자기 PC의 IP 주소: 127.0.0.1 (DNS로는 localhost)

IPv6

  • Internet Protocol version 6: 128비트로 구성(2^128개의 IP 주소)
    -> 비트로 표시하면: 16bit. 16bit. 16bit. 16bit. 16bit. 16bit. 16bit. 16bit.

2. TCP 프로토콜/TCP 연결 및 연결 해제 방식 이해 

TCP 프로토콜

  • Sequence Number: 일정 단위로 데이터를 분할해서 전송하며, 송신 측에서 수신 측에 데이터가 몇 번째 데이터인지 알려줌
  • ACK Number: 데이터를 어디까지 수신했는지 확인 가능(다음 번호의 데이터 알려줌) 

필드명 길이(비트) 기능
Source Port 16 송신 측 포트
Destination Port 16 수신 측 포트
Sequence Number 32 송신된 데이터의 순서 번호
Ack Number 32 수신된 데이터의 순서 번호+1(그 다음 데이터를 보내달란 의미)
Code Bits URG 1 긴급 데이터임을 표시
ACK 1 Ack Number용 데이터임을 표시
PSH 1 수신 측 버퍼가 다 찰 때까지 기다리지 않고, 바로 전달 요청
RST 1 접속 리셋 요청 시 사용
SYN 1 연결 요청 시 사용
FIN 1 연결 종료 시 사용

실제 TCP 프로토콜 데이터 이해 

  • 패킷 분석 프로그램(wireshark)
    : 윈도우는 pcap도 함께 설치, 맥은 wireshark만 설치 가능
    -> Loopback: loO 선택 후, tcp.port == 9999 

3-way 핸드쉐이크(handshake): TCP 연결 방식

  • TCP 통신을 위한 연결 설정 과정

4-way 핸드쉐이크(handshake): TCP 연결 해제 방식

  • 단, 최근에는 FIN과 ACK를 동시에 보냄 
    -> FIN/ACK(Seq=u), ACK(ACK=u+1), FIN/ACK(Seq=2, ACK=u+1), ACK(Seq=u+1, ACK=w+1)의 단계로 진행 

 

반응형