TCP/IP protocol model & typical communication path

HEETAE HEO·2022년 6월 24일
0
post-thumbnail

TCP Protocol Model

OSI 7-layer은 모델일 뿐 실제 사용되는 인터넷 프로토콜은 7계층 구조를 똑같이 따르지는 않습니다. 현재 대부분 TCP/IP Protocol Model Stack를 사용합니다.

Layer

  • A part of a system with well-defined interfaces to Other parts
    (시스템의 기능을 인터페이스로 정의)
  • One layer interacts only with layer above and layer below
  • Two layers interact only through the interface between them
    (L5에서 L4 순차적으로 레이어간 접근이 가능)

Reduce complexity (기능의 인터페이스(모듈화) -> 복잡도 감소)
• Improve flexibility (기능의 인터페이스(모듈화) -> 유연성 향상 DI로 테스트가 편하다.)
• Sub-optimal performance (계층간 호출로 오버헤드 발생해서 최적의 성능이 아니다.)
• Cross-layer information often useful(성능 향상을 위해 종종 하위 레이어가 상위 레이어의 정보를 알고 있을 수도 있다.)
• Several “layer violations” in practice (위의 경우로 레이어간 침범이 일어난다.)

TCP

TCP는 Transmission Control Protocol의 약자이고 TCP는 패킷을 한 컴퓨터에서 다른 컴퓨터로 전달해주는 IP 프로토콜을 기반으로 구현되어 있습니다. 또한 네트워크에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟(데이터, 메세지, 세그먼트라는 블록 단위)를 안정적이고 순서대로, 에러없이 교환할 수 있게 합니다.

TCP의 데이터 송신 과정

TCP의 경우 신뢰성을 요구되는 통신에 사용이 된다. 그림을 보면 수신이 가능한지, 데이터의 전송의 시작, 전송의 끝 총 3번을 확인을 한다.

UDP(User-Datagram-Protocol) : Connectionless-Service

• Connectionless
• Unreliable data transfer
• No flow control
• No congestion control

UDP는 신뢰성보다는 빠른 속도로 데이터를 전송하고자 한다. 그렇기에 스트리밍과 같은 서비스에서 사용된다

TCP vs UDP

profile
Android 개발 잘하고 싶어요!!!

0개의 댓글