300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 킥스타트
- 프로그래머스
- 파이썬
- 코딩 테스트
- 그래프
- linux
- 운영체제
- OS
- google coding competition
- CSS
- nlp
- DFS
- 브루트포스
- 구글 킥스타트
- 네트워크
- 백준
- 리눅스
- dp
- AI
- 딥러닝
- 순열
- BFS
- 알고리즘
- 코딩테스트
- 프로그래밍
- 동적프로그래밍
- kick start
- 코딩
- 동적 프로그래밍
- PYTHON
Archives
- Today
- Total
오뚝이개발자
[네트워크] CH17 전송프로토콜과 UDP 본문
728x90
300x250
학습 목차
- 프로세스 간의 통신
- 수송계층 프로토콜과 프로세스 간의 통신의 읨
- 포트번호의 종류와 클라이언트/서버 모델
- 사용자 데이터그램 프로토콜(UDP)
- 메시지 형태와 필드 설명
- UDP의 특징과 사용되는 영역
각 계층별 프로토콜의 데이터 전달
- 데이터링크 계층 : 이웃한 두 노드 사이의 프레임 전달에 관여(node-to-node)
- 네트워크 계층 : 두 호스트 사이의 패킷 전달에 관여(host-to-host)
- 수송 계층 : 프로세스 사이의 메시지 전달에 관여(process-to-process), 포트번호(프로세스의 구별을 위해 사용되는 논리적 포트번호, 실제 물리적 포트가 아님)가 프로세스간의 전달에 사용됨
클라이언트/서버 구성
프로세스 간의 통신은 클라이언트/서버 구성을 통해 이루어진다.
포트 번호는 수송 계층에서 사용하는 주소로서 특정 호스트에서 실행되는 프로세스를 구분하기 위해 사용한다
즉, IP주소로 컴퓨터 확인, 포트번호로 프로세스 확인!!
- 임시포트번호(ephemeral port number) : 클라이언트 프로그램은 OS에 의해 할당되는 포트번호를 갖는다. 클라이언트 프로그램은 생성, 소멸을 반복하므로 이러한 포트번호는 일시적으로 할당되고 사라져서 임시포트번호라 한다.
- 알려진 포트 번호(well-known port numbers) : 서버 프로그램은 인터넷에서 식별을 위해 동일한 포트 번호를 갖는다. 이러한 포트는 고정적으로 할당되고 모두 알고 있어야 하기 때문에 well-known이라 한다. 예컨대, 포트번호 80은 HTTP를 의미한다.
포트번호 영역 구분
- Well-known ports : 0~1023이 할당되며 인터넷 서비스를 위해 사용
- Registered port : 1024~49151이 할당되며 특정 용도를 위해 기업이 사용
- Dynamic port : 49152~65535이 할당되며 등록되거나 통제되지 않는다. 임시포트번호로 이용됨
UDP(User Datagram Protocol)
트랜스포트 계층에 해당되는 대표적인 2개의 프로토콜 - UDP, TCP
- 비연결형, 비신뢰성
- 흐름제어, 에러제어 없음(UDP는 에러 검출하면 단순히 폐기시킴)
- 오버헤드가 작은 단순한 프로토콜에 사용
- UDP는 8바이트의 고정된 크기의 헤더를 갖는다
- 체크섬 계산은 선택사항
UDP의 체크섬 계산
- IP나 ICMP와 달리 "가상헤더"를 만들어 계산함
- 가상헤더, UDP헤더, 데이터에 대해 체크섬 수행
- 가상헤더는 IP패킷의 헤더에서 가져온 정보로 구성
- 송수신지 IP주소, 프로토콜 필드, 전체길이 필드로 구성
- IP헤더가 잘못되면 잘못된 호스트나 잘못된 수송계층 프로토콜로 전달되므로 한 번 더 검사한다
- 즉 IP는 데이터를 확인하지 않음(헤더만 검사) BUT UDP는 데이터도 확인을 할 수 있다(optional)
UDP 동작
비연결형 서비스
- 데이터그램들 사이에 서로 관련이 없다
- 번호를 붙이지 않는다
- 연결설정, 해제 과정이 없다
- 각 UDP 데이터그램은 서로 다른 경로로 전달될 수 있다
흐름제어나 에러제어 없다
- 수신자는 오버플로우 될 수 있다
- 송신자는 메시지의 유실, 중복 여부를 알 수 없다(에러 검출하면 단순히 폐기시키므로)
UDP의 사용
- 간단한 요청-응답 서비스에 적합(연결설정/해제 오버헤드 없으므로)
- 프로세스(수송계층 윈닷)에서 내부 흐름제어와 에러제어를 갖고 있는 경우 적합(응용프로그램에서 자체적으로 갖고 있는 기능을 중복해 가질 필요 없으므로)
- 멀티캐스팅에 적합(그룹에 속한 모든 시스템과 연결 설정할 필요가 없다)
- SNMP, RIP에서 사용
728x90
300x250
'CS 기초 > 네트워크' 카테고리의 다른 글
[네트워크] CH19 네트워크 관리 SNMP (0) | 2020.11.15 |
---|---|
[네트워크] CH18 TCP (0) | 2020.11.15 |
[네트워크] CH16 멀티캐스팅 (0) | 2020.11.15 |
[네트워크] CH15 라우팅 프로토콜 (0) | 2020.11.15 |
[네트워크] CH14 패킷전달과 라우팅 (0) | 2020.11.13 |
Comments