분류 전체보기 91

[Chapter 11] 상위 계층의 이해(표현 계층)

표현 계층(Presentation Layer)은 응용 프로세스 사이에 전송되는 메시지의 표현 방법을 다룬다. 즉, 표현 계층 프로토콜의 전송 메시지에 표현된 문법(Syntax)내용을 통신 양단의 프로세스가 해석하는 기능을 제공함으로써, 송신 프로세스가 전달하는 의미(Semantic)를 수신 프로세스에서 정확히 이해할 수 있게 한다.데이터 표현일반적으로 응용 환경에서 데이터를 표현하는 방법은 컴퓨터마다 다르다. ex) 문자를 표현하는 방법은 ASCII 코드와 EBCDIC 코드를 사용하는 방법으로 나뉘는데, 서로 다른 코드를 사용하는 컴퓨터 끼리 통신하려면 문자 코드를 변환하는 과정이 필요하다.추상 문법 컴퓨터에서 사용하는 데이터 표현 규칙인 추상 문법(Abstract Syntax)으로 표현된 의미를 올바르..

CS/Network 2025.02.17

[Chapter 11] 상위 계층의 이해(상위 계층 소개, 세션 계층)

인터넷에서 OSI 7계층 모델은 TCP/IP를 기반으로 구현되고, 운영체제의 일부로 구현되는 계층 4 프로토콜은 TCP와 UDP를 사용한다. 네트워크 응용 프로그램에서는 시스템 콜을 사용해 TCP와 UDP의 기능을 활용한다.상위 세 계층인 세션 계층, 표현 계층, 응용 계층은 사용자 프로그램으로 구현되는데, 일반적으로 세 계층의 기능을 하나의 프로그램으로 묶어 구현한다.ex) 텔넷, FTP, 전자메일 등의 네트워크 응용 프로그램은 상위 세 계층의 기능을 함께하는 단일 프로그램이다. 특히, 세션 계층과 표현 계층의 기능은 프로그램에 구현되지 않거나, 아주 단순화 되는 경우가 많다. 세션 계층응용 환경에서 전송 계층이 제공하는 서비스를 손쉽게 이용하게 하려면 사용자의 논리적 관점을 고려하여 단순한 사용자 인..

CS/Network 2025.02.17

[Chapter 10] UDP 프로토콜(OSI TP 프로토콜)

OSI에서 정의한 TP(Transport Protocol)는 다섯개의 클래스로 서비스를 분류하여 지원한다.클래스 0이 구조가 가장 단순하고, 클래스 번호가 커질수록 기능이 추가된다.클래스제공하는 서비스클래스 0기본 기능클래스 1기본 오류 복구 기능클래스 2멀티플렉싱 기능클래스 3오류 복구, 멀티플렉싱 기능클래스 4오류 검출, 오류 복구, 멀티플렉싱 기능클래스 0과 1은 단일 포트를 지원하는 프로토콜이다. 클래스 0은 오류 검출 기능 없이 기본 전송 기능만 제공하고, 클래스 1은 패킷 손실 확인과 같은 간단한 오류 복구기능을 지원한다.클래스 2, 3, 4는 목적지에서 다수 포트를 지원하는 멀티플렉싱 기능이 있다. 클래스 2는 오류 복구 기능을 지원하지 않지만, 클래스 3은 패킷 손실과 같은 간단한 오류를 ..

CS/Network 2025.02.17

[Chapter 10] UDP 프로토콜(RTP 프로토콜)

음성, 영상 정보를 인터넷에서 실시산으로 서비스하면 데이터그램 변형이나 분실 오류를 복구하는 기능이 상대적으로 덜 중요해진다. 대신 데이터그램의 도착 순서, 수신한 패킷의 지연 간격(지터) 분포의 균일성과 데이터 압축에 의한 전송 정보량의 최소화가 중요하다.인터넷에서 사용하는 기존의 TCP와 UDP는 실시간 서비스가 요구하는 전송 특성을 충분히 지원하지 못한다. TCP는 패킷의 순서와 신뢰성이 지나치게 강조되어, 재전송 기능과 복잡한 흐름 제어 기능으로 인해 실시간 환경에는 부적합하다.UDP는 기능이 단순하여 빠른 데이터 전송을 지원하지만, 데이터그램의 순서를 보장하지 못한다는 문제가 있다. 따라서 실시간 데이터 전송 서비스의 특성을 지원할 수 있는 새로운 형태의 프로토콜이 필요하다.TCP와 UDP를 근..

CS/Network 2025.02.17

[Chapter 10] UDP 프로토콜(UDP 헤더 구조)

UDP(User Datagram Protocol)는 인터넷에서 사용하는 프로토콜 중 구조가 가장 간단하다.하부의 IP프로토콜을 이용해 비연결형 서비스를 지원하는 UDP는 작지만 빠른 전송이 가능하다.특징비연결형 서비스를 제공한다.헤더와 전송 데이터에 대한 체크섬 기능을 제공한다.Best Effort 전달 방식을 지원한다.UDP는 상위 계층에서 받은 데이터를 IP프로토콜에 전달하지만, 전송한 데이터그램이 목적지 까지 제대로 도착했는지 확인하지 않는다. 따라서 TCP 보다 신뢰성이 떨어져 일반 응용 프로그래머들 사이에서는 덜 선호되고 있다. 하지만 프로토콜을 처리하는 기능이 작아 TCP 보다 데이터 처리가 빠르므로 데이터 전송 시간에 민감한 응용 환경에서는 UDP를 사용하는 것이 유리하다.UDP 헤더 구조U..

CS/Network 2025.02.17

[Chapter 9] TCP 프로토콜(TCP 프로토콜을 이용한 데이터 전송)

TCP 프로토콜은 전이중 방식의 양방향 통신을 지원하므로 가상 회선으로 연결된 두 프로세스가 동시에 데이터를 전송할 수 있다. 따라서 전송 데이터와 응답 데이터를 함께 전송하는 피기배킹 기능을 사용한다.연결형 서비스를 제공하는 TCP에서 데이터를 전송하려면 연결 설정, 데이터 전송, 연결 해제라는 3단계를 순차적으로 진행해야 한다.연결 설정TCP를 사용하는 프로세스가 가장 먼저 실행하는 연결 설정은 3단계 설정 방식이다.A 프로세스는 TCP 헤더의 SYN 플래그를 지정한 세그먼트를 전송함으로써 연결 설정을 요구한다. 순서 번호 10은 임의로 설정한 것. 연결 설정 요구를 받은 B 프로세스가 연결을 수락하려면 이에 대한 긍정 응답을 해야 한다. 이를 위해 SYN과 ACK 플래그를 지정해 연결에 대한 긍정 ..

CS/Network 2025.02.16

[Chapter 9] TCP 프로토콜(TCP 프로토콜)

TCP는 IP 프로토콜 위에서 연결형 서비스를 지원하는 전송 계층 프로토콜로, 인터넷 환경에서 기본적으로 사용한다.TCP에서 제공하는 주요 기능연결형 서비스를 제공한다.전이중 방식의 양방향 가상 회선을 제공한다.신뢰성 있는 데이터 전송을 보장한다.TCP/IP 구조인터넷에서 네트워크 계층의 기능을 제공하는 프로토콜은 IP이며, IP프로토콜 위에서 실행되는 전송 계층의 프로토콜은 서비스의 유형에 따라 두 종류로 구분한다.TCP는 연결형 서비스를 지원하는 프로토콜이고, UDP는 비연결형 서비스를 지원하는 프로토콜이다. 전송 계층 프로토콜은 운영 체제 내부 기능으로 구현된다. 따라서 이 서비스를 사용 하려면 상위 계층에서 시스템 콜이라는 프로그램 호출 방식을 이용해야 한다.전송 계층 프로토콜인 TCP와 UDP ..

CS/Network 2025.02.16

[Chapter 9] TCP 프로토콜(전송 계층의 주요 기능)

전송 계층 프로토콜은 오류 제어, 흐름 제어, 데이터 순서화 등의 기능 면에서 데이터 링크 계층과 특징이 유사하다. 그러나 데이터 링크 계층이 물리적인 선로로 직접 연결된 두 물리적 호스트(컴퓨터나 라우터)사이의 데이터 전송을 담당하는 반면, 전송 계층은 네트워크 끝단에 위치하는 통신 주체가 중간의 논리적인 선로(라우터로 연결된 컴퓨터 네트워크)를 통해 데이터를 주고 받는다.데이터 링크 계층은 단순히 물리적인 선로를 통해 데이터를 직접 전달하기 때문에 네트워크 계층의 중개 기능이 필요 없다. 하지만 전송 계층은 중간에 위치한 논리적 네트워크의 중개 기능을 이용해 전송 기능을 수행한다. 전송 계층에서는 네트워크에서 제공하는 다양한 자원(데이터 링크 계층의 기능, 잠재적 기억 장치에 의한 데이터의 저장과 그..

CS/Network 2025.02.14

[Chapter 8] 네트워크 계층(기타 네트워크 계층 프로토콜)

IP프로토콜은 응용 계층에서 생성된 사용자 데이터를 전송하기 위해 사용된다. 인터넷 환경에서 데이터 전송 과정이 올바르게 이루어지려면 전송 프로토콜 외에도 다양한 제어 프로토콜이 필요하다.제어 프로토콜의 대표적인 예는 데이터 전송 과정에서 오류를 제거하는 ICMP이다. 인터넷에서 사용자 데이터는 IP프로토콜에 의해 전송되지만, 제어 메시지는 ICMP에 의해 전송된다. 이외에도 IP주소와 MAC 주소 사이의 변환을 담당하는 ARP/RARP 제어 프로토콜이 있으며, 모두 인터넷 동작을 위해 꼭 필요하다.ARP 프로토콜네트워크 환경에서 임의의 호스트가 다른 호스트에 데이터를 전송하려면 수신 호스트의 IP주소 뿐 아니라, MAC 주소도 알아야 한다. 수신 호스트의 IP주소는 보통 응용 프로그램 사용자가 프로그램..

CS/Network 2025.02.14

[Chapter 8] 네트워크 계층(이동 IP 프로토콜)

터널링 원리이동 호스트가 자신의 고유 주소를 유지하면서 인터넷 서비스를 받으려면 계속 이동하는 송수신 호스트 간의 데이터 라우팅 처리가 가장 중요하다.상이한 전송 수단이동 IP 프로토콜을 이해하려면 먼저 터널링 원리를 알아야 한다.ex) 사람이 육지와 섬을 거쳐 이동하는 경우를 예로 들 수 있다.버스와 배는 모두 네트워크 계층을 지원하는 IP 프로토콜로 버스와 배에 실려서 이동하는 홍길동은 전송 데이터로 볼 수 있다. 문제점은 홍길동 스스로 IP 프로토콜을 교체하는 작업이 추가로 이루어져야 한다.터널링 방식IP 프로토콜을 교체하는 방식보다 문제를 간단히 해결하는 방법은 터널링 기능을 이용하는 것이다. 터널링 방식을 사용하면 홍길동이 출발지에서 목적지까지 버스만 이용하므로, 네트워크 최종 사용자인 홍길동은..

CS/Network 2025.02.14