17장 네트워크 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL 17장 네트워크 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL Section 3 TCP 소켓 Section 4 UDP 소켓 1
학습 목표 네트워킹의 개념에 대해 학습합니다. 인터넷의 주소와 URL을 네트워크를 통해 사용하는 방법을 학습합니다. 연결성 통신 방법인 TCP 소켓에 대해 학습합니다. 두 개의 프로그램이 연결성 통신 방법을 사용하여 통신하는 프로그램을 작성합니다. 비연결성 통신 방법인 UDP 소켓에 대해 학습합니다. 두 개의 프로그램이 비연결성 통신 방법을 사용하여 통신하는 프로그램을 작성합니다.
1 네트워킹의 개요와 java.net 패키지 1-1 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜 컴퓨터 상호 간에 통신을 위한 규약으로 정의 TCP/IP 프로토콜 4개의 기능 계층들로 구성
1-1 TCP/IP(Transmission Control Protocol/Internet Protocol) 1 네트워킹의 개요와 java.net 패키지 1-1 TCP/IP(Transmission Control Protocol/Internet Protocol)
1-2 TCP와 UDP TCP/IP의 전달 계층은 크게 두 가지로 구분 TCP UDP 1 네트워킹의 개요와 java.net 패키지 1-2 TCP와 UDP TCP/IP의 전달 계층은 크게 두 가지로 구분 연결형인 TCP(Transmission Control Protocol) 비연결형인 UDP(User Datagram Protocol) TCP 연결성 통신 방식으로 전화처럼 먼저 수신자와 연결을 설정한 다음 정보를 주고받는 방식을 의미 UDP 비연결성 통신 방식으로 편지처럼 보내는 사람에 의해 보내지면 받는 사람은 그 편지를 받아야 편지가 도착한 사실을 알게 되는 경우
1-3 소켓(socket) 소켓(socket) 전기선의 소켓과 유사 컴퓨터가 연결된 통신의 끝점을 의미 1 네트워킹의 개요와 java.net 패키지 1-3 소켓(socket) 소켓(socket) 전기선의 소켓과 유사 컴퓨터가 연결된 통신의 끝점을 의미 상호 연결된 응용 프로그램들 사이의 안정된 정보 교환을 제공하고 있는 매체 TCP/IP소켓 : TCP(Transmission Control Protocol) 소켓, UDP(User Datagram Protocol) 소켓
1 네트워킹의 개요와 java.net 패키지 1-4 포트(port) 포트 통신선을 통해 수신되는 데이터가 컴퓨터 내의 여러 통신 프로그램 중에서 하나의 프로그램에 전달되도록 하기 위한 번호 인터넷을 통하여 전달되는 정보들은 목적지 컴퓨터의 주소(32비트)와 16비트의 포트번호로 구성 예 : 203.233.51.1:8088
1 네트워킹의 개요와 java.net 패키지 1-5 java.net 패키지
편리함으로 인하여 대부분의 사용자는 도메인 이름을 사용 2 인터넷 주소와 URL 인터넷의 주소 IP(Internet Protocol) 주소 : 숫자로 구성된 주소 (예 : 134.23.33.200) 도메인(Domain) 이름 : 문자중심 (예 : www.ehan.co.kr) 편리함으로 인하여 대부분의 사용자는 도메인 이름을 사용
2-1 InetAddress 클래스 InetAddress 클래스 인터넷 주소에 관한 정보를 가짐 2 인터넷 주소와 URL 2-1 InetAddress 클래스 InetAddress 클래스 인터넷 주소에 관한 정보를 가짐 주소와 관련된 다양한 메소드를 제공
2 인터넷 주소와 URL 2-1 InetAddress 클래스
2 인터넷 주소와 URL 2-2 URL 클래스 URL 클래스 Web에서 사용하는 URL에 관한 정보를 가짐
2 인터넷 주소와 URL 2-2 URL 클래스
2 인터넷 주소와 URL 2-2 URL 클래스
2-3 URLConnection 클래스 URLConnection 클래스 원격지 자원의 속성(attribute)을 알아내기 위한 목적으로 많이 사용 상대 컴퓨터와 연결된 상태에서 원격지 자원의 속성을 파악 원격지 파일을 읽어오는 다양한 메소드를 제공
2 인터넷 주소와 URL 2-3 URLConnection 클래스
2 인터넷 주소와 URL 2-3 URLConnection 클래스
3 TCP 소켓 ServerSocket 클래스 서버 측에서 실행되는 응용 프로그램 작성을 위해 사용
3 TCP 소켓 Socket 클래스 클라이언트와 서버 사이에 실질적인 정보 교환을 위해 사용
3 TCP 소켓
SeverSockek과 Socket 클래스를 이용한 클라이언트-서버 간의 통신 순서 3 TCP 소켓 SeverSockek과 Socket 클래스를 이용한 클라이언트-서버 간의 통신 순서 서버 측 서버 소켓 객체를 ServerSocket 클래스로부터 생성한 다음 클라이언트의 요청을 기다린다(accept() 메소드). 클라이언트의 요청이 발생되면 요청을 받아들여 Socket 객체를 생성한다. ocket 객체를 이용하여 입출력을 위한 스트림을 생성한다. 통신을 수행한다. 소켓을 닫는다. 클라이언트 측 연결을 원하는 서버의 주소와 포트번호로 Socket 객체를 생성한다. Socket 객체를 이용하여 입출력을 위한 스트림을 생성한다.
3 TCP 소켓
3 TCP 소켓
UDP(User Datagram Protocol) TCP 소켓에 비해 신뢰성과 안정성 측면에서 떨어짐 연결을 설정하지 않으므로 네트워크에 부담을 주지 않는다는 장점 DatagramPacket 클래스 응용 프로그램들이 주고받을 데이터와 관련된 클래스 실제 데이터의 전송은 DatagramSocket 클래스에 의해 이뤄짐
4 UDP 소켓
4 UDP 소켓
4 UDP 소켓 DatagramSocket 클래스 실제 정보를 주고받기 위한 기능을 제공하는 클래스 두 개의 생성자를 제공
4 UDP 소켓
4 UDP 소켓
학습정리 네트워킹의 개요와 java.net 패키지 인터넷 주소와 URL 인터넷에서는 TCP/IP 프로토콜을 표준 프로토콜로 사용하고 있다. 통신 방법에는 연결성 통신 방법인 TCP 방법과 비연결성 통신 방법인 UDP 방법이 있다. 소켓은 컴퓨터가 네트워크에 연결된 끝점을 의미한다. 포트는 하나의 컴퓨터에 여러 개 존재하는 논리적인 개념이다. 서로 다른 포트를 이용하여 컴퓨터에 서로 다른 일을 시킬 수 있다. 인터넷 주소와 URL 인터넷의 주소에는 컴퓨터 상호 간에 사용하는 숫자로 구성된 IP(Internet Protocol) 주소가 있고(예 : 134.23.33.200), 우리가 많이 사용하는 문자 중심의 도메인(Domain) 이름(예 : www.hollywood.com)이 있다. InetAddress 클래스는 인터넷의 주소 정보를 가진 클래스이다. URL 클래스와 URLConnection 클래스를 이용하여 인터넷으로부터 정보를 얻어낼 수 있다.
학습정리 TCP 소켓 자바는 클라이언트-서버 응용 프로그램 작성을 위한 ServerSocket 클래스와 Socket 클래스를 제공하고 있다. TCP 소켓은 상호 연결된 상태에서 신뢰성 있는 통신을 제공한다. ServerSocket 클래스는 서버 측에서 사용되며 실제 통신을 수행하지 않는다. 실제 통신은 Socket 객체에 의해 이루어진다. UDP 소켓 UDP(User Datagram Protocol)는 TCP 소켓에 비해 신뢰성과 안정성 측면에서 뒤지지만, 연결을 설정하지 않으므로 네트워크에 부담을 주지 않는다는 장점이 있다. 자바는 UDP를 지원하기 위해 DatagramPacket, DatagramSocket 클래스를 제공하고 있다. DatagramPacket 클래스는 응용 프로그램들이 주고받을 데이터와 관련된 클래스이고, 실제 데이터의 전송은 DatagramSocket 클래스에 의해 이루어진다.
수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 32