인터넷 통신은 클라이언트 -> 서버로 갈때 수많은 노드를 지나가서 도착한다

[ 순서 ] 

1. IP주소 부여 ( = 인터넷 프로토콜 )

2. 패킷 단위로 보내게됨( 내 IP , 도착 IP , 메세지 정보등을 가짐) -> 노드를 거쳐 도착 IP로

3. 서버가 받아서 반대로 응답

 

--> 한계가 발생

1. 비연결성 ( 패킷을 받을 대상이 없거나 불능이여도 보내고 봄 )

2. 비신뢰성 ( 패킷이 사라지거나 나눠보냈는데 순서대로 도착하지 않을 수 있음)

3. 프로그램 구별 문제 ( 같은 IP에서 통신하는 어플이 둘 이상인 경우 구분하기가 어려움 )

 

--> 이를 해결하기 위해 TCP/ UDP 개념이 쓰임

 

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

1. 애플리케이션 계층 - HTTP, FTP

2. 전송 계층 - TCP, UDP

3. 인터넷 계층 - IP

4. 네트워크 인터페이스 계층 (LAN 장비)

==> 메세지 생성 -> TCP 정보 추가 -> IP 패킷 추가 -> LAN 카드에서 전송 으로 진행됨

 

TCP? 전송 제어 프로토콜 / 전송 제어, 순서 , 검증 정보를 포함하고 있음 -> 기존 한계점 해결

-특징-

(1) 연결지향 (가상 연결로 연결가능 확인 후 보냄 )

(2) 데이터 전달 보증 (정상 도착을 확인)

(3) 순서 보장

(4) PORT가 포함되어 있어 구별가능


UDP? 사용자 데이터그램 프로토콜 / IP와 유사하지만 PORT + 체크섬 추가

-특징-

(1) 단순하고 빠름

(2) 특별한 기능은 없지만 TCP가 정확함에도 속도 최적화가 어려워 이를 보완하기 위해 쓰임

(3) 애플리케이션에서 추가 작업 가능

 

 

 

 

'개발자로 업그레이드 되자 > HTTP' 카테고리의 다른 글

HTTP 개념 2  (0) 2022.01.25

+ Recent posts