728x90
복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.
▶Introduction
- 아래 그림은 TCP/IP protocol 스위트의 다른 protocol과 계층에 대한 user datagram protocol(UDP)의 관계를 보여준다.
- UDP는 애플리케이션 계층과 IP 계층 사이에 위치하며 애플리케이션 프로그램과 네트워크 운영 사이의 중개 역할을 한다.
▶User datagram
- user datagram이라고 불리는 UDP 패킷은 8Byte의 고정 크기 헤더를 가지고 있다.
- 아래 그림은 user datagram의 형식을 보여준다.
IP address : 4Byte (32bit)
Port number : 2Byte (16bit)
checksum
UDP는 simple해서 (real time) 문제있으면 버린다. (real time이라서)
TCP는 복잡해서 문제있으면 알려준다.
▶UDP Services
- 지난 블로그에서 transport layer protocol에 의해 제공되는 일반적인 서비스에 대해 논의했다.
- 이 섹션에서는 UDP가 제공하는 일반 서비스의 일부에 대해 설명한다.
- UDP는 port number만 제공한다.
2022.07.03 - [컴퓨터공학/컴퓨터망] - [컴퓨터망] Transport Layer
▶Topics Discussed in the Section
- Process-to-Process Communication
- Connectionless Service
- Flow Control
- Error Control
- Congestion Control
- Encapsulation and Decapsulation
- Queuing
- Multiplexing and Demultiplexing
- Comparison between UDP and Generic Simple Protocol
source IP address, destination IP address는 IP head에 있는 정보이다.
Header 두 라인의 문제가 아니더라도 IP의 문제가 나면 error가 난다.
따라서 Pseudoheader와 header 다섯 라인으로 checksum 구한 후 계산한다.
UDP는 real time이라서 error control이 따로 필요하지 않다.
encapsulation한 후 network를 통해 넘어가서 decapsulation한다.
일반적으로는 양쪽에 queue가 있다.
send할때도, read/request할때도 queue에서 담겨서 순서를 기다린다.
여러 응용 protocol이 똑같이 UDP를 사용한다.
UDP는 오류 감지를 위해 패킷에 추가된 선택적 체크섬을 제외하고
지난 에서 논의한 connectionless simple protocol 의 예다.
▶UDP Application
- UDP는 신뢰할 수 있는 transport-layer protocol에 대해 지난 글에서 언급한 기준을 거의 충족하지 않는다.
- 하지만, 일부 응용 프로그램에서는 UDP가 선호됩니다.
- 그 이유는 일부 service은 받아들일 수 없거나 바람직하지 않은 부작용이 있을 수 있기 때문이다.
- 애플리케이션 설계자는 최적화를 위해 타협할 필요가 있습니다.
▶UDP Package
- UDP가 UDP packet의 송수신을 처리하는 방법을 보여주기 위해, 우리는 UDP package의 간단한 버전을 제시한다.
- UDP package는 제어 블록 테이블, 입력 큐, 제어 블록 모듈, 입력 모듈, 출력 모듈의 다섯 가지 구성 요소를 포함한다.
Queues : 언제 읽을지 모르니까 queue가 존재한다. 대기하고 있다가 읽는다.
(TCP : 양쪽 다 queue가 있다.)
보낼때는 network로 바로 보낸다. (queue X)
728x90
'컴퓨터공학 > 컴퓨터망' 카테고리의 다른 글
[컴퓨터망] Stream Control Transmission Protocol (SCTP) (0) | 2022.07.09 |
---|---|
[컴퓨터망] Transmission Control Protocol (TCP) (0) | 2022.07.04 |
[컴퓨터망] Transport Layer (0) | 2022.07.03 |
[컴퓨터망] Multicasting And Multicast Routing Protocols (0) | 2022.07.03 |
[컴퓨터망] Unicast RoutingProtocols (0) | 2022.07.03 |