지금까지 세 포스팅에 걸쳐서 Transport Layer에 대해서 알아봤다. Transport Layer는 프로세스 - 프로세스 간 Logical Communication을 하는데 집중했다면 네트워크 계층에서는 Host - Host 간의 통신을 담당한다. Host - Host 간의 통신이 무엇인지 지금부터 알아보자.
네트워크 계층의 소개
- 네트워크 계층의 목적
- Host to Host 간의 통신을 담당한다.
- Transport 계층에서 담당했던 Process to Process가 두 소프트웨어 사이의 통신이라면 Host to Host 통신은 물리적인 실체인 Host (PC나 라우터 등) 간의 통신이다.
- Transport 계층과의 차이
- Host 간 전송
- Application에게 선택권한 없음
- 코어에서 구현된다.
- 호스트와 라우터의 차이
- 라우터는 컴퓨터 네트워크간 데이터 패킷을 알맞은 경로로 보내는 네트워크 장치이다.
- 일반적인 호스트와 라우터 둘 다 네트워크 계층이 있지만 라우터의 라우팅 테이블이 훨씬 더 방대하며 호스트는 자신의 게이트웨이 라우터의 주소만 알고 있다.
- 네트워크 계층의 기능
- 라우팅 : 해당 목적지로 가는 적절한 경로를 계산한다.
- 포워딩 : Input 포트로 들어온 데이터그램을 적절한 output 포트로 내보낸다.
- 네트워크 서비스 모델
- 한 패킷에 대해 (미시적 관점)
- datagram의 전송을 보장한다.
- minimum delay를 보장한다.
- 여러 패킷에 대해 (거시적 관점)
- In-Order를 보장한다.
- Minimum Bandwidth를 보장한다.
- 최소한의 패킷간 시간차를 보장한다.
- 한 패킷에 대해 (미시적 관점)
- 패킷 스위칭의 두가지 방법
- Virtual Circuit : Connection Oriented
- Datagram : Connection Less
- Virtual Circuit
- 네트워크 장비간 (라우터간) 데이터 전송 전 콜 셋업으로 경로를 미리 설정하고
- 각 패킷은 VCID를 가지고 있다.
- 라우터는 VC State를 가지고 있다.
- VCID는 라우터를 지날 때마다 변한다. ( 지나치는 모든 라우터들에 대해 동일한 ID를 유지할려면 큰 비트가 필요하기 때문)
- 라우터들은 각 VC에 대해 forwarding table을 가지고 있다.
- 네트워크 코어가 복잡해지므로 인터넷엔 맞지 않고
- Smart한 Endsystem보다 Dumb한 Endsystem에 어울린다.(전화 등)
- Datagram Network
- 커넥션을 맺지 않으므로 경로설정이 없다.
- 라우터는 Stateless하게 전달만 한다.
- 패킷은 패킷 헤더에 있는 목적지 주소에 의해서만 포워딩된다.
- 하지만 모든 목적지 주소에 대해 포워딩 테이블을 만드는 것을 굉장히 비효율적이므로
- Address Range ( IP Prefix)에 따라 어느 output 링크로 보낼 건지 결정한다.
더보기
본 게시물은 kocw 이화여자대학교 이미정 교수님의 컴퓨터 네트워크 강의를 듣고 정리한 글임을 밝힙니다.
내용상 틀린 부분이 있을 수도 있으며 이에 대한 책임을 지지 않습니다.
틀린 부분이나 오타 지적은 댓글로 남겨주세요.
'컴퓨터 네트워크' 카테고리의 다른 글
네트워크 15강 - IP 주소 할당 (0) | 2020.08.11 |
---|---|
네트워크 14강 - Inside Router, IP (0) | 2020.08.11 |
네트워크 12강 - TCP part.3 (0) | 2020.08.10 |
네트워크 11강 - TCP part.2 (0) | 2020.08.10 |
네트워크 10강 - TCP part.1 (0) | 2020.08.10 |