TCP/IP protocol model & typical communication path (1)

쓰리원·2022년 4월 22일
0

Network

목록 보기
1/17
post-thumbnail

1. TCP/IP Protocol Model (Stack or Suite)

1. 계층 그림.

  1. TCP/IP Protocol Model Stack
  2. OSI 7-layer reference model

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

2. Layering

• 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 (위의 경우로 레이어간 침범이 일어난다.)

2. Typical Communication Path

데이터는 아래 그림과 같이 단계 별로 헤더(Data → Segment → Datagram → Frame)를 붙여 전송하며 이를 데이터 캡슐화라고 합니다.

3. A Closer Look at Network structure

Network edge : End_System(hosts and Applications)이 존재하는 영역
Network core : 라우터들의 집합

4. Internet Services Models

1. TCP(Transmission Control Protocol) : Connection-oriented service

TCP는 네트워크 계층 중 전송 계층에서 사용하는 프로토콜로서, 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 연결을 설정하여 신뢰성을 보장하는 연결형 서비스이다. TCP는 네트워크에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟(데이터, 메세지, 세그먼트라는 블록 단위)를 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다.

TCP - Transmission Control Protocol

  • Internet’s connection-oriented service
  • Reliable(신뢰성이 높은), in-order byte-stream(순서가 보장되는) data transfer
    • loss: acknowledgements and retransmissions
  • Flow control(흐름 제어):
    • sender won’t overwhelm receiver

데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지합니다. 송신하는 곳에서 감당이 안되게 많은 데이터를 빠르게 보내 수신하는 곳에서 문제가 일어나는 것을 막습니다.

  • Congestion control(혼잡 제어):
    • senders “slow down sending rate” when network congested

네트워크(라우터) 내의 패킷 수가 넘치게 증가하지 않도록 방지합니다. 정보의 소통량이 과다하면 패킷을 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막습니다.

신뢰성이 높은 전송(Reliable transmission)의 예

2. UDP(User Datagram Protocol) : Connectionless Service

UDP - User Datagram Protocol

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

간단한 데이터를 빠른 속도로 전송하고자 하는 애플리케이션에서는 UDP를 사용한다.

3. TCP vs UDP

위의 내용대로 TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 두 프로토콜은 모두 패킷을 한 컴퓨터에서 다른 컴퓨터로 전달해주는 IP 프로토콜을 기반으로 구현되어 있지만, 서로 다른 특징을 가지고 있다.

5. reference

https://velog.io/@hidaehyunlee/TCP-%EC%99%80-UDP-%EC%9D%98-%EC%B0%A8%EC%9D%B4

profile
가장 아름다운 정답은 서로의 협업안에 있다.

0개의 댓글