Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- BOJ1655
- 백준괄호
- 합성곱연산
- 백준10828
- 웹개발기초
- 백준
- 코드트리
- 가운데를말해요
- 확인문제
- 2019카카오코테
- 백준온라인저지
- 백준평범한배낭
- 딥러닝
- 스파르타코딩클럽
- KT포트포워딩
- 이것이자바다9장
- java
- 운영체제
- 이것이자바다
- 카카오코테
- 백준스택
- BOJ
- 이것이자바다확인문제
- 윤곽선검출
- 백준9012
- 냅색알고리즘
- 백준가운데를말해요
- 코테
- 코딩테스트실력진단
- 컴퓨터비전
Archives
- Today
- Total
코딩하는 락커
3. 전송 계층 1 본문
3.1 트랜스포트 계층 서비스 및 개요
- 트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스 간의 논리적 통신Logical communication을 제공함.
- 논리적 통신은 애플리케이션의 관점에서 보면 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보인다는 것을 의미함.
- 트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌 종단 시스템에서 구현됨.
- 송신 측 트랜스포트 계층은 송신 애플리케이션 프로세스로부터 수신한 메시지를 트랜스포트 계층 세그먼트Segment인 트랜스포트 계층 패킷으로 변환함.
- 이러한 변환은 애플리케이션 메시지를 트랜스포트 계층 세그먼트로 만들기 위해 더 작은 조각으로 분할하고, 각각의 조각에 트랜스포트 계층 헤더를 추가함으로써 수행됨.
- 수신측에서 네트워크 계층은 데이터그램으로부터 트랜스포트 계층 세그먼트를 추출하고 트랜스포트 계층으로 세그먼트를 보냄.
- 이후에 트랜스포트 계층은 수신 애플리케이션에서 세그먼트 내부의 데이터를 이용할 수 있도록 수신된 세그먼트를 처리함.
트랜스포트 계층과 네트워크 계층 사이의 관계
- 트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 프로세스들 사이의 논리적 통신을 제공 -> a라는 호스트 위에서 실행 중인 b,c,d,e,f .. 등의 프로세스를 구분함.
- 네트워크 계층 프로토콜은 호스트들 사이의 논리적 통신을 제공 -> a, b, c, d 등의 호스트를 구분함.
인터넷 트랜스포트 계층의 개요
- 인터넷에서 트랜스포트 계층 패킷을 세그먼트로 일컫음.
- TCP/UDP 패킷을 모두 세그먼트로 지칭, 네트워크 계층 패킷에 대해 데이터그램으로 지칭
- 인터넷 네트워크 계층 프로토콜은 "인터넷 프로토콜", 줄여서 IP라고 부름
- IP 서비스 모델은 호스트들 간에 논리적 통신을 제공하는 최선형 전달 서비스best effor delivery service임.
- 이것은 IP가 통신하는 호스트들 간에 세그먼트를 전달하기 위해 최대한 노력하지만, 어떤 보장도 하지 않는다는 것을 의미.
- 특히 IP는 세그먼트 전달을 보장하지 않고 세그먼트가 순서대로 전달되는 것을 보장하지 않음.
- 또한 IP는 세그먼트 내부 데이터의 무결성을 보장하지 않음.
- 이러한 이유로 IP를 비신뢰적인 서비스unreliable service
- 각 호스트는 적어도 하나의 IP 주소를 가지고 있음
- TCP/UDP의 가장 기본적인 기능은 종단 시스템 사이의 IP 전달 서비스를 종단 시스템에서 동작하는 두 프로세스 간의 전달 서비스로 확장하는 것.
- 호스트-대-호스트 전달을 프로세스-대-프로세스 전달로 확장하는 것을 트랜스포트 다중화transport muliplexing와 역다중화demultiplexing이라고 부름
3.2 다중화와 역다중화
- 목적지 호스트에서의 트랜스포트 계층은 바로 아래의 네트워크 계층으로부터 세그먼트를 수신함.
- 트랜스포트 계층은 호스트에서 동작하는 해당 애플리케이션 프로세스에게 이 세그먼트의 데이터를 전달하는 의무를 가짐.
- 트랜스포트 계층 세그먼트는 적절한 소켓으로 향해야 함.
- 역다중화demultiplexing
- 각각의 트랜스포트 계층 세그먼트는 이러한 목적을 위해 세그먼트에 필드 집합을 갖고 있음.
- 수신 측의 트랜스포트 계층은 소켓을 식별하기 위해서 이들 필드를 검사함.
- 그리고 이 세그먼트를 해당 소켓으로 보냄.
- 역다중화: 트랜스포트 계층 세그먼트의 데이터를 올바른 소켓으로 전달하는 작업
- 다중화multiplexing
- 출발지 호스트에서 소켓으로부터 데이터를 모으고 이에 대한 세그먼트를 생성하기 위해서 각 데이터에 헤더 정보로 캡슐화함.
- 다중화: 캡슐화된 세그먼트들을 네트워크 계층으로 전달하는 작업
- 트랜스포트 계층 다중화에 필요한 것
- 소켓을 유일한 식별자를 가짐.
- 각 세그먼트는 세그먼트가 전달될 적절한 소켓을 가리키는 특별한 필드를 가짐
- 특별한 필드는 출발지 포트 번호 필드와 목적지 포트 번호 필드를 의미함.
- 그 중 0~1023까지의 포트번호를 잘 알려진 포트번호라고 하여 사용을 엄격하게 제한하고 있음.
연결지향형 다중화와 역다중화
- TCP 역다중화
- TCP 소켓은 4개 요소 집합에 의해 식별
- 출발지 IP 주소
- 출발지 포트 번호
- 목적지 IP 주소
- 목적지 포트 번호
- 따라서 목적지 IP 주소, 목적지 포트 번호가 같은 세그먼트가 와도 출발지 IP 주소, 출발지 포트 번호에 따라 다른 소켓, 다른 프로세스로 올라감.
- TCP 소켓은 4개 요소 집합에 의해 식별
- UDP 역다중화
- UDP 소켓은 2개 요소 집합에 의해 식별
- 목적지 IP 주소
- 목적지 포트 번호
- 따라서 출발지 IP 주소, 출발지 포트 번호가 다른 세그먼트와 와도 같은 소켓으로 올라감.
- UDP 소켓은 2개 요소 집합에 의해 식별
3.3 비연결형 트랜스포트: UDP
UDP 세그먼트 구조
32비트 | |
출발지 포트 번호(16비트) | 목적지 포트 번호(16비트) |
길이 | 체크섬 |
애플리케이션 데이터(메시지) |
- UDP 헤더는 2바이트씩 구성된 4개의 필드를 가짐
- 각 필드의 역할
- 포트 번호: 목적지 호스트가 목적지 종단 시스템에서 동작하는 정확하는 프로세스에게 애플리케이션 데이터를 넘기게 해줌(역다중화)
- 체크섬: 세그먼트에 오류가 발생했는지 검사하기 위해 수신 호스트에서 사용
- 오류 발생시 올려보내지 않음
'🌐 네트워크' 카테고리의 다른 글
3. 전송 계층 3 (0) | 2022.03.29 |
---|---|
3. 전송 계층 2 (0) | 2022.03.28 |
2. 어플리케이션 계층 2 (0) | 2022.03.28 |
2. 어플리케이션 계층 1 (0) | 2022.03.23 |
1. 컴퓨터 네트워크 기본 (0) | 2022.03.23 |
Comments