1. OSI 계층 

https://ai-hong.tistory.com/37?category=845057 

 

02. OSI 7Layer & TCP/IP 4Layer

OSI 7Layer 의 각 계층적 구조는 다음과 같다. Application 계층부터 Transport 계층까지를 Network Edge 라고 하며, Network 계층부터 Physcial 계층까지를 Nerwork Core 라고 한다. 1) Network Edge - 인터넷의..

ai-hong.tistory.com

예전에 정리해 놓은 개념이 있어 대체한다.

 

2. TCP

TCP는 OSI 7계층중 전송 계층에서 사용하는 프로토콜이다.

3 way handshake 를 통해 연결을 하며

4 way handshake 를 통해 연결을 종료한다.

--> 서로의 확인과정이 있기때문에 당연 1:1 통신만 가능하며, 신뢰성 연결을 할수있다 하지만 UDP 에 비해 확인과정을 거치기 때문에

연결 속도 전송 속도가 느릴수밖에 없다.

 

2 - 1. 연결과정

1. 연결을 위해 SYN 플래그 전송

2. 연결 확인을 위해 SYN + ACK 전송

3. ACK를 전송하여 연결 확인

 

2 - 2. 연결 종료

1. 사용 다했으니 FIN + ACK 전송

2. 서버는 클라이언트에게 확인 완료를 위해 ACK 플래그 전송

3. 서버는 클라이언트에게 아무 반응이 없다면 FIN + ACK 전송

4. 클라이언트는 서버에세 종료 확인을 위해 ACK 플래그 전송후 연결 종료

 

2 - 3. TCP 의 헤더

- Source Port: 출발지의 포트, 즉 데이터를 보내는 컴퓨터의 포트 정보입니다. 컴퓨터가 갖을 수 있는 포트는 65536개이므로 사이즈가 2바이트인것을 확인하세요.

 

- Destination Port: 반대로 목적지의 포트입니다. 

 

- Sequence Number : 송신 데이터의 일련 번호를 담고 있습니다. 

 

- Acknowledgement Number : 그전의 데이터를 잘 받았다는 표시로 상대방이 다음에 전송할 일련번호를 담고 있습니다. 줄여서 ACK라고 하겠습니다.

 

- HLEN(Header Length) : 헤더의 정보를 담고 있습니다. 4 bits의 워드 단위입니다. 헤더의 길이는 최소 20바이트 ~ 60바이트까지입니다.

 

- Reserved : 예약된 비트입니다. 아직 사용하지 않습니다. 나중을 위해서 남겨두는 비트인 셈이지요.

 

- Control Flags 

FLAG 설명
URG
(Urgent Pointer)
Urgent Pointer의 필드가 유요하다는 의미의 FLAG
ACK
(Acknowledgement)
수신 확인 응답 FLAG
PSH
(Request for push)
송수신 버퍼의 있는 데이터 즉시 처리 요청 FLAG
RST
(Reset the connection)
연결을 강제 중단합니다. TCP가 유지되고 있을때 이 FLAG를 사용하면 그 즉시 연결을 끊어 버립니다. 해커들이 Hijacking을 위해 피해자의 연결을 끊어버릴때 사용합니다. 보통의 정상적인 종료는 아래의 FIN FLAG를 설정합니다.
SYN
(Synchronize sequence number)
연결 설정 FLAG
FIN
(Terminate the connection)
정상 종료의 연결 종료 FLAG

 

- Window Size :  수신자에서 송신자로 보내는 수신자의 윈도우 사이즈입니다. 즉, 수신 버퍼의 여유공간 크기를 의미하게 되지요. 송신자는 이 윈도우 사이즈 범위 내에서 수신측의 수신 확인(ACK)을 확인하지 않고 연속적으로 데이터를 보낼 수 있습니다.

 

- Checksum : 오류를 검사하기 위한 필드입니다. 전체 데이터가 오류가 나 변형되었는지 확인합니다. 

 

- Urgent Pointer : 긴급 데이터의 위치값을 담고 있습니다. 

 

3. UDP

- 비연결성 프로토콜 로서 송신자는 수신자에게 데이터 전송만 할뿐 수신자는 확인과정을 거치지 않는다

- 이러한 특징 때문에 전송 속도가 TCP 보다 훨씬 빠른것을 알수있다.

 

3 - 1. UDP 헤더

- Source Port / Destination Port

 Source Port는 메시지를 보내는 측에서 통신을 위해 사용하는 Port 번호

 Destination Port는 목적지, 즉 메시지를 받는 측의 통신 Port 번호

 

- Total Length

 헤더와 데이터를 합한 사용자 데이터그램의 전체 길이를 정의합니다. UDP 데이터그램의 헤더인 8바이트부터 65507바이트 사이의 값이 됩니다.

 

- Checksum

→ 헤더와 데이터를 모두 포함한 사용자 데이터그램 전체에 대해 오류를 탐지하기 위해 사용됩니다.

 

 

4. TCP 와 UDP 차이점

 

 

출처

https://joycecoder.tistory.com/20

https://velog.io/@hidaehyunlee/TCP-와-UDP-의-차이

https://hwan-shell.tistory.com/271

https://swalloow.tistory.com/77

+ Recent posts