데이터 링크 계층에서 이더넷 규칙을 기반으로 데이터의 전송을 담당한다고 했다. 이 규칙에 따르면 같은 네트워크에 있는 컴퓨터로는 데이터를 전송하는데 문제가 없지만, 인터넷이나 다른 네트워크로 데이터를 전송할 수는 없다. 수많은 네트워크들이 얽히고 설킨 환경에서는 데이터 링크 계층의 기능만으론 다른 네트워크로 데이터를 전송하는데 한계가 있기 때문이다. 이 시점에서 네트워크 간의 통신을 가능하게 하는 것이 바로 네트워크 계층의 역할이다. 이 계층을 통해 다른 네트워크로 데이터를 전송하려면 라우터라는 네트워크 장비가 필요하다. 라우터는 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 일종의 내비게이션 역할이다. (스위치는 각 갈림길마다 있는 이정표같은 역할) 그러나 데이터를 보내려는 상대가 어디 있는지 모르면 라우터 역시 목적지까지의 경로를 알려줄 수 없다. 편지를 보낼때 받는 사람 주소를 모른다면 배송할 수 없는 것처럼 말이다. 즉 네트워크에서도 데이터를 보내려면 목적지 주소가 필요하다는 것이다! 이 때 이 주소는 데이터 링크 계층에서 다룬 MAC주소를 말하는 것이 아니다! 랜에서는 MAC주소만으로도 통신이 가능하지만 다른 네트워크로는 MAC주소만으로 보내기엔 무리가 있는데, 이 때 사용하는 것이 MAC주소가 아닌 네트워크를 식별하는 주소인 IP주소다.
IP주소는 어떤 네트워크의 어떤 컴퓨터인지 구분할 수 있도록 해주는 주소로 이 IP주소가 있다면 다른 네트워크에 있는 목적지를 정할 수 있다. 다만 목적지를 IP주소로 정했다고 바로 데이터를 보낼 수 있는 건 아니고, 목적지까지 가는 무수히 많은 길 중 어떤 경로로 보낼지도 결정해야 하고 이 작업을 라우팅이라고 한다. 이를 라우터가 하며, 라우터엔 라우팅 테이블이 있어 경로 정보를 등록하고 관리한다.
네트워크 계층에는 IP(Internet Protocol)이란 프로토콜이 있는데, 이 IP를 통해서 다른 네트워크의 컴퓨터로 데이터를 보낼 수 있다. 네트워크 계층에서 캡슐화할 때 붙이는 헤더가 IP헤더이며, 여기엔 출발지 IP주소와 도착지 IP주소를 비롯한 다양한 정보들이 들어간다. 데이터링크 계층에서 이더넷 헤더와 트레일러를 붙인 덩어리를 프레임이라고 부른 것처럼 네트워크 계층에선 이 IP헤더를 붙인 덩어리를 IP 패킷이라고 부른다.
IP주소는 네트워크ID를 통해 "어떤 네트워크"인지 나타내고, 호스트ID를 통해 "어떤 컴퓨터"인지 나타낸다.
.. 추후 추가 예정..
'CS > 컴퓨터네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] 응용 계층 살짝 찍먹 (0) | 2022.04.19 |
---|---|
[컴퓨터 네트워크] 전송계층(transport layer) - TCP & UDP 간단하게 쓰다듬기 (0) | 2022.04.19 |
[컴퓨터네트워크] 물리계층/데이터링크계층 간단하게(feat.MAC주소), 스위치 등에 관한 개념 (0) | 2022.04.19 |
[컴퓨터네트워크] 네트워크 / 랜 / 왠의 뜻, OSI 7계층 (0) | 2022.04.18 |
[컴퓨터 네트워크] 인터넷의 구조 (0) | 2022.03.10 |