냠냠쿠 2024. 8. 2. 10:52
728x90

본 게시글은 인프런의 [ 모든 개발자를 위한 HTTP 웹 기본 지식 ] 강의를 듣고 정리한 내용입니다.

 

모든 개발자를 위한 HTTP 웹 기본 지식 강의 | 김영한 - 인프런

김영한 | 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연

www.inflearn.com

 

 

1. TCP

- 패키지가 소실되거나 순서가 꼬이는 것을 TCP가 해결 해 준다.
  즉 IP위에 TCP를 올려서 보완한다고 생각하면 된다.

 

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

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

 

실제로 우리가 웹브라우저나 게임, 채팅 프로그램 등의 어플리케이션에서 어떤 메세지를 생성하면 
소켓 라이브러리를 통해 OS 계층에 메세지를 넘긴다.

그러면 OS계층에서 이 메세지에다가 TCP정보를 감싼 뒤 IP정보를 감싸서 IP패킷을 생성한다.

생성된 IP패킷은 네트워크 인터페이스에서 LAN카드를 통해 나갈 때 이더넷 프레임이 포함되서 나간다.
이 떄 이더넷 프레임은 풀리적 정보인 MAC주소 등이 포함되어 있다.

 

2️⃣ IP 패킷과 TCP/IP 패킷

 

3️⃣ TCP의 특징

1. 연결지향 ( TCP 3 way handshake ) 
: 연결을 한 다음 메세지를 보낸다
  단, 이것은 논리적으로만 연결 된 것이다

2. 데이터 전달 보증
: 패키지가 누락되면 상대방이 메세지를 못 받은 것을 알 수 있다.
  데이터를 잘 받았다는 응답이 없으면 이상이 있다는 것을 짐작 할 수 있다.

3. 순서 보장
 : 데이터가 커서 잘라서 보낸 경우 패킷이 나뉘어 전송이 되는데, 이 때 순서가 섞이게 되면
   서버에서 섞인 패킷의 번호부터 다시 보내달라고 클라이언트에 요청을 하고,
  클라이언트는 해당 패킷의 번호부터 재발송한다.
  이는 TCP에 전송 제어, 순서, 검증정보 등이 추가 되어 있기 때문에 가능한 것이다.

4️⃣ TCP 3 way handshake 

2023.10.10 - [스터디/테크톡] - [테크 톡 - 16주차] TCP/IP

 

[테크 톡 - 16주차] TCP/IP

📌 TCP/IP란? - 컴퓨터가 서로 통신하는 경우, 특정 규칙이나 프로토콜을 사용하여 순서대로 데이터를 전송 및 수신할 수 있다. TCP/IP는 하나의 프로토콜이 아니라, TCP와 IP를 합쳐서 부르는 말이다

sm-lee2026210.tistory.com

3 way handshake를 통해 서버와 클라이언트가 서로를 믿을 수 있게 한다.

 

 

 

2. UDP

1. 기능이 거의 없다
   - TCP 3 way handshake, 데이터 전달 보증, 순서보장 전부 없음

2. 단순하기 때문에 빠르다

3. IP와 거의 같다. + port + 체크섬 정도만 추가 됨
  ** port : 하나의 ip에서 여러가지 패킷을 받았을 때 그 패킷이 어떤 것인지 구분해 내는 것
               ( 유튜브를 보면서 게임을 하는 경우 여러가지 패킷을 받아옴.
                 이때 어떤게 유튜브 패킷인지 어떤게 게임 패킷인지 구분하여 처리)

4. 애플리케이션에서 추가 작업이 필요하다

 

728x90