UDP
UDP 비연결형 서비스
- UDP 정의
- User Datagram Protocol
- 전송 계층 프로토콜
- Process-to-process protocol
- [비교대상] IP : host-to-host protocol
- 비연결성과 비신뢰성
- 기본적인 IP 데이터 전달 서비스에 프로세스 간 통신이 추가된 형태이다.
- 연결성 보장과 신뢰적 전송에 소요되는 오버헤드가 없다.
- 간단한 메시지를 송수신 하는데 유리하다.
- 응용 프로세스의 데이터 전송
- 응용 프로세스는 다음 프로토콜을 이용하여 데이터를 다른 응용 프로세스 전송을 할 수 있다.
- UDP : 비연결형,비신뢰성 전송 서비스
- TCP : 연결형,신뢰성 전송 서비스
- 포트 번호 사용(프로세스들을 구별하기 위함)
- 응용 프로세스는 다음 프로토콜을 이용하여 데이터를 다른 응용 프로세스 전송을 할 수 있다.
- UDP의 특징
- UDP = 비연결형 IP 전달 서비스 + 검사합(checksum) 기능
- 최종 목적지의 데이터 수신 여부를 확인하지 않는다.
- 데이터 손실 가능성이 있다.
- 메시지의 도착 순서를 재조정 하지 않는다.
- 데이터의 순서가 틀릴 가능성이 있다.
- 호스트 사이에 데이터 흐름 제어가 없다.
- 수신자 처리 용량을 초과하는 데이터 발생 가능성이 생긴다.
- UDP의 장단점
- 장점 : TCP 보다 데이터 전송 속도가 빠르고 응용 프로그램이 간단해진다.
- 단점 : UDP를 사용하는 응용 프로그램은
- 메시지손실,중복수신,수신지연,잘못된 순서 등을
- 처리하기 위한 신뢰성 제어 기능을 제공해야 한다.
UDP 사용자 데이터그램
- UDP 데이터그램 형식
- 1.UDP 발신지 포트 (16bit)
- 발진지 프로세스 포트 번호
- 2.UDP 목적지 포트 (16bit)
- 목적지 프로세스 포트 번호
- 3.UDP 전체 길이 (16bit)
- 데이터그램 전체 길이 ( 헤더길이 + 데이터길이)
- 4.UDP 검사 합(16bit)
- 데이터그램 전체의 오류 검사용
- 1.UDP 발신지 포트 (16bit)
UDP 가짜 헤더
- UDP 가짜 헤더 (pseudo header)
- UDP 데이터그램이 정확히 목적지에 도착하였는지를 2중으로 인증하기 위해 사용한다.
- IP주소 확인, 오류 검증 (검사합)
- UDP 헤더는 단지 포트번호만 가지고 있고 IP 주소 정보는 없다.
UDP 포트 번호
- Process - to - process 통신
- 포트 번호
- 서버 프로세스는 잘 알려진 포트 번호 사용한다. (well-known port)
- 클라이언트 프로세스는 임시 포트 번호를 사용한다.
- 포트 번호
TCP
전송제어 프로토콜
- TCP 정의
- Transmission Control Protocol
- 신뢰성이 요구되는 응용
- UDP : 응용 프로그램에서 신뢰성 보장
- TCP : 전송 계층 (TCP)에서 신뢰성 보장
- 방대한 양의 데이터 전송 -> TCP 사용
- 간단한 메시지 송수신 -> UDP 사용
- 신뢰성이 요구되는 응용
- 전송 계층 프로토콜
- Process - to - process protocol
- 연결지향 (connection - oriented) 전송 서비스
- 연결 설정 - 데이터 전송 - 연결 해제
- TCP 연결 식별자 : 송신측 TCP 종점 주소, 수신측 TCP 종점 주소
- 신뢰성
- 흐름 제어 (sliding window protocol)
- 오류 제어 (응답 패킷, 시간 초과, 재전송 방식 )
- Transmission Control Protocol
신뢰성 제공
- 신뢰성 제공 방법
- 연결지향(connection-oriented)데이터 전송
- Segment 단위의 전송 (MSS:Maximum Segment Size)
- 흐름제어(low contorl:sliding window 사용)
- 오류 제어 (응답 패킷, 시간 초과,재전송 방식)
- 타이머 관리
- checksum,순서 보장,중복 패킷 방지
TCP 세그먼트 형식
- TCP Segment
- header (20~60 bytes) + Application data
- 1.발신지 포트 (2 bytes) : 발신지 TCP 사용자 프로세스 식별
- 2.목적지 포트 (2 bytes) : 목적지 TCp 사용자 프로세스 식별
- 3.순서 번호 (sequence number , 4 bytes)
- 데이터 필드의 첫번째 데이터 바이트의 순서 번호
- 4.응답 번호 (ACK number , 4 bytes)
- 송신측으로부터 받은 세그먼트에 대한 응답.
- 바로 다음에 받기를 기대하는 순서 번호를 의미한다.
- 예시) 순서번호가 x인 세그먼트를 수신하면 응답번호는 x+1을 사용함.
- 5.헤더 길이 (HLEN, 4 bits)
- 4바이트 단위로 표시되는 헤더의 길이
- 5~15 사이의 값을 입력, (5-> 20바이트, 15->60바이트)
- 6.예약 ( Reserved , 6 bits )
- 7.제어 (flag bits , 6 bits )
- 1) URG : 긴급 포인터 (urgent pointer) 필드가 유효함을 표시한다.
- 2) ACK : 응답번호가 유효함을 표시한다.
- 3) PSH : 가능한 빨리 현재 세그먼트를 상위 계층에 전달해야 할 때 표시
- 4) RST : 연결을 재설정 할 때 표시
- 5) SYN : 연결을 초기화하기 위해 순서번호를 동기화 시킬 떄 사용한다.
- 6) FIN : 연결을 해제시키기 위해 현재 세그먼트가 마지막 데이터임을 표시할 때 사용.
- 8.윈도우 크기 (window size , 2 bytes )
- 흐름제어를 위한 윈도우의 크기를 명시한다.
- 최대 크기는 2^16 = 65,535 바이트이다.
- 9.검사합 (checksum , 2 bytes) : 오류 제어를 위한 검사합 부분
- 10. 긴급 포인터 (urgent pointer , 2 bytes)
- 제어(flag bits)에서 URG flag = 1 일 때,
- 긴급 데이터의 마지막 바이트의 순서 번호를 기입한다.
- 긴급포인터 + 순서번호
- 11.옵션(option , 0 ~ 40 bytes)
- Maximun Segment Size (MSS)
- 윈도우 크기를 증가시키기 위한 값, time stamp 등을 기입
TCP 연결형 서비스
- TCP 종점 ( endpoint ) 식별자 [ = socket address ]
- 호스트 IP 주소와 포트 번호로 정의한다.
- 예 ) 방송대 와 고려대 사이의 TCP 연결
- 방송대 호스트 (211.110.34.15)
- 고려대 호스트 (163.100.21.67)
- (211.110.34.15,12345) 및 (163.100.21.67,20)
- port numbers : 12345 (client)
- port numbers : 20 (FTP Server)
- TCP 연결
- 전이중 (full-duplex) 데이터 전송 서비스
- TCP 연결 설정
- 3 - way handshaking
- TCP 연결 종료
- 양방향 모두 연결 종료를 해야 한다.
- FIN 을 이용하여 종료.
'CapacityBuilding > 네트워크관리사 취득' 카테고리의 다른 글
[네트워크관리사 2급 독학로그] 필기 합격 후기 (0) | 2020.05.19 |
---|---|
[네트워크관리사 2급 독학로그] ARP,RARP,ICMP,IGMP,DHCP 정리 (0) | 2020.05.17 |
[네트워크관리사 2급 독학로그] TCP/IP 개념 및 기본구조 정리 (0) | 2020.05.17 |
[네트워크관리사 2급 독학 로그] 헷갈리는 기출문제 정리 및 해설 (0) | 2020.05.16 |
[네트워크관리사 2급 독학 로그] 공부 시작, 시험 D - 7 (0) | 2020.05.10 |