Clean & Blue 자세히보기

전공/정보처리기사 실기

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(7) /흐름제어/혼잡제어/UDP/라우팅

_청렴 2021. 5. 21. 18:42
반응형

- TCP의 흐름제어 기법

  •  Stop and Waiting Flow Control : 수신자가 에러 체크 후 에러가 있으면 에러가 발생한 데이터부터 하나씩 다시 받는 방식 -> 에러 없으면 ACK전송
  • 슬라이딩 윈도우 : 수신 측에서 제대로 수신한 바이트에 대한 확인 응답을 전송할 때 마다 버퍼의 범위가 한꺼번에 미끄러지듯이 이동 -> 호스트는 가가 연결마나 하나의 윈도우 이용

 

- TCP의 혼잡제어 기법

네트워크가 혼잡하다고 판단될 때 송신률을 감속

-> 패킷 전송 지연 혹은 패킷 손실을 막는 것이 목적

 

  • 슬로우 스타트(Slow Start) : 미리 정해진 임계 값에 도달할 때까지 윈도우의 크기를 2배씩 증가시킴 -> 매 전송마다 두배씩 증가하기 때문에 전송되는 데이터의 크기는 지수 함수적으로 증가
  • 혼잡 회피(Congestion Avoidance) : 전송되는 데이터의 크기가 임계값에 도달하면 혼잡회피 단계로 넘어감, 윈도우의 크기, 즉 세그먼트의 수를 1로 줄임, 동시에 임계 값을 패킷 손실이 발생했을 때의 윈도우 크기의 반으로 줄임

- TCP 패킷 구조

tcp 헤더 구조

-> TCP 포트의 식별번호는 IP 주소 및 포트 번호 쌍을 양단간 연결 식별을 소켓 식별자로 함

 

- TCP Header 구조 의미

- 발신/목적지 포트 주소(각 16비트) -> IP 주소 + 포트번호 = 소켓 주소

- Segment Number(32비트) -> TCP 신뢰성 및 흐름제어 기능 제공

- Acknowledgement Number(확인 응답/ 승인 번호 : 32비트) -> 수신하기를 기대하는 다음 바이트 번호

- 헤더 길이 필드(HLEN, 4비트)

- 6개의 FLAG 비트

  • URG(Urgent) : Urgent Pointer 필드에 값이 채워져 있음
  • ACK(Acknowledgement) : 확인응답 필드에 확인 응답 번호
  • PSH(Push) : 버퍼링된 데이터를 상위계층에 즉시 전달
  • RST(Reset) : 강제 연결 초기화 용도
  • SYN(Synchronize) : 연결 시작, 회선 개설 용도
  • FIN(Finish) : 연결 해제, 회선 종결 용도

 

- 윈도우 크기(16비트) -> 송신자에게 자신의 수신 버퍼 여유 용량 크기를 지속적으로 통보

- CheckSum(16비트)

- Urgent Pointer(16비트) -> 긴급 데이터의 마지막 바이트에 대한 일련번호

- 옵션 : 최대 40바이트까지 옵션 데이터 포함 가능

- UDP(User Datagram Protocol)

- 비연결성 : 데이터그램 지향의 전송계층용 프로토콜(논리적인 가상회선 연결 필요없음)

- 비신뢰성 : 메세지가 제대로 도착했는지 확인하지 않음

- 순서화되지 않은 Datagram 서비스 : 순서제어 없음, 흐름제어 없음

- 실시간 응용 및 멀티캐스팅 가능 : 1대N 전송

- 단순한 헤더 : 고정크기의 8바이트만 사용

- 데이터 전송 단위 : 메세지

 

- UDP 헤더 구조 의미

  • 수신 포트 번호 - 선택 항목
  • 패킷 전체 길이 - 바이트 단위의 길이, 최소값 8(헤더만)
  • 체크섬 - 선택 항목

 

- 라우팅(Routing)

- 라우팅 테이블 : 라우팅을 위해서, 목적지에 따라서 패킷을 보낼 인터페이스를 먼저 계산해 놓음

- 라우팅 프로토콜 : 라우팅 테이블을 생성, 유지, 업데이트, 전달하는 전송 협약

- 분류

  • 정적 라우팅 : 수동으로 사람이 일일히 경로 입력, 부하 경감, 고속 라우팅
  • 동적 라우팅 : 라우터가 스스로 알아서 좋은 경로를 찾아가는 방식 - RIP, IGRP, OSPF, EIGRP
  • 내부 라우팅 : 같은 관리자 하의 라우터 집합을 AS, AS 내에서의 라우팅 - RIP, IGRP, OSPF, EIGRP
  • 외부 라우팅 : 서로 다른 AS 사이에서 사용 : BGP, EGP

 

- 거리 벡터 알고리즘(Distance Vector) - 라우팅 테이블에 목적지까지 가는데 필요한 거리와 방향만을 기록(인접 라우터) -> RIP, EGP

- 링크 상태 알고리즘(Link State) - 라우터가 목적지까지 가는 경로를 SPF(Sharest path First : 최단경로우선) 알고리즘으로 모든 라우팅 테이블에 기록 -> OSPF

- Hybrid Routing Protocol - 시스코사 독점, 거리 벡터면서 링크 상태 일부 기능 이용

 

* Distance-Vector - 밸만-포드 알고리즘 - Hop Count -> RIP, IGRP

* Link_State - Digkstra 알고리즘  - 홉 수, 대역폭, 지연 등 다양 -> OSPF, EIGRP

* Path-Vector - 정책 기반 - Path -> BGP

 

- tracert -> 라우팅 경로 확인

tracert /? -> 도움말

tracert -h 50 -> 홉 수 50까지 출력

 

- route print -> 라우팅 테이블 출력

Gateway -> 네트워크가 처음 거치는 관문(자기 자신)

Interface -> 물리적인 접속점

Route add -> 라우팅 테이블 추가

 

- netstat -> 네트워크 상태 확인

  • -a : 모든 연결 및 수신 대기 포트 표시
  • -t : TCP로 연결한 포트 화면 출력
  • -u : UDP로 연결한 포트 화면 출력
  • -n : 주소나 포트 형식을 숫자로 표현
  • -p 프로토콜 : 해당 프로세스 사용 중인 프로그램 이름
  • -r : 라우팅 테이블 출력

 

- 네트워크 연결 상태

  • LISTEN - 연결 요구를 기다림
  • ESTABLISHED - 서로 연결되어 있는 상태
  • SYN_SENT - 클라이언트가 서버에 SYN 패킷을 보내고 연결을 요청하는 상태
  • TIME_WAIT - 클라이언트에게 ACK를 받기 위해 기다리는 상태
  • CLOSE_WAIT - 연결이 종료되길 기다리는 상태
  • LAST_ACK - 연결이 종료되었고 승인을 기다리는 상태
  • CLOSED - 연결 종료

 

 

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(8) /기본 개발환경 구축

4) 기본 개발환경 구축 - CentOS - RHEL의 복제본 - RHEL - Red Hot Enterprise Linux의 약자, 레드햇에서 만들어 판매하는 리눅스 - 7버전 다운로드 -> https://www.centos.org/download/ Download As you downlo..

aapslie94.tistory.com