Network : 전송프로토콜 [1]

daymoon_·2022년 5월 19일
0

NETWORK

목록 보기
19/20
post-thumbnail

전송 프로토콜과 UDP

🗃️ 참고 자료
K-MOOC 네트워크 기초

프로세스 간의 통신

🔶 데이터링크 계층은 이웃한 두 노느 사이의 프레임 전달에 관여

  • 노드 to 노드 전달(node-to-node delivery)

🔶 IP와 같은 네트웤그 계층은 두 호스트 사이의 패킷 전달에 관여

  • 호스트 to 호스트 전달(host-to-host delivery)

🔶 수송 계층 프로토콜은 프로세스 사이의 메시지 전달에 관여

  • 프로세스 to 프로세스 전달(process-to-process delivery)
  • 포토 번호가 프로세스 간의 전달에 사용

클라리언트/서버 구성

  • 프로세스간의 통신은 클라이언트/서버 구성을 통해서 이루어짐
  • 포트 번호는 수송 계층에서 사용하는 주소로서 특정 호스트에서 실행되는 프로세스를 구분하기 위해 사용 ▶ 포트 번호는 16비트 정수로서 0에서 65535사이의 값을 갖음
  • 클라이언트 프로그램은 포트 번호를 갖게 되는데 운형체제에 의해서 선택된다. ▶ 이러한 포트는 일시적으로 할당되고 사라져서 임시 포트 번호(ephemeral prot number)라 함
  • 서버 프로그램은 인터넷에서 식별을 위해 동일한 포트 번호를 갖는다. ▶ 이러한 포트는 고정적으로 할당되고 모두 알고 있어야 하기 때문에 알려진 포트 번호(well-known port numbers)라 함

포트번호

  • IANA(Internet Assigned Numbers Authority)는 포트번호를 3개의 영역으로 구분
    1. Well-known ports : 이 포트는 0 ~ 1023이 할당되며 인터넷 서비스를 위해 사용
    2. Registered ports : 이 포트는 1024 ~ 49151의 범위를 가지며 특정 응용을 위해 기업이 사용
    3. Dynamic ports : 이 포트는 49152 ~ 65535의 범위를 가지며 등록되거나 통제되지 않으며, 임시포트로(ephemeral ports)이용

User Datagram Protocol(UDP)

🔶 UDP는 비연결형, 비신뢰성 수송 프로토콜

  • 흐름제어나 에러제어가 없음
  • UDP가 에러를 검출하면 단순히 폐기
  • 연결설정이나 종료과정이 없음
  • 데이터그램들 사이의 서로 관련이 없으며, 번호가 붙지 않음
  • 각 UDP 데이터그램은 서로 다른 경로로 전달
    1. 수신자는 수신 메시지로 오버플로우될 수 있음
    2. 송신자는 메시지가 유실되거나 중복되었는지 알 수 없음

🔶 UDP는 오버헤드가 작은 아주 단순한 프로토콜에 이용

🔶 Well-known ports used with UDP

🔶 User datagram

  • UDP는 8바이트의 고정된 크기의 헤더를 갖음
  • 체크섬의 계산은 선택사항 ▶ 체크섬의 값이 계산되지 않으면, 해당 필드의 값이 0이됨

🔶 Checksum

  • UDP 체크섬 계산은 IP나 ICMP와 달리 가상헤더를 만들어서 계산 ▶ 가상헤더, UDP 헤더, 데이터에 대해서 체크섬을 수행
  • 가상헤더는 IP패킷의 헤더에서 가져온 정보로 구성
    1. 송신자 IP주소, 목적지 IP주소, 프로토콜 빌드, 전체 길이 필드로 구성
    2. IP 헤더가 잘못되면 잘못된 호스트나 잘못된 수송계층 프로토콜로 전달되므로 한번 더 검사

🔶 UDP의 사용

  • UDP는 간단한 요청-응답 서비스에 적합 ▶ 연결설정/해제 과정의 오버헤드가 없음
  • UDP는 프로세스에서 내부 흐름제어와 에러제어를 갖는 경우 적합 ▶ 응용 프로그램이 자체적으로 갖고 있는 기능을 중복해서 가질 필요가 없음
  • UDP는 멀티캐스팅에 적합 ▶ 그룹에 속한 모든 시스템과 연결 설정할 필요 없음
  • UDP는 SNMP같은 관리시스템에서 사용 ▶ UDP는 RIP에서 사용
profile
미지의 공간🌙

0개의 댓글