[컴네] 네트워크 계층(Network Layer) 정리

정환우·2021년 3월 16일
1

학교수업

목록 보기
1/2

학교에서 네트워크 수업을 수강하고 있는데, 네트워크를 이해하기 위해서는 네트워크 계층에 대해서 확실히 알고 있어야 한다. 그래서 한번 쭉 정리를 해보려고 한다.

네트워크 계층은 OSI 7 LayerTCP/IP의 4 Layer 가 있다. 두 가지 다 이해해야 하는데, 그러기 위해서 먼저 용어들을 알아보자.

기본 용어들

  • 노드(Node) : 컴퓨터 네트워크 상에 연결된 장치.

  • 호스트(Host) : 고유 IP 주소를 가진 노드

  • 홉(Hop) : 한 노드에서 다음 노드간 거리의 단위.

  • 프로토콜(Protocol) : 데이터 통신의 규약. 약자 끝에 P붙은 애들은 거의 다 프로토콜이라고 생각하면 된다.

  • 라우팅(Routing) : 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정.

  • 라우터(Router) : 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치.

네트워크 계층

Layer

계층별로 업무 분담을 해 일처리를 한다고 생각하면 된다. 내가 참고하는 블로그에서 찰떡 같은 예시를 들었는데, 예를 들면 홍익대학교 주소
서울시 마포구 와우산로 94로 우편물을 보내는 상황이라고 생각해보자.

전국에서 서울시 주소 (MAC addr)를 찾고 - Data Link Layer
마포구 주소(IP Addr)를 찾아 - Network Layer
월드컵로(Port)를 찾은 뒤
10길(Socket)에 도착하여 : Transport Layer
메일을 전달한다 : Application Layer


더 자세히 알아보자.

수업에서는 아래서부터 살펴보고, 구글링 할 때는 위에서부터 살펴보던데, 나는 아래서부터 살펴 볼 것이다.

Physical Layer(물리 계층)

노드로 비트를 보내는 역할을 한다.
비트 단위로 데이터 전송을 하며, 대표적인 장비는 통신 케이블, 리피터, 허브 가 있다.

데이터의 물리적 이동은 물리 계층에서만 일어난다.

Data Link Layer

  1. 프레임 단위로 데이터 전송을 한다.
  2. 오류없이 안전하게 데이터를 보내는 역할을 한다.
  3. 헤더에 통신자, 송신자 물리주소가 들어 있다.
  • MAC Address : IP는 동적으로 할당받는 주소이며, 고유한 값이 될 수 없다. 그래서 물리적인 NIC를 식별하여 Frame을 보내야 하는데, NIC 고유 식별정보가 바로 MAC 이다. ( Media Access Control)
    다음 노드의 MAC Address는 어떻게 알 수 있을까?

Network Layer

네트워크 레이어ㅏ

전송될 패킷의 모든 경로를 아는 것(Circuit-switching)이 아닌 패킷 단위로 그때 그때의 목적지를 찾아가는 (Packet-switching) 방식이다.

노드에는 IP주소와 Routing Table이 있다.

네트워크 레이어에서는 IP datagram을 주고 받는데, IP datagram의 Header에는 송신자, 목적지 주소가 있다. 목적지 주소와 Routing Table을 보고 길을 찾아 패킷을 Host-to-Host DeliveryHop-by-Hop Delivery를 이용하여 전송 한다.

Transport Layer

레이어 4

전송 단위는 UDP 일 경우엔 user datagram, TCP 일 때는 segment 단위로 전송한다.

네트워크가 아닌 호스트 내에 구동된 프로세스 사이의 연결 확립.(End-to-End)

정보전달을 두 호스트 간 보단, 주로 프로세스 간(P2P)의 통신으로 바꾸어 준다.

Application Layer

레이어 5

응용계층은 메시지 단위로 전송한다. 이메일로 예를 들면, 헤더가 있고 데이터에 텍스트, 첨부파일 등 메시지에 이런 것들이 다들어간다. 헤더에는 송신자 주소, 수신자 주소, 제목, 날짜가 데이터 형태로 들어가 있다.

이 메시지가 Transport Layer로 내려가면 여러 가지 패킷으로 잘려서 나뉘어진다.

  • DNS(Domain Name System) : Host의 네트워크 주소를 사람이 이해하기 쉬운 도메인 주소로 바꾸거나 그 반대의 변환을 수행한다.

뭐 예를 들면, 255.212.2.0 을 www.hongik.ac.kr 로 바꿔주거나, 그 반대의 변환을 수행하는 것이다. 우리가 원하는 프로세스를 실행시키기 위해서는 포트 번호를 알아야하는데, DNS는 포트를 모르고 이름만 바꿔준다. 따라서, DNS를 사용하고 싶으면 80번 포트를 디폴트로 생각해야 한다!!

참고 자료

국산 앨런 개발 일지 - 네트워크 계층
effot-dev
자비스가 필요해
내가 이해한 것들만 썼는데, 진짜 네트워크는 너무 어렵다. 수업 열심히 들으면서 계속 복습해야 할 듯. 그래도 조금은 다가간 것 같은데...

0개의 댓글