본문 바로가기

Security/Network

[4일] 후니의 시스코 네트워킹

(2017.03.27)

1. TCP/IP와의 만남

1.1 TCP/IP를 모르면 인터넷을 아는게 아니다?

TCP/IP는 인터넷을 사용하기 위해 꼭 필요한 프로토콜이다.
다시마해 인터넷의 공용어는 TCP/IP인셈 -> 모든 PC는 TCP/IP가 셋팅되어 있음

프로토콜의 종류는 AppleTalk, IPX, NetBEUI,TCP/IP 등이 있음

Transmission Control Protocol/Internet Protocol의 약자인 TCP/IP는
각각의 네트워크에 접속되는 호스트들이 고유의 주소를 가지고 있어 자신이 속해 있는
네트워크 뿐만 아니라 다른 네트워크에 연결되어 있는 호스트까지도 서로 데이터를 주고 받을 수 있음

참고로 고유주소는 InterNIC란 단체에서 관리 및 분배함



[그림 1.1] TCP/IP 셋팅 확인 (Window10)


1.2 이 세상에서 나만을 위한 것

그것은 바로 'IP주소'이다. IP주소는 인터넷을 사용하는 우리에게 모두 하나씩 주어지고,
만약 IP주소가 같으면 주소가 서로 충돌해서 둘 중 하나는 인터넷을 못쓰는 결과를 가져옴

요즘에는 인터넷은 같은 주소를 사용하는 경우도 있음
왜냐하면 IP주소(IPv4,Internet Protocol version 4)를 거의 다 사용해서 내부 네트워크에서는 공인되지 않은 IP주소를 사용하고, 인터넷을 나갈때만 공인주소(유일한 IP주소)를 가지고 나가는 방식인 NAT을 사용

(2011년부터 IPv4 신규할당이 중단되고 새로 IPv6로 할당함 )


[그림 1.2] cmd - ipconfig/all

예전 IP주소는 네자리의 십진수로 되어있음 -> 192.168.1.100
IPv4 는 2^32(즉 32비트 = 4바이트) 각각의 바이트를 십진수로 변환해서 위와같음

참고) 1.1바이트 = 8비트 = 2^8 = 256 -> 0~255
      2. IPv6 는 2^128(128비트 = 16바이트) ipv4와 달리 16비트씩 8개를 16진수로 나타냄
        ex) 2001:1233:1555:~~ 이런식으로 :(콜론)으로 분류


1.3 이진수 계산법

이진수를 십진수로..

 1       1      0       1 을 십진수로?
2^3*1 2^2*1 2^1*0 2^0*1 = 8+4+1 = 13

참고) AND, OR, XOR

1) AND (그리고)
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1

2) OR (또는)
0 OR 0 = 0
1 OR 0 = 1
0 OR 1 = 1
1 OR 1 = 1

3) XOR (값이 같으면 0 다르면 1)
1 1 0 0
0 1 1 0 

1 0 1 0



1.4 DHCP(Dynamic Host Configuration Protocol)
IP주소를 자동으로 배정하기 위해서 나온것이 DHCP임

예를들어 아직 IP주소를 가지지 않은 클라이언트 PC 2대와 DHCP 서버 한대가 연결되어 있다고 생각하자

클라이언트 PC가 켜지면서 네트워크에 브로드캐스트(이장님 방송 생각)를 뿌림 '나 IP주소좀'
그후 DHCP서버가 그 요청을 듣고 클라이언트에게 자신이 관리하는 IP주소 중 하나를 자동으로 배정해줌, 
다 쓰고 난 후에는 IP주소를 회수해감




[그림 1.3] DCHP