기본 콘텐츠로 건너뛰기

gsjava 라우팅이라? routing

라우팅(영어routing)은 어떤 네트워크 안에서 통신 데이터를 보낼 경로를 선택하는 과정이다. 라우팅은 전화 통신망, 전자 정보 통신망(인터넷 같은) 그리고 교통망 등 여러 종류의 네트워크에서 사용된다. 이 글은 패킷 스위칭 기술을 이용한 컴퓨터 네트워크에서의 라우팅에 대해 주로 기술한다.
패킷 스위칭 네트워크에서 라우팅은 패킷 전달 및 일반적으로 라우터브릿지게이트웨이방화벽 또는 스위치로 불리는 중간 노드를 거쳐 출발지부터 최종 목적지까지 논리적으로 주소가 부여된 패킷의 변환을 총괄한다. 비록 특화된 하드웨어가 아니기 때문에 성능에 제약을 받을 수는 있지만, 다수의 네트워크 카드를 가진 범용 컴퓨터 또한 패킷 전달과 라우팅을 수행할 수 있다. 라우팅 과정은 보통 다양한 네트워크 목적지에 대한 기록을 관리하는 라우팅 테이블을 기초로 하여 수행된다. 그러므로, 라우터의 메모리에 기록된 라우팅 테이블의 구성은 효과적인 라우팅에 매우 중요하다. 대부분의 라우팅 알고리즘은 한번에 한가지 네트워크 경로를 사용하지만, 다중 경로 라우팅 기술은 다양한 대체 경로의 사용을 가능하게 하였다.
좀 더 좁은 의미로 라우팅은 네트워크 주소가 그 구성이 비슷하다면 네트워크 안에서 인접성을 가진 구조라는 가정하에 브릿징과 뚜렷한 차이를 보인다. 구조화된 주소는 하나의 라우팅 테이블 항목이 여러 대의 장비에 대한 경로를 표시하는 것을 가능하게 하기 때문에 구조화된 주소 지정(좁은 의미에서의 라우팅)은 대규모 네트워크에서 비구조화된 주소 지정(브릿징)보다 성능이 뛰어나고, 비록 브릿징이 여전히 지역적인 환경내에서 넓게 쓰이지만, 인터넷 상에서 지배적인 주소 지정 형식이 되었다.

참고 위키 백과
gsjava

댓글

이 블로그의 인기 게시물

[Java] Http File Download 이어받기

Http 서버로부터 다운로드 받는 파일을 이어받기 위해서는 Http Header에 아래 두가지 정보를 추가해 주면 된다. URLConnection conn = url.openConnection(); conn.setRequestProperty("Accept-Ranges", "bytes"); conn.setRequestProperty("Range", "bytes=" + mOffset + "-"); 그러면 서버에서는 해당 Offset으로부터 File을 다운로드 시켜준다. 클라이언트가 요청헤더에 Range 필드를 포함 시켜서 보내면, 서버는 그 정보를 가지고 어디서 부터 파일을 보낼지 판단을 합니다. 하지만 클라이언트가(브라우저) Range 필드를 포함 시켜야 할지를 판단하는 기준은 최초 다운로드 요청시 서버의 응답헤더에 따라 다음 요청헤더에 Range 헤더를 생성할지 않할지 판단하게 됩니다. 그걸 당락짓는 응답 헤더 필드는 다음과 같습니다. Accept-Ranges , ETag, Last-Modified 반드시 위 필드를 응답 헤더에 같이 보내줘야 클라이언트는 다음 요청시 Range헤더를 포함시켜 보내게 됩니다. 참고로 말씀 드리면 위 필드를 포함 시켜서 보내더라도 value는 반드시 " " 로 묶어서 보내야 합니다. 안그러면 브라우저는 죽어도 Range 필드를 생성시키지 않습니다. HTTP 1.1 스펙은 따옴표를 강제적으로 해줘라 이런 내용 없습니다. 자바기준 40byte의 파일이라치면 클리이언트 요청을 두번으로 나누었다치면 이케 connection.setRequestProperty("Range", "bytes=0-20"); connection.setRequestProperty("Range", "bytes=20-40"); 단 co...

java 특정 디렉토리에 있는 파일 목록을 읽어내기, 정렬해서 가져오기

폴더 리스트 가져오기 String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Defaul...