CS공부/네트워크
[네트워크] TCP / UDP
minkyoe
2020. 9. 27. 19:56
TCP
- Transmission Control Protocol, 전송제어 프로토콜
- 신뢰성이 없는 인터넷을 통해 종단간에 신뢰성있는 바이트 스트림을 전송하도록 특별히 설계됨
- 송신자와 수신자 모두가 소켓을 생성함으로써 이루어짐
- 연결 설정은 '3-way handshake'를 통해 행해짐
- 전이중(full-duplex), 점대점(point to point) 방식
- 전이중 : 전송이 양방향으로 동시에 일어날 수 있음
- 점대점 : 각 연결이 정확히 2개의 종단점을 가지고 있음
- 멀티캐스팅 or 브로드캐스팅 지원X
UDP
- User Datagram Protocol, 사용자 데이터그램 프로토콜)
- Transport layer에서 사용하는 프로토콜
- 비연결형 프로토콜
- 손상된 세그먼트의 수신에 대한 재전송을 하지 않음
- 장점: 데이터의 신속성 (TCP보다 데이터 처리가 빠름)
- ex. DNS
DNS
- UDP를 사용하는 이유
- Request의 양이 적음
- 3 way handshaking으로 연결을 유지할 필요 X (오버헤드 발생)
- Request에 대한 손실은 Application Layer에서 제어가 가능
- TCP 사용할 때 있음 -> 크기가 512바이트가 넘을때 (UDP 제한 넘을때)
참고
github.com/JaeYeopHan/Interview_Question_for_Beginner
JaeYeopHan/Interview_Question_for_Beginner
:boy: :girl: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: - JaeYeopHan/Interview_Question_for_Beginner
github.com
github.com/gyoogle/tech-interview-for-developer
gyoogle/tech-interview-for-developer
👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.
github.com