이번 시간에는 네트워크에서 사용하는 프로토콜 중 TCP & UDP에 대한 개념 및 동작 원리 , 차이점에 대해서 알아보도록 하겠습니다. 이 부분도 기본 중에 기본이니 확실하게 이해하고 가시기 바랍니다.
1. TCP ( Transmission Contorol Protocol )
: 신뢰성 있는 프로토콜
통신을 하기 전 3-way handshaking을 통해서 연결 설정을 맺고 , 연결을 끝낼 때도 4-way handshaking을 통해서 통신이 이루어지기 때문에 신뢰성이 있는 프로토콜이라고 부릅니다.
★ 3-way handshaking
- 서버와 클라이언트 (Host A와 Host B)
: 클라이언트인 Host_A가 Host_B와 통신하고자 할 때 그냥 통신하는 것이 아니고 3가지 단계를 거쳐 통신 연결을 합니다.
1. 나랑 통신하자 (Syn 보내기) : 클라이언트가 서버한테 요청을 하게 됩니다.
2. 그래! 너도 나랑 통신하자 (Syn / Ack 보내기) : 서버도 응답을 하게 되고 , 클라이언트에게 통신하자는 요청을 함
3. 그래 좋아 (Ack 보내기) : 클라이언트가 서버에게 좋다는 응답을 보냄
이 3가지 단계를 거쳐야 그다음부터 정상적인 통신이 이루어지게 됩니다. 이렇게 연결된 상태를 "세션"이라고 부르고요. 세션 상태에서 데이터들이 왔다 갔다 하면서 통신이 이루어지는 것입니다.
★ 4-Way Handshaking
- 서버와 클라이언트 (Host A와 Host B)
: 클라이언트인 Host_A가 Host_B와 통신을 끝내고 싶을 때는 4 단계를 거쳐 통신 연결을 합니다.
1. 나랑 통신 그만하자 (FIN 보내기) : 클라이언트가 서버한테 요청을 하게 됩니다.
2. 그래! (Ack 보내기) : 서버가 클라이언트에게 응답을 보냅니다
3. 너도 나랑 통신 그만하자 (FIN 보내기) : 서버도 클라이언트에게 통신을 그만하자는 요청을 함
4. 그래 좋아 (Ack 보내기) : 클라이언트가 서버에게 좋다는 응답을 보냄
이 4가지 단계를 거쳐야 그다음부터 정상적인 통신이 끊어지게 됩니다. 이 정도로 하니까. TCP 통신이 신뢰성이 있다고 하는 것이겠지요. TCP는 연결 전 , 통신 , 연결 후가 복잡한 만큼 신뢰성이 있어야 하기 때문에 인터넷 할 때 보통 사용함
2. UDP ( User Datagram Protocol )
신뢰성 없는 프로토콜
: 위에서 처럼 3 Way Handshaking / 4 Way Handshaking을 거치지 않기 때문에 패킷이 손실되거나 통신이 안돼도 확인이 불가합니다. 이렇게 때문에 신뢰성이 없어도 되는 영상을 보낼 때 많이 사용합니다.
3. TCP & UDP 차이점 쉬운 설명
예를 들어서 설명해 보겠습니다.
사무실 안에 여러 사람들이 모여있다고 생각합시다. 차이점을 비유를 들어서 TCP와 UDP를 설명해 보겠습니다.
※ TCP
사무실에 우체부가 편지를 들고 와서 , 사무실 안에 있는 유재석 씨에게 편지 왔습니다~하고 유재석 씨가 편지를 받고 , 잘 받았다고 우체부한테 사인을 해주고 가는 형식의 통신방법 (홍길동은 목적지 , 편지는 패킷)
장점 - 유재석 씨는 편지를 꼭 받는다 - 유재석 씨가 없으면 편지를 받지 못했다고 알려준다 (신뢰성이 있다) 단점 - 편지를 받아서 싸인까지 해주느라 시간이 많이 걸린다. (속도가 느리다)
※ UDP
우체부가 편지를 들고 와서 , 사무실 안에 있는 유재석 씨 편지 왔습니다~하고 편지를 사무실 안에 던져놓고 가는 형식의 통신방법 (홍길동은 목적지 , 편지는 패킷)
장점 - 편지만 던지고 바로 나간다 (속도가 빠르다)
단점 - 편지를 유재석 씨가 잘 받았는지 못 받았는지 확인할 방법이 없다. (신뢰할 수 없는 방식)
위 내용처럼 비유를 들어서 이해하시면 TCP & UDP의 개념이나 차이점이 쉽게 이해가 되실 겁니다. TCP에서 3 way-handshaking , 4 way-handshaking은 반드시 완벽하게 이해하시고 다음 단계로 넘어가시기 바랍니다.
2021.03.09 - [네트워크] - 콜루젼 도메인 & Broadcast 도메인 (허브와 스위치 차이점)
2021.03.10 - [네트워크] - LACP 개념 및 동작원리 , 설정 , 장. 단점
2021.03.12 - [네트워크] - 루핑(Looping)의 원인 및 발생 이유 , 해결 방법
2021.03.13 - [네트워크] - STP (Spanning Tree) 동작원리 , 종류 , 계산방법
저의 글을 읽어 주셔서 감사합니다. 오늘도 즐거운 하루 보내세요.
댓글