[CS] 데이터를 전송하는 핵심 프로토콜 TCP/IP

lezsuuu·2022년 8월 22일
0

Computer Science

목록 보기
15/16

TCP/IP 프로토콜

인터넷에서 사용하는 통신 규약. 통신에서 발신과 수신 과정을 정의한 것.

*패킷: 애플리케이션에서 수신한 데이터를 잘게 나눈 조각

  1. 어플리케이션 레이어: TCP/IP 소켓 프로그래밍
  2. 트랜스포트 레이어: 송수신된 데이터의 신뢰성을 확보
    → TCP 등
  3. 네트워크 레이어: 네트워크 계층으로 데이터그램 전송
    → IP 등
  4. 데이터링크 레이어: 데이터를
  5. 피지컬 네트워크: 하드웨어에 구현된 프로토콜

IP(인터넷 프로토콜)

신뢰성 없는 비연결형인 패킷 전송 서비스를 제공

  • IP에는 상태를 관리하거나 기억하는 기능이 없는 최선형 프로토콜
    → 최선형 프로토콜: 패킷이 잘 전송되리라는 보장을 하지 않음
  • 때문에 패킷은 손상되거나, 영영 도착하지 않는 등의 문제가 발생할 수도 있다.
  • TTL : 패킷 수명에 대한 초깃값. 신뢰성이 없는 IP에서 패킷이 무한히 떠도는 것을 막는다.

TCP

IP의 상위에서 신뢰성 있는 통신을 만듬.

  • 손실 또는 중복되거나 순서가 뒤바뀐 데이터를 복구한다.
  • TCP 패킷은 세그먼트라고 하는데 이곳에 제어 정보가 포함된다.
  • 이 세크먼트는 IP 패킷에 실려서 전송된다.
  • TCP 프로토콜의 신뢰성은 세그먼트 수신 시 긍정 응답과 부정 응답으로 확인할 수 있다.
    부정 응답을 보내는 경우 세그먼트를 재전송할 수 있는데 이를 복구 시도라고 하며,
    복구 시도 역시 타이머를 초과하는 경우에 프로토콜 자체가 중단된다.
  • 효율성을 위해 응답 없이 프로토콜을 진행하거나, 응답을 한 번에 묶는 매커니즘도 실행할 수 있다.

[port 연결]

TCP 연결에는 특정 컴퓨터에 포트 번호까지 연결을 의미한다. 이는 TCP 헤더에 연결되어 있다.

profile
돌고 돌아 벨로그

0개의 댓글