본문 바로가기

cs

네트워크 식별자란? port번호 ip mac의 차이 의미

port번호 네트워크의 식별자에 대해 알아 보겠습니다.

출처 : https://www.subnetting.net/school/docs/osi-model

 

네트워크 모델은 국제표준화 기구에서 제시한 OSI7계층입니다

그리고 이를 간소화해 놓은 모델이 DOD모델입니다.

 

이를 소프트웨어와 하드웨어로 구분하면 아래와 같습니다 

1.user mode( 사용자 소프트웨어) - Application

2.kerner mode(시스템 소프트웨어)- Transport,Internet

3.h/w (하드웨어) - Network

 

위처럼 각 계층을 구분 할때 식별하는 것이 식별자 입니다.

식별자는 PORT, IP, MAC이 있습니다.

 

1.MAC

MACㄴ은 h/w를식별할 수 있는 식별자 입니다. 즉 NIC 네트워크 랜카드를 식별 할 수 있는 식별자 입니다 

하나의 랜카드에 하나의 Mac주소가 할당 됩니다. 이때 랜카드가 유선/무선으로 2개가 있을경우 Mac주소는 각각 1개씩 할당되서 총 2개가 됩니다.

또한 Mac주소는 변경이 가능합니다.

 

2.IP

ip는 Host에 대한 식별자 입니다.

여기서 Host는 인터넷에 연결이 된 컴퓨터를 의미합니다.

ip는 하나의 랜카드에 여러개를 바인딩 할 수 있습니다 

따라서 컴퓨터 하나에 여러개를 가질 수 있습니다.

 

3.Port

포트번호는 관점에 따라서 다르지만

프로세스의 식별자라고 합니다.

user mode와 kerner 모드의 사이에서 서로 접근 할 수 있도록 인터페이스가 제공되는데 이때 본질은 file이지만 tcp프로토콜을 추상화 했기 때문에 soket이라고 합니다. 이때 attach 되는 정보가 바로 port 번호입니다. 

즉 2개의 프로그램(process)이 켜져 있다고 가정하고 1번 프로그램의 포트번호가 1이고 2번 프로그램의 포트번호가 2라고 가정합니다

이때 패킷을 process에 전송 했을때 패킷은 랜카드 - 네트워크 드라이버 - ip - tcp - process 순으로 들어오게 됩니다. 

이때 tcp와 process 사이의 식별자를 구분해 주는 것이 Port번호 입니다

이때 1번과 2번 process의 port번호는 같을 수 없습니다.

 

 

자료 참고 - 널널한 개발자 TV