River.log
로그인
River.log
로그인
[네트워크] 다중화와 역다중화 (Transport Layer)
Yu River
·
2024년 3월 20일
팔로우
0
기술사
네트워크
0
정보관리기술사
목록 보기
5/9
[1] 다중화와 역다중화
다중화
캡슐화된 세그먼트들을 네트워크 계층으로 전달하는 작업
출발지 호스트에서 소켓으로부터 데이터를 모아 헤더 정보를 더해 캡슐화 한다.
애플리케이션 계층에서 메시지를 만들고 이들은 소켓을 통해 트랜스포트 계층으로 넘어간다.
데이터는 세그먼트로 캡슐화 되고 각 세그먼트를 네트워크 계층으로 전달하는 작업이다.
트랜스포트 계층 다중화에서의 두 가지 요구사항
소켓은 유일한 식별자를 가진다.
각 세그먼트는 세그먼트가 전달 될 적절한 소켓을 가리키는 특별한 필드를 가진다.
특별한 필드 :
출발지
포트번호 필드 +
목적지
포트번호 필드
각각의 포트 번호는 0~65535의 16비트 정수이다. 이 중에서 0~1023 까지의 포트번호를 잘 알려진 포트번호라고 하여 사용을 엄격하게 제한하고 있다.
예를 들어 HTTP(포트번호 80), FTP(포트번호 21), SSL, HTTPS(443), SMTP(25, 587), SSH(22) 등과 같은 유명한 포트들이 있다.
역다중화
네트워크 계층을 통해 도착한 데이터를 트랜스포트 계층 세그먼트의 데이터를 올바른 소켓으로 전달하는 작업
트랜트포트 계층에 상대 프로세스로부터 수신된 세그먼트 필드 집합이 있으며 이들은 사전에 설정된 트랜스포트 프로토콜에 따라서 알맞게 검사를 받는다.
그리고 검사가 완료된 세그먼트 집합은 올바른 소켓으로 전달된다.
여러개로 분할되어서 오는 세그먼트들을 한데 모아서 소켓으로 전송시키는 과정이다.
트랜스포트 계층에서 역다중화 서비스를 구현하는 방법
호스트의 각 소켓은 포트 번호를 할당받는다.
세그먼트가 호스트에 도착하면 트랜스포트 계층은 세그먼트 안의 목적지 포트 번호를 검사하고 상응하는 소켓으로 세그먼트를 보낸다.
세그먼트의 데이터는 소켓을 통해 해당되는 프로세스로 전달된다.
[2] Transport Layer (전송 계층,4번 Layer)
1. 트랜스포트 계층과 애플리케이션 계층
트랜스포트 계층
트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적인 통신을 제공한다.
즉, 애플리케이션의 관점에서 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보이도록 한다.
트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌 종단 시스템에서 구현된다.
애플리케이션의 메시지를 분
할하여 트랜스포트 계층 헤더를 추가해서
트랜스포트 계층 세그먼트(트랜스포트 계층 패킷)로 변환
한다.
트랜스포트 계층이 하위의 네트워크 계층으로부터 데이터를 수신하면 여러 프로세스들 중 하나에게 데이터를 전달해야 한다.
이 때, 수신 측 호스트의 트랜스포트 계층은 실제로 데이터를 직접 프로세스로 전달하지 않는다.
호스트가 가진 여러 개의 소켓들 중 적절한 한 개의 소켓으로 전달하는 역할을 한다.
다중화
: 출발지 호스트에서 소켓으로부터 데이터를 모아 헤더 정보를 더해 캡슐화하여 캡슐화된 세그먼트들을 네트워크 계층으로 전달한다.
역다중화
: 네트워크 계층을 통해 도착한 데이터를 트랜스포트 계층 세그먼트의 데이터를 올바른 소켓으로 전달하는 작업
소켓은 유일한 식별자를 가지고 세그먼트는 각 세그먼트가 전달될 적절한 소켓을 가리키는 특별한 필드를 갖고 있어야 한다.
애플리케이션 계층
애플리케이션의 한 부분으로서 프로세스는 소켓을 가지고 있다.
소켓을 통해서 프로세스와 프로세스가 네트워크를 통해 데이터를 주고받을 수 있다.
트랜스포트 계층과 애플리케이션 계층
트랜스포트와 애플리케이션 계층 사이에 소켓(초록 네모 박스)이 있고
소켓과 프로세스
가 연결되어 있다.
트랜스포트 계층은 메시지를 직접 프로세스로 전달하지 않고 중간 매개자인 소켓에게 전달한다.
이때 애플리케이션이 메시지를 받을 다양한 소켓을 가지고 있기에 구분값이 필요하다.
각 소켓은 TCP 소켓인지 UDP 소켓인지를 구분하는 식별자를 가지게 된다.
역다중화와 다중화 작업은 한 계층의 프로토콜이 상위 계층의 프로토콜에 의해 사용될 때마다 필요한 작업이다.
2. 트랜스포트 계층과 네트워크 계층
예시 : 편지를 보내는 일
“조이"라는 개구리는 가족들의 우편물을 모아서 집으로 찾아오는 집배원에게 편지를 전해준다.
고양이네 집에 편지가 도착하면 “헤이”라는 고양이는 우편물을 가족들에게 나눠 준다.
봉투 안의 편지 = 애플리케이션 메시지
가족들 = 프로세스
집 = 호스트(종단 시스템)
“조이", “헤이" =
트랜스포트 계층
프로토콜
우편 서비스과 집배원 = 네트워크 계층 프로토콜 (집배원은 소켓)
트랜스포트 계층
종단 시스템의 애플리케이션 프로세스에서 네트워크 계층(네트워크의 경계 지점)까지 메시지를 운반
네트워크 계층에서 애플리케이션 프로세스로 메시지를 운반하는 역할을 한다.
다중화 : 조이가 가족들의 우편물을 모아서 집배원에게 넘겨줄 때
역다중화 : 헤이가 우편물을 가족들에게 직접 나눠주는 것
3. 인터넷 트랜스포트 계층
UDP와 TCP
TCP/IP 네트워크에서 네트워크는 2가지 유형의 트랜스포트 계층 프로토콜을 제공한다.
헤더에 오류 검출 필드를 포함해 무결성 검사를 제공한다.
UDP
비신뢰적이고 비연결형 서비스
프로세스 간 데이터 전달과 오류 검출이라는 최소한의 서비스를 제공
허용하는 한 어떤 속도로도 데이터를 전송할 수 있다.
UDP 소켓은 포트 번호를 기반으로 연결한다.
다중화와 역다중화
UDP 소켓이 생성될 때, 트랜스포트 계층은 포트 번호를 소켓에게 할당한다.
송신 호스트는 애플리케이션 메세지와 함께 헤더에 출발지 포트 번호와 목적지 포트 번호를 담아 트랜스포트 계층 세그먼트로 캡슐화한다.
네트워크 계층으로 전달되어 IP 데이터 그램으로 캡슐화되고 수신 호스트로 전달한다.
수신 호스트의 트랜스포트 계층은 세그먼트 안의 목적지 포트 번호를 검사하고 올바른 소켓에 전달한다.
UDP 소켓은 목적지의 IP주소와 목적지 포트 번호로 식별된다.
목적지 IP 주소는 네트워크 계층에서 알아낸다.
출발지 포트 번호는 복귀 주소로 사용하기 위해 보내졌다.
즉, UDP 세그먼트들의 출발지의 IP주소와 포트번호와는 상관없이 목적지 IP 주소와 목적지 포트 번호가 같다면 동일한 목적지 소켓을 통해 동일한 프로세스로 향한다.
TCP
신뢰적이고 연결지향형 서비스
흐름제어, 혼잡 제어, 순서번호, 확인응답, 타이머를 사용해 신뢰적인 데이터 전달을 제공
TCP 소켓은 포트번호와 IP 주소를 기반으로 연결한다.
TCP 소켓은 출발지 IP 주소, 출발지 포트 번호, 목적지 IP 주소, 목적지 포트 번호에 의해 식별된다.
즉, TCP 세그먼트들은 출발지가 다르면 서로 다른 목적지 소켓을 통해 프로세스로 전달된다.
IP
최선형 전달 서비스이다.
즉 IP는 호스트 간에 세그먼트 전달을 보장하지는 않는다.(비신뢰적 서비스)
TCP는 IP의 호스트 간의 비신뢰적인 서비스를 프로세스 사이의 신뢰적인 데이터 전송 서비스로 만들어준다.
출처
https://hyeo-noo.tistory.com/232
https://frog-in-well.tistory.com/43
Yu River
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’
팔로우
이전 포스트
[네트워크] 반송파 감지 다중 접속 및 충돌탐지(CSMA/CD)
다음 포스트
[Network] L1, L2, L3, L4, L5, L6, L7 스위치
0개의 댓글
댓글 작성