본문 바로가기

컴퓨터 네트워크42

컴퓨터 네트워크 32장 - 응용 계층 - 컴퓨터 네트워크 32장- 응용 계층 - 응용 계층의 하부에 있는 계층들은 신뢰성 있는 데이터 전송을 보장하는 역할을 수행한다. 이에 비해 응용 계층은 하부 계층들을 이용해 사용자에게 편리한 응용 환경을 제공하는 것에 초점을 둔다. 따라서 응용 계층의 구현은 사용자 프로그램 환경에서 이루어지며 운영체제에서 제공되는 계층 4의 인터페이스를 사용해 통신 기능을 구현한다. 필요에 따라 세션, 표현 계층의 기능을 포함한다. 응용 계층의 연결 설정 방식에는 하나의 서버 프로그램이 다수의 클라이언트에 응용 서비스를 제공하는 클라이언트-서버 모델이 있다. 서버가 반드시 먼저 대기 상태에 있어서 클라이언트가 서버에게 연결 요청을 하는 것으로 연결을 설정한다. 클라이언트-서버 모델을 구현할 때 먼저 고려할 사항은 비연결형.. 2017. 5. 5.
컴퓨터 네트워크 31장 - 표현 계층 - 컴퓨터 네트워크 31장- 표현 계층 - 표현 계층은 응용 프로세스 사이에 전송되는 메시지의 표현 방법을 다룬다. 전송 메시지에 표현된 문법 내용을 통신 양단의 프로세스가 해석하는 기능을 수행한다. 송신 프로세스가 전달하는 의미를 수신 프로세스가 정확히 이해하도록 하는 것이다. 데이터가 표현 될 때 추상 문법과 전송 문법이 있다. 추상 문법은 각 컴퓨터에서 사용하는 데이터 표현 규칙이다. 전송 문법은 네트워크 전체에서 일관성을 지니는 표현 규칙이다. 특정 컴퓨터에 독립적이면서 네트워크 전체에서 일관성을 가지는 새로운 표현 규칙인 전송 문법을 이용하여 전송해야한다. 각 컴퓨터는 각기 다른 추상 문법을 가지고 있기 때문이다. 수신 측에서는 자신의 컴퓨터에서 이해하는 추상 문법의 형태로 다시 변환하는 과정도 필.. 2017. 5. 5.
컴퓨터 네트워크 30장 - 세션 계층 - 컴퓨터 네트워크 30장- 세션 계층 - 앞선 장들에서 하위 계층들의 기능에 대해서 살펴보았다. 일반적으로 하위 계층들은 운영체제 내부에서 구현되어 사용된다. 이에 비해 상위 세 계층은 사용자 프로그램을 구현하는데 사용이 된다. 이에 대해 살펴볼 것이다. 세션 계층은 상위 계층에 제공하는 서비스로 세션 연결 설정과 해제, 세션 메시지 전송을 통해 동작한다. 세션 계층은 크게 동기 기능과 대화의 기능을 수행한다. 통신 양단끼리 서로 동의하는 논리적인 공통 시점인 동기점을 만들어 메시지가 제대로 처리가 되고 있는지를 파악하게 된다. 동기점은 오류 복구를 위하여 필수적으로 사용되는데 동기점 설정 이전까지는 서로 처리가 완료되었음을 합의하는 것을 의미한다. 동기점 이전 과정은 복구가 필요 없고 동기점 이후 처리 .. 2017. 5. 5.
컴퓨터 네트워크 29장 - RTP 프로토콜 - 컴퓨터 네트워크 29장- RTP 프로토콜 - 실시간 서비스로 멀티미디어 서비스 환경에 변화가 생겼다. 기존에는 비디오, 오디오 파일 전체를 다운받은 후 서비스를 받는 것이었다면 실시간 스트리밍 서비스의 등장으로 실시간으로 다운로드하며 재생하는 시대로 바뀌었다. 이로 인해 데이터를 전송하는 방식에서 데이터 변형/분실 오류를 복구하는 기능이 상대적으로 덜 중요하고 도착순서나 패킷의 지연 간격, 데이터 압축 등이 더 중요하게 되었다. 이런 멀티미디어의 서비스를 제공하기 위해서 프로토콜이 필요한데 TCP는 패킷의 순서와 신뢰성에 지나치게 강조를 하여 재전송 기능, 복잡한 흐름 제어 기능으로 인해 실시간 환경에서는 부적합하다. UDP의 경우 기능이 단순하여 빠른 전송을 할 수 있지만 데이터그램을 보낼 때 순서를 .. 2017. 5. 3.
컴퓨터 네트워크 28장 - UDP 프로토콜 & OSI TP 프로토콜 - 컴퓨터 네트워크 28장- UDP 프로토콜 & OSI TP 프로토콜 - UDP는 비연결형 서비스를 제공하여 작지만 빠른 전송을 할 수 있는 프로토콜이다. 헤더와 전송 데이터에 대한 체크섬 기능을 제공한다. Best Effort 전달 방식을 지원하여 데이터 전송에 최선을 다하지만 제대로 도착했는지는 보장할 수 없다는 것을 의미한다. 전송한 데이터가 제대로 도착했는지 확인을 하지 않아 신뢰성이 낮지만 데이터 처리가 빠르게 되어 데이터 전송 시간이 민감한 환경에서는 유리할 수 있다. UDP의 헤더는 매우 간단한 구조이다. UDP는 앞에서 말했듯 수행하는 기능이 매우 간단하다. 데이터 전송에 대한 제어도 하지 않으므로 헤더에 포함되어야할 정보가 비교적 많지 않다. 송수신 포트 번호에 대한 필드가 있고 UDP 데이.. 2017. 5. 3.
컴퓨터 네트워크 27장 - TCP 프로토콜을 이용한 데이터 전송 - 컴퓨터 네트워크 27장- TCP 프로토콜을 이용한 데이터 전송 - TCP 프로토콜은 전이중 방식의 양방향 통신을 지원하므로 가상 회선으로 연결된 두 프로세스가 동시에 데이터를 전송할 수 있다. 따라서 전송 데이터와 응답 데이터를 함께 전송하는 피기배킹 기능을 사용한다. TCP 프로토콜은 연결형 서비스를 제공하므로 데이터를 전송하는 과정은 연결 설정, 데이터 전송, 연결 해제 3단계를 순차적으로 진행하게 된다. 연결 설정은 3단계 설정을 통해 이루어진다. A 프로세스와 B 프로세스가 있다고 가정하면 A 프로세스에서 먼저 연결 설정을 요청한다. 임의의 순서번호를 선택한 후 SYN(연결 설정 요청하는 플래그 비트)을 전송한다. B 프로세스는 이에 대해 응답을 하는데 A 프로세스가 보낸 순서 번호에 1을 더해서.. 2017. 5. 2.
컴퓨터 네트워크 26장 - TCP - 컴퓨터 네트워크 26장- TCP - TCP는 IP 프로토콜 위에서 연결형 서비스를 지원하는 전소 계층의 프로토콜로 Transport Control Protocol이다. 연결형 서비스를 제공하고 전이중 방식의 양방향 가상회선을 제공한다. 연결형 서비스이므로 신뢰성 있는 데이터 전송을 보장한다. 신뢰성 있는 데이터를 전송하나다는 것은 오류 제어, 흐름 제어를 통해 데이터를 안전하게 전송한다는 것을 의미한다. 일반적으로 전송계층 프로토콜은 운영체제 내부 기능으로 구현되므로 시스템 콜이라는 프로그램 호출 방식을 이용해야 서비스를 사용할 수 있다. TCP에서는 데이터를 세그먼트라는 블록 단위로 분할하여 전송한다. 데이터 링크 계층에서는 프레임, 네트워크 계층에서는 패킷이라는 단위를 사용했다. 세그먼트라는 블록의 .. 2017. 5. 2.
컴퓨터 네트워크 25장 - 전송 계층의 기능 - 컴퓨터 네트워크 25장- 전송 계층의 기능 - 전송 계층은 네트워크 양 끝단에서 통신을 수행하는 당사자 간의 단대단 연결을 제공한다. 전송 계층은 데이터 링크 계층과 유사하다. 오류 제어, 흐름 제어, 데이터 순서화 등을 제공하는 면에서 비슷하다고 할 수 있다. 하지만 데이터 링크 계층은 물리적으로 1:1 연결된 호스트 사이의 전송을 의미한다면 전송 계층은 논리적으로 1:1 연결된 호스트 사이의 전송을 의미한다. 이제 전송 계층의 주요 기능에 대해 알아보겠다. 흐름 제어는 송수신 호스트의 전송 과정의 속도 차이를 제어해주는 기능을 한다. 데이터링크 계층에서도 같은 기능을 수행하여 기본 목적을 비롯해 유사한 점이 많지만 다른 버퍼 관리 방법이 필요하다. 수신자가 송신자의 전송 속도보다 느리게 수신을 하므로.. 2017. 4. 29.
컴퓨터 네트워크 24장 - 기타 네트워크 계층 프로토콜 - 컴퓨터 네트워크 24장- 기타 네트워크 계층 프로토콜 - 인터넷 환경에서 데이터 전송 과정이 올바르게 이루어지려면 전송 프로토콜 외에도 다양한 제어 프로토콜이 필요하다. 대표적으로 전송 과정에서 오류를 제어하는 ICMP, IP주소와 MAC 주소에 대한 변환을 담당하는 ARP/RARP 프로토콜이 있을 수 있다. ARP 프로토콜은 Address Resolution Protocol의 약자로 IP주소를 MAC 주소로 바꾸어 주는 작용을 한다. 실제로 통신이 이루어지기 위해선 데이터링크 계층의 MAC 주소를 알아야 가능하다. 송신의 MAC 주소는 송신 호스트의 LAN 카드에 저장이 되어 있으므로 얻을 수 있지만 수신 호스트의 MAC 주소는 알 수가 없다. 따라서 ARP 프로토콜을 이용하게 된다. ARP 프로토콜의.. 2017. 4. 29.
컴퓨터 네트워크 23장 - 이동 IP 프로토콜 - 컴퓨터 네트워크 23장- 이동 IP 프로토콜 - 현재 진행되는 인터넷 환경 변화와 관련해 가장 많이 연구되는 분야 중 하나는 이동하는 사용자가 서비스 중단 없이 인터넷에 접속할 수 있는 이동 환경 서비스를 수용하는 문제이다. 기존의 고정통신망에서 유무선이 복합된 이동 광대역 통신망으로 진화하고 있다. 이동 호스트가 자신의 고유 주소를 유지하면서 인터넷 서비스를 계속 받으려면 계속 이동하는 송수신 호스트 간의 데이터 라우팅 처리가 가장 중요하다. 이동 IP 프로토콜을 이해하려면 먼저 터널링의 원리에 대해 알아야 한다. 두 가지의 예시를 통해 터널링의 원리에 대해 이해를 해보도록 하자. 홍길동이라는 데이터가 a위치에서 d라는 위치로 이동을 하는데 버스와 배라는 전송 프로토콜을 이용하여 데이터가 움직인다고 가.. 2017. 4. 28.