Dev Hyeri

CS/프로그래밍 지식

[인터넷 네트워크]

_hyeri 2024. 3. 5. 13:26

클라이언트 - 서버

프로토콜 계층

  1. 애플리 케이션에서 SOCKET라이브러리를 통해 전달
  2. TCP로 감쌈 + TCP 최적화 하기 위해 UDP 사용
  3. IP로 감싸 패킷으로 만듬
  4. 네트워크 인터페이스에서 이더넷 프레임으로 감싸 보냄

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

패킷 구분용 PORT + 맞는지 검증해주는 체크섬

별 기능 없지만 변동 불가능한 TCP를 최적화하기 위해 추가적으로 사용하는 것 

 

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

IP프로토콜 위에 살짝 올려 한계 극복

  • 비연결성 : 도착지가 연결되어 있지 않아도 무조건 발송
    •  연결을 하고 발송한다 TCP 3way handshake(가상연결)
  • 비신뢰성 : 패킷이 예상대로 전송되지 않음
    • 데이터 전달, 순서 보장 
  • 프로그램 구분 : 동시성에 구분이 안됨 

구성 :

출발지 PORT, 목적지 PORT

전송제어, 순서, 검증 정보

 

* TCP 3way handshake

1. 클라이언트 서버 SYN : 접속요청 (싱크로나이즈)

2. 클라이언트 서버 ACK : 응답 문자, 승인 요청 (acknowledgement code)

3. 클라이언트 서버 ACK + 데이터 전송 : 응답 문자, 승인 요청 (acknowledgement code)

 

 

IP(인터넷 프로토콜)

'IP 패킷'이라는 통신 단위로 지정 IP주소에 데이터를 전달

 

구성 : 출발지 IP, 목적지 IP, 기타

* 패킷 : 패키지(수화물) + 버킷(덩어리)