현관문 스토퍼(말발굽) 교체, 현관문 안전고리 교체

by Blogger 하얀쿠아
2018.04.23 21:34 NULL ptr/인테리어, 집 보수, 집 수리

부품비용

도어 스토퍼(말굽) - 1,900원

안전고리 - 3,900원

배송비 - 2,500원

==========================

총합 -- 8,300원


작업시간

전동드릴이 있는경우,

- 단순 교체의 경우 : 5분 내외

- 위치를 조정해야 할 경우 : 10~30분 내외 (드릴 성능에 좌우됨)


전동드릴 없이 맨손으로 하는 경우,

 - 단순 교체의 경우 : 15분

 - 위치를 조정해야 할 경우 : ∽


작업내용

현관문을 열면 보통 도어클로저의 힘에 의해 자동으로 닫히게 되어 있다.

그런데, 집 내외부로 큰 짐을 옮기 때와 같이 현관문을 열어둔 채로 고정할 때 사용하라고 아래쪽에 붙어 있는 철물이 하나있으니.. 그것은 도어 스토퍼.


사람들은 말굽 이라고도 부르곤 한다.


바로 이것이 현관문에 달려있는 도어 스토퍼. 일명 '말굽'


이 아파트 잔금 치르는 당일 날 오전, 

살고있던 사람이 이사나가는 현장에 가보았었다.


현관문을 활짝 열어두고, 도어스토퍼를 내려놓았길래 잘 고정이 되는 녀석인 줄 알고 신경 안썼는데.

왠걸.


부동산에서 잔금 치르고 돌아와 짐빠진 집 현관문을 열고 도어스토퍼를 내렸는데, 

이게 현관문을 잡아주질 못한다.

주르륵 닫히는 것이다.



문제의 상황을 촬영한 영상이다.


가능한 문제점은 두가지 정도로 보였다.

1. 도어스토퍼 아래의 고무가 닳아서 마찰력이 약해졌을 것이다.

2. 도어스토퍼 높이가 너무 높거나 낮아서, 바닥면과 도어스토퍼 고무마찰면이 접하게 되는 각도가 적합하지 않을 것이다.


지금 생각해보니 접근을 2번 먼저 해결해보고, 안되면 1번을 해결시도 했었어야 하는데,

당시에 나는 1번 부터 해결해보려고 했다. 바로 신품 도어스토퍼 구매 ㄱㄱ


찾아보니 1900원. 배송비 2500원.

http://smartstore.naver.com/easywayhardware/products/520651189?NaPm=ct%3Djgcdfh4h%7Cci%3Dcheckout%7Ctr%3Dppc%7Ctrx%3D%7Chk%3De061d23090790287a14d3d551a138bc75791719e

배보다 배꼽이 커지는 상황이어서, 안전고리(3900원)과, 도어클로저(55,000원)을 같이 묶음배송 했다.

도어클로저는 부모님 집 현관문 도어클로저가 영 시원찮아서 교체해드리려고 주문했다. 



새 도어 스토퍼.

기존의 것을 빼내고 이것으로 설치해보았으나, 여전히 문은 주르륵 닫힌다.


젠장. 2번이 문제인 듯

다시 살펴보니 도어스토퍼가 너무 낮은 위치에 설치되어 있어서, 바닥면과 접하는 면적이 너무 작아서, 충분한 마찰력을 얻지 못해 문이 닫히는 상태였다.


적당히 올려서 설치하기로 결정.

구멍뚫을 위치를 표시한다.

가지고 있는 무선드릴 모터가 매우 허접한 장비인지라, 뚫는데 애좀 먹었다.

구멍1개당 5분 정도 낑낑댄 듯.

구멍뚫는데만 총 15분걸렸다.




아무튼 구멍 3개 뚫는 것을 성공하고, 설치 완료.

미관상 나쁠까 걱정했으나, 이렇게 가까이 들여다 보아야 기존 구멍이 보이게 된다. 

어짜피 내가 살 집이므로 나의 기준에는 Pass. 


직립보행중일땐 아래에 뚫려있는 구멍은 보이지 않는다. 나는 괜찮다. 괜찮다. 괜찮아.. 현관문에 휑하게 뚫려있는 구멍쯤이야.

저리로 수분만 안들어가면 될 듯.



예상대로 마찰력이 확보되니 현관문을 잘 고정해 준다.

기능성 Pass.




덧) 안전고리는 설치하는데 별 문제는 없었다.

기존 것이 부러져있어서, 피스 풀러 내고 새걸로 설치함.



이 댓글을 비밀 댓글로

주방 간접조명 설치하기 - 동작 감지 센서

by Blogger 하얀쿠아
2018.04.13 02:54 NULL ptr/인테리어, 집 보수, 집 수리

계기


아파트를 구매하고 이사들어가기 전이었다. 인테리어 공사를 한창 준비하던 때.

이사갈 집의 주방에, 싱크대를 어떻게 구성할 지에 대해 고민을 참 많이 했었다.

ㄷ 자 싱크대를 설치하는데, 배수구 위치도 마음에 들지 않고, 난방분배기의 높이도 너무 높아서 충분히 깊은 싱크볼을 선택할 수도 없었으며, 렌지후드의 기존 위치도 마음에들지않았다.

리바트 싱크대 영업사원과 2주에 걸쳐 3번정도 미팅을 가지면서, 시뮬레이션 해보고 마음에 안드는 부분 찾아 수정하기를 반복했다.


이때 일부러 하지 않은 것이 있었으니.. 싱크대 상부장 아래 조명 넣는 것.

나는 센서조명이었으면 했는데, 리바트 측에서는 'T5 LED조명, 수동 스위치' 만 선택할 수 있다고 했다.


센서 On/Off와 수동스위치로 On/Off 하는 것은 차이가 크다.

새벽에 잠에서 깨서 주방에 물을 마시러 나갔다고 생각해 보면..

자동으로 밝혀지는 조명과, 더듬더듬 스위치를 찾아서 눌러야 밝혀지는 조명.

둘중 어느 것이 더 편리할 지는 말하지 않아도 알것이다. 당연히 후자보다는 전자다.


리바트에는 싱크대 상하부장, 대리석, 냉장고장 설치만 맡기고 조명은 직접 달기로 했다. 

예상대로 어려운 작업은 아니었다.


주방 센서조명 설치 완성 사진

먼저 완성된 모습부터 보겠다.

주방 센서조명 설치 완료



센서조명을 설치하기 전의 주방을 잠깐 보면, 아래와 같은 모습.

센서조명 설치 전의 주방


설치 과정

나는 FLEM SenLight UnderBed 라는 제품을 선택했다. 원래 침대 아래 설치하는게 주요 컨셉인 듯 싶은 제품명이다만, 나는 싱크대에 설치하기로 했다. 저렴한 가격을 찾다보니 당연히(?) 중국제품이다.

제공되는 인체 동작감지 센서스위치 제원은 "감지 거리:3.5m, 감지 범위: 약 100도" 였다.

센서 옆에는 시간 조절 휠이 달려있고, 이걸로 조명이 켜진 상태로 유지되는 시간을 30초~10분 사이로 조절 할 수 있다.

조명부분은 Flexible LED 스트립이고 길이는 1.2m 이다. 밝기는 200lm 이고 색온도는 2700k, 즉 노르스름한 전구색이다.

제품 사진이다.


제품 포장을 열어서 구성품을 살펴보면 아래와 같이 간단하다.


어댑터 1개.

센서 1개.

LED조명 스트립 1롤.

제품 설치 및 사용설명서 1개.

부자재 1봉지(양면 테잎 및 선정리 클립, 센서 고정용 볼트)


구성품이 모두 잘 들어있는지 확인 한 뒤, 설치에 앞서 조명이 잘 켜지는지 확인해본다.

제품 특성상 주변이 90lux 이하로 어두워야 동작한다고 한다.

불을 모두 끄고 어댑터를 연결하여 테스트 해보았다.

문제없이 잘 동작하는 것을 확인 한 후, 실제 설치에 들어간다.



제일 왼쪽의 상부장을 열어보면, 전원 콘센트 1구를 위해 뒷판을 뚫어달라고 주문했었다. (당시 설치기사님과 약간 마찰이 있었는데 화가 났는지 마감이 썩 깔끔치 못하다. 보기 흉하다..)

이곳에 어댑터를 연결하고 선을 뒤로 넘겨서 상부장 아래로 빼낸다.



대략 이런식으로.

상부장 아래로 어댑터 선이 내려오고, 이 선을 센서에 연결한다.

센서는 벽에 양면테잎을 이용해 부착했다.

센서부터 조명까지도 선을 연결해 준다.




선정리 전 모습이다.

자다가 깼을 때, 주방에 갈 일이 있어도 이제 불편하지 않다.

이 댓글을 비밀 댓글로

[기록] 난방배관 평면도

by Blogger 하얀쿠아
2018.04.12 11:27 NULL ptr/인테리어, 집 보수, 집 수리

동탄 숲속마을 경남아너스빌 3단지 33평형 A타입 - (비확장형) 난방배관 평면도



인테리어 공사 중 확장공사를 하게 되면, 난방배관을 건드리게 된다.

이때 필요한 것이 난방배관 평면도 정보이다.


동탄 숲속마을 경남아너스빌 3단지 33평형 A타입 평면도 (출처 : 네이버 부동산)



이번 인테리어 공사를 할 때, 내 경우는 확장공사를 하지 않았기 때문에 이게 사실 필요 없었지만, 기록을 위해 사진을 찍어두었다.

그리고 사실, 해당 지역의 해당 아파트의 해당 평형을 공사해본 경험이 많은 인테리어 업자라면, 평면도 없이도 공사를 할 수 있을 듯 싶다.


위치?

1. 우리집은 기존 싱크대 하부장 문 안쪽에 붙어 있었다. 싱크대 철거하기 전에 떼어 둘 까 하다가, 사진만 찍고 버렸다. 인쇄상태가 썩 좋지 않았다.

2. 단지 내 관리사무실에 문의 해보면 가지고 있을 수도 있다.


필요성

살면서 난방이 잘 안된다 싶을 때, 배관도 상 배관이 있는데 따뜻해지지 않는 것인지, 배관이 안깔려 있어서 그런 것인지를 구분할 수 있다.

이 구분에 따라, 추가 배관을 설치하는 공사를 할 것인지, 기존 배관내부의 이물질 청소만 할 것인지 등을 결정하는 근거가 될 것으로 판단된다.


뒷이야기

아파트 보러 갔을  때 이야기다.

안방 화장실을 둘러보고 있는데,  기존 집주인이 "난방을 하면 안방화장실 바닥 입구까지는 따뜻해 진다" 라는 얘기를 했다. 

그랬더니 부동산 중개인이 "에이, 무슨 화장실 바닥이 따뜻해지나, 잘못 느낀거 아니냐" 라는 얘기를 했다.

나는 이렇든 저렇든 상관없다고 생각해서 그런가보다 했다.


추후 난방 배관 평면도를 보게되니, 안방화장실 내부의 입구 근처는 난방배관이 있었다. (거실 공용화장실도 마찬가지)



이 댓글을 비밀 댓글로

벽조명 달기 : 나사 구멍과 브라켓의 가로, 세로 방향이 안맞는 자리에 달아보자.

by Blogger 하얀쿠아
2018.04.05 01:28 NULL ptr/인테리어, 집 보수, 집 수리

발단 : 난 이 조명 달기 싫다 - 업자 -

약 2주에 걸친 아파트 인테리어 공사가 끝날 무렵이었다.

도배가 끝난 직후, 인테리어 업체 실장으로부터 연락을 받았다.


"도배하기 전 탈거했던 비상등 벽조명 기구를

 도배가 끝났으니 다시 달려고 하는데, 브라켓과 벽의 나사구멍 방향이 안맞는다.

이 조명기구를 달려면 억지로 설치는 가능한데, 마감이 깔끔하게 안나온다. 조명기구 바꾸면 안되느냐?"


이런 연락이었다.

아니, 잘 달려있던 조명인데, 떼었다가 다시 부착하는데 왜 이런연락을 하지 싶었다.

가만히 하는 이야기를 들어보니...

이 조명기구를 제자리에 설치해봤자 마감이 깔끔하게 안나온다는 것이, 연락을 한 주요한 이유인 것 같았다.


인테리어 공사 전, 비상 벽조명 기구

인테리어 공사를 시작하기 전 찍어두었던 사진이다. 

파란색 원으로 표시한 벽의 조명 기구. 인테리어 업자가 말하는 것은 이것이었다.

벽과 조명기구 사이에 유격이 있었는데, 업자는 이걸 두고 '마감이 깔끔하게 안나온다' 고 하는 것 같았다.


일단, 설치하지 말고 그냥 두시라 하고, 현장에 직접 가서 구멍을 확인해봤다.




이런식으로 피스못을 끼우는 벽의 구멍은 위 아래로 나있었다.

그런데 조명기구는 좌, 우측에 구멍이 나있는 상황이었다.


결말 : 내가 달았다. 마감은 좀 떨어진다. - 집주인 - 


업자는 벽의 피스못 구멍과, 조명기구의 브라켓 구멍의 방향이 일치하도록 새로운 조명기구 구입을 추천했다.

... 조명기구 값이 얼마 안한다고 하지만, 내눈에는 기존의 이 조명기구, 디자인 괜찮고 쓸만해 보였다.


다시 설치해보는 걸로 하고, 어떻게 설치할 지를 고민하다가, 원형 브라켓 (원형 평철)을 사용해 보기로 했다.



이렇게 생긴 브라켓이다. 

위아래 방향을 피스못으로 쪼이고, 가로방향의 구멍에는 조명기구를  설치할 수 있을 것으로 판단된다.

일단, 내 판단이 맞는지 직접 설치해봤다.



파란색으로 표시한 부분이 벽의 세로방향 피스못 구멍이고,

붉은색으로 표시한 부분이, 가로방향의 조명용 브라켓이다.


이렇게 설치를 해놓고, 조명기구를 설치해보았다.


벽과 조명기구의 유격이 여전히 존재한다. 깔끔하게 밀착되어 설치는 안된다.


사진상으론 생략되었지만 조명기구와 벽의 전선을 연결한 후, 조명기구를 브라켓에 걸 고, 좌 우측에서 피스못을 조여주어 설치했다.

설치해놓고 보니, 벽과 조명기구 사이에 어느정도 공간이 벌어진다.

깔끔하진 않다.

사용한 원형브라켓 자체가 완전 평면이 아니고, 피스구멍 주위로 솟아오르는 요철이 있었다.


그래도 일단... 벽에 보기 흉하게 전선이 나온 구멍이 있는 것 보단 낫겠다 싶다.

지내보면서 계속 눈에 거슬리면, 인테리어 업자의 말대로 브라켓과 벽의 구멍방향이 일치하는 걸로.. 새로운 조명을 구입하여 재설치 해볼 계획이다.


이 댓글을 비밀 댓글로

벽걸이 TV를 스탠드 TV로 바꾸기

by Blogger 하얀쿠아
2018.02.13 10:25 NULL ptr/인테리어, 집 보수, 집 수리

벽걸이 TV를 스탠드 TV로 바꾸는 방법

어떤 이유에서건 이리 저리 거실가구 배치를 옮기다 보면, 벽에 고정되어 움직일 수 없는 벽걸이TV 때문에 제약이 많이 생긴다.

나의 경우는, 전세 오피스텔이고 벽걸이TV가 옵션으로 제공되어 있다. 

그런데 어쩐지 이 벽걸이TV 위치가 마음에 들지 않아서, 떼어낸 후 TV장 위에 스탠드 TV처럼 올려두고 사용할 방법을 찾아보게 되었다.


어쩐지 마음에 들지 않는 위치의 벽걸이 TV



TV 스탠드 거치대 선정

이런 경우에는, TV의 스탠드 받침대 역할을 해줄 부속품이 필요한데, 두가지 선택지가 있다.

1. 각 TV제조사에서 판매하는 해당 TV모델에만 맞도록 제작된 스탠드 부속품 구입

2. VESA규격 TV라면 대부분 호환되는 스탠드 부속품 구입


내 판단에는 2번을 선택했다. 여러 TV가 호환되는게 유리하다고 판단했기 때문.

나중에 TV스탠드가 불필요 해지면 중고로 판매하기에도, 특정 TV용 스탠드보다는 잘 팔릴 것이리라.


LSB-55 스탠드 거치대

LSB-55 스탠드 거치대


내가 구입한 제품은 LSB-55라는 모델명의 스탠드 거치대 이다.

오늘 기준, 다나와 사이트에서 최저가로 29,670원 으로 검색된다.


다나와 가격비교 링크 : http://prod.danawa.com/info/?pcode=3970388


나는 구입 당시(2016년) 5만원 정도 였던것 같다. 가격이 꽤 내려갔다.


벽걸이 TV 분리방법

벽걸이 TV를 분리하는 방법은 생각보다 간단했다.
나의 경우에는, TV가 벽걸이 스탠드에 걸쳐져 있는 방식이었다.
그리고 벽걸이 스탠드는 벽의 앵커구멍에 9개의 스크류볼트로 고정되어 있었다.


걸쳐져 있던 TV를 위로 조심스럽게 들어서 분리해내면 이런 벽걸이 TV거치대가 보인다.

모든 나사를 풀어낸 후, 거치대를 벽에서 떼어내면 된다.

벽에 구멍이 보기 숭~허게 있는데... 이건 뭐 아름다운 그림 한폭 걸어서 가리기로 했다.


벽걸이 거치대를 떼어낸 후의 구멍





떼어낸 TV


떼어낸 TV는 뒤면에 스탠드에 걸쳐지던 고정나사 4개를 해체해야 한다. 

따라서 화면부가 아래로 향해야 작업이 수월한데, 화면이 손상되지 않도록 푹신한 방석 위에 올려두고 작업했다.


스탠드 TV거치대 조립

남은 과정은 간단하다.
스탠드 방식의 TV거치대를 조립한 뒤, 벽에서 떼어낸 TV를 거치대에 거치 시키면 된다.

거치대를 조립하면 이런형태가 되는데, 앞서 TV 뒷면에서 4개의 고정나사를 빼냈던 위치에 맞추어 조립만 하면된다.



아래와 같이 조립 매뉴얼이 제공된다. 내용은 간단하다.

최대 가용하중 35kg 이다.


또한 내가 사용한 제품의 경우, 모델명(LSB-55)으로 유튜브에서 검색 해보면, 조립 매뉴얼이 영상으로 제공되고 있다.





완료

이제 완료되었다.
스탠드 TV처럼 TV 장 위체 두고 사용하면 된다.





이 댓글을 비밀 댓글로

[정비기록] 렉서스 IS250, 방지턱 넘을때 찌그덕 소리

by Blogger 하얀쿠아
2018.02.06 00:43 자동차/렉서스 3세대 IS250

증상

2017-2018 겨울, 렉서스 IS250를 타면서 맞이하는 두번째 겨울이다.

그런데... 과속방지턱을 넘어갈 때 작년 겨울에는 듣지 못했던 "찌그덕", "찌걱" 하는 소음이 들리기 시작했다.

상당히 저속인 시속 5km/h 정도로 방지턱을 넘을때는 들리지 않지만,

10~20km/h 정도로 약간 속도가 붙은 상태로 방지턱을 넘을때는 들린다.


정비를 위해 수원 센트럴모터스 렉서스 서비스센터에 예약을 잡았다. 

2018년 2월 2일 16시, 서비스센터에 들어가는 도로입구에도 과속방지턱이 설치되어 있었다. 

아래 영상은 과속방지턱 지나갈때의 찌그덕 소리가 발생하는 부분이다.




소음의 원인 1 : 스테빌라이저 링크

최초 서비스센터 점검 받은 후, '스테빌라이저 링크'가 '찌그덕' 소리의 원인이라고 이야기를 전달받았다.

그러나 서비스센터 재 방문시 다시 확인해보니 이건 '찌그덕' 소리의 원인은 아니란다. (내가 잘못 알아들은건지, 전달해준 직원이 잘못말해준건지. 이래서 24시간 녹음용 펜을 하나 구입해서 들고다녀야해....)

이게 문제가 생기면 '더덕, 드득' 따위의 소리가 난다고 한다. 내 경우는 해당사항 없어보인다.

아무튼 이 '스테빌라이저 링크'가 어떤건지 찾아보았다.


생김새 및 역할

'스테빌라이저 링크'는 '활대 링크' 라고도 하는 부품이다.

자동차 현가장치에 속한다.

대략 자동차 하체에서 '로우어 컨트롤 암(Lower Control Arm)'과 '스테빌라이저 바(Stabilizer bar)'를 연결시켜주어, 한쪽에서 발생하는 충격을 스테빌라이저 바를 통해 반대쪽으로 분산시키는 역할을 한다.

아래 사진을 보면 대략 이해가 될텐데, 빨간색 막대기가 '스테빌라이저 바' 이다. 사진상으로는 그냥 막대기가 로우어 컨트롤 암에 냅따리 붙어있는것 같지만, 저 부분을 들여다 보면 '스테빌라이저 링크' 라는 녀석이 연결해 준다고 한다.

사실 이 사진은 '스테빌라이저 바' 라는 녀석이 어떻게 차량의 롤링을 대처하고 자세를 제어해주는지를 설명하는 목적의 그림이다.



아무튼, 이 스테빌라이저 링크라는 부품 생겨먹은걸 보니깐...고무로 된 부분이 있고 금속으로 된 부분(링크 역할을 하는 막대기)이 있다.


렉서스 IS250 스테빌라이저 링크 이미지 출처 : http://blog.naver.com/paranun/221170908975


다른 블로그의 이미지를 가져온 것인데... 왼쪽이 신품 오른쪽이 노후화된 구품.

고무로 된 부분은 윤활유를 머금고 있는 구조인것 같은데, 

이래저래 외부 환경에 노출된 부분이다 보니, 

기온이 추웠다가 더웠다가... 하면 고무가 흐물흐물해졌다가(연화) 딱딱해졌다가(경화) 하면서, 맛탱이가 가는가 보다.

고무가 터져서 윤활유가 질질 새기도 하고, 뭐 그런 녀석인것 같다.

스테빌라이저 링크의 고무 부트가 터진 모습 이미지 출처 : http://blog.naver.com/paranun/221170908975




스테빌라이저 링크(활대 링크) 의 역할을 짐작해볼 수 있는 대략적인 구조도


가격

얼마짜리 부품인가 찾아봤다.

옥션에서도 팔고 있는 걸 볼 수 있었다.

앞바퀴의 좌측 / 우측 을 한쌍으로 묶어서 96,800원에 판매하는 판매자가 있었다.

동일한 판매자가 뒤바퀴쪽은 10만원 초반에 팔고 있었고.

아무튼 이런 가격대의 부품이다. 조그마한게 비싸다.


소음의 원인 2 : 스테빌라이저 부싱

'찌그덕'은 보통 스테빌라이저 부싱이 노화되어 발생한다고 한다.

이 부싱이라는 녀석, 순정품은 재질이 고무다.

스테빌라이저를 잡아 주는 부분인데, 오래되면 저 내부가 찢어지기도 하면서 찌그덕 소리를 낸다.

그리고 내차가 지금 그런 상황인듯 싶다. 

방지턱 넘을때 고무에 압력이 가해졌다가 해제되면서 특유의 "찌걱" 소리를 내는 것으로 추정된다. (찌걱 소리날때 고개를 차 아래에 넣고 직접 눈으로 본게 아니라서.... 추정인거다.)

가격

이건 얼마짜리인지 찾아봤다.

재질이 고무가 있고, 강도를 높인 애프터마켓의 개선품으로 폴리우레탄 재질도 있다.

순정은 고무다.


http://smartstore.naver.com/lexusmall/products/347735580


33000원. 배송비 2500원.

순정품은 35500원이면 앞쪽 부싱 한세트 살 수 있다.

수원 센트럴모터스 렉서스 서비스센터에서 이걸 교환하는 공임은 10만원 얘기했다.


http://siberianbushing.com/part/1-01-1307


폴리우레탄 재질의 개선품이다.

러시아에서 배송되는 녀석이다. 24.04 달러면 대략 26000원 정도이다.

배송비는 얼마나 나올지 모르겠다.


더 찾아보진 않았는데, 일단 위 두 제품은 IS250 2세대 (GSE20, GSE21) 에 사용가능하다고만 되어있다.

내 경우는 IS250 3세대 (GSE30) 이므로, 이걸 써도 되는지 안되는지는 불확실하다.


아무튼 서비스센터에서 내차를 위한 부싱이 도착하면, 제품 내경과 부품번호를 기록해둬야 겠다.


진행상황

정비했던 수원 센트럴모터스 렉서스 서비스센터에서는 2018년 2월 2일 현재, 아직 보증기간 이내라서 무상으로 교환을 해주겠다고 했다.

렉서스는 4년/100,000km 보증이라 했다. 

그래서 내차의 보증기간은 2018년 2월 12일까지란다. 

오... 전혀 신경쓰고 있지 않았던 보증기간. 새로운 사실을 알게됐다 -_-;  여태 나는 2년지나면 보증 끝나는줄알고 있었다.


아무튼... 이 스테빌라이저 링크는 자주 교체하는 품목이 아니다 보니, 자기네 서비스센터에서는 재고를 가지고 있지 않고 일본에서 들여와야 한단다.


2월 2일 금요일

 부품 수급에 하루면 될것이라며 주문을 넣겠다고 했다. 그래서 2월 6일 화요일 오전9시에 부품 교체하는 것으로 예약을 잡아 두었었다. 현재 차량에는 임시조치로써 윤활처리를 했다고 말했다. 그래서인지 정말 당장 "찌걱" 소리는 발생하지 않고 있다.(언제 다시 소음이 발생할런지는 두고 볼 일이다.)


2월 5일 월요일

부품 수급이 일본에서 되야 하는지라 10일정도 걸린다고 연락을 해왔다. 부품이 도착하면 연락을 다시 주겠다고 했다. 따라서 2월 6일 예약건은 취소하자고 제안을 해왔다. 나는 취소하지 말고, 이왕 예약잡은거 방문할테니 내 차량의 하부에 부식된 부분좀 봐달라고 요청했다.

내가 말한 차량 하부의 부식된 부분은, 아래 사진의 육각 너트의 부식을 보고 한 말이었다.

근데 다음카페의 'Club IS'의 정비업체 Clige 를 통해 문의를 해봤더니, 이게 스테빌라이저 링크였다.

저 스테빌라이저 링크는 부식이 되는 재질이라 자연스러운 현상이고 10년 넘은 2세대 IS250에서도 동일하게 발생하지만 전혀 문제되지 않는 부분이라고 했다.



이걸 왜 부식이 되는 재질로 만들었느지는 의문이다.

바로 옆의 쇽업 스프링을 연결하고 있는 육각 너트의 경우는 아연도금이 잘 되어있어서 전혀 부식되지 않은 모습인데 말이다.

부식되지 않게 만들수 있으면서 그렇게 하지 않았다는 거잖아.


2월 6일 화요일

서비스센터를 2월 6일 화요일 오전에 재방문 했고, 리프트에 차를 띄워서 확인했다.

원래 이날 부싱이 센터에 도착을 할거라 예상해서 방문예약을 해뒀었지만, 아직 도착하지 않았다. 그냥 확인만..

위의 녹슨 부분을 센터 메카닉에게 물어봤다. 왜 쟤만 녹이 발생하는지.

돌려서 조여주는 부분이라 아마 조이는 과정에서 녹방지 코팅이 벗겨졌을 것이고, 물닿고 염화칼슘닿고 하면 부식이 될거라고 했다.

오케이 이해됨.


그리고 차 띄운김에 지난번 윤활 작업 한 것을 내눈으로 직접 확인했다. (깜빡하고 사진을 못찍었다)

하얀 구리스를 스테빌라이저와 부싱 사이에 꽉 채워서 발라두었다. 

이러면 당장 소리가 나진 않는다. 다만, 얼마 못버티고 다시 소리가 나기 시작할것이다.


아무튼 담당자가 부품은 도착하면 다시 연락해준다고 했다.

설날 끝나고 올거 같다고 한다. -_-;


2월 20일 화요일

2월 19일, 부품이 도착했다고 연락을 받았다. 

바로 빠른 날짜로 예약을 잡아달라 하여, 20일 오전9시로 예약했다.

부품 교체 등 1시간 가량 소요되었다. 차량을 입고하고 대기실에서 주요 뉴스를 훑어보니 다 되었다고 연락받음.

내 차의 3년 보증기간은 2018년 2월 12일 까지지만, 접수날짜가 열흘가량 빠르므로 무상교환 처리되었다.

이 차의 마지막 보증수리인 셈.


교환 후에는 찌그덕 소리 전혀 없이 잘 타고 있다.



결론

아직 이 부품을 교환받지 못한 상태다.

일본에서 출발한 부품이 언제쯤 도착했다고 연락을 해올지 기다려 봐야겠다.


-> 교환 받은 뒤는 찌그덕 거리는 소리 전혀 없다. 

다만 여기가 조용히 지니, 실내의 잡소리가 잘 들린다... s(>_<)z 아휴







이 댓글을 비밀 댓글로

10년차 노트북, CQ40-613tu 메모리 증설 교체하기

by Blogger 하얀쿠아
2018.01.17 00:18 NULL ptr/ NULL ptr

10년차 노트북, CQ40-613tu 메모리 증설 교체하기

군 제대 후 대학교를 복학했던 2009년에 구입해서, 2018년인 지금까지 사용중인 노트북이 있다.

사용 햇수로만 따지면 벌써 10년차다.



바로 이녀석이다. Compaq Presario CQ40-613tu

지금은 HP에 인수된 Compaq이라는 회사의 노트북이다.

CPU: 인텔 셀러론 1.9Ghz

RAM: 2GB (1GB + 1GB), DDR2 PC6400

HDD: 250GB

LCD: 14.1인치 16:10, 1280*800

ODD: DVD레코더

VGA: Intel onboard graphics (Main Memory Shared )

무선랜, 블루투스, 유선랜포트 지원, USB 포트 3개와 SD카드리더 슬롯 1개

무게: 2.36 KG


이 모델의 사양은 대략 이렇다. 나름 있을거 다 있어서 라는 무게가... 묵직한 노트북이다.

도서관에 한번 가지고가면 어깨가 뻐근해오는 그런 무게다.

당시에는 잘 사용했었는데, 최근들어 윈도우7 설치 후 온갖 윈도우 업데이트패치를 적용하고 나면... 부팅 직후 가용 RAM공간이 500MB정도만 남게 되는 모습을 보이곤 했다.

반면 이 노트북에서 우분투 16.04는 여전히 빠릿빠릿하게 동작했다.


그러나 이 노트북으로 MS 윈도우 운영체제를 주로 돌려야 할 상황이 되었다. 버겁다.

결국 RAM을 4GB로 증설했다.

이 노트북에는 PC2-6400 (DDR2 800) 로 동작하는 RAM을 끼울 수 있는 RAM슬롯이 2개 있다.

나는 삼성 RAM 2GB PC2-6400 을 2개 구입해서 끼웠다.

증설방법은 아래와 같다.


RAM은 뒷면 붉은 원으로된 나사를 풀어내고 열면 있다.


고정핀을 좌 우로 밀어내면 램이 위로 올라온다.


화살표 방향부터 잡고 당기면 기존 RAM을 뽑아 낼 수 있다.


아래에 있는 RAM 역시 같은 방식으로 빼낸다.


이제 새로 끼울 2GB RAM카드 두장을 준비한다.

삼성 RAM이다.



최종적으로 끼운 형태는 이렇다.




우분투 16.04 에서는 3.8GB로 인식된다.

윈도우7에서는 4.00GB 로 인식된다.

윈도우7에서의 구동속도는 확실히 빨라졌다.

이상.



이 댓글을 비밀 댓글로

렉서스 IS250 정기점검 가격 및 점검 항목

by Blogger 하얀쿠아
2017.12.31 11:55 자동차/렉서스 3세대 IS250

보통 렉서스 차량이라고 하면 고장이 없는 이미지가 강하다.

잔고장이 거의 없어서 대충 엔진오일만 제때 갈아주고 타면 된다고들 여기기도 하고, 심지어 렉서스 차량의 단점은 '고장이 안나는 것이다. 그래서 지겨워져도 차를 못바꾼다' 라는 사람도 있다. 

이 내용이 렉서스의 어느 차량에 해당되는 말인지는 모르겠지만, 나는 그래도 기본적인 정기점검은 주기적으로 해줘야 한다고 생각한다.

물론, 잔고장 없다고 느껴지는 차는 맞는 것 같다. 2년 타는동안 크게 속썩이는 일은 없었으니...


다른 차량들도 대부분 그러할 것 같은데, 내가 타고 있는 2014년식 IS250 (3세대) 차량 역시 10,000km 를 주행 할 때 마다 렉서스 정비센터에 가서 정기점검을 받고 있다.




IS250 정기점검 가격

유상 정기점검시 서비스센터에서 책정된 가격은 33,500원 (2017년 8월 기준)


IS250 정기점검 항목

실내 및 실외, 엔진룸, 샤시 및 바디, 이렇게 크게 총 3개의 카테고리로 나누어 점검한다.

항목별로 점검 결과 이상이 없으면 정상판정을 한다.

그리고 문제가 있을 경우 간단히 조정,조임,급유,세척 이 가능하면 그렇게 조치하고, 아니면 추가 조치요망 판정 후, 추가 조치를 실시한다.


실내 및 실외

  • 엔진 아이들(idle) 및 무부하 가속상태 및 작동음
  • 에어컨 작동상태
  • 혼 작동 상태
  • 와이퍼 및 와셔 작동상태
  • 주차 브레이크 작동상태
  • 주차 브레이크 밟힘정도
  • 스티어링 휠 조향력
  • 브레이크 페달 답력
  • 브레이크 페달 유격
  • 스티어링 휠 유격
  • 계기판 경고등 전체 점등 상태
  • 문 루프 작동 상태
  • 룸 램프 및 선바이저 램프 작동 상태
  • 모든 안전벨트, 파워 윈도우 및 커티시 램프 작동 상태
  • 후면 램프류 작동 상태
  • 예비 타이어 공기압
  • 전면 램프류 작동상태
  • 에어컨 필터 상태


8만 km부터 해당되는 항목도 있다.

  • 연료 캡
  • 배기가스 색상
  • CO, HC 농도



엔진룸

  • 드라이브 벨트 장력 및 손상 여부
  • 파워 스티어링 액량 및 누유
  • 엔진 냉각수량(리저버 탱크) 및 누수
  • 워셔액
  • 연료 라인 및 연결 부위
  • 엔진 오일 및 누유(엔진 상부)
  • 브레이크 마스터 실린더 및 엑츄에이터 부분 누유
  • 브레이크 액
  • 배터리 단자 상태 및 성능 점검(발전기 성능 포함)
  • 에어 클리너 필터 상태

샤시 및 바디

  • 전/후 서스펜션(감쇄력 및 누유 점검)
  • 타이어 상태 및 공기압
  • 전/후륜 허브 유격
  • 스티어링 볼 조인트 유격(타이로드 유격)
  • 브레이크 패드 유격(드래드 토크)
  • 브레이크 패드 마모
  • 브레이크 디스크 마모 및 균열(프론트)
  • 브레이크 캘리퍼 누유
  • 브레이크 라인, 호스
  • 엔진 오일 누유(엔진 하부)
  • 변속기 오일 누유
  • 부트류 상태
  • 촉매 장치 상태
  • 배기관 상태
  • 연료 탱크 연료 라인
  • 서브 프레임 재조임 및 언더 바디 상태
  • 샤시 볼트 및 너트


결론

점검해야 하는 항목이 많다는 것 은, 그만큼 자동차는 타면 탈수록 문제가 생길 가능성이 많다는 의미일 것이다.

아무리 잔고장 없다하는 렉서스라지만... 나는 차를 개떡같이 몰고다니니깐 방심하지 말고 주기적인 예방정비를 하여, 최소한 안전을 위한 노력을 해야겠다.



이 댓글을 비밀 댓글로

pow( ) - 거듭제곱 함수 구현하기(정수 기반)

by Blogger 하얀쿠아
2017.12.21 13:57 소프트웨어 Note/C

개요

C언어의 수학 함수 중, 거듭제곱을 구하는 pow( )라는 함수가 있다.

예를들어, 2의 10승을 계산하고 싶다면, pow(2.0, 10.0); 형태로 사용하는 함수이다.

이 함수는 math.h 헤더를 include하면 사용할 수 있는 함수이다.


#include <math.h>

double pow(double x, double y);

x : 거듭제곱의 밑수

y : 거듭제곱의 지수


그런데 이렇게 거듭제곱을 계산하는 함수를 직접 구현해야 하는 경우가 있었다.

매우 큰 수의 거듭제곱을 계산하면서 중간중간에 주어진 특정 값으로 mod 연산(나눗셈 후 나머지 값을 취하여 반환하는 연산)을 해야 하는 알고리즘 풀이 문제였다.


문제 조건 상, pow( )를 직접 사용하면 연산속도가 느려지는 상황이라 직접 구현을 시도해 보았다.



my_pow( ) 직접 구현하기


내가 필요한 것은 math.h 에서 제공하는 함수와는 달리, 밑과 지수가 큰 정수(unsigned long long 타입)이면 충분했다.

아래와 같이 구현했다.

편의상 위에서 언급한 mod 연산 부분은 제외하였다.

또한, 항상 exp >= 1 이고 base >= 1 이라고 가정하였다.


unsigned long long my_pow(unsigned long long base, int exp)
{
    unsigned long long res = 1;
    while (exp)
    {
        if (exp & 1)
            res *= base;
        exp >>= 1;
        base *= base;
    }

    return res;
}


설명

조금만 찾아보면 알겠지만, '제곱에 의한 지수법(?)' 표준 방법이라고 한다.

그러나 이것은 모든 지수 값에 대해 작동하는 일반적인 방법으로 할 수있는 최선의 방법 일 수는 있지만 특정 지수 값에 대해서는 더 적은 곱셈으로도 계산 가능한 더 빠른 해결방법이 존재할 수 있다. 즉, 항상 최적의 해결방법은 아니라는 것이다.


예를들면 x의 15승 (x ^ 15) 를 생각해보자.


x^15 = (x^7)*(x^7)*x 

x^7 = (x^3)*(x^3)*x 

x^3 = x*x*x


위의 구현방법으로는 총 6번의 곱셈을 해야 계산결과를 얻게된다.


그러나, 'Addition-Chain exponentiation[각주:1]' 방법을 사용하면 5번의 곱셈으로 결과를 얻을 수 있다.


n*n = n^2

n^2*n = n^3

n^3*n^3 = n^6

n^6*n^6 = n^12

n^12*n^3 = n^15




사용 예

아래와 같이 사용하면 된다.

// 2^3
pow(2,3); // 8

// 5^5
pow(5,5); // 3125


  1. https://en.wikipedia.org/wiki/Addition-chain_exponentiation [본문으로]
이 댓글을 비밀 댓글로

[네트워크/C reference] Special IPv6 주소 검사 매크로

by Blogger 하얀쿠아
2017.12.14 02:25 소프트웨어 Note/C

개요


IPv6 주소 체계에서는 'Special IPv6 addresses' 라고 부르는, 미리 정의된 특별한 주소들이 있다.

미리 정의된 비트 패턴(bit pattern) 으로 각 주소의 역할을 구분한다.


최근들어 C언어로 네트워크 프로그래밍을 하면서 IPv6 주소를 다루게 되는 경우가 발생하곤 하는데, 이 주소가 특정 Special IPv6 address 인지 아닌지를 확인 해야 하는 경우가 있었다. 

그래서 조금 찾아보니, 이런 경우 유용하게 사용 할 수 있는 매크로 함수가 C의 표준 라이브러리인 glibc 의 netinet/in.h 헤더에 정의가 되어 있었다.


이번 포스팅에서는 이들 매크로 함수들을 간단히 소개한다.


특수 IPv6 주소(Special IPv6 Address) 검사 매크로 함수

IEEE Std 1003.1, 2004 Edition 에는, <netinet/in.h> 헤더는 아래와 같은 매크로들을 정의해야 한다고 권고하고 있다.

이 각각의 매크로들은 인자로 하나의 const struct in6_addr * type을 받으며, 인자의 IPv6 주소가 special IPv6 addresses 인지 아닌지를 검사하고 int type으로 참인 경우 1 / 거짓인 경우 0을 반환하는 기능을 한다.


아래 내용중, 실제 정의 내용은 glibc/inet/netinet/in.h 에서 발췌했다. 정확한 버전은 기억나지 않는다. 

변경될 만한 성격의 것이 아니라 버전마다 다를 가능성은 적지만, 단언하긴 어려우며 확인이 필요하다.



IN6_IS_ADDR_UNSPECIFIED(addr)

정의되지 않은 주소(Unspecified address) 여부를 검사한다.

정의되지 않은 주소이면 1을 반환한다.

정의되지 않은 주소가 아니면 0을 반환한다.


참고로 IPv6에서 정의되지 않은 주소는 ::/128 이다.


헤더파일에는 아래와 같이 정의되어 있다.


#ifdef __GNUC__
# define IN6_IS_ADDR_UNSPECIFIED(a) \
  (__extension__                                                              \
   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);              \
      __a->__in6_u.__u6_addr32[0] == 0                                              \
      && __a->__in6_u.__u6_addr32[1] == 0                                      \
      && __a->__in6_u.__u6_addr32[2] == 0                                      \
      && __a->__in6_u.__u6_addr32[3] == 0; }))
#else
# define IN6_IS_ADDR_UNSPECIFIED(a) \
        (((const uint32_t *) (a))[0] == 0                                      \
         && ((const uint32_t *) (a))[1] == 0                                      \
         && ((const uint32_t *) (a))[2] == 0                                      \
         && ((const uint32_t *) (a))[3] == 0)

#endif





IN6_IS_ADDR_LOOPBACK(addr)

local host로의 루프백 주소(Loopback address) 여부를 검사한다.

루프백 주소이면 1을 반환한다.

루프백 주소가 아니면 0을 반환한다.


참고로 IPv6에서 루프백 주소는 ::1/128 이다. IPv4의 127.0.0.1과 같은 역할을 한다.


헤더파일에는 아래와 같이 정의되어 있다.


#ifdef __GNUC__
# define IN6_IS_ADDR_LOOPBACK(a) \
  (__extension__                                                              \
   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);              \
      __a->__in6_u.__u6_addr32[0] == 0                                              \
      && __a->__in6_u.__u6_addr32[1] == 0                                      \
      && __a->__in6_u.__u6_addr32[2] == 0                                      \
      && __a->__in6_u.__u6_addr32[3] == htonl (1); }))
#else
# define IN6_IS_ADDR_LOOPBACK(a) \
        (((const uint32_t *) (a))[0] == 0                                      \
         && ((const uint32_t *) (a))[1] == 0                                      \
         && ((const uint32_t *) (a))[2] == 0                                      \
         && ((const uint32_t *) (a))[3] == htonl (1))
#endif



IN6_IS_ADDR_MULTICAST(addr)

멀티캐스트 주소 (Multicast address) 여부를 검사한다.

멀티캐스트 주소이면 1을 반환한다.

멀티캐스트 주소가 아니면 0을 반환한다.


IPv6 에서 멀티캐스트 주소라고 하면, ff0X:: 로 시작하는 주소이다. 여기서 X는 16 진수 값으로 예약되어 있으므로 멀티캐스트 그룹에 할당하면 안된다. 이 예약에 대해서는 IANA (Internet Assigned Numbers Authority)가 관리한다. 현재까지는, 이 X의 값으로 scope를 구분한다.

현재는 0, 1, 2, 3, 5, 6, 7, 8, e, f 가 사용되고 있는데, 이중.. 1 (interface-local), 2 (link-local), 5 (site-local)를 의미한다. 다른 값들도 특정한 의미가 있다.


간단히 예를 들어보면, ff02::2 는 link-local의 모든 라우터를 지칭하는 주소이고, ff01::2 는 interface-local의 모든 라우터를 지칭하는 주소이며, ff05::2는 site-local의 모든 라우터를 지칭하는 주소인 식이다.

이에 대해서는 별도의 포스팅으로 한번 더 다뤄보겠다.


헤더파일에는 이 매크로를 아래와 같이 정의하고 있다.


#define IN6_IS_ADDR_MULTICAST(a) (((const uint8_t *) (a))[0] == 0xff)





IN6_IS_ADDR_LINKLOCAL(addr)

유니캐스트 링크로컬 주소(Unicast link-local address) 여부를 검사한다.

유니캐스트 링크로컬 주소이면  1을 반환한다.

유니캐스트 링크로컬 주소가 아니면 0을 반환한다.


헤더파일에는 아래와 같이 정의하고 있다.


#ifdef __GNUC__
# define IN6_IS_ADDR_LINKLOCAL(a) \
  (__extension__                                                              \
   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);              \
      (__a->__in6_u.__u6_addr32[0] & htonl (0xffc00000)) == htonl (0xfe800000); }))
#else
# define IN6_IS_ADDR_LINKLOCAL(a) \
        ((((const uint32_t *) (a))[0] & htonl (0xffc00000))                      \
         == htonl (0xfe800000))
#endif




IN6_IS_ADDR_SITELOCAL(addr)

유니캐스트 사이트 로컬 주소(Unicast site-local address) 여부를 검사한다.

유니캐스트 사이트 로컬 주소이면  1을 반환한다.

유니캐스트 사이트 로컬 주소가 아니면 0을 반환한다.


헤더파일에는 아래와 같이 정의되어 있다.


#ifdef __GNUC__
# define IN6_IS_ADDR_SITELOCAL(a) \
  (__extension__                                                              \
   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);              \
      (__a->__in6_u.__u6_addr32[0] & htonl (0xffc00000)) == htonl (0xfec00000); }))
#else
# define IN6_IS_ADDR_SITELOCAL(a) \
        ((((const uint32_t *) (a))[0] & htonl (0xffc00000))                      \
         == htonl (0xfec00000))
#endif




IN6_IS_ADDR_V4MAPPED(addr)

IPv4 매핑된 주소(IPv4 mapped address) 여부를 검사한다.

참고로 IPv4 mapped address는 prefix가 ::ffff:0:0/96 이고, 범위는 ::ffff:0.0.0.0부터 ::ffff:255.255.255.255 까지 이다.

이 매크로는, 인자 addr이 이에 해당하는 지를 검사하여 결과를 반환한다.


헤더파일에는 아래와 같이 정의되어 있다.


#ifdef __GNUC__
# define IN6_IS_ADDR_V4MAPPED(a) \
  (__extension__                                                              \
   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);              \
      __a->__in6_u.__u6_addr32[0] == 0                                              \
      && __a->__in6_u.__u6_addr32[1] == 0                                      \
      && __a->__in6_u.__u6_addr32[2] == htonl (0xffff); }))
#else
# define IN6_IS_ADDR_V4MAPPED(a) \
        ((((const uint32_t *) (a))[0] == 0)                                      \
         && (((const uint32_t *) (a))[1] == 0)                                      \
         && (((const uint32_t *) (a))[2] == htonl (0xffff)))
#endif


IN6_IS_ADDR_V4COMPAT(addr)

IPv4 호환 주소(IPv4-compatible address) 여부를 검사한다.

참고로 IPv4-compatible address의 prefix는 ::/96 이다. 그러나 이 주소 prefix는 deprecated 되었음을 기억하자.


이 매크로는 헤더파일에 아래와 같이 정의되어 있다.


#ifdef __GNUC__
# define IN6_IS_ADDR_V4COMPAT(a) \
  (__extension__                                                              \
   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);              \
      __a->__in6_u.__u6_addr32[0] == 0                                              \
      && __a->__in6_u.__u6_addr32[1] == 0                                      \
      && __a->__in6_u.__u6_addr32[2] == 0                                      \
      && ntohl (__a->__in6_u.__u6_addr32[3]) > 1; }))
#else
# define IN6_IS_ADDR_V4COMPAT(a) \
        ((((const uint32_t *) (a))[0] == 0)                                      \
         && (((const uint32_t *) (a))[1] == 0)                                      \
         && (((const uint32_t *) (a))[2] == 0)                                      \
         && (ntohl (((const uint32_t *) (a))[3]) > 1))
#endif



IN6_IS_ADDR_MC_NODELOCAL

멀티캐스트 노드 로컬 주소 (Multicast node-local address) 여부를 검사한다.


이 매크로는 헤더파일에 아래와 같이 정의되어 있다.


#define IN6_IS_ADDR_MC_NODELOCAL(a) \
        (IN6_IS_ADDR_MULTICAST(a)                                              \
         && ((((const uint8_t *) (a))[1] & 0xf) == 0x1))




IN6_IS_ADDR_MC_LINKLOCAL


멀티캐스트 링크 로컬 주소 (Multicast link-local address) 여부를 검사한다.


이 매크로는 헤더파일에 아래와 같이 정의되어 있다.


#define IN6_IS_ADDR_MC_LINKLOCAL(a) \
        (IN6_IS_ADDR_MULTICAST(a)                                              \
         && ((((const uint8_t *) (a))[1] & 0xf) == 0x2))




IN6_IS_ADDR_MC_SITELOCAL

멀티캐스트 사이트-로컬 주소(Multicast site-local address) 여부를 검사한다.


멀티캐스트 사이트-로컬 주소이면 1을 반환한다.

멀티캐스트 사이트-로컬 주소가 아니면 0을 반환한다.


헤더파일에는 아래와 같이 정의되어 있다.


#define IN6_IS_ADDR_MC_SITELOCAL(a) \
        (IN6_IS_ADDR_MULTICAST(a)                                              \
         && ((((const uint8_t *) (a))[1] & 0xf) == 0x5))



IN6_IS_ADDR_MC_ORGLOCAL

멀티캐스트 organization-local 주소(Multicast organization-local address) 여부를 검사한다.


참고로 organization-local 주소의 prefix는 ffx8::/16 이고, IPv4의 239.192.0.0/14 와 동일하다.

헤더파일에는 아래와 같이 정의되어 있다.


#define IN6_IS_ADDR_MC_ORGLOCAL(a) \
        (IN6_IS_ADDR_MULTICAST(a)                                              \
         && ((((const uint8_t *) (a))[1] & 0xf) == 0x8))



IN6_IS_ADDR_MC_GLOBAL

멀티캐스트 글로벌 주소(Multicast global address) 여부를 검사한다. 

멀티캐스트 글로벌 주소이면 1을 반환한다.

멀티캐스트 글로벌 주소가 아니면 0을 반환한다.


헤더파일에는 아래와 같이 정의되어 있다.



#define IN6_IS_ADDR_MC_GLOBAL(a) \
        (IN6_IS_ADDR_MULTICAST(a)                                              \
         && ((((const uint8_t *) (a))[1] & 0xf) == 0xe))



참조 - 예약된 IPv6 주소(Reserved IPv6 address)

Special IPv6 address와 같이 볼 것이 있는데, Reserved IPv6 address 이다. IPv6 주소 체계에서 특수 목적으로 예약된 몇몇 주소들인데, 아래 wiki의 표와 같다.


https://en.wikipedia.org/wiki/Reserved_IP_addresses#IPv6

이 댓글을 비밀 댓글로

티스토리 툴바