컴퓨터공학 공부
컴퓨터공학 공부 다시 시작하기 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)의 단계로 진행
반응형