컴퓨터네트워크 8

컴퓨터 네트워크 5-1 링크 계층

참고서적 : 컴퓨터 네트워킹 하향식 접근 제 6판 Kurose, Ross 1.링크 계층 소개 노드 (node) : 링크 계층 프로토콜을 실행하는 장치 Ex) 호스트, 라우터, 스위치, wifi AP 등 링크 (Link): 통신 경로상의 인접한 노드들을 연결하는 통신 채널 1.1 링크 계층이 제공하는 서비스 프레임화 : 거의 모든 링크 계층 프로토콜은 네트워크 계층 데이터그램을 링크상으로 전송하기 전에 링크 계층 프레임에 캡슐화 한다. 프레임은 네트워크 계층 데이터그램이 들어있는 데이터 필드와 여러 개의 헤더 필드로 구성 링크 접속 : 매체 접속 제어(medium access control, MAC) 프로토콜은 링크상으로 프레임을 전송하는 규칙에 대해서 명시 신뢰적 전달 : 링크 계층 프로토콜이 신뢰적 전..

컴퓨터 네트워크 4-2 네트워크 계층

참고서적 : 컴퓨터 네트워킹 하향식 접근 제 6판 Kurose, Ross 5.라우팅 알고리즘 주어진 라우터와 라우터를 연결하는 링크들의 집합에서 출발지 라우터에서 목적지 라우터 까지 좋은 경로를 찾는 것. 라우팅 알고리즘 분류 글로벌화,분산화 알고리즘 글로벌 라우팅 알고리즘 네트워크에 대한 완벽한 글로벌 정보를 가지고 출발지와 목적지 사이의 최소비용 경로를 계산 링크 상태(link state) 알고리즘이라고 부르기도 함 분산 라우팅 알고리즘 노드가 모든 네트워크 링크의 비용에 대한 완벽한 정보를 가지고 있지 않음. 각 노드는 링크에 직접 연결된 링크의 비용에 대한 정보만 가지고 있음. 반복 계산 과정과 이웃 노드와의 정보교환을 통해 목적지 또는 목적지 집합까지 최소비용 경로를 계산 거리 벡터(distan..

[JAVA] 소캣 프로그래밍 HTTP 통신 구현

HTTP 통신 HTTP Request 형식 HTTP 통신 전용 포트번호 80 요청 라인이 가장 중요 한 줄이 끝나면, cr lf로 줄을 바꿔주어야 함. System.lineSeparator() 으로 줄바꿈 Header 부분이 끝나면 줄바꿈을 한번 더하여 header가 끝났음을 나타냄 HTTP method 중 get, head는 개체 몸체가 없음 Client // ip주소와 포트는 고정 static final String IPADDRESS = "127.0.0.1"; static final int PORTNUM = 80; static final String requestFormat = "%s / HTTP/1.1" + System.lineSeparator() + "Host :" + IPADDRESS + Sys..

[JAVA] server, client 프로그램 - 소켓통신

소켓통신 프로그래밍 소캣 생성 및 기본 연결 Client public class client{ static final String IPADDRESS = "127.0.0.1"; static final int PORTNUM = 8000; public static void main(String[] args) throws IOException { try(Socket socket = new Socket(IPADDRESS, PORTNUM)){ System.out.println("서버연결완료"); } } } ip와 port를 통하여 서버와 연결 Server public class server{ //8000번 포트로 서버오픈 public static void main(String[] args) throws IOExce..

컴퓨터 네트워크 3-1 트랜스포트 계층

참고서적 : 컴퓨터 네트워킹 하향식 접근 제 6판 Kurose, Ross 1. 트랜스포트 계층 서비스 및 개요 트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적 통신을 제공 트랜스 포트 계층 프로토콜은 종단 시스템에서 구현됨. 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터 수신한 메시지를 트랜스포트 계층 패킷으로 변환. 1.1 트랜스포트 계층과 네트워크 계층 사이의 관계 트랜스포트 계층 프토토콜 서로 다른 호스트에서 동작하는 프로세스들 사이의 논리적 통신을 제공 종단 시스템에 존재 애플리케이션 프로세스에서 네트워크 계층까지 메시지를 운반, 네트워크계층에서 애플리케이션 프로세스로 메시지를 운반 네트워크 계층 프로토콜 호스트 사이의 논리적 통신을 제공..

컴퓨터 네트워크 2-2 - 애플리케이션 계층

5. DNS-인터넷의 디렉터리 서비스 호스트 네임 (hostname) : 호스트에 대한 식별자 중 하나 ex) cnn.com, www.yahoo.com 인터넷에서의 호스트 위치에 대한 정보를 거의 제공하지 않음 가변 길이의 알파뉴메릭 문자로 구성되어있어 라우터가 처리하기 어려움 IP 주소 4바이트로 구성되고, 계층구조를 가짐 5.1. DNS가 제공하는 서비스 DNS(Domain Name System) : 호스트 네임을 IP 주소로 변환해 주는 디렉터리 서비스 DNS 서버들의 계층 구조로 구현된 분산 데이터 베이스 호스트가 분산 데이터베이스로 질의하도록 허락하는 애플리케이션 계층 프로토콜 역할 호스트 에일리어싱( host aliasing) : 호스트가 복잡한 호스트네임을 가질 경우 (정식 호스트 네임), ..

컴퓨터 네트워크 2-1 - 애플리케이션 계층

참고서적 : 컴퓨터 네트워킹 하향식 접근 제 6판 Kurose, Ross 1. 네트워크 애플리케이션의 원리 1-1. 네트워크 애플리케이션 구조 클라이언트/서버 구조 (client-server architecture) 클라이언트(client) 라는 호스트의 요청을 서버(server)라는 호스트에서 처리 클라이언트는 서버 주소로 패킷을 보내서 항상 서버에서 연결 많은 클라이언트의 요청에 응답하기위해 데이터 센터를 구축 P2P(peer-to-peer)구조 서버에 최소한으로 의지. 사용자들이 소유하는 peer라는 호스트 쌍이 서로 직접 통신 1-2 프로세스 간 통신 클라이언트와 서버 프로세스 클라이언트 : 두 프로세스 간의 통신 세션에서 통신을 초기화(시작) 하는 프로세스 서버 : 세션을 시작하기 위해 접속을 ..

컴퓨터 네트워크 1 - 컴퓨터 네트워크와 인터넷

참고서적 : 컴퓨터 네트워킹 하향식 접근 제 6판 Kurose, Ross 1.인터넷이란 무엇인가? 1-1. 인터넷의 구성요소 관점에서 종단시스템 (end system), 호스트 : 인터넷에 연결되어있는 장치 ex) 렙톱, 스마트폰, 데스크톱, tv 등 종단 시스템은 통신 링크(communication link), 패킷 스위치 (packet switch)의 네트워크로 연결 통신 링크는 동축케이블, 구리선, 광케이블, 라디오 스펙트럼을 포함한 다양한 물리 매체(physical media)로 구성 링크들은 다양한 전송률 (transmission rate, 링크 대역폭)을 이용하여 데이터를 전송. 패킷 (packet) : 데이터를 보낼 때, 데이터를 세그먼트(segment)로 나누고 각 세그먼트에 헤더(head..