TCP/IP란?
앞서 소개한 OSI7층은 표준 모델로서 기능하고 현재 우리가 인터넷을 이용하기 위해 일하고 있는 모델은 TCP/IP 계층이다.
IP란?
- 지정된 IP 주소에 데이터 조각을 패킷 단위로 가능한 한 빨리 목적지로 보내는 역할
- 순서나 누락에 대해 신경쓰지 않는다
– IPv4: Internet Protocol version 4
: 32bit로 구성 (8bit.8bit.8bit.8bit:0.0.0.0~255.255.255.255)
– IPv6: Internet Protocol version 6
: 128bit로 구성
TCP란?
- 정확한 패킷 데이터 전송으로 보낸 순서대로 받다
- 도착한 조각을 확인하고 손상/누락된 데이터를 다시 요청합니다.
- 자신의 ‘SYN’과 ‘ACK’라는 TCP 플래그 사용. (일종의 확인 마크 정도로 이해하면 된다)
- SYN : 연결 요청
- ACK : 요청 수락
📌 TCP 연결 방식
3-way-handshake
– 연결 프로세스
– 3단계로 구성
: “보낼 수 있어? (SYN)”
4-way-handshake
– 절단 프로세스
– 4단계로 구성
: 「가도 되나요?(FIN)」➡️「자면 되나요?(ACK)」➡️「ㅇㅇ 더하기(FIN)」➡️「ㅂㅂ(ACK)」
📌 TCP 제어
네트워크 트래픽에 따라 신뢰성 있고 효율적인 데이터 전송을 위한 제어 알고리즘을 적용하는 단계;
흐름 제어: Sliding Window
- 송신측은 수신측의 데이터 처리 속도를 파악하고, 얼마나 빨리 어느 정도의 데이터를 송신하는지를 제어
- 슬라이드 윈도우(Sliding Window) 방법 사용
- Window(=데이터를 포함한 공간)의 사이즈를 확인해 ACK 없이 연속해 송신하는 방식
>>다음과 같이 리퀘스트, 리퀘스트 접수 과정에서 윈도우 사이즈 정보도 교환하게 된다
혼잡 통제:
- 네트워크 혼잡 상태가 검출되면, 송신측의 전송 데이터 사이즈를 조정하여 전송량을 제어
- 송신 제어를 위한 창
- RWND : 흐름 제어에 활용
- CWND : 네트워크 혼잡 제어에 활용
- Tahoe, Reno, New Reno, Cubic, Elastic-TCP.. 등 다양한 혼잡 제어 기술이 존재
TCP/IP 계층
– 애플리케이션 계층
- DNS(Domain Name System) : 이름 해석
- SMTP/POP3(Simple Mail Transfer Protocol) : 메일송/수신
- FTP (파일 전송 프로토콜) : TCP 환경에서의 파일 전송 프로토콜
- TFTP (Trival File Transfer Protocol) : UDP 환경에서의 파일 전송 프로토콜
- HTTP(Hypertext Transfer Protocol): 웹사이트 방문
– 전송 계층
- TCP
- UDP
– 인터넷 계층
- IP : 비연결 서비스
- ICMP : IP 제어
- ARP : 논리 주소(IP) > 물리 주소(MAC)
- RARP : 물리적 주소(MAC) > 논리 주소(IP)
– 네트워크 액세스 계층