<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>모뎀 - Naver Ending Study</title>
	<atom:link href="https://nangchang.nes.or.kr/tag/%eb%aa%a8%eb%8e%80/feed/" rel="self" type="application/rss+xml" />
	<link>https://nangchang.nes.or.kr</link>
	<description></description>
	<lastBuildDate>Tue, 07 Aug 2007 16:01:21 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8</generator>
	<item>
		<title>모뎀과 시리얼 케이블</title>
		<link>https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ea%b3%bc-%ec%8b%9c%eb%a6%ac%ec%96%bc-%ec%bc%80%ec%9d%b4%eb%b8%94/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25eb%25aa%25a8%25eb%258e%2580%25ea%25b3%25bc-%25ec%258b%259c%25eb%25a6%25ac%25ec%2596%25bc-%25ec%25bc%2580%25ec%259d%25b4%25eb%25b8%2594</link>
					<comments>https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ea%b3%bc-%ec%8b%9c%eb%a6%ac%ec%96%bc-%ec%bc%80%ec%9d%b4%eb%b8%94/#respond</comments>
		
		<dc:creator><![CDATA[낭창]]></dc:creator>
		<pubDate>Tue, 07 Aug 2007 16:01:21 +0000</pubDate>
				<category><![CDATA[프로그래밍 이야기]]></category>
		<category><![CDATA[모뎀]]></category>
		<category><![CDATA[시리얼케이블]]></category>
		<guid isPermaLink="false">http://nangchang.nes.or.kr/?p=309</guid>

					<description><![CDATA[<p>시리얼 포트, 패러랠 포트 등이 레거시 포트로 불리면서 PC나 노트북에서 사라져 가기 시작한지 꽤 오래됐다. 물론 일반 사용자야 별 필요없는 포트들이지만 개발자 입자에서는 (특히 임베디드 개발자) 아직 여러모로 쓸모 있는 포트다. (얼마전 새로 지급 받은 노트북에도 시리얼 포트랑 패러랠 포트가 없더라. 지난 번에 쓰던 노트북이 좀 무깍기해도 시리얼 이랑 패러랠이 1개씩 달려 있어서 좋았는데.. 그래도 [&#8230;]</p>
<p>The post <a href="https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ea%b3%bc-%ec%8b%9c%eb%a6%ac%ec%96%bc-%ec%bc%80%ec%9d%b4%eb%b8%94/">모뎀과 시리얼 케이블</a> first appeared on <a href="https://nangchang.nes.or.kr">Naver Ending Study</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>시리얼 포트, 패러랠 포트 등이 레거시 포트로 불리면서 </p>
<p>PC나 노트북에서 사라져 가기 시작한지 꽤 오래됐다.</p>
<p>물론 일반 사용자야 별 필요없는 포트들이지만</p>
<p>개발자 입자에서는 (특히 임베디드 개발자) 아직 여러모로 쓸모 있는 포트다.</p>
<p>(얼마전 새로 지급 받은 노트북에도 시리얼 포트랑 패러랠 포트가 없더라.</p>
<p>지난 번에 쓰던 노트북이 좀 무깍기해도 시리얼 이랑 패러랠이 1개씩</p>
<p>달려 있어서 좋았는데.. 그래도 USB-to-Serial 장치가 있으니 상관없나)</p>
<p>모뎀의 경우에도 시리얼 통신을 통해 제어를 하기 때문에 모뎀 관련</p>
<p>어플리케이션을 개발 할때 시리얼 포트는 필수다.</p>
<p>(모뎀도 요새는 일반 전화선 모뎀 보다는 CDMA 모뎀을 많이 쓰는 거 같지만)</p>
<p>머.. 암튼 각설하고;;;;</p>
<p>요번에 장비에 CDMA 모뎀을 연결해서 개발 중인 프로젝트가 있다.</p>
<p>직접 개발 하는 건 아니고, 다른 사람을 시켜서&#8230;</p>
<p>일단 간단하게 시리얼 통신 하는 거 부터 시작해서 모뎀 제어 까지</p>
<p>하도록 하고 있다. 그런데, 시리얼 통신 까지는 문제가 없는데 </p>
<p>모뎀을 연결해서 하면 제대로 되지를 않는다는 거다.</p>
<p>확인해 보니 진짜 시리얼 통신하는 루틴에는 문제가 없고,</p>
<p>모뎀도 PC에 연결해서 확인해 보면 정상적으로 작동하고,</p>
<p>도저히 의심할 구석이 없는 거다.</p>
<p>모뎀은 기본적으로 입력을 echo 시켜서 출력으로 다시 주게</p>
<p>되어 있으므로(아닌 경우도 있고, 끌수도 있지만)</p>
<p>모뎀으로 먼가를 보내면 출력으로 나오게 되어 있고,</p>
<p>AT 커맨드가 입력됐을 경우에는 응답코드가 출력되게 되어있다.</p>
<p>근데, 입력을 받고도, 당최 출력을 주지 않는 거다-_-</p>
<p>마지막으로 의심할 만한 부분은 모뎀과 장비 사이를 연결하는</p>
<p>시리얼 케이블. 그런데 테스트 해보니 케이블도 문제가 없었다.</p>
<p>다시 원인은 오리무중. 미칠지경이다-_-</p>
<p>그 후, 다시 테스트 해 본 바로는 분명 모뎀으로 보낸 AT 커맨드는</p>
<p>모뎀으로 전달이 됐고, 모뎀도 그에 상응 하는 동작을 한다는것이 확인됐다.</p>
<p>그럼, 입력은 받는데&#8230; 출력을 안준다는 건데&#8230;</p>
<p>점점 더 사건은 미궁속이다-_-;;;</p>
<p>시리얼 케이블 결선도도 뚫어져라 보고, 시리얼 케이블들도</p>
<p>뜯어보고&#8230; 다각도로 고민하던 중, 문득, 머리를 스치는 생각.</p>
<p>역시 결론은 시리얼 케이블!</p>
<p>문제의 케이블이 PC와 장비를 연결했을 때는 아무런 문제가 없다.</p>
<p>그런데 모뎀이랑 연결하면 작동을 하지 않는다.</p>
<p>그렇다면&#8230; PC와 통신할때는 쓰지 않는 다른 라인이 문제라는 것이 결론이다.</p>
<p>요즘의 시리얼 포트는 9핀 짜리 이긴 하지만, 실제로는 3개만 있으면</p>
<p>통신이 가능하다.&nbsp; 2번 RXD, 3번 TXD, 5번 그라운드.</p>
<p>보통은 이 3개의 핀만을 연결하고, 통신 하는 상호간에 [흐름제어 없음]으로 설정하여</p>
<p>시리얼 통신을 한다.</p>
<p>(음, 흐름제어를 따로 안 쓰는건 그만큼 시리얼 통신의 신뢰성이 높아져서 일까?)</p>
<p>그래서 케이블을 만들때도 3개만 연결하곤 하는데&#8230;</p>
<p>나머지 6개의 핀중 2개는 잘 모르겠고, 4개는 하드웨어 흐름제어를 하기 위해 필요한</p>
<p>핀인데&#8230; 이것이 문제란 말인가&#8230;</p>
<p>문득 뜯어본 다른 케이블에서 흐름제어에 사용되는 핀이 반대쪽 라인과 연결되지 않고,</p>
<p>같은 포트 쪽에 핀끼리 서로 물려 있었던 것이 생각 났다. </p>
<p>그리고, 다른 곳에서 찾은 결선도에서 그와 같은 형태로 나와 있었다.</p>
<p>하드웨어 흐름제어를 사용하는 장비를 속이는 일종의 트릭으로 생각 되는데&#8230;</p>
<p>7번 CTS와 8번 RTS를 서로 연결하고, 4번 DTR과 6번 DSR을 서로 연결하여,</p>
<p>자기가 보낸 신호를 상대방이 그에 대한 응답으로 보낸 신호로 착각하게 만드는 것이다.</p>
<blockquote><p>[모뎀]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; [장비]<br />
2(RXD) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 3(TXD)</p>
<p>3(TXD) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 2(RXD)</p>
<p>4(DTR) &#8212;+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />
6(DSR) &#8212;+ </p>
<p>5(GND) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 5(GND)</p>
<p>7(CTS) &#8212;+<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />
8(RTS) &#8212;+</p>
<p>(대충 이렇게&#8230;)
</p></blockquote>
<p>
모뎀이 항상 하드웨어 흐름제어를 사용해야만 하도록 되어 있고, 문제의 케이블은</p>
<p>그런 트릭이 사용되지 않았다고 가정한다면, 하드웨어 흐름제어가 먹히지 않아서 </p>
<p>모뎀이 전송을 했으나 장비쪽에 수신이 되지 않았을꺼라는 것은 가능성이 있는 얘기였다.</p>
<p>(문제의 케이블은 포트 쪽을 뜯어 볼수가 없어서 정확히 확인이 어려웠다.)</p>
<p>그래서, 즉각 작업에 착수했다. 사실 서로 하드웨어 흐름제어를 쓰는게 맞긴 하겠지만&#8230;</p>
<p>일단은 위의 트릭을 써서 케이블을 새로 만들고, 모뎀과 장비를 연결.</p>
<p>그리고, 전원 on! </p>
<p>짜잔~ 드디어 모뎀 쪽에서 데이터가 전송되어 오는 것을 확인 할수 있었다 <img src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>오늘의 교훈. 시리얼 케이블은 제대로 만들자-_-</p><p>The post <a href="https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ea%b3%bc-%ec%8b%9c%eb%a6%ac%ec%96%bc-%ec%bc%80%ec%9d%b4%eb%b8%94/">모뎀과 시리얼 케이블</a> first appeared on <a href="https://nangchang.nes.or.kr">Naver Ending Study</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ea%b3%bc-%ec%8b%9c%eb%a6%ac%ec%96%bc-%ec%bc%80%ec%9d%b4%eb%b8%94/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>모뎀의 작동 방식(?)</title>
		<link>https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ec%9d%98-%ec%9e%91%eb%8f%99-%eb%b0%a9%ec%8b%9d/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25eb%25aa%25a8%25eb%258e%2580%25ec%259d%2598-%25ec%259e%2591%25eb%258f%2599-%25eb%25b0%25a9%25ec%258b%259d</link>
					<comments>https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ec%9d%98-%ec%9e%91%eb%8f%99-%eb%b0%a9%ec%8b%9d/#respond</comments>
		
		<dc:creator><![CDATA[낭창]]></dc:creator>
		<pubDate>Sun, 05 Aug 2007 07:04:30 +0000</pubDate>
				<category><![CDATA[프로그래밍 이야기]]></category>
		<category><![CDATA[모뎀]]></category>
		<category><![CDATA[케이블모뎀]]></category>
		<guid isPermaLink="false">http://nangchang.nes.or.kr/?p=308</guid>

					<description><![CDATA[<p>회사 일 때문에 이런 저런 생각하다가&#8230; 문득 궁금해진 모뎀의 작동 방식(?) 일반 전화 모뎀 말고&#8230;. ADSL이나 케이블 모뎀 같은거 말이다&#8230; 분명히 실제 네트웍에 연결되는 건 이들 모뎀인데&#8230; 아이피 라든가.. 통신 하는 것 등이 마치 모뎀에 물린 PC가 직접 네트웍에 연결 된 듯 작동한다. 구글 신께 물어서 여기 저기 보다가 도착한 곳은 결국 위키피디아. &#160;&#8211; PPPoE [&#8230;]</p>
<p>The post <a href="https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ec%9d%98-%ec%9e%91%eb%8f%99-%eb%b0%a9%ec%8b%9d/">모뎀의 작동 방식(?)</a> first appeared on <a href="https://nangchang.nes.or.kr">Naver Ending Study</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>회사 일 때문에 이런 저런 생각하다가&#8230;</p>
<p>문득 궁금해진 모뎀의 작동 방식(?)</p>
<p>일반 전화 모뎀 말고&#8230;.</p>
<p>ADSL이나 케이블 모뎀 같은거 말이다&#8230;</p>
<p>분명히 실제 네트웍에 연결되는 건 이들 모뎀인데&#8230;</p>
<p>아이피 라든가.. 통신 하는 것 등이 마치 모뎀에 물린</p>
<p>PC가 직접 네트웍에 연결 된 듯 작동한다.</p>
<p>구글 신께 물어서 여기 저기 보다가 도착한 곳은</p>
<p>결국 위키피디아. </p>
<p>&nbsp;&#8211; <a style="font-weight: bold; font-style: italic;" href="http://en.wikipedia.org/wiki/Point-to-Point_Protocol_over_Ethernet">PPPoE</a><br />
&nbsp;&#8211; <a style="font-weight: bold; font-style: italic;" href="http://en.wikipedia.org/wiki/Cable_modem">케이블 모뎀</a></p>
<p>나의 궁금증을 해소해 준 두 개의 글이다.</p>
<p>ADSL은 요즘은 케이블 처럼 꼽으면 바로 쓸수 있나 본데&#8230;</p>
<p>(난 xDSL 시리즈를 한번도 써본적이 없어서 잘 모르지만&#8230;)</p>
<p>예전에는 PC에서 프로그램을 실행해야 했었다</p>
<p>이 당시 사용된 것이 PPPoE(Point-to-Point Protocol over Eternet)라는 것.</p>
<p>보통 전화 모뎀으로 통신을 할때 사용되는 PPP를 이더넷을 이용해서 전송하는</p>
<p>기술 이라나.. 그래서 ADSL 모뎀과 PC는 이더넷 인터페이스로 연결 되면서도</p>
<p>모종의 프로그램에 의한 절차(가상으로 전화연결)가 필요했던 것이다.</p>
<p>그리고, 아마 PC에서 생성된 TCP/IP 패킷은 바로 이더넷 카드로 전달 되는게</p>
<p>아니고, PPPoE 쪽 드라이버를 거친 다음 이더넷으로 전달되는거 같다.</p>
<p>(자세한건 아직 잘 모르겠지만 대충 그렇단 얘기다;;)</p>
<p>그리고 요즘의 xDSL이나 케이블 모뎀에서 사용되는 방식은 포워딩!</p>
<p>케이블 모뎀은 PC로 부터 전송되는 패킷을 케이블 망을 통해서</p>
<p>케이블 망 반대편의 네트웍 상으로 그대로 전송해 주는 것이다.</p>
<p>단, 어플리케이션 레벨에서 케이블 망으로 나가서는 안될 패킷들</p>
<p>(윈도우 NetBIOS 라든가 로컬 네트웍상에서 유효한 패킷 같은거)을</p>
<p>걸러 주는 역할도 하고, 자체적으로 IP주소를 할당받아서</p>
<p>관리용도로도 쓰는 등등 네트웍 레이어 전반에 걸쳐서 뭔가를 하고 있단다.</p>
<p>아무튼 내가 알고 싶던 얘기에 관련된 핵심은 모뎀에 연결된 PC와 케이블망</p>
<p>저쪽 사이에서 거를꺼 거르면 그대로 포워딩을 해준다는것.</p>
<p>(아마 서비스 업체의 서버에서 모종의 역할을 해주기에 가능하겠지..</p>
<p>모뎀과 PC에 모두 IP가 할당되기도 해야 하고&#8230;)</p>
<p>==</p>
<p>아직은 모르는게 너무 많아 =_=</p>
<p>그나저나&#8230; 저런것들에 대해 알고 나니&#8230;</p>
<p>내 생각이 더 맞는거 같은데, 왜 다들 아니라고 하는 건지;;;</p>
<p>아웅~ 진짜 내가 잘못 생각하고 있는 거냔 말야~</p><p>The post <a href="https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ec%9d%98-%ec%9e%91%eb%8f%99-%eb%b0%a9%ec%8b%9d/">모뎀의 작동 방식(?)</a> first appeared on <a href="https://nangchang.nes.or.kr">Naver Ending Study</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://nangchang.nes.or.kr/%eb%aa%a8%eb%8e%80%ec%9d%98-%ec%9e%91%eb%8f%99-%eb%b0%a9%ec%8b%9d/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
