2가지 주요 router 기능 - Routing algorithm/protocol (RIP,OSPF,BGP) 수행 - 입력 link에서 출력 link로 datagram 전달 입력 포트 입력 포트는 여러 기능을 수행하는데 위의 그림에서 왼쪽 상자와 출력 포트의 맨 오른쪽 상자는 라우터로 들어오는 입력 물리 링크의 종단으로 물리계층 기능을 수행한다. 입력포트는 또한 들어오는 링크의 반대편에 있는 링크 계층과 상호 운용하기 위해 필요한 링크 계층 기능을 수행한다. 이것은 입력 및 출력 포트에서 중간 상자로 표시된다. 아마 결정적으로, 검색(lookup)함수는 입력포트에서 결정된다. 이는 입력 포트의 가장 오른쪽 상자에서 발생한다. 포워딩 테이블은 도착한 패킷이 스위칭 구조를 통해..
이 장의 목표 > network계층 서비스의 원리를 데이터 평면을 중점적으로 이해한다. - Network 계층 서비스 모델 - 포워딩 대 라우팅 - 라우터가 어떻게 동작하는가? 1. 송신 host 네트워크 계층은 송신 host의 트렌스포트 계층으로부터 세그먼트를 얻어 각 세그먼트를 데이터그램으로 캡슐화하고 인접한 라우터에게 데이터그램을 보낸다. 2. 수신 host의 네트워크 계층은 트랜스포트 계층 세그먼트를 추출하여 수신 host의 트랜스포트 계층으로 보낸다. 라우터의 근본역할은 입력 링크에서 출력 링크로 데이터그램을 전달하는 것. 모든 host와 router에는 network계층 protocol이 동작한다. R..
그럼 네트워크 계층의 중요한 라우팅 기능에 대해서 알아보겠습니다. 패킷을 송신호스트에서 목적지 호스트로 전송하기 위해서 네트워크 계층은 패킷의 라우팅 경로를 정해야 합니다. 즉, 네트워크 계층은 송신자로부터 수신자로의 패킷 경로를 결정해야 합니다. 여기서는 라우터의 네트워크를 통해 송신자로부터 수신자 까지 좋은 경로를 결정하는 것이 라우팅의 역할로 볼 것 입니다. 대체로 호스트는 하나의 라우터에 직접 연결되어 있는데, 이 라우터를 호스트에 대한 디폴트 라우터라고 부릅니다. 호스트는 모든 패킷을 디폴트 라우터로 전송합니다. 출발지 호스트의 디폴트 라우터를 출발지 라우터라고 하며, 목적지 호스트에 연결된 디폴트 라우터를 목적지 라우터라고 합니다. 라우팅 알고리즘의 목적은 간단합니다. 주어진 라우터와 라우터를..
연결 지향형 transport TCP 개요 - Connection-oriented(연결 지향형) - Data 전송 이전에 handshaking은 송신자와 수신자 사이 초기화하는 역할이다. - Point - to - Point ( 단일 송신자 , 단일 수신자 ) - 신뢰적 전송 - Pipelined - Full duplex 전송 ( 동일 연결을 통해 양방향 데이터 전송 ) - 세 방향 핸드세이크 TCP 신뢰적 데이터 전달 - TCP는 IP의 비신뢰적 service위에 rdt service를 생성 - Pipeline 형태의 전송 - 누적 ACK 사용 - TCP는 한개의 timer만을 사용한다. - 재전송은 다음과 같은 사건에 의해 시작된다. ( timer만료 / 중복된 ACK ) - 처음에는 단순화된 TCP..
Pipelined Protocol - Pipelining : 송신측은 확인 응답을 기다리지 않고 여러 packet전송을 허용하는것 - sequence number 범위는 증가 - 송신측과 수신측에 buffering이 필요 Pipelined protocol의 두가지 기본형태 : go-Back-N , Selective report go-Back-N - 송신측은 pipeline형태로 확인응답없이 총 N개까지의 packet을 전송 - 수신측은 누적 ACK만을 전송 - 송신측은 ACK를 받지 목한 가장 오래된 packet에 대한 timer를 동작시킨다. Selective report - 송신측은 확인응답을 받지 못한 packet을 pipeline 형태로 N개까지 전송할 수 있다. - 수신측은 개별적인 packet..
신뢰성 있는 데이터 전송 원리 가정 - Transport layer는 신뢰적인 채널 제공 - 그 아래 계층은 비신뢰적 채널이다. - 비신뢰적인 채널의 특징에 따라 신룆거인 데이터 전송 (rdt)protocol의 복잡도가 달라진다. - 신뢰적인 데이터 전달rdt protocol을 위한 송신측과 수신측 구조를 덧 붙여 설걔 - 단방향 데이터 전달만 고려한다. ( 하지만 제어 정보는 양방향 ) - FSM을 사용하여 송신측과 수신측 동작을 정의한다. Rdt 1.0 : 신뢰적인 채널을 통한 신뢰적인 전송 - 가정 : 하위계층 채널이 완벽하게 신뢰적인다. ( bit 오류 없고, 패킷 손실 또한 없다. ) - FSM : 송신 측은 data를 하위계층에 전송 , 수신측은 하위계층으로부터 data를 읽어 드림 Rdt 2..
Transport 계층 서비스 개요 Transport 서비스 & protocol - 서로 다른 host에 동작하는 애플리케이션 프로세스 간의 논리적 통신을 제공 - Transport protocol은 종단 시스템에서만 동작 -송신측 : message를 쪼개어 segment들로 만들어 network 계층에 넘겨줌 -수신측 : segment들을 재결합하여 message로 만들어 application계층에 넘겨줌 - Transport protocol의 종류 : internet TCP & UDP Transport vs Network 계층 - Network layer : host들간의 논리적 통신 - Transport layer : process들간의 논리적 통신 Internet Transport 계층 proto..
P2P 애플리케이션 파일분배 : P2P구조의 확장성 파일분배 : Bit Torrent - torrent : 파일 분배에 참여하는 모든 peer들의 모임 - tracker : torrent에 참여하는 peer들을 추적 Bit Torrent - File은 256kB 크기의 chunk들로 분할된다. - Torrent에 참여하려는 peer : chunk를 갖고 있지 않지만, 시간에 따라 chunk들이 쌓이게 됨 Tracker에 등록하여 peer들의 목록을 얻고 , 이 peer들에 연결 - peer는 download하면서 chunk를 다른 peer에 업로드 함 - peer는 참여 후 떠날 수 있다. - peer가 전체 파일을 받으면 , 떠나기도 하고 남아있을 수 도 있다. chunk 가져오기 - 서로 다른 pee..
DNS : Domain Name System people : 여러가지 식별자 Internet host , router : IP주소(32bit) datagram의 전달 주소 / " host name " (www.naver.com) : 기억하기 용이하게 사람들이 사용 Domain Name System : 분산 database 계층구조를 가짐 , 응용 계층 프로토콜 Q) IP주소와 hostname사이의 mapping? DNS 서비스 - Hostname과 IP주소 사이의 변환 - Host aliasing : Canonical(정식) hostname , Alias(별칭) hostname : 기억하기 용이 - Mail server aliasing - 부하(load) 분산 - 중복(replicated) web ser..
전자 메일 3개의 구성요소 - 사용자 agent - mail server - SMTP ( Simple mail transfer protocl ) 사용자 Agent - 별칭 "mail reader" - 메일 작성/편집/읽기 - 발송 및 도착 메세지는 mail server에 저장됨 전자 메일 : mail server - Mail box : 수신 메세지 저장 - Message queue : 송신할 메세지 저장 - SMTP protocol : mail server들 사이의 email 메세지 전송 protocol - client : email 메세지를 전송하는 mail server - server : email 메세지를 수신하는 mail server 전자메일 : SMTP - client로 부터 server에 신뢰..