TCPTransfer Control Protocol
- 연결 지향형 프로토콜
- 송수신 각 컴퓨터가 데이터를 전송하기전 연결 통로를 만들고 전송하는 프로토콜
- 통신이 종료될 때까지 연결 상태를 유지
- 전송되는 패킷에 에러가 없고, 보내진 순서대로 수신측이 받을 수 있도록 신뢰성 있는 데이터 전송을 보장
- 패킷의 다중화
- Stream 전송 기능을 제공
TCP 통신과정
-
통신 연결 과정
- 3-way handshaking
- 1 . 송신측이 수신측에 SYN segement를 보내어 connection Request
- 2 . 수신측이 송신측에 수신 확인으로 SYN segement와 ack를 전송
- 3 . 송신측이 수신측에 응답 segement의 확인 응답(Response)으로 ack를 전송
-
통신 연결 해제 과정
- 4-way handshaking
- 1 . 송신측이 수신측에 FIN segment를 보내 Disconnection Request
- 2 . 수신측이 송신측에 확인 응답으로 ack segement 전송
- 3 . 수신측이 송신측에 FIN segement를 전송하여 disconnection Request
- 4 . 송신측이 수신측에 응답 segment의 확인 응답으로 ack를 전송
TCP 헤더
- Source Port Number / Destination Port Number : 수신지 호스트가 클라이언트에 의해 요청되는 서버라면 대부분의 경우 well-knowwn port number 이다.
- Sequence Number : 순서제어
- Acknowledgment Number : 전이중
- Checksum : 에러제어
- Window size : 흐름제어
- Flag
- URG : 긴급 데이터
- ACK : 확인 응답번호
- PSH : TCP가 받은 데이터를 상위 계층에 전달
- RST : 연결 재설정
- SYN : 순서 초기화
- FIN : 데이터 송신 종료
❗️ TCP 흐름제어
! 수신측의 컴퓨터는 패킷이 정상적으로 도착했는지의 여부를 송신측 컴퓨터에 알리며, 정상적으로 전송되지 못한 패킷은 송신측 컴퓨터가 재전송
! 슬라이딩 윈도우 방식을 사용한다.
! Window Size는 한 번에 전송되는 패킷의 개수, 수신 버퍼의 크기이다.
UDPUser Datagram Protocol
- 비연결형 지향형 프로토콜
- 패킷의 정확한 전송을 보장하지 않지만 빠른 전송이 필요한 경우 사용
- 흐름제어, 단편화 및 전송 보장, 오류 복구 기능 제공 X (TCP는 제공)
- 단순한 헤더구조라 Overhead가 적다
- 실시간 전송에 유리하며, 신뢰성보다 속도가 중요되는 네트워크에 사용
UDP 헤더
- Source Port Number / Destinmation Port Number
- Length
- Checksum : 필드는 존재하지만 반드시 값을 가져야할 필요가 없다. 그러므로 에러제어를 수행할수도 안할수도 있다.
Network
👉 가상화(virtualization)
2021.10.10
👉 Cloud의 개념
2021.10.05
👉 서브네팅 실전
2021.09.06
👉 TCP Protocol 동작과정
2021.09.06
👉 Rounting
2021.09.06
👉 네트워크 장비
2021.09.06
👉 순환 중복 검사
2021.09.06
👉 IPv6
2021.09.05
👉 IP
2021.09.04
👉 TCP와 UDP의 개념과 차이점
2021.09.03
👉 TCP/IP
2021.09.02
👉 OSI 7계층
2021.09.01
👉 HTTP와 DNS를 통한 데이터 흐름
2021.08.01
👉 HTTP 메시지
2021.07.28
댓글 쓰기