Web

TCP UDP 란?

JUNGKEUNG 2021. 7. 3. 00:20

TCP UDP 알기 전에 인터넷 네트워크가 무엇인지부터 알고 가자

 

인터넷 네트워크란?


인터넷 네트워크는 각각 컴퓨터한테 IP주소가 부여되고 그 IP를 통해 서로 주고받을 수 있다.

그럼 IP 인터넷 프로토콜 역할이 무엇인가?

1. 지정한 IP 주소(IP Address)에 데이터 전달

2. 패킷(Packet)이라는 통신 단위로 데이터 전달 

출처 : 인프런 HTTP강의

 

 

 

패킷이란?


컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 즉, 컴퓨터 네트워크에서 데이터를 주고받을 때 정해 놓은 규칙이다.

자신이 물건을 구입할 때 우편 주소에 자신의 주소와 보내는 사람의 주소 가 IP라고 생각하고 박스를 패킷이라고 생각하면 된다. 박스 안에는 전달하는 물건이 있는 것처럼 패킷 안에는 우리가 전달하는 데이터가 있는 것이다.

 

IP 프로토콜의 한계가 있다.

1. 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킹 전송

출처 : 인프런 HTTP강의

2. 비신뢰성 : 중간에 패킷이 사라지거나 패킷이 순서대로 안오는 상태을 말한다

출처 : 인프런 HTTP강의

3. 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라 생각해보자. 

 

 

 

인터넷 프로토콜 스택의 4 계층


애플리케이션 계층 - HTTP, FTP
전송 계층 - TCP,UDP
인터넷 계층 - IP
네트워크 인터페이스 계층

 

 

 

TCP 전송 제어 프로토콜(Transmission Control Protocol)


1. 연결 지향 TCP 3 way handshake(가상 연결)

2. 데이터 전달 보증

3. 순서 보장

4. 신뢰할 수 있는 프로토콜

5. 현재는 대부분 TCP 사용

 

 

 

TCP 3 way handshake


1. SYN : 접속 요청 (synchronize sequence numbers)

2. ACK : 요청 수락 (acknowledgment)

참고 : ACK와 함께 데이터 전송 가능

 

 

 

UDP 사용자 데이터 프로토콜(User Datagram Protocol)


1. 하얀 도화지에 비유 (기능이 거의 없음)

2. 연결 지향 - 3 way handshake 없음

3. 데이터 전달 보증 없음

4. 순서 보장 없음

5. 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름

6. IP와 거의 같다 , 도메인, 실시간 동영상 서비스에서 사용(PROT)

 

 

 

PROT 가 무엇일까?


한 번에 둘 이상 연결해야 하면?

출처 : 인프런 HTTP강의

PROT - 같은 IP 내에서 프로세스 구분

출처 : 인프런 HTTP강의

 

 

참고 강의


https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

'Web' 카테고리의 다른 글

웹 소켓이란?  (0) 2021.07.04
웹 브라우저의 요청 흐름  (0) 2021.07.04
OAuth란?  (0) 2021.06.18
URI, URL, URN 이란?  (0) 2021.06.18
쿠키 세션 그리고 캐시  (0) 2021.05.31