일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 겨울 부산
- PytestPluginManager
- terminal
- pytest
- 달인막창
- Value too long for column
- JanusGateway
- JanusWebRTCGateway
- kotlin
- 코루틴 컨텍스트
- tolerated
- 개성국밥
- 코루틴 빌더
- taint
- 오블완
- 티스토리챌린지
- JanusWebRTCServer
- Spring Batch
- vfr video
- addhooks
- JanusWebRTC
- table not found
- python
- VARCHAR (1)
- mp4fpsmod
- preemption #
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 자원부족
- 깡돼후
- PersistenceContext
너와 나의 스토리
[CH.4] Network Layer - virtual circuit(VC) vs datagram networks 본문
[CH.4] Network Layer - virtual circuit(VC) vs datagram networks
노는게제일좋아! 2019. 10. 15. 16:15Network layer
- 송신자 호스트에서 수신자 호스트로 세그먼트를 transport
- 송신측: 세그먼트를 datagrams으로 캡슐화
- 수신측: segment를 transport layer로 전달
2개의 주요 network layer functions
- forwarding:
- 라우터의 input포트에서 적절한 라우터의 output포트로 패킷을 이동시킴
- routing:
- 출발지에서 목적지까지 패킷이 이동할 경로를 결정
- 라우팅 알고리즘을 이용하여 포워딩 테이블을 만드는 작업
routing algorithm: 경로 결정
forwading table: 선택된 경로를 저장해 둔 것
Connection setup
- datagram이 전송되기 전에, 두 개의 end hosts와 중간 라우터들은 virtual connection을 설립한다.
- 라우터가 관여
- network layer vs transport layer connection service:
- network: 두 개의 호스트 사이(vc의 경우 호스트가 라우터를 개입시킬 수도 있다)
- transport: 두 개의 프로세스들 사이
Connection, connection-less service
- datagram network는 네트워크 계층 connectionless 서비스를 제공한다.
- virtual-circuit network는 네트워크 계층 connection 서비스를 제공한다.
- TCP/UDP 연결 지향, 비연결지향 transport 계층 서비스와 유사하지만
- service: host-to-host
- 구현: 네트워크 코어에서 구현됨
네트워크 상에 데이터를 전송하기 위한 방식은 크게 회선교환 방식과 패킷교환 방식으로 나눌 수 있다.
Datagram Network:
데이터는 한 개 이상의 패킷으로 구성되어 네트워크로 전달되게 되는데 데이터그램 네트워크는 각 패킷의 전달 경로가 다를 수 있다. 이 때문에 목적지에 도착하는 패킷의 순서가 송신자에서 보낸 순서와 맞지 않을 수 있기 때문에 목적지에서 패킷의 재조합이 필요하다.
Virtual-Circuit Network:
송신지에서 목적지로 패킷을 보내기 전에 전달된 패킷이 이용할 경로를 미리 예약하게 된다. 예약하는 과정은 각 경로에 존재하는 라우터의 라우팅 테이블에 자신의 송신지와 목적지의 경로를 설정하게 된다. 패킷을 전달하기 전에 경로를 설정해야 한다는 부담이 있긴 하지만 한번 경로가 설정되면 송신지에서 목적지로 보내는 패킷들은 순서가 보장되어 전달되기 때문에 목적지에서 재조합할 필요가 없다
Virtual circuits(VC) forwarding table
Vurtual circuits: signaling protocols
- used to setup, maintain teardown VC
- 오늘날 인터넷에서 사용하지 않음
Datagram networks
- no call setup at network layer
- routers: end-to-end 연결에 대해 no state
- 네트워크 계층에서는 connection이라는 개념이 없다
- 목적지 호스트 주소를 사용해서 패킷을 포워딩한다.
Datagram forwarding table
Longest prefix matching
- 지정된 대상 주소에 대한 포워딩 테이블 항목을 찾을 때, 대상 주소와 일치하는 가장 긴 주소 접두사를 사용
예를 들어, 11001000 00010111 000110의 link interface를 찾을 때, 1번과 겹치는 것이 많기 때문에 1번과 2번 중 1번을 선택하게된다.
Datagram or VC network: why?
Internet(datagram)
- 컴퓨터 사이에서 데이터 교환
- 많은 link 타입들
- 다른 특성
- 균일한 서비스 어려움
- "smart" end system
- 중간에 있는 라우터는 멍청해도 ㄱㅊ
ATM(VC)
- 전화에서 진화
- end system이 멍청
- 중간에 있는 라우터들이 똑똑해야 함
출처: [Computer networking: A top-down approach, 6th]