IT Memory Note

[정보처리기사] 응용 SW 기초 기술 활용 : 네트워크 기초 활용하기(5) 본문

자격증/정보처리기사

[정보처리기사] 응용 SW 기초 기술 활용 : 네트워크 기초 활용하기(5)

h00ddu 2024. 9. 19. 23:44

 

2️⃣ 네트워크 프로토콜 파악

 


(5) 전송 계층(4계층, Transport Layer)

 

1. 전송 계층의 개념

 

  • 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층
  • 순차 번호 기반의 오류 제어 방식을 사용하고, 종단 간 통신을 다루는 최하위 계층으로 종단 간 신뢰성 있고 효율적인 데이터를 전송함
  • 전송 계층 프로토콜 : TCP, UDP

2. TCP(Transmission Control Protocol)

 

⓵ TCP의 개념 : 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로 사용됨

 

  • 전송 계층에 위치하면서 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜

⓶ TCP의 특징

 

특징 설명
신뢰성 보장 패킷 손실, 중복, 순서 바뀜 등이 없도록 보장
TCP 하위 계층인 IP 계층의 신뢰성 없는 서비스를 보완하여 신뢰성 제공
연결 지향적 특징 같은 전송 계층의 UDP가 비연결성인 것과는 달리, TCP는 연결 지향적임
양단 간 애플리케이션/프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신
흐름 제어(Flow Control) 흐름 제어 기능을 활용하여 송신(송신 전송률) 및 수신(수신 처리율) 속도를 일치시킴
혼잡 제어(Congestion Control) 네트워크가 혼잡하다고 판단될 때는 혼잡 제어 기법을 사용하여 송신율을 감속함

 


⓷ TCP 헤더 구조

 

  • TCP 헤더 구조에서 마지막 줄의 Options와 Padding은 생략할 수 있으므로 TCP 헤더의 최소 크기는 20바이트임
  • Options 필드는 다양한 종류의 부가 정보를 전달하는데 사용하며, 최대 40바이트의 크기를 지원함
  • Padding 필드는 헤더 크기를 4바이트 단위로 맞추려고 사용함

TCP의 헤더 구조

헤더 구조 설명 크기
Source/Destination
Port Number
송신지 포트 번호, 목적지 포트 번호
 양쪽 호스트 내 종단 프로세스 식별

16Bit
Sequnce Number Byte 단위로 구분되어 순서화되는 번호
이를 통해, TCP에서는 신뢰성 및 흐름 제어 기능 제공
32Bit
Acknowledgement
Number
 확인응답번호/승인번호
상대편 호스트에서 받으려는 바이트 번호를 정의
32Bit
HLEN(Header Length) TCP 헤더 길이를 4Byte(32Bit) 단위로 표시 4Bit
Flag Bit TCP 연결 설정과 연결 해제 메시지를 구분하는 것이 제어 필드의 기능이며, 제어 필드는 1Bit로 구성
URG, ACK, PSH, RST, SYN, FIN으로 구성
6개
Windows Size 해당 세그먼트의 송신 측이 현재 수신하고자 하는 윈도의 크기(기본 단위는 Byte)
원도 크기 : 송수신 측의 버퍼 크기로 전체 16Bit로 되어 있고, 2¹⁶까지 표시할 수 있기 때문에 최대 크기는 65,535Byte임
16Bit
Checksum 헤더 및 데이터의 에러 확인을 위해 사용되는 16Bit 체크섬 필드
 데이터를 포함한 세그먼트의 오류를 검사
16Bit
Urgent Pointer URG 플래그가 설정된 경우, 이 16Bit 필드는 시퀀스 번호로부터의 오프셋을 나타냄 16Bit
Options and Padding 최대 40Byte까지 옵션 데이터 포함 가능 -

 


3. UDP(User Datagram Protocol)

 

⓵ UDP의 개념 : 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 데이터그램 서비스를 제공하는 전송(Transport, 4계층) 계층의 통신 프로토콜


⓶ UDP의 특징

 

특징 설명
비신뢰성 데이터그램 지향의 전송 계층용 프로토콜(논리적인 가상회선 연결이 필요 없음)
메시지가 제대로 도착했는지 확인하지 않음(확인 응답 없음)
검사합을 제외한 특별한 오류 검출 및 제어 없음(오류 제어 거의 없음)

순서화되지 않은
데이터그램 서비스 제공
 수신된 메시지의 순서를 맞추지 않음
 흐름 제어를 위한 피드백을 제공하지 않음
실시간 응용 및
멀티캐스팅 가능
빠른 요청과 응답이 필요한 실시간 응용에 적합
여러 다수 지점에 전송 가능
단순 헤더 헤더는 고정 크기의 8Byte(TCP는 20Byte)만 사용
 헤더 처리에 시간과 노력을 필요하지 않음

 


⓷ UDP 헤더 구조

 

  • 경량의 헤더 구조로 데이터그램의 신뢰성을 보장하지 않음

UDP의 헤더 구조

필드 설명 크기
Source Port Number 송신 포트 번호 16Bit
Destination Port Number  수신 포트 번호
선택 항목(사용하게 되면 응답받게될 포트 표시함)
16Bit
UDP Length Byte 단위의 길이
최소값 8(헤더만 포함될 때)
16Bit
UDP Checksum 헤더 및 데이터의 에러 확인을 위해 사용되는 필드
선택 항목(체크섬 값이 0이면 수신 측은 체크섬 계산을 안 함)
16Bit
Data 가변 길이 데이터 가변

 


 

(6) 세션 계층(5계층, Session Layer)

 

1. 세션 계층의 개념

 

  • 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층
  • 통신 중 연결이 끊어지지 않도록 유지시켜주는 역할을 수행하기 위해 TCP/IP 세션 연결의 설정과 해제, 세션 메시지 전송 등의 기능을 수행함

2. 세션 계층의 프로토콜

 

프로토콜 설명
RPC
(Remote Procedure Call)
원격 프로시저 호출이라고 불리며, 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용되는 프로토콜
NetBIOS
(Network Basic Input/Output System)
응용 계층(7계층)의 애플리케이션 프로그램에게 API를 제공하여 상호 통신할 수 있도록 해주는 프로토콜

 


 

(7) 표현 계층(6계층, Presentation Layer)

 

1. 표현 계층의 개념

 

  • 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층
  • 수신자 장치에서 적합한 애플리케이션을 사용하여 응용 계층 데이터의 부호화 및 변환 수행을 통해 송신 장치로부터 온 데이터를 해석함
  • 데이터 형식 설정과 부호 교환, 압축, 암•복호화를 수행함

2. 표현 계층의 프로토콜

 

프로토콜 설명
JPEG 이미지를 위해 만들어진 표준 규격
MPEG 멀티미디어(비디오, 오디오)를 위해 만들어진 표준 규격

 


 

(8) 응용 계층(7계층, Application Layer)

 

1. 응용 계층의 개념

 

  • 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층
  • 응용 프로세스가 개방된 형태로 다양한 번주의 정보처리 기능을 수행할 수 있도록 여러 가지 프로토콜 개체에 대하여 UI를 제공함

2. 응용 계층의 프로토콜

 

프로토콜 설명 포트 번호
HTTP(HyperText
Transfer Protocol)
 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜
 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜
80
FTP(File Transfer
Protocol)
TCP/IP 프로토콜을 가지고 서버와 클라이언트 간의 파일을 전송하기 위한 프로토콜 20, 21
SMTP(Simple Mail
Transfer Protocol
인터넷에서 이메일을 보내기 위해 이용되는 프로토콜
25
POP3(Post Office
Protocol Version 3)
 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜
 이메일 공급업체 서버에서 단말로 이메일을 내려받아서 사용자의 단말에서 이메일을 관리
 이메일 서버와 동기화가 이루어지지 않고 오프라인에서도 사용 가능
110
IMAP(Internet Messaging
Access Protocol
 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜
중앙 서버에서 동기화가 이루어지기 때문에 모든 단말에서 동일한 이메일 폴더를 확인할 수 있는 프로토콜
 이메일 서버와 동기화가 이루어지고 온라인 및 오프라인에서 모두 사용 가능
143
Telnet 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜 23
SSH(Secure Shell)  Telnet보다 강력한 보안을 제공하는 원격 접속 프로토콜
 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 쉘 서비스 등을 수행
 키를 통한 인증 : 클라이언트의 공개키를 서버에 등록해야 하고 전송되는 데이터는 암호화됨
인증, 암호화, 압축, 무결성을 제공함

22
SNMP(Simple Network
Messagement Protocol)
TCP/IP의 네트워크 관리 프로토콜로, 라우터나 허브 등 네트워크 장치로부터 정보를 수집 및 관리하며, 정보를 네트워크 관리 시스템에 보내는데 사용하는 인터넷 표준 프로토콜
161
DNS(Domain
Name System)
호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하는 프로토콜 53
DHCP(Dynamic Host
Configuration Protocol)
각 컴퓨터에서 IP 관리를 쉽게 하기 위한 프로토콜이며, TCP/IP 통신을 실행하기 위해 필요한 정보를 자동적으로 할당, 관리하기 위한 프로토콜 67, 68
HTTPS(HyperText
Transfer Protocol over
Secure Socket Layer)
 HTTP의 보안이 강화된 프로토콜
통신의 인증과 암호화를 위해 개발한 웹 프로토콜이며 전자 상거래에서 널리 쓰임
 SSL/TLS 프로토콜을 통해 세션 데이터를 암호화
443

※ 하이퍼텍스트(HyperText) : 컴퓨터 화면이나 전자 기기에서 볼 수 있는 텍스트(데이터)