▶Transmission 전송
▶Control 제어
▶Protocol 프로토콜
의 약어로
이는 데이터를 전송할 때 연결을 지향하며 안정성에 주안점을 둔 프로토콜로서
가상회선 방식을 사용하고 연결 후 데이터를 전송하기 때문에 신뢰성이 높으며
데이터의 흐름 제어, 혼잡 제어 기능들을 가지고 있습니다.
▶Source Port/Destination Port(송신 포트/수신 포트)
: 송수신 프로세스에 할당된 네트워크 포트 번호
▶Sequence Number(시퀀스 번호)
: 송신자가 지정하는 순서 번호
▶Acknowledgement Number(ACK 번호)
: 수신 프로세스가 제대로 수신한 바이트의 수를 응답하기 위해 사용
▶Window size(윈도우 사이즈)
: 슬라이딩 윈도우 프로토콜에서 수신 윈도우의 버퍼 크기를 지정하려고 사용하며,
수신 프로세스가 수신할 수 있는 바이트의 수를 표시
▶Checksum(체크섬)
: TCP 세그먼트에 포함되는 프로토콜 헤더와 데이터 모두에 대한 변형 오류를 검출하려고 사용,
IP 프로토콜에서 사용하는 오류 검출 알고리즘을 사용
▶Urgent Pointer(에이전트 포인터)
: 긴급 데이터를 처리하기 위한 것으로, URG 플래그 비트가 지정된 경우에만 유효,
이 필드를 사용해 송신 프로세스가 긴급히 처리하려는 데이터의 전송이 가능
▶옵션은 기타 정보를 위한 부분
URG(Urgent Pointer)
긴급(데이터 전송 중 긴급하게 전해야 할 내용이 있을 경우 사용순서에 상관없이 먼저 송신됨)
ACK (Acknowledgement)
수신 양호(필드에 확인응답번호 값이 세팅되었음을 알림,
ACK응답을 통해 패킷을 보내는데 성공/실패여부를 판단하여 재전송 혹은 다음 패킷을 전송함)
PSH(Push)
밀어넣기(빠른 응답을 위해 상위계층 응용프로그램으로 즉시 전달)
RST(Reset)
연결 재설정(연결생성 된 회선에 강제 리셋을 요청, 비정상적인 세션을 끊을 때 사용)
SYN(Synchronize)
연결시작(연결 설정 초기화를 위한 순서번호의 동기화)
FIN(Finished)
연결종료(세션 연결 종료 시 사용)
TCP는 일정 시간 안에 데이터나 ACK를 받지 못한다면 재전송을 수행하도록 기능이 설계되어 있다.
즉, TCP는 데이터 전송 후 타이머를 설정하고, 타이머 종료까지 ACK를 받지 못하면 타임아웃이 발생함
통신전 클라이언트는 포트가 닫힌 Closed 상태,
서버는 해당포트로 서비스를 제공할 수 있는 Listen 상태
1. 클라이언트가 연결을 맺자고 요청하는 SYN(Synchronize: 동기화) 패킷을 보내면
2. 서버는 요청을 승인하는 SYN+ACK(Acknowledge:수락) 패킷 보내고
3. 클라이언트는 서버의 승인 패킷을 확인했다는 의미로 ACK 패킷을 보내게 되고
이러한 3단계를 거치면 연결 생성(Established) 상태가 됩니다.
1. 클라이언트가 통신을 끊고자 서버에 PIN패킷을 보낸 후 CloseWait 상태가 되고
2. 서버는 연결종료요청을 확인하고 응답으로 ACK 패킷 보내고
3. 서버도 연결종료 하겠다는 의미로 클라이언트에게 PIN패킷을 보낸 후CloseWait 상태가된다
4. 클라이언트는 서버의 응답을 확인했다는 의미로 ACK 패킷을 보내게 되고 이러한 4단계를 거치면 연결 해제상태가 됨
▶User 사용자
▶Datagram 데이터그램
▶Protocol 프로토콜
의 약어로
이는 데이터를 전송할 때 연결을 지향하지 않고 데이터의 전송속도를 올리는데 주안점을 둔 프로토콜로서
데이터를 적절한 애플리케이션으로 배분하기만 할 뿐 확인은 하지 않기 때문에
연결 후 데이터를 빠르게 전송은 가능하지만 신뢰성이 낮고 대신 과정이 줄음으로써 전송의 효율이 좋음
▶Source Port/Destination Port(송신 포트/수신 포트) : 송수신 프로세스에 할당된 네트워크 포트 번호
▶Length(길이) : 프로토콜 헤더를 포함한 UDP 데이터그램의 전체 크기
▶Checksum(체크섬) : 프로토콜 헤더와 데이터에 대한 오류 값을 제공
TCP는
세그먼트데이터송신시도 중에 발생될 비트의 오류를 검출함으로써 필수적으로 해야 함
UDP는
송신 측에서 체크섬 값을 전부 Zero로 송출하면 수신 측은 체크섬을 하지 않아도 되는 선택사항
[리팩토링_7주차] DDoS, Firewall, IDS 와 IPS (0) | 2023.03.03 |
---|---|
[리팩토링_6주차] 계층별 프로토콜(2) (0) | 2023.03.03 |
[리팩토링_6주차] 계층별 프로토콜(1) (0) | 2023.03.03 |
[리팩토링_5주차] OSI 계층별 장비 (0) | 2023.01.30 |
[리팩토링_3주차] OSI 7 Layer (0) | 2023.01.04 |