응용 계층 다음 전송계층입니다.
전송 계층은 애플리케이션과 인터넷 계층 사이 데이터를 송수신하는데 있어서 중개 역할을 합니다.
이 때
TCP는 도착 순서를 보장하고, 수신 여부를 확인하는 신뢰성 있는(마치 등기우편) 가상회선 패킷 교환 방식을 사용하고,
UDP는 도착 순서를 보장하지 않고, 수신 여부를 확인하지 않는 단순 데이터 전달만 목적인 (마치 일반우편) 데이터 그램 패킷 교환 방식을 사용합니다.
정리하자면,
TCP | UDP | |
연결방식 | 연결형 서비스 | 비 연결형 서비스 |
패킷 교환 방식 | 가상 회선 패킷 교환방식 | 데이터그램 패킷 교환 방식 |
전송 순서 | 순서 보장 | 순서 보장하지 않음 |
수신 여부 확인 | 수신 여부를 확인 | 수신 여부를 확인하지 않음 |
통신 방식 | 1:1 통신만 가능 | 1:1 , 1:N , N:N 통신 모두 가능 |
신뢰성 | 높음 | 낮음 |
속도 | 느림 | 빠름 |
TCP는 연결할 때 3-way handshake방식을, 해제 할때 4-way handshake 방식을 사용합니다.
앞 선 포스팅에서 소개했지만 다시 정리할 겸 소개하자면,
1. 먼저 3-way handshake는 ISN을 담아, SYN을 서버에 보냅니다.
여기서 SYN은 synchronize의 약자로 연결 요청 플래그입니다. ISN은 초기 네트워크 설정을 할 때 할당 받는 고유 비트 번호입니다.
2. 서버는 이 SYN을 받고 승인의 번호로 ISN에 +1을 하여 SYN과 ACK(응답 플래그)를 다시 클라이언트에 보냅니다.
3. 다시 클라이언트는 받은 번호 ISN + 1하여 서버에 보냅니다.
이러한 과정덕에 TCP는 신뢰성을 보장할 수 있습니다.
다음 4-way-handshake는,
1. 클라이언트가 서버와 연결을 해제하려할때 FIN 세그먼트를 보내고 클라이언트는 FIN_WAIT_1 상태로 변합니다.
2. 서버는 이를 받고 CLOSE_WAIT 상태로 변하고 연결 해제를 승인하는 의미로 ACK를 보냅니다.
3. 클라이언트는 이 ACK를 받고 FIN_WAIT_2상태로 변합니다.
4. 일정 시간 후에 서버는 FIN 세그먼트를 클라이언트에 반환합니다.
5. FIN세그먼트를 받은 클라이언트는 TIME_WAIT 상태가 되고 서버에 ACK신호를 보냅니다.
6. ACK를 받은 서버는 닫힙니다.
7. TIME_WAIT이 되었던 클라이언트는 일정 시간 후에 CLOSE됩니다.
(일정 시간을 들인 이유는 지연 패킷등의 이유가 있습니다.)
'컴퓨터공학' 카테고리의 다른 글
유선LAN과 무선LAN (0) | 2022.08.12 |
---|---|
TCP/IP 인터넷 계층, 링크 계층 (0) | 2022.08.08 |
TCP/IP 애플리케이션 계층 (0) | 2022.08.06 |
TCP/IP 계층 구조 (0) | 2022.08.05 |
[1일1CS] 네트워크 프로토콜 표준화 (0) | 2022.08.02 |