TCP(TransmissionControlProtocol)는 IP프로토콜 위에서 연결형 서비스를 지원하는 전송계층 프로토콜로, 인터넷 환경에서 기본으로 사용한다.
TCP에서 제공하는 주요 기능은 다음과 같다.
• 연결형 서비스를 제공한다.
• 전이중(FullDuplex) 방식의 양방향 가상 회선을 제공한다.
• 신뢰성 있는 데이터 전송을 보장한다.
3 Way Handshake(TCP 연결수립 과정)
연결수립 과정과 TCP 상태 정보
1. 클라이언트는 서버에 접속 요청하는 SYN 패킷을 보낸다.
클라이언트는 SYN을 보내고 SYN/ACK 응답을 기다리는 SYN_SENT 상태가 된다.
2. 서버는 SYN 요청을 받고 클라이언트에 요청을 수락한다는 ACK과 SYN flag가 설정된 패 킷을 보내고 클라이언트가 ACK로 응답하길 기다린다.
이 때 서버는 SYN_RECEIVED 상태가 된다.
3. 클라이언트는 서버에 ACK를 보내고 이후 연결이 이루어지며 데이터가 오간다.
서버는 ESTABLISHED 상태가 된다.
UDP란
UDP(User Datagram Protocol)란 인터넷에서 정보를 주고 받을 때, 서로 주고받는 형식이 아닌 *한쪽에서 일방적으로 보내는 방식의 프로토콜.
UDP의 특징
UDP는 8Byte 포트번호와 최소한의 에러 체크만하는 *단순한 프로토콜이며, 목적지와 연결 설정이 없음으로 *비 연결형 서비스 입니다.
TCP와 달리 Sequence/ACK 번호와 Window 사이즈가 없어서 순서 제어와 흐름제어가 불가능하고, *연결설정 및 제어기능이 빠진 대신 *전송속도가 빠릅니다.
즉 *비디오&오디오 등 스트리밍에 적합합니다. 그리고 수신측에 제대로 도착했는지 확인 여부가 보장되지 않기 때문에 *비 신뢰성 서비스 입니다.
UDP의 전송방식
*비 연결성적인 특성 때문에 세션은 양 쪽에 커뮤니케이션이 일어나기 전에는 만들어지지 않고 송,수신을 하는 자료가 있을 때 단순히 자료를 송, 수신 하는데 그칩니다.
*다수의 데이터그램 전송 시에는 신뢰성을 보장 받을 수 없으며, *단순히 데이터를 재조립하고 어플레케이션에게 제공합니다.
UDP의 비 신뢰성
TCP는 메시지가 잘 보내졌는지 확인 할 수 있지만 UDP는 확인 할 수 없습니다.
그럼으로 인해 UDP로 전송된 패킷은 순서가 뒤 바뀔 수도 있으며, 중간에 패킷이 손실 될 수 도 있습니다.
이렇듯 UDP는 단순히 데이터그램 위주의 통신을 하기 때문에 데이터그램 지향 프로토콜이라고 불리기도 합니다.
데이터그램
발신지와 수신지 컴퓨터 그리고 전송 네트워크 사이에서 이전의 데이터 교환과 관계없이 발신지로부터 수신지 컴퓨터로 배달 되어지는 충분한 정보를 갖는 독립적인 데이터실체 입니다. (인터넷이 운반해야할 메시지 단위인 패킷이라 봐도 무방함)
UDP 서비스
: 동영상, mvoip, voip
VoIP(VoiceoverInternetProtocol)
: IP 주소를 사용하는 네트워크를 통해 음성을 디지털 패킷(데이터 전송의 최소 단위)으로 변 환하고 전송하는 기술이다. 다른 말로 인터넷전화라고 부르며, ‘IP 텔레포니’ 혹은 ‘인터넷 텔레포니’라고도 한다.
3세대(3G) 이동통신망을 이용한 인터넷 전화서비스를 말한다.
스카이프, 프링, 님버즈 등 인터넷전화서비스를 단말기에 다운받아 사용하며, 일반적인 이동통신 요금보다 저렴하게 음성통화를 할 수 있다는 점이 특징이다.
'network 이론 > basic network' 카테고리의 다른 글
ARP (0) | 2016.11.06 |
---|---|
VPN (0) | 2016.11.06 |
Collision Domain 및 Broadcast Domain (0) | 2016.09.06 |
TCP/IP model (0) | 2016.09.06 |
TCP / UDP (0) | 2016.09.03 |