Top 28 전송 계층 The 129 Latest Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 전송 계층 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Toplist.maxfit.vn team, along with other related topics such as: 전송 계층 osi 7계층, 세션계층, 데이터링크 계층, 응용계층, 물리계층, TCP/IP 계층, 네트워크 계층 역할, 네트워크 계층 프로토콜


2.[계층모델별특징] Transport layer(TCP/UDP)
2.[계층모델별특징] Transport layer(TCP/UDP)


전송 계층 – 위키백과, 우리 모두의 백과사전

  • Article author: ko.wikipedia.org
  • Reviews from users: 38911 ⭐ Ratings
  • Top rated: 4.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 전송 계층 – 위키백과, 우리 모두의 백과사전 컴퓨터 처리와 전자 통신에서 전송 계층(Transport layer)은 계층 구조의 네트워크 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공한다. …
  • Most searched keywords: Whether you are looking for 전송 계층 – 위키백과, 우리 모두의 백과사전 컴퓨터 처리와 전자 통신에서 전송 계층(Transport layer)은 계층 구조의 네트워크 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공한다.
  • Table of Contents:

프로토콜[편집]

전송 계층 프로토콜 비교[편집]

참조[편집]

전송 계층 - 위키백과, 우리 모두의 백과사전
전송 계층 – 위키백과, 우리 모두의 백과사전

Read More

3. Transport Layer – 전송 계층(4계층)

  • Article author: movefast.tistory.com
  • Reviews from users: 14035 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 3. Transport Layer – 전송 계층(4계층) – 전송 프로토콜(Transport Protocol)은 종단점(end-system)에서 적용된다. 송신 호스트 : 데이터 메시지를 세그먼트로 분해하여 네트워크 계층(3계층) … …
  • Most searched keywords: Whether you are looking for 3. Transport Layer – 전송 계층(4계층) – 전송 프로토콜(Transport Protocol)은 종단점(end-system)에서 적용된다. 송신 호스트 : 데이터 메시지를 세그먼트로 분해하여 네트워크 계층(3계층) … ▶ 전송 서비스와 프로토콜(4계층) – 다른 호스트들이 계속 네트워크에 머물도록 응용 프로세스 간의 논리적 통신을 제공한다. – 전송 프로토콜(Transport Protocol)은 종단점(end-system)에서 적용된다. 송신 호..
  • Table of Contents:

태그

관련글

댓글0

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

3. Transport Layer - 전송 계층(4계층)
3. Transport Layer – 전송 계층(4계층)

Read More

쉽게 이해하는 네트워크 16. TCP/IP 전송 계층(트랜스포트 계층)과 포트(Port) 번호

  • Article author: better-together.tistory.com
  • Reviews from users: 41592 ⭐ Ratings
  • Top rated: 5.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쉽게 이해하는 네트워크 16. TCP/IP 전송 계층(트랜스포트 계층)과 포트(Port) 번호 전송 계층은 네트워크 혼잡 상황에 따라 패킷의 전송량을 조절하여 패킷의 흐름을 제어하고 패킷 전송의 오류를 점검해서 수신지 컴퓨터까지 패킷이 … …
  • Most searched keywords: Whether you are looking for 쉽게 이해하는 네트워크 16. TCP/IP 전송 계층(트랜스포트 계층)과 포트(Port) 번호 전송 계층은 네트워크 혼잡 상황에 따라 패킷의 전송량을 조절하여 패킷의 흐름을 제어하고 패킷 전송의 오류를 점검해서 수신지 컴퓨터까지 패킷이 … 전송 계층의 역할, 특징, 통신 방식 및 애플리케이션을 식별하는 포트 번호 전송 계층(Transport Layer)의 역할 앞서 살펴본 것처럼, 네트워크 인터페이스 계층과 인터넷 계층의 역할로 수신지 컴퓨터까지 데이터..
  • Table of Contents:

태그

‘냐옹아 멍멍해봐(How to Speak IT)테크(IT) 문법’ Related Articles

티스토리툴바

쉽게 이해하는 네트워크 16. TCP/IP 전송 계층(트랜스포트 계층)과 포트(Port) 번호
쉽게 이해하는 네트워크 16. TCP/IP 전송 계층(트랜스포트 계층)과 포트(Port) 번호

Read More

전송 계층

  • Article author: www.ktword.co.kr
  • Reviews from users: 32092 ⭐ Ratings
  • Top rated: 4.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 전송 계층 L4, Layer 4, 4 계층, 계층 4, Transport Protocol, 전송 계층 프로토콜, 트랜스포트 프로토콜 · Top · 통신/네트워킹 · 인터넷/데이터통신 · TCP/IP · 전송 … …
  • Most searched keywords: Whether you are looking for 전송 계층 L4, Layer 4, 4 계층, 계층 4, Transport Protocol, 전송 계층 프로토콜, 트랜스포트 프로토콜 · Top · 통신/네트워킹 · 인터넷/데이터통신 · TCP/IP · 전송 …
  • Table of Contents:
전송 계층
전송 계층

Read More

네트워크 기초(5) – OSI 7계층 – 4계층: 전송 계층 – 로스카츠의 AI 머신러닝

  • Article author: losskatsu.github.io
  • Reviews from users: 45947 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 네트워크 기초(5) – OSI 7계층 – 4계층: 전송 계층 – 로스카츠의 AI 머신러닝 전송 계층은 2가지 역할을 수행합니다. 첫 번째로 3계층인 네트워크 계층이 데이터를 전달할 때 4계층인 전송 계층은 데이터가 제대로 도착했는지 확인을 … …
  • Most searched keywords: Whether you are looking for 네트워크 기초(5) – OSI 7계층 – 4계층: 전송 계층 – 로스카츠의 AI 머신러닝 전송 계층은 2가지 역할을 수행합니다. 첫 번째로 3계층인 네트워크 계층이 데이터를 전달할 때 4계층인 전송 계층은 데이터가 제대로 도착했는지 확인을 … 네트워크 기초(5) – OSI 7계층 – 4계층: 전송 계층
  • Table of Contents:

1 신뢰성

2 전송 계층의 역할

3 연결형 비연결형 통신

4 TCP

41 신뢰성

42 식별성

5 UDP

[딥러닝] ResNet의 개념

[리눅스] 우분투 하드 디스크 추가 마운트 하기

[이미지처리] 파이썬 opencv 설치 및 hello world

[Infra] 쿠버네티스(kubernetes)(6) The connection to the server localhost8080 was refused

네트워크 기초(5) - OSI 7계층 - 4계층: 전송 계층 - 로스카츠의 AI 머신러닝
네트워크 기초(5) – OSI 7계층 – 4계층: 전송 계층 – 로스카츠의 AI 머신러닝

Read More

Go 언어를 활용한 네트워크 프로그래밍: 보안에 강하고 신뢰할 수 있는 네트워크 … – 애덤 우드벡 (Adam Woodbeck) – Google Sách

  • Article author: books.google.com.vn
  • Reviews from users: 19554 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Go 언어를 활용한 네트워크 프로그래밍: 보안에 강하고 신뢰할 수 있는 네트워크 … – 애덤 우드벡 (Adam Woodbeck) – Google Sách Updating …
  • Most searched keywords: Whether you are looking for Go 언어를 활용한 네트워크 프로그래밍: 보안에 강하고 신뢰할 수 있는 네트워크 … – 애덤 우드벡 (Adam Woodbeck) – Google Sách Updating 간결하며 신뢰할 수 있는 네트워크 소프트웨어!주요 프로그래밍 언어에서 장점만 조합하여 만든 Go 언어는 빠른 속도와 확장성을 자랑하며, 네트워크와 멀티 프로세스 처리에 고성능을 내도록 설계되었습니다. 즉, 네트워크 프로그래밍에 최적화된 언어입니다. 《Go 언어를 활용한 네트워크 프로그래밍》은 Go 언어를 사용하여 보안에 강하며, 신뢰할 수 있고, 가독성이 좋은, 그리고 실제 서비스에 사용할 수 있는 네트워크 코드를 작성할 수 있도록 도와줍니다. 전반부에서는 네트워크와 트래픽 라우팅에 대한 기본 지식을 배우며, 후반부에서는 배운 지식을 활용하여 TCP와 UDP, 유닉스 소켓을 사용하는, 신뢰성 있는 데이터 통신 프로그램을 작성합니다. HTTP나 HTTP/2와 같은 상위 계층의 네트워크 프로토콜을 점진적으로 경험하고, TLS를 사용하여 네트워크를 통해 서버와 클라이언트, 서드파티 API 사이에서 안전하게 통신하는 애플리케이션을 구현합니다. 한마디로 이 책은 Go 언어에 내재된 병렬성과 빠른 컴파일 속도, 그리고 풍부한 표준 라이브러리를 활용할 수 있는 다양한 방법을 살펴봅니다.주요 내용■ IPv4, IPv6의 구조, 멀티캐스트, DNS, 그리고 네트워크 주소 해석과 같은 인터넷 프로토콜의 기초■ 소켓 레벨 통신에서 신뢰성을 확보하는 방법■ 핸들러와 미들웨어, 멀티플렉서를 사용하여 최소한의 코드로 HTTP 애플리케이션을 작성하는 방법■ TLS를 사용하여 애플리케이션에 인증과 암호화를 통합하는 도구 사용법■ Go 언어가 쉽게 처리할 수 있는 데이터 포맷인 JSON이나 Gob, XML, 프로토콜 버퍼를 활용하여 데이터를 직렬화하고 저장하거나 전송하는 방법■ 요청이나 에러 등의 정보를 포함하는 메트릭스를 만들기 위한 코드 계측 방법■ 애플리케이션을 클라우드에 배포하는 방법과 시점
  • Table of Contents:
Go 언어를 활용한 네트워크 프로그래밍: 보안에 강하고 신뢰할 수 있는 네트워크 ... - 애덤 우드벡 (Adam Woodbeck) - Google Sách
Go 언어를 활용한 네트워크 프로그래밍: 보안에 강하고 신뢰할 수 있는 네트워크 … – 애덤 우드벡 (Adam Woodbeck) – Google Sách

Read More

404 Not Found

  • Article author: ko.tr2tr.wiki
  • Reviews from users: 4204 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 404 Not Found 컴퓨터에서 , 전송 계층 은 인터넷 프로토콜 제품군 및 네트워크 스택에있는 프로토콜의 계층 아키텍처 에있는 방법의 개념적 구분입니다. 69>OSI 모델 . …
  • Most searched keywords: Whether you are looking for 404 Not Found 컴퓨터에서 , 전송 계층 은 인터넷 프로토콜 제품군 및 네트워크 스택에있는 프로토콜의 계층 아키텍처 에있는 방법의 개념적 구분입니다. 69>OSI 모델 .
  • Table of Contents:
404 Not Found
404 Not Found

Read More

전송 계층 (Transport Layer) > 도리의 디지털라이프

  • Article author: blog.skby.net
  • Reviews from users: 47871 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 전송 계층 (Transport Layer) > 도리의 디지털라이프 I. 신뢰성 있는 전송 위한, 전송 계층(Transport Layer) 개념. -종단 간 신뢰성 있는 데이터 전송을 위해 흐름제어, 오류제어, 혼잡제어를 수행하는 … …
  • Most searched keywords: Whether you are looking for 전송 계층 (Transport Layer) > 도리의 디지털라이프 I. 신뢰성 있는 전송 위한, 전송 계층(Transport Layer) 개념. -종단 간 신뢰성 있는 데이터 전송을 위해 흐름제어, 오류제어, 혼잡제어를 수행하는 …
  • Table of Contents:

도리의 디지털라이프

I 신뢰성 있는 전송 위한 전송 계층(Transport Layer) 개념

II 전송 계층 (Transport Layer)의 역할

III 전송 계층의 기타 역할

전송 계층 (Transport Layer) > 도리의 디지털라이프” style=”width:100%”><figcaption>전송 계층 (Transport Layer) > 도리의 디지털라이프</figcaption></figure>
<p style=Read More


See more articles in the same category here: https://toplist.maxfit.vn/blog/.

위키백과, 우리 모두의 백과사전

컴퓨터 처리와 전자 통신에서 전송 계층(Transport layer)은 계층 구조의 네트워크 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공한다.[1] 전송 계층은 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 그리고 다중화와 같은 편리한 서비스를 제공한다.

전송 계층은 인터넷의 기반인 TCP/IP 참조 모델과 일반적인 네트워크 모델인 개방형 시스템 간 상호 접속 (Open Systems Interconnection, OSI) 모두 포함하고 있다. 이 두 가지 모델은 전송 계층을 약간 다르게 정의하고 있는데, 이 글은 TCP/IP 모델에 대해 주로 서술한다.

전송 프로토콜 중 가장 잘 알려진 것은 연결 지향 전송 방식을 사용하는 전송 제어 프로토콜 (TCP)이다. 보다 단순한 전송에 사용되는 사용자 데이터그램 프로토콜 (UDP)도 있다.

프로토콜 [ 편집 ]

어떠한 조건을 갖추어야 전송 계층 프로토콜이라 할 수 있는지에 대한 정의는 아직 명확하지 않다. 다음은 간단한 프로토콜 목록이다:

전송 계층 프로토콜 비교 [ 편집 ]

기능 및 특성 UDP UDP 라이트 TCP SCTP DCCP RUDP 패킷 헤더 크기 8 바이트 8 바이트 20-60 바이트 12 바이트 12 또는 16 바이트 전송 계층 패킷 형태 데이터그램 데이터그램 세그먼트 데이터그램 데이터그램 데이터그램 연결 지향 아니요 아니요 예 예 예 예 신뢰할 수 있는 전송 아니요 아니요 예 예 아니요 예 신뢰할 수 없는 전송 예 예 아니요 예 예 예 메시지 경계 보존 예 예 아니요 예 예 예 전달 순서 보장 아니요 아니요 예 예 아니요 예 순서 없이 전달 예 예 아니요 예 예 예 데이터 체크섬 선택 예 예 예 예 불확실 체크섬 크기 (비트) 16 16 16 32 16 불확실 부분 체크섬 아니요 예 아니요 아니요 예 아니요 경로 MTU 아니요 아니요 예 예 예 불확실 흐름 제어 아니요 아니요 예 예 아니요 예 혼잡 제어 아니요 아니요 예 예 예 불확실 ECN 지원 아니요 아니요 예 예 예 다중 스트림 아니요 아니요 아니요 예 아니요 아니요 NAT 지원 예 예 예 예 예 예

참조 [ 편집 ]

3. Transport Layer – 전송 계층(4계층)

반응형

▶ 전송 서비스와 프로토콜(4계층)

– 다른 호스트들이 계속 네트워크에 머물도록 응용 프로세스 간의 논리적 통신을 제공한다.

– 전송 프로토콜(Transport Protocol)은 종단점(end-system)에서 적용된다.

송신 호스트 : 데이터 메시지를 세그먼트로 분해하여 네트워크 계층 (3 계층 ) 으로 전송한다 .

수신 호스트 : 세그먼트들을 데이터 메시지로 재조립하여 응용 계층으로 전송한다 .

– TCP와 UDP가 대표적인 전송 프로토콜이며, 그 외에도 많이 이용된다.

– Throughput(스루풋, 처리율) : 네트워크 통신에서 노드 사이 또는 파이프 사이에서 전달되는 단위 시간당 전송되는 디지털 데이터 처리량. 주로 초당 비트수(bps)가 사용된다.

▶ Transport VS Network Layer

– Network Layer(네트워크 계층, 3계층) : 호스트들 간의 논리적 통신을 돕는다.

– Transport Layer(전송 계층, 4계층) : 응용 프로세스 간의 논리적 통신을 돕는다.

– 네트워크 계층부터 하위 계층(1~3)들은 하드웨어적인 통신을 많이 다루고, 전송 계층부터 상위 계층(4~7)들은 소프트웨어적인 통신을 많이 다룬다.

▶ 인터넷 전송계층 프로토콜

– Transmission Control Protocol (전송 제어 프로토콜, 이하 TCP)

신뢰성 있고 , 순서가 보존되는 전송 시스템

Congestion Control( 혼잡 제어 ), Flow Control( 흐름 제어 ), Connection Setup( 연결 설정 ) 등 각종 오류를 제어한다 .

웹 브라우저들이 월드 와이드 웹에서 서버에 연결할 때 사용되며 , 이메일 전송 및 파일 전송에도 사용된다 .

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

신뢰성 없고 , 순서가 보장되지 않는 전송 시스템

꼭 필요한 기능 ( 전송 ) 만 하고 , 오류 제어와 같은 추가 기능을 필요로 하지 않는 애플리케이션에 사용된다 .

추가 기능이 없기 때문에 오버헤드가 작고 지연 시간이 짧다는 장점이 있다 .

– 이용되지 못하는 서비스 : 시간 및 대역폭이 보장되지 않으므로 스루풋도 보장되지 않는다.

여기서 “보장되지 않는다.”는 것은 1초에 100개와 같이 딱 떨어지지 않음을 의미한다.

▶ Multiplexing & Demultiplexing

– 네트워크 소켓 (Network Socket) : 컴퓨터 네트워크의 사이에 있는 프로세스 간 통신의 종착점이다. 컴퓨터 간 통신의 대부분은 IP(인터넷 프로토콜)을 기반으로 하고 있고, 네트워크 소켓의 대부분은 인터넷 소켓이다. 네트워크 통신을 위해서 송,수신측에서는 소켓을 생성하고, 이 소켓을 통해 서로 데이터를 교환한다.

– Multiplexing(다중화) at Sender : 다수의 소켓들로부터 추가 정보(목적지 주소 등)를 얻어서 전송할 데이터의 헤더에 해당 정보(목적지 주소 등)를 추가하는 기능.

– Demultiplexing(역다중화) at Receiver : 수신된 데이터를 적절한 소켓으로 전달하기 위해 헤더 정보를 이용한다. 하위 계층에서 상위 계층으로 올라갈 때마다 헤더가 작아지면서 전송할 데이터가 목적지에 도착한다.

▶ 역다중화 과정

– 호스트는 IP 데이터그램(datagram)을 수신한다.

각각의 데이터그램 출발지 IP 주소 , 목적지 IP 주소를 가지고 있다 .

각각의 데이터그램은 하나의 전송계층 세그먼트를 옮긴다 .

각각의 세그먼트는 출발지 , 목적지 포트번호 (16bits) 를 가지고 있다 .

– 호스트는 IP주소와 포트번호를 이용하여 세그먼트를 적절한 소켓으로 안내한다.

– IP Datagram

출처

접기 http://www.cisco.com/c/en/us/support/docs/ip/generic-routing-encapsulation-gre/25885-pmtud-ipfrag.html

접기

– TCP의 Segment

출처

접기 https://www.google.co.kr/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&ved=0ahUKEwjk9s2mqp7TAhWJmpQKHTMODfUQjhwIBQ&url=http%3A%2F%2Fwww.keyword-suggestions.com%2FdWRwIGV0aGVybmV0IGZyYW1l%2F&bvm=bv.152180690,d.dGc&psig=AFQjCNFF859feLwiNMFeqU30WglihkFC4g&ust=1492066292310628 접기

– IP 데이터그램이 세그먼트를 포함하고 있다.

출처

접기 https://www.cs.csustan.edu/~john/Classes/CS3000/Notes/chap24.html

접기

출처

접기 http://www.tcpipguide.com/free/t_DataEncapsulationProtocolDataUnitsPDUsandServiceDa-2.htm

접기

– 데이터 전송 과정

출처

접기 https://superuser.com/questions/298087/whats-the-difference-between-a-tcp-segment-and-a-tcp-packet

접기

– 비연결형 통신, UDP의 소켓

생성된 소켓은 호스트 로컬 포트 번호 (source port #) 만 가지고 있다 .

호스트가 UDP 세그먼트를 받으면 , 세그먼트에 있는 목적지 포트 번호를 확인한다 .

해당 포트 번호로 세그먼트를 안내한다 .

만약 서로 다른 출발지 IP 주소 , 포트 번호이지만 같은 목적지 포트번호나 IP 주소를 가진 IP datagram 을 받으면 목적지에서 같은 소켓으로 데이터가 전송된다 .

– 연결 지향형 통신, TCP의 소켓

출발지 IP 주소 , 포트번호와 목적지 IP 주소 , 포트번호의 네 가지 요소로 소켓이 생성되어진다 .

수신자는 세그먼트를 적절한 소켓으로 안내하기 위해 네 가지 값 모두 이용한다 .

송신 호스트는 동시에 많은 TCP 소켓들을 지원할 수 있다 . 단 각각의 소켓들은 각자 네 가지 요소를 가진며 , 이를 통해 소켓이 구분된다 .

웹 서버 ( 송신자 ) 는 각각의 클라이언트를 연결하기 위해 다른 소켓들을 가진다 .

▶ UDP(User Datagram Protocol)

– 추가 기능(오류제어)이 없고, 꼭 필요한 기능만 있는 인터넷 전송 프로토콜

– 세그먼트가 손실될 수 있고, 순서가 뒤바뀔 수 있다.

– 송수신 간의 연결 설정(Handshaking)을 하지 않는다.

– 각각의 UDP 세그먼트는 독립적으로 다루어진다.

– 연결 설정이 필요 없는 짧은 메시지를 주고받을 때 사용된다.

– 실시간이 중요한 스트리밍 멀티미디어와 같은 응용프로그램, 도메인 네임 서버(DNS) 및 SNMP에 이용되어진다

– 애플리케이션 맞춤형 오류 회복이 추가되면서 UDP를 통한 신뢰성 있는 데이터 전송이 가능해졌다.

– UDP 세그먼트

출처

접기 http://bucarotechelp.com/networking/standards/88090801.asp 접기

세그먼트의 길이를 두는 이유는 가변적 길이므로 끝이 어딘지 찾기 위해 필요로 한다 .

송수신간의 연결 설정을 나타내는 연결 상태가 없으므로 단순한 구조이다 .

8 바이트라는 작은 헤더 크기를 가진다 .

UDP 는 원하는 만큼 빠르게 전송할 수 있어서 혼잡 제어 (Congestion Control) 이 발생하지 않는다 .

– Checksum(검사합) : 중복 검사의 한 형태로 오류 검출을 위한 기능을 한다.

송신자는 헤더 필드가 16 비트의 정수를 나열한 것으로 간주하고 , 세그먼트들의 합의 1 의 보수를 취한 결과 ( 체크섬 값 ) 를 UDP 체크섬 필드에 저장한다 .

수신자는 받은 세그먼트 값들의 합과 체크섬 값 ( 결과 ) 을 더한다 . 만약 계산된 체크섬이 체크섬필드의 값과 같다면 더했을 때 비트값이 전부 1인 패턴이 나와야한다. 0이 하나라도 있으면 에러가 발생한 것이다 .

아래는 체크섬의 예시이다 .

다음과 같이 4 바이트의 데이터가 있다고 치자: 0x25, 0x62, 0x3F, 0x52

1 단계: 모든 바이트를 덧셈하면 0x118이 된다.

2 단계: 1바이트의 절반(4비트, 이하 니블)을 버림으로써 0x18을 만든다.

3 단계: 0x18의 1의 보수를 얻음으로써 0xE8을 얻는다. 이것이 체크섬 바이트이다.

체크섬 바이트를 테스트하려면 원래 그룹의 바이트에 체크섬 바이트까지 모두 더하면 0x200이 된다.

다시 니블을 버림으로써 0x00이 된다. 0x00이라는 뜻은 오류가 없다는 뜻이다. (하지만 오류가 있어도 우연히 0x00이 될 수도 있다.)

반응형

쉽게 이해하는 네트워크 16. TCP/IP 전송 계층(트랜스포트 계층)과 포트(Port) 번호

반응형

전송 계층의 역할, 특징, 통신 방식 및 애플리케이션을 식별하는 포트 번호

TCP/IP 전송 계층(Transport Layer)과 포트 번호

전송 계층(Transport Layer)의 역할

앞서 살펴본 것처럼, 네트워크 인터페이스 계층과 인터넷 계층의 역할로 수신지 컴퓨터까지 데이터를 보낼 수 있습니다. 특히 인터넷 계층의 IP 프로토콜은 수많은 네트워크가 복잡하게 얽힌 인터넷에서 수신지 컴퓨터까지 경로를 찾아 패킷을 전송하는 중요한 역할을 합니다.

인터넷 계층이 패킷 전송이라는 중요한 역할을 담당하지만 수신지까지 최적의 경로를 찾아 패킷을 전송할 뿐 수신지 컴퓨터가 인터넷에 존재하는지, 수신지 컴퓨터가 존재하더라도 패킷을 수신할 준비가 되어 있는지, 패킷을 수신할 준비가 되어 있더라도 전송 과정에서 패킷이 손상되거나 유실되지는 않았는지 등의 문제들은 신경 쓰지 않습니다. 즉, IP 프로토콜은 통신하는 호스트 간에 패킷을 전달하기 위해 최선의 노력(Best-effort delivery service)을 하지만 패킷의 전송 순서나 완전성을 보장하지 않기 때문에 비신뢰형 서비스(unreliable service)라고도 합니다.

패킷이 전송 과정에서 아무 문제 없이 제대로 수신지 컴퓨터에 도착할 수 있도록 패킷 전송을 제어하는 역할은 전송 계층이 담당합니다. 전송 계층은 네트워크 혼잡 상황에 따라 패킷의 전송량을 조절하여 패킷의 흐름을 제어하고 패킷 전송의 오류를 점검해서 수신지 컴퓨터까지 패킷이 제대로 도착했는지 확인하는 역할을 합니다. 다시 말해 전송 계층은 수신지 컴퓨터까지 신뢰할 수 있는 데이터를 전송하기 위해 필요한 계층입니다.

데이터를 전송하는 궁극적인 목적은 애플리케이션이 데이터를 처리하여 애플리케이션의 목적에 따른 서비스를 제공하기 위한 것입니다. 따라서 데이터는 수신지 컴퓨터가 아니라 수신지 컴퓨터 내의 애플리케이션까지 전송되어야 최종 목적지에 도착하게 됩니다.

애플리케이션이라는 최종 목적지까지 데이터 전송을 책임지는 것이 전송 계층의 또 다른 역할입니다. 즉, 전송 계층은 다양한 애플리케이션이 동작하는 컴퓨터 내에서 어떤 애플리케이션이 사용하는 데이터인지 식별하여 수신지 컴퓨터에 도착한 데이터를 수신지 컴퓨터 내의 애플리케이션에 배분하는 역할을 합니다. 인터넷 계층이 컴퓨터(호스트) 간의 데이터 통신을, 전송 계층이 애플리케이션 간의 데이터 통신을 구현한다고 볼 수 있습니다. 인터넷 계층이 호스트를 식별하기 위해 IP 주소를 사용하는 것처럼, 전송 계층에서는 애플리케이션을 식별하기 위해 포트 번호를 사용합니다.

<그림 1> 전송 계층의 역할

전송 계층의 특징

네트워크 인터페이스 계층과 인터넷 계층이 컴퓨터와 컴퓨터 간의 데이터 전송을 담당했다면 전송 계층은 컴퓨터 내부에 있는 애플리케이션까지의 데이터 전송을 담당합니다.

네트워크 인터페이스 계층과 인터넷 계층에서는 컴퓨터에서 컴퓨터로, 랜 케이블 같은 전송 매체를 통해 스위치나 라우터 같은 네트워크 장비를 거쳐 데이터가 전송되기 때문에 물리적인 데이터의 이동 통로가 존재하고, 물리적인 이동 통로 상에서 데이터의 흐름을 논리적으로 제어합니다. 물리적인 공간의 이동이 있기에 머릿속으로 쉽게 상상할 수 있고, 노드와 링크로 추상화해서 이해하기도 수월합니다.

반면 애플리케이션까지 데이터가 이동하는 것은 컴퓨터 내부에서 일어나는 일이기에 상상하기 쉽지 않고, 상상할 수 없는 것을 추상화해서 이해한다는 것은 더욱 어렵습니다. 전송 계층을 보다 쉽게 이해하기 위해 애플리케이션 간에 가상의 연결 통로가 존재한다고 상상하는 것이 좋습니다.

컴퓨터 내에 동작하는 다양한 애플리케이션들이 동시에 송수신하는 데이터를 구별하기 위해 전송계층에서는 애플리케이션마다 가상의 연결 통로를 만들어 데이터를 전송하기 때문입니다. 통신을 시작하기 전에 통신하고자 하는 애플리케이션끼리만 사용이 가능한 가상의 연결 통로를 확보하고, 이 전용 통로로만 데이터를 전송하여 정확하고 신뢰할 수 있는 데이터의 전송을 보장하는 것입니다.

통신하고자 하는 애플리케이션 간에 가상의 연결 통로를 만드는 작업을 연결 확립이라 하고 연결 통로의 출입구, 즉 애플리케이션과 연결 통로의 인터페이스를 포트(port)라고 하며 포트를 식별하기 위한 주소를 포트 번호라고 합니다.

<그림 2> 전송 계층의 특징 – 가상 연결 통로

애플리케이션의 식별과 포트 번호

택배나 우편물 배송을 의뢰할 때 집주소와 함께 받는 사람의 이름을 적습니다. 집주소에 의해 택배나 우편물이 수신지인 집까지 배달되면 받는 사람의 이름을 보고 누구 앞으로 온 것인지를 판단합니다. 인터넷에서는 IP 주소가 집 주소, 포트 번호가 받는 사람의 이름과 같은 역할을 합니다. 한 집에 여러 사람이 거주하는 것처럼 한 컴퓨터에서 여러 가지 애플리케이션이 동작하기 때문에 애플리케이션을 식별하는 번호가 필요한 것입니다.

인터넷 계층에서 IP 주소를 보고 수신지 컴퓨터로 데이터를 전송하면 전송 계층에서 포트 번호를 보고 어떤 애플리케이션이 사용할 데이터인지 식별합니다. 한마디로 포트 번호(Port Number)는 동일한 컴퓨터 안에서 통신을 하고 있는 애플리케이션을 식별할 때 사용하는 애플리케이션의 주소라고 할 수 있습니다.

전송 계층의 데이터 단위인 세그먼트의 헤더에 송신 애플리케이션과 수신 애플리케이션의 포트 번호 정보가 담겨 있기 때문에 어떤 애플리케이션이 사용할 데이터인지 구분하고 데이터를 배분할 수 있는 것입니다.

포트 번호의 종류

16비트를 사용하는 포트 번호는 0~65535번까지 65536(2의 16승) 개의 번호를 사용할 수 있습니다. IP 주소를 관리하는 ICANN은 아래 <그림 3>과 같이 포트 번호를 크게 세 종류로 구분하였습니다.

ICANN 자세히 ⇒ IP 주소

<그림 3> 포트 번호의 종류

서비스를 제공하는 서버 호스트에 고정된 공인 IP 주소를 할당하고, 서비스를 요청하고 제공받는 클라이언트에 유동 IP 주소를 할당한 것처럼, 서버 애플리케이션은 정해진 포트 번호를 할당하지만 클라이언트 애플리케이션은 정해진 포트 번호 없이 포트 번호가 필요할 때마다 동적으로 할당됩니다.

IP 주소 할당 자세히 ⇒ IP 주소의 할당

서버 애플리케이션에 할당된 번호가 웰 노운 포트와 등록된 포트이고, 클라이언트 애플리케이션에 배정된 번호가 동적 포트입니다.

웰 노운 포트(well-known port) 번호는 HTTP(웹), FTP(파일 전송), SMTP(이메일 전송) 등과 같이 인터넷에서 널리 사용되는 서버 애플리케이션이 사용하도록 예약된 번호로 0 ~ 1023 까지의 번호가 할당되어 있습니다. 대표적으로 HTTP 프로토콜을 사용하는 웹 서비스는 포트 80번을 사용합니다.

많은 클라이언트가 접속하는 서버 애플리케이션에는 미리 할당한 포트 번호를 열어 놓아 언제든 클라이언트가 편리하게 접속할 수 있게 한 것입니다. 반드시 정해진 포트 번호를 사용해야 한다는 절대적인 규칙이 있는 건 아니지만*, 웰 노운 포트 번호를 다른 용도로 사용하면 혼란을 야기할 수 있으므로 특별한 이유가 없다면 정해진 용도 외에는 사용하지 않는 것이 좋습니다.

*. 서버가 포트 80번이 아닌 다른 포트 번호를 웹 서비스용으로 사용할 때는 서버에 접속하려는 클라이언트도 포트 80번이 아닌 해당 포트 번호로 접속해야 합니다. 따라서 웹 페이지의 포트 번호를 80번이 아닌 다른 번호로 할당하면 해당 포트 번호를 아는 사람만이 웹 페이지에 접속할 수 있습니다.

<그림 4> 주요 웰 노운 포트

등록된 포트(registered port) 번호는 웰 노운 포트 번호 이외에 자주 이용되는 서버 애플리케이션을 식별하기 위한 포트 번호로 1024 ~ 49151 까지의 번호가 할당되어 있습니다.

클라이언트 애플리케이션이 포트 번호가 필요할 때 할당할 수 있도록 배정된 번호를 동적 포트라고 하며 49152 ~ 65535 까지의 번호를 사용합니다. 클라이언트 애플리케이션은 자신의 포트 번호를 미리 결정하지 않고, 운영체제에 의해 포트 번호가 필요할 때마다 동적 포트 번호 범위 내에서 사용되지 않고 있는 임의의 번호가 자동으로 할당됩니다. 운영체제는 애플리케이션 별로 동일한 값이 할당되지 않도록 포트 번호를 관리하면서 동적으로 포트 번호를 할당해 줍니다. 따라서 통신이 시작되기 전까지 애플리케이션이 어떤 포트를 사용할지 알 수 없으며 사용하는 포트도 통신할 때마다 달라집니다.

<그림 5> 클라이언트 애플리케이션의 포트 번호 동적 할당

포트를 이용한 다중 연결

웹 브라우저로 여러 웹 페이지를 보거나, 동시에 여러 애플리케이션으로 인터넷에 접속하고 있을 때 서로 다른 데이터가 오고 가는 상황에서도 애플리케이션끼리 혼선이 생기지 않는 것은 전송 계층이 포트를 여러 개 사용하여 각각 따로 통신을 하기 때문입니다.

전송 계층이 포트 번호로 애플리케이션을 식별하여 데이터를 각 애플리케이션에 배분한다고 했습니다. 이를 달리 표현하면 포트는 데이터가 전송 계층과 응용 계층 사이를 이동할 수 있는 출입구 역할을 하고, 각 출입구를 구별하기 위해 번호를 붙인 것이 포트 번호라 할 수 있습니다. 예를 들어, 웹 브라우저라는 애플리케이션은 포트 번호가 80번인 통로로만 데이터를 보낼 수 있고, FTP 애플리케이션은 포트 번호가 21번인 통로로만 데이터를 보낼 수 있는 것입니다.

따라서 응용 계층에서 웹 브라우저가 보내는 데이터를 전송 계층의 80번 포트로 전송해야만 응용 계층과 전송 계층 간에 통신이 가능한 것입니다. 이처럼 응용 계층과 전송 계층이 같은 포트를 사용해야 통신이 가능하기 때문에 전송 계층에서는 포트를 여러 개 사용하여 응용 계층의 애플리케이션들과 각각 따로 통신을 하며 데이터를 전송하는 것 입니다. 즉, 포트 번호를 사용하여 여러 애플리케이션이 동시에 통신하는 다중 연결이 이루어집니다.

<그림 6> 포트를 이용한 다중 연결

IP 주소와 포트 번호의 조합으로 통신 상대방 식별

아래 <그림 7>와 같이 클라이언트 1에서 웹 브라우저 창을 2개를 열고, 각 창마다 구글의 웹 사이트에 접속하는 경우 통신 ①과 통신 ②이라는 별개의 통신이 일어납니다. 이처럼 동일한 서버 상에 있는 웹 페이지를 동시에 열람하는 경우, 통신 ①과 통신 ②는 클라이언트 1과 웹 서버라는 두 컴퓨터 사이에서 발생하기 때문에 송신지 IP 주소, 수신지 IP 주소, 수신지 포트 번호가 동일합니다. 이때 통신 ①과 통신 ②이 각각 다른 통신이라는 것은 송신지 포트 번호로 구분합니다.

서버의 포트 번호는 고정되어 있기 때문에 여러 클라이언트가 서버와 통신하는 과정에서 같은 포트로 요청이 몰리게 됩니다. <그림 7>에서 클라이언트 1과 클라이언트 2가 웹 서버에 접속하는 경우 통신 ①과 통신 ③이 발생합니다. 클라이언트의 포트 번호는 통신을 할 때 랜덤하게 할당되기 때문에 같은 포트 번호가 할당될 수도 있습니다. 따라서 통신 ①과 통신 ③은 송신지 포트 번호, 수신지 포트 번호, 수신지 IP 주소가 같습니다. 이때 통신 통신 ①과 통신 ③을 구별하는 것은 송신지 IP 주소입니다. 인터넷에서 IP 주소는 호스트마다 유일한 번호로 할당되기 때문에 포트 번호가 동일하더라도 통신 상대방을 식별할 수 있습니다.

이처럼 IP 주소와 포트 번호의 조합으로 애플리케이션이 통신하는 상대방을 식별할 수 있기 때문에 한 클라이언트가 여러 서버에 접속하더라도, 한 서버에 여러 클라이언트가 접속하더라 혼선없이 통신이 가능한 것입니다.

<그림 7> IP 주소와 포트 번호의 조합으로 통신 상대방 식별

포트 번호를 이용한 웹 서버와 웹 브라우저의 통신

웹 서비스를 제공하는 웹 서버는 공인 IP 주소를 공개하고, 포트 번호 80번을 사용합니다. 따라서 웹 서버 애플리케이션에 접속하기 위해서는 웹 브라우저에 IP 주소(또는 도메인)와 함께 포트 번호도 같이 입력해야 합니다(http://IP 주소(또는 도메인) : 포트 번호). 포트 번호를 사용하지 않고 통신하면 웹 서버까지 데이터가 수신되지만, 웹 서버 애플리케이션에는 도착하지 못합니다.

구글의 웹 사이트에 접속하려면 웹 브라우저 주소창에 http://203.179.33.12:80 또는 http://www.google.com:80을 입력해야 합니다.

다만, 웹 브라우저를 사용하여 웹 서버에 접속할 때 IP 주소나 도메인 뒤에 포트 번호를 입력하지 않아도 자동으로 80번이 입력되기 때문에 포트 번호를 입력하지 않아도 웹 서버에 접속이 가능합니다. 만약 포트 번호가 80번이 아닌 웹 페이지에 접속하려면 웹 브라우저에 주소를 입력할 때 포트 번호도 같이 입력해야 합니다.

웹 브라우저가 웹 서버의 IP 주소와 포트 번호로 웹 페이지를 제공하는 웹 서버 애플리케이션에 접속할 때 웹 브라우저가 설치된 운영체제에서 웹 브라우저가 사용할 임의의 포트 번호를 할당합니다. 웹 서버 애플리케이션은 이 포트 번호로 웹 브라우저와 통신하며 웹 페이지를 전송하게 됩니다.

<그림 8> 포트 번호를 이용한 웹 서버와 웹 브라우저의 통신

전송 계층의 통신 방식과 프로토콜

애플리케이션에 데이터를 배분하는 전송 계층의 또 다른 역할은 데이터를 수신지까지 문제없이(정확성, 신뢰성) 효율적으로 전송하는 것입니다. 신뢰할 수 있고 정확한 데이터를 전달하는 통신을 연결형 통신이라 하고, 효율적으로 데이터를 전송하는 통신을 비연결형 통신이라고 합니다.

연결형 통신은 통신 상대방과 확인해 가면서 통신하는 방식이고, 비연결형 통신은 상대방의 확인을 거치지 않고 일방적으로 데이터를 전송하는 방식입니다.

아래 <그림 9>과 같이 연결형 통신은 신뢰성과 정확성이 우선이므로 데이터를 전송 할 때 여러 번 확인 절차를 거치지만, 비연결형 통신은 효율성이 우선이므로 확인 절차 없이 일방적으로 데이터를 전송합니다. 두 가지 통신 모두 장단점이 있기 때문에 애플리케이션의 특징에 따라 선택하여 사용합니다. 보통 데이터의 정확성과 신뢰성이 중요한 웹이나 이메일에서는 연결형 통신을, 동영상 같이 빠른 데이터 전송으로 원활한 동영상 재생이 중요한 경우에는 비연결형 통신을 사용합니다.

<그림 9> 연결형 통신과 비연결형 통신

전송 계층의 연결형 통신에는 TCP 프로토콜이 사용되고, 비연결형 통신에는 UDP 프로토콜이 사용됩니다.

다음 포스팅에선 TCP 프로토콜에 대해 살펴 보도록 하겠습니다.

참고 자료

정기철, 「인공지능 시대를 위한 컴퓨터 과학 개론」, 한빛아카데미, 2020.

다케시타 다카후미 외 3인, 이영란 역, 「마스터링 TCP/IP 입문편」, 성안당, 2019.

ANK CO., Ltd., 이영란 역, 「TCP/IP가 보이는 그림책」, 성안당, 2019.

강환수 외 3인, 「컴퓨터 개론」, 인피니티북스, 2019.

진혜진, 「네트워크 개론」, 한빛아카데미, 2019.

삼성SDS 기술사회, 「정보통신」, 한울아카데미, 2019.

정진욱 외 4인, 「컴퓨터 네트워크」, 생능출판사, 2018.

김현정, 「소프트웨어 개념사전」, 궁리, 2019.

이영호 외 1인, 「당신이 지금 알아야 할 AWS」, 비제이 퍼블릭, 2019.

김종훈, 「소프트웨어 세상을 여는 컴퓨터 과학」, 한빛아카데미, 2018.

Gene, 김성훈 역, 「그림으로 배우는 네트워크 원리」, 영진 닷컴, 2020.

Ryuji Kitami, 이영란 역, 「그림 한 장으로 보는 최신 네트워크 용어 해설」, 정보문화사, 2016.

미즈구치 카즈야, 이승룡 역, 「모두의 네트워크」, 2018.

리브로웍스, 신상재 역, 「TCP/IP 쉽게, 더 쉽게」 , 제이펍, 2016.

Gene, 진솔 역, 「손으로 익히며 배우는 네트워크 첫걸음」, 한빛미디어, 2017.

아미노 에이지, 김현주 역, 「하루 3분 네트워크 교실」, 영진닷컴, 2016.

김석준, 「문과생을 위한 ICT 이야기 」, 커뮤니케이션즈북스, 2019.

James F. Kurose외 1인, 「컴퓨터 네트워킹」, 퍼스트북, 2017.

Tsutomu Tone, 이도희 역, 「성공과 실패를 결정하는 1%의 네트워크 원리」, 성안당, 2018.

백금란 외 1인, 「TCP/IP 이해하기」, 북스홀릭퍼블리싱, 2015.

반응형

So you have finished reading the 전송 계층 topic article, if you find this article useful, please share it. Thank you very much. See more: osi 7계층, 세션계층, 데이터링크 계층, 응용계층, 물리계층, TCP/IP 계층, 네트워크 계층 역할, 네트워크 계층 프로토콜

Leave a Comment