네트워크 계층 모델 응용 계층: HTTP
목표: 응용 프로세스간에 메시지의 교환
무엇을 해야 하는가? 상대방이 어디에 있는지?-주소 전달할 길을 어떻게 찾을지? 중간에 에러가 발생하면? 중간에 체증이 생기면? 어떤 신호로 보낼지? ……….. 메시지 메시지 전기 신호
계층 모델 메시지 메시지 전기 신호
비유: 해외 항공 여행을 할 때 일련의 과정이 독립적으로 이루어 진다. ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing ticket (complain) baggage (claim) gates (unload) runway landing 일련의 과정이 독립적으로 이루어 진다. Introduction
intermediate air-traffic 해외 항공 여행을 위한 계층 모델 ticket (purchase) baggage (check) gates (load) runway (takeoff) airplane routing departure airport arrival intermediate air-traffic control centers ticket (complain) baggage (claim gates (unload) runway (land) ticket baggage gate takeoff/landing 계층들: 각 계층은 각 맡은 기능을 수행한다. 각 계층의 기능은 상호 독립적 하위 계층은 상위 계층에 서비스를 제공 Introduction
Reference model OSI 7 layers Internet layers application presentation transport network link physical presentation session transport network data link physical
프로토콜 어떤 절차로 메시지를 교환할 것인가? 메시지에는 어떤 내용을 담을 것인가? Hi 2:00 <file> Got the time? 2:00 time TCP connection req response <file> 어떤 절차로 메시지를 교환할 것인가? 메시지에는 어떤 내용을 담을 것인가?
Transport Layer Transport layer는 송신 (응용)프로세스의 메시지를 목적지 프로세스에 전달하는 일을 담당한다. 어떻게 프로세스를 구별할 수 있을까?- 주소 AP1 AP2 AP3 AP1 AP2 AP3 end-to-end Transport transport end-to-end reliable 서비스의 필요성 지금까지의 IP 서비스는 네트워크의 각 노드에서 이루어지는 네트워크 계층 서비스이다. IP 서비스는 unreliable network service를 제공해 주고 있다. no error control no congestion control duplicate packet delivery out-of-order packet delivery 따라서 응응 프로그램이 네트워크를 통해 전달된 데이터를 신뢰하고 처리하기 위해서는 transport 계층에서 신뢰성 있는 서비스를 제공해 주어야 한다. 인터넷에서는 양 종단의 TCP에서 이러한 신뢰성 서비스를 제공해 주고 있다. IP IP IP network access 1 network network access1 access2 network Access 2 subnet 1 subnet 2
노드 간(node-to-node) 전달 하나의 물리적 전송로(physical link)로 연결된 두 노드 간에 메시지(패킷 혹은 프레임)의 전달
Link layer과 network layer 링크 계층은 노드와 노드 사이에서 프레임의 전달을 담당한다. 네트워크 계층은 목적지까지 패킷을 전송하기 위해서 경로를 결정(routing)하고 다음 노드(next hop)로 패킷을 전달한다(forwarding).
Link layer 데이터 링크 제어에서 전달하는 데이터의 단위를 프레임(frame)이라고 부른다. 목적 이외에, 전송되는 프레임의 시작과 끝을 어떻게 구별할 것인가? 이외에, 전송되는 프레임에 에러가 발생했는가? 송수신 장치간에 속도 차에 의한 프레임의 손실이 발생할 수 있는가? (흐름 제어)
Physical layer와 link layer
캡슐화 destination source application transport network link physical message M application transport network link physical segment Ht M Ht datagram Ht Hn M Hn frame Ht Hn Hl M link physical switch destination network link physical Ht Hn M Ht Hn Hl M M application transport network link physical Ht Hn M Ht M Ht Hn M router Ht Hn Hl M Introduction 1-14 14
데이터 캡슐화(encapsulation)
교환망(switching network) 단말들이 통신을 하기 위해서는 통신선이 연결되어 있어야 한다. 스위치(혹은 라우터)로 망을 구성할 경우 많은 단말들을 연결하기 위한 통신선의 수를 줄일 수 있다. point-to-point links switched network
회선교환망 (Circuit switching network) 회선 교환망에서는 두 개의 단말 사이에 물리 선로(channel)가 연결되어 통신을 하는 동안에는 두 단말 만이 이 물리 선로를 사용한다. 두 단말이 통신할 때 사용하는 이 물리 선로를 회선(circuit)이라고 부른다.
패킷 교환망 (Packet Switching) 통신을 하는 두 단말 만이 사용하는 물리 선로가 별도로 존재하지 않으며 물리 선로는 다른 단말들과 공유하여 사용한다. 물리선로(channel) 패킷
왜 패킷의 지연과 손실이 발생할까? 모든 패킷은 라우터에서 도착해서 전송될 차례를 기다려야 한다. A B 왜 패킷의 지연과 손실이 발생할까? 모든 패킷은 라우터에서 도착해서 전송될 차례를 기다려야 한다. 전송되는 패킷(delay) A 버퍼의 빈 공간: 패킷이 도착했을 때 빈 공간이 없으면 버려진다. (loss) 대기중인 패킷(delay) B
패킷 지연 시간(1) 2. 대기시간 1. 패킷 처리 시간: 전송을 하기위해서 출력 링크에서 대기하는 시간 비트 에러 조사 라우팅 2. 대기시간 전송을 하기위해서 출력 링크에서 대기하는 시간 얼마나 버퍼에 패킷들이 많이 있는지에 의해 결정 A B 전파 지연시간 전송 패킷 처리시간 대기 시간
패킷 지연 시간(2) 3. 전송 시간: 4. 전파 지연시간: R=링크 대역 (bps) d = 통신 선로의 길이 L=패킷 길이 (bits) 패킷을 전송하는 시간= L/R 4. 전파 지연시간: d = 통신 선로의 길이 s = 전파 속도(~2x108 m/sec) 전파 지연시간 = d/s 주의: s와 R은 아주 다른 값이다! A B 전파 지연시간 전송 패킷 처리시간 대기 시간
여러 승용차를 나르는 트럭(1) 트럭이 톨 게이트를 통과하는데 걸리는 시간= 12*10 = 120 sec 100 km 100 km 10대의 승용차를 실은 트럭 트럭의 속도: 100 km/hr 톨 게이트는 승용차 한대를 처리하는데 12 sec 걸린다. (전송 시간) 승용차는 bit; 트럭은 패킷 Q: 트럭이 두번째 톨까지 가는데 걸리는 시간은? 트럭이 톨 게이트를 통과하는데 걸리는 시간= 12*10 = 120 sec 마지막 차가 첫번째 톨에서 두번째 톨까지 가는데 걸리는 시간: 100km/(100km/hr)= 1 hr A: 62 분
여러 승용차를 나르는 트럭(2) 톨 게이트 톨 게이트 100 km 100 km 10대의 승용차를 실은 트럭 Yes! 7분후, 첫번째 승용차는 두번째 톨에 도착하고 이때 아직 3대의 승용차는 첫번째 톨에 있다. 패킷이 모두 처리되기 전에 패킷의 첫번째 비트가 두번째 라우터에 도착한다. 예, Ethernet 트럭의 속도:1000 km/hr 톨에서 승용차 한대를 처리하는데 걸리는 시간: 1분 Q: 모든 승용차가 첫번째 톨에서 처리되기 전에 선두의 승용차가 두번째 톨에 도착할 수 있는가?
패킷 지연 시간(delay) dproc = 라우터에서 처리시간(processing delay) 보통 몇 microsecs 혹은 그 이하 dqueue = 라우터에서 대기 시간(queuing delay) 체증(congestion)에 따라 달라진다. dtrans = 전송 시간(transmission delay) = L/R, 링크의 속도에 따라 다르다. dprop = 전파 지연 시간(propagation delay) 전송로의 길이에 따라 다르다(몇 microsecs에서 몇 백 msecs)
패킷의 손실 라우터의 버퍼 크기는 제한되어 있다. 패킷이 도착했을 때 버퍼가 가득 차 있다면 패킷은 손실(drop)된다. 손실된 패킷은 다시 전송될 수 있다. 이때 누가 다시 전송하는가?
한국의 인터넷 망 구성 http://isis.nida.or.kr