TISTORY 바로가기
Candle
BLOG main image

Are you passionate? You lead.!

전체 (132)
네트워크 (13)
네트워크+ -ComTia- (11)
Unix(Solaris) (1)
리눅스(Redhat, Fedora) (6)
재테크 (13)
★ITnews★ (14)
대회, 컨퍼런스 등.. (7)
자격증(Net,Server등) (6)
잡동사니 (32)
나만의 콘서트 (0)
My Story (19)
책을 말하다. (9)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
'네트워크'에 해당되는 글 13건
2008. 5. 6. 19:48
 

● IP주소란 무엇인가? 세 번째


 지금까지 IP주소에 대해서 배운 내용은..

 ‘IP주소는 총 32자리 이진수로 되어있고, 사람들이 알아보기 쉽게 보통 십진수로 표현되는데 중간에 점 세 개를 찍어서 3개의 자리로 표시된다. 그리고 IP주소는 네트워크 부분과 호스트부분으로 나우어지고, 네트워크 부분은 한 네트워크상에서 모두 같아야 하고, 호스트 부분은 서로 달라야한다. IP주소는 공인IP와 사설IP가 있다.’ 까지 배웠다.

 그럼 어디까지가 네트워크 부분이고, 어디까지가 호스트 부분인지를 어떻게 구분하는지 알아보겠습니다. 이것을 정하는 것은 임의로 정하는게 아니라 미리 정해진 약속에 의해서 나누어진다.

 이 약속이 바로 IP주소의 Class이다. IP주소는 A~E Class까지 총 5개의 Class로 구분되고, 이중 A~C Class 3개만 알고 있으면 된다. 나머지 D, E Class는 멀티캐스트용과 연구용으로 쓰이기 때문에 A~C Class까지만 알고 있으면 큰 무리가 없다.

 IP주소를 이렇게 클래스로 나눈 이유는 네트워크의 크기, 즉 하나의 네트워크가 호스트의 수를 몇 개까지 가질 수 있는가를 알게 하기 위해서 이다.

 그럼 먼저 A클래스에 대해서 알아보겠다.

 A클래스는 하나의 네트워크가 가질 수 있는 호스트 수가 가장 많은 클래스이다. 32개의 2진수로 표시되는 IP주소 중 맨 앞쪽의 하나가 항상 0으로 시작되는 것들이다. 즉,

0xxx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx와 같이 맨 앞자리는 항상 0(2진수)이되고 나머지는 0또는 1이 되는 것이다. A클래스의 범위는 0000 0000. 0000 0000. 0000 0000. 0000 0000 ~ 0111 1111. 1111 1111. 1111 1111. 1111 1111 까지가  A클래스의 범위에 속한다. 이를 십진수로 표시하면 0.0.0.0 ~ 127.255.255.255 까지가 된다. 여기서 A클래스의 특징을 하나 더 추가하면, 첫 번째 8자리(8비트)수가 네트워크 부분이고, 나머지 24자리(24비트)가 호스트 부분을 나타낸다는 것이다.(약속) 그래서 A클래스의 가장 작은 네트워크는 1.0.0.0이 되고, 가장 큰 네트워크는 126.0.0.0이 된다. 여기서 이상한 것은 실제로는 0.0.0.0과 127.0.0.0이 가장 작고, 큰 수인데 이것을 안 쓴다는 것이다. 이것은 약속이다. 트)수가 네트워크 부분이고, 나머지 24자리(24비트)가 호스트 부분을 나타낸다는 것이다.(약속) 그래서 A클래스의 가장 작은 네트워크는 1.0.0.0이 되고, 가장

 A클래스에 대해서 정리를 해보면, IP주소 중 1~126으로 시작하는 네트워크를 A클래스라고 하고, 하나의 클래스 A가 가질 수 있는 호스트의 수는 '2의 24승'-2(하나는 네트워크 자체의 주소, 하나는 브롣드케스트주소) 대략 16,700,000개 정도 된다. 또 하나 알아야 할 것은 호스트 부분이 모두 0인 경우는 네트워크 자체를 나타내고, 모두 1인 경우는 브로드캐스트 주소라는 것이다.

 ▶ 클래스 A

0

network

host

# Bits  1        7                      24

▪ 네트워크 번호 : 1.0.0.0 ~ 126.0.0.0으로 시작

▪ 한 네트워크 안에 들어갈 수 있는 호스트 수 16,777,214개

▪ 사설 IP 범위 : 10.0.0.0 ~ 10.255.255.255


 저번 수업에서 잠깐 설명 했듯이 각 클래스마다 사설 IP가 정해져 있는데, 클래스 A의 사설 IP주소는 10(십진수)으로 시작하는 번호이다. 이 범위의 번호는 공인 IP로는 쓸 수 없다.


다음은 B클래스에 대해서 알아보겠다.

 B클래스는 맨 앞의 비트의 시작이 10(2진수)으로 시작된다. 즉 10xx xxxx. xxxx xxxx. xxxx xxxx로 되는 것들이 클래스 B에 속한다. 그러므로 맨 앞에는 10이 반드시 나와야 하고 나머지 30개의 이진수는 0또는 1중 어떤 수가 와도 된다.  B클래스중 가장 작은 수는 1000 0000. 0000 0000. 0000 0000. 0000 0000(128.0.0.0)이 되고, 가장 큰 수는 1011 1111. 1111 1111. 1111 1111. 1111 1111(191.255.255.255)가 된다.

 B클래스는 앞의 16비트가 네트워크 부분을 나타내고 나머지 16비트가 호스트 부분을 나타낸다. 그래서 B클래스의 가장 작은 네트워크는 128.1.0.0이고, 가장 큰 네트워크는 191.254.0.0이 된다.

 B클래스에 대해서 정리를 하면...

 IP주소 중에서 128부터 191로 시작하는 네트워크를 말한다. 그리고 하나의 네트워크가 가질 수 있는 호스트의 수는 '2의 16승' - 2(호스트 부분이 모두 0이면 네트워크 자체를 나타내고, 1이면 브로드캐스트 주소이기 때문에 제외된다.)개.. 대략 65,000개 정도 된다.

 ▶ 클래스 B

0

1

network

host

# Bits  1  1           14                      16

▪ 네트워크 번호 : 128.1.0.0 ~ 191.254.0.0

▪ 한 네트워크 안에 들어갈 수 있는 호스트 수 65,534개

▪ 사설 IP 범위 : 172.16.0.0 ~ 172.31.255.255


클래스 B의 사설 IP는 172.16 으로 시작하고 역시 이번호 범위의 주소는 공인 IP로는 쓸 수 없다.


 마지막으로 C클래스에 대해서 알아보겠다.

 C클래스는 맨 앞의 비트가 110(2진수)으로 시작한다. 즉, 110x xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx가 되고, 110 뒤에는 0또는 1중 어떤 수가와도 된다.

 C클래스의 가장 작은 수는 1100 0000. 0000 0000. 0000 0000. 0000 0000(192.0.0.0)이 되고, 가장 큰 수는 1101 1111. 1111 1111. 1111 1111. 1111 1111 (223.255.255.255)이 된다. C클래스는 앞의 24비트가 네트워크 부분을 나타내고, 나머지 8비트가 호스트부분을 나타낸다. 그러므로 클래스 C의 가장 작은 네트워크는 192.0.1.0이 되고, 가장 큰 네트워크는 223.255.254.0이 된다.

 C클래스에 대해서 정리를 하면...

 IP 주소가 192 ~ 223으로 시작하는 네트워크이다. 그리고 하나의 네트워크가 가질 수 있는 호스트의 수는 '2의 8승' - 2(254개)가 된다.

 ▶ 클래스 C

1

1

0

network

host

 # Bits   1  1  1              21                        8

▪ 네트워크 번호 : 192.0.1.0 ~223.255.254.0

▪ 한 네트워크 안에 들어갈 수 있는 호스트 수 254개

▪ 사설 IP 범위 : 192.168.0.0 ~ 192.168.255.255


클래스 C의 사설 IP는 192.168 로 시작하고, 아마도 많이 본 주소 중에 하나 일 것이다. 역시 이번호 범위의 주소는 공인 IP로는 쓸 수 없다.

 ▶ 클래스 C

1

1

0

network

host

 # Bits   1  1  1              21                        8

▪ 네트워크 번호 : 192.0.1.0 ~223.255.254.0

▪ 한 네트워크 안에 들어갈 수 있는 호스트 수 254개

▪ 사설 IP 범위 : 192.168.0.0 ~ 192.168.255.255


클래스 C의 사설 IP는 192.168 로 시작하고, 아마도 많이 본 주소 중에 하나 일 것이다. 역시 이번호 범위의 주소는 공인 IP로는 쓸 수 없다.

2008. 5. 6. 19:41
 

● IP주소란 무엇인가? 두 번째..


 IP주소는 ‘네트워크 부분(Network Part)'과 ’호스트 부분(Host Part)'으로 나누어져 있다.

여기서 말하는 네트워크란 하나의 브로드캐스트 영역 이라고 생각하면 된다. 무슨 말이냐면 하나의 컴퓨터가 데이터를 뿌렸을 때 그 데이터가 라우터를 거치지 않고도 바로 받을 수 있는 영역이란 뜻이다. 즉, 라우터를 거치지 않고도 통신이 가능한 지역이란 뜻이 된다.

 그럼 호스트란 무엇인가?

 호스트는 그냥 각각의 컴퓨터 또는 네트워크 장비라고 생각하면 된다. 네트워크 부분과 호스트 부분을 설명하는 이유는 IP주소가 그냥 보기에는 3개의 점으로 나뉜 4자리 숫자(192.168.107.123) 같지만 이들은 모두 네트워크 부분과 호스트 부분으로 나뉘기 때문이다. 따라서 어떤 네트워크에서든지 ‘하나의 네트워크’에서는 네트워크 부분은 모두 같아야 하고, 호스트 부분은 모두 달라야 통신이 일어난다는 걸 알아야한다.

사용자 삽입 이미지
                               <라우터로 네트워크를 구분과 각 호스트 영역 그림>

 여기서의 꼭 알고 넘어가야 할 것들..

 모든 IP주소는 네트워크 부분과 호스트 부분으로 나누어진다. 하나의 네트워크란 라우터 없이도 통신이 가능한 하나의 브로드캐스트 영역이고, 같은 네트워크상에서는 호스트 부분은 각 장비들이 모두 달라야 한다는 것이다.

2008. 5. 6. 19:40
 

● IP 주소란 무엇인가?


 우리가 살아가는 세상에는 많은 주소들이 있다. 집 주소, 우편번호, 전화번호와 같은 서로를 구분하기 위한 주소들이 있다. 만약 다른 학교기숙사에 있는 친구에게 편지를 붙일 때 그 학교 기숙사 주소와, 우편번호를 편지 봉투에 기제한 후 우체통에 넣게 되고, 전화를 할 경우 전화기에 그 친구가 받을 수 있는 전화번호나, 핸드폰 번호를 누르게 된다. 이처럼 특정한 장소나, 사람등을 구분 할 때 쓰인다.

 IP(Internet Protocol)은 TCP/IP라는 프로토콜을 만들 때 사용하는 모든 장비들을 구분해 주기 위해서 만들어낸 것이 바로 IP주소이다. IP 주소는 이진수 32자리로 되어있다. 즉 32비트로 구성 되어 있고, 이 수의 범위는

0000 0000. 0000 0000. 0000 0000. 0000 0000.에서

1111 1111. 1111 1111. 1111 1111. 1111 1111(255.255.255.255)까지이다.

 따라서 전체 IP 주소의 개수는 약 구 기관에서 사용하고 있다고 한다. 만약 IPv6가 상용화 된다면 그때는 네트워크 장비뿐만 아니라 동물에게도 IP주소를 부여하여 연구할 수도 있다고 한다. 아무튼 지금 아직까지는 IPv4를 사용하고 있고, 그 수가 거의 고갈 되어 가고 있다. '朦ϨϨ͒ɘꘘͮϨ͒ɘꘘͮϨ͒ɘꘘͮ

 지금 우리나라에서는 대전 쪽의 몇몇 연구 기관에서 사용하고 있다고 한다. 만약 IPv6가 상용화 된다면 그때는 네트워크 장비뿐만 아니라 동물에게도 IP주소를 부여하여 연구할 수도 있다고 한다. 아무튼 지금 아직까지는 IPv4를 사용하고 있고, 그 수가 거의 고갈 되어 가고 있다.

 일반적으로 사용하는 IP주소를 공인IP 주소라 하고, 이 IP주소는 특정 기관에서 관리하게 된다. 위에서 말했듯이 공인IP주소가 거의 고갈상태이기 때문에 이를 조금이나마 효율적으로 사용하고자 나온 것이 사설IP이다. 사설IP란 IP주소들 중 특정 부분의 IP주소들을 지정해 놓고, 공인IP주소 대신 쓸 수 있게 해놓은 것이다.

 무슨 말인지 예를 들어 보겠다.

지금 우리 학교는 공인IP 211.223.xxx.xxx번대의 번호를 쓰고 있다. 그런대 학교에 배당된 번호들로는 학교내에 있는 모든 컴퓨터에 IP주소를 줄수가 없다. 학교내의 컴퓨터수가 배정받은 IP주소보다 훨씬 많기 때문이다. 그래서 모든 컴퓨터에 인터넷이 동작할 수 있도록 하기위해 각 컴퓨터마다 사설IP를 부여한 것이다.

동작 원리는...

 먼저 공인IP가 1공학관의 전산실에 배정 됐다고 하자. 그럼 그 안의 컴퓨터들은 우리학교가 211.223.xxx.xxx의 공인 IP를 가지고 있기 때문에 그에 해당되는 사설 IP인 192.168.xxx.xxx번호 대의 사설 IP를 각 컴퓨터에 부여 하게 된다. 이들 컴퓨터는 인터넷을 할 때 모두 라우터라는 네트워크 장비를 통하게 되는데, 이 라우터에서 사설IP가 외부 네트워크와 통신할 때 공인IP로 바꿔줘서 인터넷이 될 수 있도록 해준다.

 이번 장의 결론은 IP주소는 이진수 32자리로 되어 있고, 점으로 나눠진 각 자리마다 십진수로 최대 255까지 표현 가능하다는 점과 우리가 보통 쓰는 IP주소는 이진수를 다시 십진수로 만들어서 쓰는 방식 이라는 것이다. 그리고 현재 공인 IP가 부족하기 때문에 사설 IP라는 것을 함께 사용하고 있다는 것이다.

2008. 5. 6. 19:39
 

● 네트워크 장비(랜카드, 허브, 스위치(브리지), 라우터)


 여기서는 네트워크를 하기위해 필요한 장비에 대해서 간단하게 알아보겠다.


▪ 랜카드

 컴퓨터가 통신하기 위해 본체에 장착되고, 우리들이 쉽게 볼 수 있는 장비인 LAN카드가 있다. LAN카드는 보통 네트워크 어댑터 또는 NIC(Network Interface Card)라고 불리며, 우리나라에서는 주로 Ethernet 방식의 랜카드를 많이 쓰기 때문에 Ethernet카드라고도 불린다.

    

사용자 삽입 이미지
                                                                   <랜카드>

속도는 보통 10/100Mbps급을 많이 쓰고 있으며, 요즘 나오는 카드들은 1Gbps급도 많이 나오고 있다.


▪ 허브(Hub)

 멀티포트(Multiport) 리피터(Repeater:약해진 전기적신호를 증폭시켜주는 장치))라고 하며, LAN을 구성할 때 한 사무실이나 가까운 거리에 있는 장비들을 케이블을 사용하여 연결해 주는 장치를 말한다.

 일반적으로 컴퓨터나 프린터들과 네트워크 연결, 근거리의 다른 네트워크(다른 허브)와 연결, 라우터등의 네트워크 장비와 연결, 네트워크 상태 점검, 신호 증폭 기능 등의 역할을 한다. 간단히 말하면, 허브란 포트가 여러개 달린 리피터라고 생각하면 된다.

사용자 삽입 이미지
                                                                      <허브>

 허브 또한 랜카드처럼 이더넷용, 토큰링용등이 있고, 이더넷 허브도 속도에 따라 그냥 허브(10Mbps), 패스트(100Mbps) 허브가 있다.

 그리고 이더넷 허브는 CSMA/CD의 적용을 받으므로, 두 대 이상의 PC가 동시에 데이터를 보내면 콜리전(Collision:충돌)이 발생한다. 따라서 같은 허브에 연결되어 있는 모든 PC는 모두 ‘같은 콜리전 도메인(Collision Domain:충돌영역)상에 있다’라고 말한다.


▪ 스위치(Switch)

 성능이 엄청 좋은 허브를 쓴다고 해도 PC의 수가 늘어날수록 콜리전 도메인은 커질 수밖에 없고, 그렇게 되면 잦은 충돌로 인해 네트워크가 마비될 수도 있다.

 그래서 이러한 허브의 단점을 보완 한 것이 스위치이다. 스위치는 콜리전 도메인을 나누어 줌으로써 콜리전을 줄일 수 있게 되었다.

 스위치가 콜리전 도메인을 나누어주는 방법을 예를 들면, 1번 포트에 연결된 PC가 2번 포트에 연결된 PC와 데이터를 주고받는 동안에도 3번 포트에 연결된 PC와 4번 포트에 연결

               

사용자 삽입 이미지
                                                                  <스위치>

된 PC가 서로 데이터를 주고받을 수 있게 해준다. 즉 포트별로 콜리전 도메인을 나누어 통신 하게 함으로써 충돌을 방지시켜 준다. 쫌 더 쉽게 설명하자면, A라는 PC가 B라는 PC에 통신할 경우에 두 PC를 같은 영역에 두게 해서 두 PC만 데이터를 주고받고, 나머지 PC에는 데이터를 보내지 않게 하여 나머지 PC들도 통신이 가능하게 하는 방식이다.

 스위치가 콜리전 도메인을 나누는게 가능하도록 하는 기능은 맥 어드레스 테이블이다. 맥 어드레스 테이블이란 스위치에 연결된 PC의 맥 어드레스를 저장하게 하는 저장 공간이다.   즉, 스위치에 연결되어 통신을 시작한 PC의 맥 어드레스를 테이블에 저장해 놓고, 나중에 A라는 PC가 B라는 PC에 통신할 경우에는 자신의 맥 어드레스 테이블을 참고 해서 영역을 나누게 된다.


▪ 브릿지(Bridge)

 브릿지는 스위치의 아버지 격이라 생각하면 된다. 스위치가 나오기 전에는 지금 스위치가 하는 기능의 대부분은 브릿지가 했었다. 지금은 브릿지는 거의 사용되어지지 않고, 스위치가 사용된다.

 브릿지와 스위치의 기능은 거의 같지만, 브릿지가 사라져가는 이유는 간단하다. 스위치가 더 최근에 만들어 졌고, 그 만큼 브릿지보다 좀 더 많은 기능을 지원하기 때문이다.

 브릿지와 스위치의 미묘하지만 큰 차이를 알아보겠다.

1. 스위치는 처리 방식이 하드웨어로 이루어지지만 브릿지는 소프트웨어적으로 처리하기 때문에, 브릿지보다 스위치의 속도가 훨씬 빠르다. 요즘 같은 스피드시대에 당연 스위치를 쓰는 것이 낳다.

2. 브릿지는 포트들이 같은 속도만 지원하지만, 스위치는 서로 다른 속도를 연결해줄 수 있는 기능을 제공한다.

3. 브릿지는 포트수가 2~3개 밖에 없지만, 스위치는 수십 개에서 수백 개의 포트를 제공한다.

4. 스위치는 cut-through방식, store-and-forward방식(프레임 처리방식) 둘 다 지원하지만,

브릿지는 store-and-forward방식만 사용한다.

5. 스위치는 가상 랜(가상 네트워크)를 만들어주는 기능인 VLAN을 지원한다.


▪ 라우터(Router)

 라우터는 전에 조금 언급했듯이 데이터가 목적지로 가기위한 가장 빠르고 안전한 길을 찾아주는 장비이다. 그리고 서로 다른 네트워크를 명확하게 구분 지어준다.

                                   

사용자 삽입 이미지
                                                                  <라우터>


사용자 삽입 이미지
                                                <라우터로 네트워크를 구분하는 그림>

2008. 3. 26. 13:21
 

● TCP/IP


 TCP/IP는 인터넷을 하기위한 프로토콜의 한 종류로써 인터넷에서 쓰이는 공용어이다. 따라서 지금 인터넷을 사용하고 있는 모든 PC는 모두 다 TCP/IP가 세팅되어 있다. 1970년대 초반 여러 업체에서 다양한 방법과 기술로 프로토콜들을 개발 하였는데, 대표적으로 Apple Talk, IPX, NetBEUI, 그리고 TCP/IP가 만들어졌다. 그중 시간이 지나면서 나머지는 잘 쓰지 않거나, 제한된 곳에서만 사용하고 지금은 TCP/IP가 가장 널리 쓰이게 되었다.

 TCP/IP는 Transmission Control Protocol / Internet Protocol의 약자로 ARPANET에 의해서 처음 개발되었다. 각각의 네트워크에 접속되는 호스트(네트워크장비)들은 고유의 주소를 가지고 있어서 자신이 속해 있는 네트워크뿐만 아니라 다른 네트워크에 연결되어 있는 호스트까지도 서로 데이터를 주고받을 수 있도록 만들어져 있는 것이 특징이다. 내 컴퓨터에 이것이 사용되고 있는지를 확인 하고 싶으면, 제어판 -> 네트워크연결에서 확인할 수 있다.

사용자 삽입 이미지
                                                         <네트워크 설정화면> 

 TCP/IP도 OSI 7 계층처럼 통신 과정을 단계별로 나눠져 있는데, 총 4단계(혹은 5단계)로 나뉘어져 있다.

             

사용자 삽입 이미지
                                                           <OSI 7 Layer 와 TCP/IP>


 위 그림처럼 OSI7계층과 TCP/IP의 관계도가 형성된다. 아무튼 TCP/IP 계층에서 1단계인 네트워크 인터페이스 계층은 OSI 1, 2계층(Network Interface = Physical, Data Link)와 같다고 생각하면 된다. 그리고 Internet 계층은 Network 계층, Transport 계층은 Transport 계층, Apprication 계층은 나머지 계층과 연관성을 지닌다. 아마 OSI7계층을 알고 있는 상태에서 TCP/IP계층을 이해하려면 혼란이 생길 수 있을 것이다. 지금은 그냥 “서로 이런 관계를 나타내고 있고, 서로 관계된 계층은 비슷한 기능을 담당하고 있구나.”라고 알고 넘어가고, 나중에 네트워크에 대해 좀 더 알고 싶어지면 그때 집중해서 공부한다면 생각보다 쉽게 이해할 수 있을 것이다. 아무튼 TCP/IP는 인터넷을 하기위한 표준 프로토콜이다.


※ DHCP(참고)

 DHCP는 관리자나 사용자가 PC마다 IP 주소를 지정해 주지 않고도 DHCP 서버가 그 네트워크에 필요한 IP 주소를 전부 가지고 있다가 IP 주소를 요구하는 PC에는  그때그때 자동으로 분배해주는 방식이다. 만약 PC가 네트워킹을 끝내고 IP주소가 필요 없게 되면(즉, PC가 종료되면), IP 주소는 자동으로 회수 된다. 이 기능을 사용하게 되면 PC는 컴퓨터를 새로 켤 때마다 IP 주소가 바뀌게 되기 때문에 일반 사용자의 PC에 주로 쓰이는 기능이다.

2008. 3. 26. 13:15
 ● OSI 7 Layer


 OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 그 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문에 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽다. 그리고 만약 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.

 예를 들면 게임방에서 스타를 하는데 베틀넷이 끊어진다면, 관리자는 우선 모든 PC가 그런 것인지 한 PC만 그런 것이지 확인을 한다. 만약 모든 PC가 베틀넷이 안된다면 아마도 인터넷 접속에 문제가 있다고 보면 된다. 즉, 라우터의 문제(3계층)이거나 광랜을 제공하는 회사의 회선 문제(1계층)인지를 알 수 있다. 만약 한 PC만 이상이 있다면 소프트웨어를 확인하여 소프트웨어에 이상이있다면 7번째 계층인 어플리케이션 계층(Application Layer)에 이상이 있는 것이고, 컴퓨터에 이상이 없고, 스위치에 이상이 있으면 2번째 계층인 데이터링크 계층(Data-Link Layer)에 이상이 있는 것이 된다. 아무튼 OSI 7계층은 네트워크를 공부하는데 있어서 아주 중요한 이론이며, 꼭 알고 있어야하는 부분이다. 이제 각 7단계의 특징을 알아보겠다.

 OSI 7계층은 위에서 말했듯이 총 7단계로 나눠져 있다. 각 계층의 명칭을 알아보면 다음 그림과 같다.

사용자 삽입 이미지
                                                       <OSI 7 계층의 통신과정>


 위 그림에서 맨 아래에 있는 계층부터 1계층이 된다. 즉, (1계층 = Physical(물리)), (2계층 = Data Link(데이터링크)), (3계층 = Network(네트워크)), (4계층 = Transport(전송)), (5계층 = (Session(세션)), (6계층= Presentation(표현)), (7계층 = Application(응용))이 된다. 위 그림은 데이터가 어떤 식으로 각 단계를 거쳐 목적지로 전해진 뒤 목적지에서 어떤 식으로 데이터를 받게 되는지 보여준다. 우선 알아야 할 것은 데이터통신은 각 계층별로 이루어진다는 것이다. 처음에는 이게 무슨 말인지 이해하기 쉽지는 않겠지만 조금만 공부해보면 금방 이해하게 될 것이다. 아무튼 통신이 각 계층별로 이루어진다는 뜻을 알아보면...

 사용자가 데이터를 전송할 때 각 계층을 지날 때 마다 헤더라는 작은 크기의 프레임을 달게 된다. 마지막 계층까지 헤더프레임이 붙인 후 목적지 컴퓨터에 전송하면 목적지 컴퓨터는 각 계층별로 헤더프레임을 파악하여 자신의 것이 맞는지, 전송도중에 오류는 없었는지 등의 검사를 거친 후 이상이 없을 때 사용자에게 보여주게 된다. 이제는 각 단계에서 어떤 일을 하는지 알아보겠다. 그전에 1계층~3계층까지는 하드웨어 부분이고, 5~7계층은 소프트웨어 부분, 4계층은 그 중간 이라고 생각하면 된다.


▪ 1단계(물리계층)

 이 계층에서는 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다. 이 계층에서 사용되는 통신 단위는 비트이며 이것은 1과 0으로 나타내어지는, 즉 전기적으로 On, Off 상태라고 생각하면 된다. 이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는(또는 받으려는)데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다. 단지 데이터 전기적인 신호로 변환해서 주고받는 기능만 할 뿐이다. 이 계층에 속하는 대표적인 장비는 통신 케이블, 리피터, 허브등이 있다.


▪ 2단계(데이터 링크계층)

 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 따라서 통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있는 것이다. 이 계층에서는 맥 어드레스를 가지고 통신하게 된다. 이 계층에서 전송되는 단위를 프레임이라고 하고, 대표적인 장비로는 브리지, 스위치 등이 있다.(여기서 MAC어드레스를 사용한다.)


▪ 3단계(네트워크 계층)

 네트워크로 먹고 사는 사람들이 가장 많이 다루는 계층이다. 이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능이다. 이 기능을 라우팅이라고 하는데 여기에 사용되는 프로토콜의 종류도 다양하고, 라우팅하는 기술도 다양하다.

 아무튼 이 계층은 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할이다. 이 계층의 대표적인 장비는 라우터 이며, 요즘은 2계층의 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer 3 스위치도 있다.(여기서 IP주소를 사용한다.)


▪ 4계층 - 전송 계층(Transport Layer) : 통신을 활성화하기 위한 계층이다. 보통 TCP프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다. 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다. 단대단 오류제어 및 흐름제어 이 계층 까지는 물리적인 계층에 속한다.(TCP/UDP프로토콜을 사용한다.)


▪ 5계층 -세션 계층(Session Layer) : 데이터가 통신하기 위한 논리적인 연결을 말한다. 통신을 하기위한 대문이라고 보면 된다. 하지만 4계층에서도 연결을 맺고 종료할 수 있기 때문에 우리가 어느 계층에서 통신이 끊어 졌나 판단하기는 한계가 있다. 그러므로 세션 계층은 4 계층과 무관하게 응용 프로그램 관점에서 봐야 한다. 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.


▪ 6계층 - 표현 계층(Presentation Layer) : 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다. 전송되는 데이터의 표현 방식에 대한 설명이다. 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분이다.


▪ 7계층 - 응용 계층(Application Layer) - 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜 많이 있다. 해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되며 우리가 사용하는 브라우저나, 메일 프로그램은 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램이다. 한마디로 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용프로그램이 아니다.

2008. 3. 26. 13:12
 

● 유니캐스트, 브로드캐스트, 멀티캐스트


 유니캐스트, 브로드캐스트, 멀티캐스트 등 이 캐스트는 한마디로 네트워크에서 통신을 하는 방식에 따른 구분이라고 생각하면 된다. 즉, 1:1로 통신 하느냐, 어떤 그룹을 대상으로 통신을 하느냐, 아니면 전부를 대상으로 통신을 하느냐를 구분 한 것이다.


▪ 유니캐스트

 유니캐스트는 1:1 통신 방식이다. 즉, A라는 컴퓨터와 B라는 컴퓨터가 서로 1:1로 데이터를 주고받는 것을 말한다. 동작 방식은, 우선 출발지 컴퓨터를 A 라고 하고, 목적지 컴퓨터를 B 라고 가정한다. 먼저 A가 B에게 보낼 데이터가 있으면 그 데이터 프레임 안에 출발지 맥 어드레스와 목적지 맥 어드레스를 붙여 보내게 된다. 그럼 B 컴퓨터는 이 데이터를 받자마자 바로 출발지 주소를 보고 “A 컴퓨터가 보낸 거구나.” 하고 알게 되어 A 컴퓨터 하고만 통신을 하게 돼는 방식이다.


▪ 멀티캐스트

 멀티캐스트는 출발지 컴퓨터가 특정한 그룹으로 나뉜 컴퓨터들과 통신을 하는 방식을 말한다. 예를 들어 전체 사용자가 100명이 있는데 그중 70명에게만 같은 정보를 동시에 보내야 하는 상황에 사용하게 되는 것이다. 멀티 캐스트의 장점은 유니캐스트처럼 하나하나 따로 보낼 필요도 없고, 브로드캐스트처럼 쓸데없이 모든 컴퓨터에게 필요 없는 데이터를 보내지 않아도 되기 때문에 효율성이 좋아진다. 그러나 멀티캐스트의 경우 라우터나 스위치라는 장비가 이를 지원해야 쓸 수 있는 기능이다.


▪ 브로드캐스트

 브로드캐스트는 로컬 랜 상에 붙어있는 모든 네트워크 장비들에게 데이터를 보내는 통신이다. 여기서 로컬 랜이란 라우터에 의해서 구분지어진 공간, 즉 브로드캐스트 도메인이라고 하는 공간을 뜻한다.

사용자 삽입 이미지
                                                <충돌 영역과, 브로드캐스트 영역>

 아무튼 브로드캐스트는 라우터로 나누어진 네트워크내의 모든 장비들에게 메시지(데이터)를 전달하는 방식이다. 예를 들어, 기숙사에서 사감선생님이 마이크로 210호에 살고 있는 누군가를 사감실로 오라고 하는 방송을 하면 기숙사내에 있는 학생들은 자신과 상관없어도 들을 수밖에 없다. 이 상황처럼 브로드캐스트로 데이터를 보내게 되면, 이 데이터가 필요 없는 장비라도 데이터를 일단 받아서 CPU가 처리를 해야 한다. 여기서 브로드캐스트의 단점이 나온다. 이렇게 쓸데없이 필요 없는 데이터를 처리하다 보면 각 장비들의 CPU는 그 데이터를 처리한다고 불필요한 동작을 하게 되는 것이다. 만약 너무 많은 브로드캐스트가 발생하게 되면 정작 필요한 데이터를 처리하는데 시간이 너무 오래 걸리게 되는 것이다. 그렇다고 브로드캐스트를 발생시키지 않을 수는 없다. 이 방식이 알게 모르게 많이 사용되기 때문이다. 우선 A컴퓨터가 B컴퓨터의 IP주소는 아는데 맥 어드레스를 몰라 통신을 할 수 없을 때, 맥 어드레스를 알아내기 위해서 ARP프로토콜을 사용하게 되는데 이때 사용되는 방식이 브로드캐스트이다. 그리고 브로드캐스트는 특정할 때만 사용되는 것이 아니라, 30초~1분 간격으로 신호를 보내게 되는데, 그 이유는 각 장비들이 서로 정상적으로 작동 되고 있는지, 통신상 문제가 생기지 않았는지 확인하기 위해서도 사용된다.

 브로드캐스트의 주소는 미리 정해져 있는데 바로 IP 주소를 2진수로 했을 때 IP주소의 네트워크 부분만 빼고, 호스트 부분을 모두 1로 만들었을 경우 브로드캐스트를 발생하게 된다. 이에 대해서는 나중에 자세하게 배우게 될 것이다.

 이 캐스트들의 내용은 네트워크 관련 일을 할 때나, 서버 관리, 네트워크 프로그래밍 할 때도 중요한 부분으로 사용되기 때문에 잘 알아두면 좋다.

2008. 3. 26. 13:10
 

● 맥 어드레스(MAC Address)


 네트워크를 공부하다 보면 꼭 집고 넘어가야 할 것이 바로 미디어 액세스 컨트롤(Media Access Control)이라고 불리는 맥(MAC)라는 것이다.

 MAC이란, 컴퓨터 네트워크상에서 각각 서로를 구분할 일종의 주소가 필요한데 이 역할을 담당하는 주소가 바로 MAC주소이다. 보통 IP주소라고 많이 들어 봤을 것이다. IP주소 역시 각각의 장비를 구분해주는 주소이다. MAC과 IP의 차이는 MAC은 하드웨어적인 주소이고, IP는 논리적인 주소라고 생각하면 된다. 이에 대한 자세한 내용은 나중에 ‘OSI 7계층‘을 배우고 나면 좀 더 체계가 잡혀지게 될 것이다.

 우선 MAC어드레스가 어디에 어떤 식으로 사용되는지 간단하게 알아보도록 하겠다. 보통 사람들은 IP주소만 알고 있으면 데이터통신이 이루어질 것이라고 생각한다. 하지만 위에서 말했듯이 IP는 단지 논리적 주소일 뿐 정말 PC(하드웨어)끼리 통신하기 위해선 그 PC의 하드웨어 주소인 MAC어드레스가 필요하게 된다.

 IP주소로 통신을 하기 위해서 MAC으로 바꿔주는 절차가 필요한데 이 과정을 ARP(Address Resolution Protocol)프로토콜이라고 한다.

 동작 방식을 간단히 설명하면, PC Y가 PC Z와 통신을 하려고 한다.     

사용자 삽입 이미지
                                                               <ARP 동작>


 이때 PC Y는 PC Z의 IP 주소만을 알고 있고 어디에 있는지, 어떤 장비인지는 모른다. 그럼 PC Y는 자기가 속한 네트워크에 있는 모든 PC에게 메시지를 보낸다.(한 네트워크 내의 모든 장비에 데이터를 보내는 방식을 ‘브로드캐스트’라고 한다.) 메시지를 보낼 때 PC Y는 자신의 맥어드레스와 상대방의 IP주소를 함께 보내게 된다. 즉, “난 Y라는 PC 인데 우리 네트워크 안에 Z라는 PC가 있으면 내 MAC주소로 맥 어드레스 좀 보내줘.” 라고 보내게 되는 것이다. 이때 Z와 Y는 같은 네트워크에 있기 때문에 Y가 보낸 브로드캐스트를 Z가 받았을 것이다. 그럼 Z는 Y에게 자신의 맥 어드레스를 알려주게 되고 Y는 Z의 맥 어드레스를 안 다음에 비로소 통신을 시작하게 되는 것이다.

                                                                               

 여기서 브로드캐스트방식은 나중에 좀 더 배우게 되겠지만, 상당히 중요한 부분이고 네트워크 프로그래밍을 할 때도 상당히 유용하게 쓰는 것이기 때문에 기억해주는 것이 좋다.

 만약 PC Z, Y가 서로 다른 네트워크에 있다면 어떤 동작이 있는지 알아보겠다. 일단 브로드캐스트라는 방식은 한 네트워크 내의 모든 장비에 메시지를 보내는 방식이므로 다른 네트워크에 연결된 장비에게는 아무런 메시지를 전달하지 않는다. 그럼 다른 네트워크에 있는 PC Z에게 어떻게 메시지를 전할 수 있을까? 그건 ‘라우터‘라는 장비를 사용하게 됨으로 써 쉽게 해결 할 수 있다. 우선 라우터란 서로 다른 네트워크를 연결 해주는 역할과 함께 다른 네트워크의 PC까지 가는 경로를 결정하는 장비로서 네트워크에서 가장 중요하고, 가격도 엄청 비싼 중요 장비이다.

 만약 PC Y가 다른 네트워크에 있는 PC Z에게 메시지를 보내기 위해 네트워크에 브로드케스트로 메시지를 보내게 되면, 라우터는 이 메시지를 받아 보고, PC Z가 PC Y와 다른 네트워크에 있다는 걸 알게 되고, 다른 네트워크에 있는 PC Z에게 메시지를 대신 전해 주게 되는 것이다.

 MAC주소의 주소 형식은 총 48bit로 이루어져 있다. 보통 이 주소를 16진수로 나타내게 되는데, <00.60.97.8F.4F.86> 이런 식으로 나타내게 된다. 이중 앞의 세 자리 수는(00.60.97) 네트워크 장비를 만드는 회사에 부여된 번호이고, 뒤의 세 자리 수는(8F.4F.86) 회사에서 각각의 장비에 부여한 번호이다. 즉, ‘00.60.97‘은 회사 번호이고, ’8F.4F.86’은 네트워크 장비의 번호이다.

 이는 총 2의 48승개로 나타 낼 수 있으므로 현재 사용되는 네트워크 장비들의 번호는 각각이 유일한 번호를 가지게 되는 것이다. MAC주소를 16진수로 나타내는 이유는 2진수로 나타냈을 경우 주소의 길이가 너무 길어지게 되고 알아보기도 힘들어지게 때문에 사람들이 알아보기 쉽게 하기 위해 16진수로 나타내게 된 것이고, 컴퓨터들은 이를 2진수로 인식하게 된다.

2008. 3. 26. 13:07
 

● UTP케이블의 이론 및 제작


 UTP케이블은 주로 랜 케이블로 많이 불린다. 일반적으로 우리가 인터넷을 하기위해 컴퓨터와 벽면의 광통신 포트를 연결할 때 많이 보게 되는 케이블을 말한다.

 UTP의 뜻을 알아보면 Unshielded Twisted-Pair(감싸지 않은 꼬인 선 정도로 생각하면 됨)의 약자로 Unshielded 절연체(전기장에서 보호)로 감싸지 않았다는 뜻이고, Twisted-Pair는 두 가닥의 선이 서로 꼬여져 있다는 뜻이다. 이와 반대로 STP(Shielded Twisted-Pair)는 케이블의 외부커버 안에 절연체로 감싸져 있는 케이블을 말한다.      

 케이블 방식에는 간단하게 두 종류가 있다고 생각하면 된다. 바로 다이렉트(direct)방식과 크로스(cross)방식이다. 다이렉트 방식은 케이블 양 끝의 포트에 연결된 케이블의 위치가 서로 같은 걸 말하고, 크로스는 서로 다른 것을 말한다.

 아래 그림에서 568A방식과 568B방식이 있는데 주로 568B방식을 기준으로 사용하여, 568B방식으로 양끝을 만든 케이블을 다이렉트케이블, 양끝을 각각568A와 568B방식으로 만든 케이블을 크로스 케이블이라고 한다.

사용자 삽입 이미지
                                       <UTP 케이블의 선 배열 순서> 
 다이렉트 케이블은 서로 다른 장비끼리 연결할 때 사용하고, 크로스 케이블은 같은 장비 끼리 연결할 때 사용한다.

참고) 568A 방식으로도 다이렉트 케이블을 제작할 수 있지만, 이 방법은 최대 속도가 10Mbps밖에 나오지 않기 때문에 요즘은 568B 방식으로 다이렉트 케이블(100Mbps)을 제작한다. 그리고 데이터 통신은 1, 2, 3, 6 으로 통신을 한다.
 요즘 최대 1Gbps급의 인터넷이 많이 늘어나고 있는데, 이것은 새로운 케이블(Category 6)를 사용하면 나오는 속도 이지만, 우리가 흔히 쓰는 케이블로도 이 속도가 나오게 할 수 있다. 그것은 1, 2, 3, 4, 5, 6, 7, 8 번의 모든 선을 사용하면 가능하다고 한다.

2008. 3. 19. 21:12
 

● Ethernet 과 Token Ring


1. Ethernet

 이더넷이란 네트워크를 구축하는 방식 중 하나로 우리나라에서는 거의 대부분이 이더넷 방식을 사용하고 있다. 이더넷 방식의 가장 큰 특징은 CSMA/CD방식이라고 하는 통신 방식을 쓰는 것이다.

사용자 삽입 이미지
                                             <CSMA/CD 방식을 쓰는 버스형 토폴로지>

 CSMA/CD 방식에 대해서 알아보자.

 Carrier Sense Multiple Access/ Collision Detection의 줄임말로 그 뜻을 알아보면 다음과 같다.

 CSMA/CD(Carrier Sence Multiple Access / Collision Detection)은 IEEE 802.3으로 표준화 되었으며, 이더넷(Ethernet)방식의 버스방식에 사용된다. 여기서 버스방식이란 하나의 공통선로에 여러 대의 노드가 연결되어 있는 형태를 말한다. CSMA/CD 방식은 먼저 데이터를 보내고자 하는 노드가 공통선로에 데이터가 있는지 감지(Carrier Sence)를 하고 있다가 공통선로에 데이터가 없다는 것을 알게 되면, 데이터를 보내기 시작한다. 만약 2개 이상의 노드가 같이 공통선로에 데이터가 없다는 걸 알게 되면, 각각의 노드는 동시에 데이터를 보내게(Multiple Access)된다. 그러면 충돌(Collision)이 발생하게 되고, 충돌 발생사실을 모든 스테이션에 간단한 잼(jam) 신호를 보낸다. 그리고 노드는 충돌을 감지(Collision Detection)하여 일정한 시간이 지나면 다시 공통선로에 데이터가 있는지 감지하고, 데이터를 보내게 된다.


2. Token Ring

 네트워크를 구축하는 방식 중 또 다른 중요한 방식이 Token Ring(토큰링)방식이다.

우리나라에서 잘 사용돼지는 않지만, 몇몇 연구기관이나 대학에서 사용한다. 대표적으로 우리학교와 가까운 위치에 있는 포항공대의 내부에서는 토큰링 방식을 사용한다.

 토큰링방식의 동작방법을 알아보면 다음과 같다.

 토큰링방식은 이더넷방식과는 다르게 네트워크 장비들이 눈치를 보면서 통신을 하는 것이 아니라, 토큰이라는 하나의 표(정확히 일정한 비트패턴)와 같은 것을 가진 장비가 통신을 하는 방식이다.

사용자 삽입 이미지
                                                                    <토큰링>

 위에 있는 그림처럼 네트워크 장비(pc등)들이 둥근 형태로 통신선로에 연결되어있다. 이중 오직 한 PC만, 즉 토큰을 가진 PC만이 네트워크(통신선로)에 데이터를 실어 보낼 수 있는 것이다. 데이터를 다 보내고 나면 바로 옆 PC에게 토큰을 건네주게 되고, 만약 전송할 데이터가 없다면 토큰을 다시 옆 PC에게 전달한다. 이때 토큰을 전달하는 방향은 랜덤하게 보내는 것이 아니라, 한 방향으로만 보내지게 된다.

 이방식의 장점은 충돌이 발생하지 않아 데이터 손실이 적다는 것이다. 하지만 한 번에 한 PC만이 통신선로에 데이터를 보낼 수 있으므로 통신선로의 효율성이 떨어지게 된다.

prev"" #1 #2 next