TCP/IP 프로토콜
TCP/IP는 인터넷 통신 시 실제로 사용하는 표준 모델이다.
OSI 7 계층의 이론적인 표준 모델의 일부를 묶어 TCP/IP 4 계층으로 나타낸다.
TCP(Transmission Control Protocol)
TCP는 3-way, 4-way handshake과정을 통해 데이터를 신뢰성 있게 전송할 수 있도록 하는 프로토콜이다.
IP 위에서 동작하며, 데이터 전달을 보증하고 보낸 순서대로 받게 해준다.
TCP 헤더에 SYN, ACK, FIN, RST, Source Port, Destination Port, Sequence Number, CheckSum 등의 요소들을 이용해 데이터의 정보를 다룬다.
IP (Internet Protocol)
IP는 데이터 송수신 시에 패킷 교환 방식으로 데이터를 주고받을 때 사용하는 프로토콜이다.
이때, 송신 호스트와 수신 호스트는 IP 주소라는 것을 가지게 되는데, 이것은 전 세계의 여러 호스트 중에 이용자를 특정할 수 있는 고유한 주소라고 볼 수 있다.
TCP의 연결 과정
TCP는 연결 시에 3-way handshake라는 과정을 거치고,
연결 종료 시에는 4-way handshake라는 과정을 거치게 된다.
SYN, ACK, FIN, RST, URG, PSH 등의 Flag bit로 TCP 연결 제어 및 데이터를 관리한다.
- SYN : Connection 생성 시 사용하는 Flag
- FIN : Connecion 종료 시 사용하는 Flag
- ACK : 데이터 전송 시 잘 받았음을 알리기 위해 사용하는 Flag
3-way handshake
연결 요청을 위해 SYN(N)을 담아서 보내면, ACK(N+1)을 보내서 잘 받았다고 알린다.
Data 전송 시
Packet 단위로 데이터를 주고받는다.
데이터를 주고받을 때마다 데이터가 잘 전송되었다는 신호(ACK)를 보내서 확인한다.
만약 ACK신호를 돌려받지 않으면, 데이터가 잘 전송되지 않았다는 뜻이기 때문에 데이터를 제전송한다.
4-way handshake
연결 종료 시에도 FIN - ACK를 두 번 주고받으며 안전하게 종료한다.
UDP(User Datagram Protocol)
UDP는 TCP와 달리 신뢰성보다는 데이터 효율성을 중시한다.
따라서 3-way, 4-way handshake나 데이터 송수신시 ACK와 같은 확인 신호 등의
신뢰성을 위한 장치들을 사용하지 않고 데이터를 전송한다.
따라서 일방적으로 데이터를 보내고, 데이터 전송이 조금씩 문제가 있어도 상관없는
동영상 스트리밍과 같은 통신 시에 사용한다.
매번 ACK를 기다리지 않고, 여러 패킷을 연속해서 송신한다.
'컴퓨터 공학' 카테고리의 다른 글
[Web/암호화] Web개발자 관점에서 보는 여러가지 암호화 방식 (RSA / SHA / AES) (0) | 2024.10.08 |
---|---|
[CS] CPU 파이프라인 (0) | 2023.07.14 |
[CS] CPU의 구조와 동작 원리, 데이터 접근 (0) | 2023.07.12 |
[CS] 메모리 계층과 저장 장치(RAM, Register,Cache, HDD) (0) | 2023.07.11 |
[CS/디지털논리회로] 덧셈기(adder), 반 가산기, 전 가산기 (0) | 2023.07.11 |