Part 02 -2 TCP / IP(계속) 3. IP 주소 4. IP 라우팅 5. 응용 프로토콜
3. IP 주소 3-1. IP 주소 3-2. 서브넷( Subnet) 2
IP 주소 인터넷에 연결된 모든 통신망과 그 통신망에 연결된 컴퓨터에 부여되는 고유의 식별 주소를 의미. IP 주소의 예 ▶
▶ ▶ IP 주소(계속) IP주소는 4개의 octet으로 나누어져 있으며 dot로 구분 각각을 10진수로 표현해 사용. 10진수 30을 2진수 00011110으로 변환하는 과정 2진수 10100101을 10진수 165로 변화하는 과정 ▶ ▶
IP 주소(계속) IP Class A Class 1-127. xxx . xxx . xxx 전체 약 21억개 국가나 대형망 사용
IP 주소(계속) B Class 128-191 . xxx . xxx . xxx 1 ip당 호스트 할당 가능 : 65534 학교등 중대규모 통신망 사용
IP 주소(계속) C Class 192-223 . xxx . xxx . xxx 1 IP당 호스트 할당 가능 : 254 소규모회사나 ISP업체의 통신망 사용 D,E Class는 각각 멀티캐스팅,특수 연구의 용도로 사용된다.일반 호스트에게는 할당되지 않는 주소이다.
IP 주소(계속) 사설 IP 사설 IP 주소 대역 장 점 단 점 내부에서 외부로는 접근이 가능하지만 외부에서는 내부로 접근이 불가능. 외부에서의 웜바이러스나 해킹등에 안전. 공유기를 이용하여 인터넷을 사용할 경우 공유기에 따라 가끔 오작동을 하는 경우가 있음. 외부에서 직접 접근이 불가능하므로 게임이나 기타 p2p 프로그램의 일부 기능을 이용하지 못할 경우도 있다. 장 점 단 점 사설 IP 주소 대역 A Class B Class C Class 10.0.0.0/8 10.0.0.1~10.255.255.254 subnet mask : 255.0.0.0 172.16.0.0/12 172.16.0.1~172.31.255.254 subnet mask : 255.240.0.0 192.168.0.0/16 192.168.0.1~192.168.255.254 subnet mask : 255.255.0.0
▶ Subnet Mask TCP/IP 프로토콜에 의해 호스트가 로컬 서브넷에 있는지 아니면 원격 네트워크에 있는지를 확인하는데 사용. 서브넷 마스크(Subnet Mask)의 예 ▶ Subnet Mask는 32bit길이를 갖고 bit가 1인 부분을 Network bit, bit가 0인 부분을 Host bit로 구분됨.
▶ ▶ Subnet Mask(계속) Subnetting의 예 서브넷 마스크(Subnet Mask)의 사용 예 2진 HOST Subnet 수 Host 수 00000000 11111111 Network ID X 10000000 128 01111111 1 11000000 192 00111111 2 64 11100000 224 00011111 6 32 11110000 240 00001111 14 16 11111000 248 00000111 30 8 11111100 252 00000011 62 4 11111110 254 00000001 126 255 서브넷 마스크(Subnet Mask)의 사용 예 서브넷 마스크(Subnet Mask) ▶ ▶
Subnet Mask(계속) 위의 2개의 Bit를 Subnet Bit로 표현할 때의 Subnetting 과정을 세부적으로 살펴보면 다음과 같다. Subnet Bit Decimal Host 수 Description 0/4 (Notused) 00/000000 64 Network ID 00/000001 1 첫 IP 00/111110 62 끝 IP 00/111111 63 Broadcast IP 1/4 01/000000 01/000001 65 01/111110 126 01/111111 127 Subnet Bit Decimal Host 수 Description 2/4 10/000000 128 64 Network ID 10/000001 129 첫 IP 10/111110 190 끝 IP 10/111111 191 Broadcast IP 3/4 (Notused) 11/000000 192 11/000001 193 11/111110 254 11/111111 255 서브네팅 과정 ▶
▶ Subnet Mask(계속) 가변길이 Subnet Mask로서 가능한 만큼의 Subnetting을 뜻함. VLSM VLSM(Variable Length Subnet Mask) 가변길이 Subnet Mask로서 가능한 만큼의 Subnetting을 뜻함. VLSM ▶
4. IP 라우팅 4-1. 라우팅 4-2. 라우팅 프로토콜 13
라우팅 패킷을 목적지까지 전달하기 위한 최적의 경로. 라우팅(Routing)에 관한 기본 설명 ▶
라우팅(계속) 라우팅 종류 종 류 IGP EGP AS 사이에서 경로 정보를 주고 받는 내부 게이트웨이 프로토콜로 동일한 Dynamic Routing 동적으로 경로 설정에 대한 정보를 수집할 수 있는 라우팅 프로토콜을 사용하는 방법. IGP EGP 내부 게이트웨이 프로토콜로 동일한 AS안에서 서로 경로 정보를 주고 받는 라우팅 프로토콜. Ex>RIP, IGRP. AS 사이에서 경로 정보를 주고 받는 라우팅 프로토콜. Ex>BGP. Dynamic Routing 종 류
▶ ▶ ▶ ▶ 라우팅(계속) 라우팅 알고리즘 Distance Vector Algorithm의 경로 선택과정 Link State Algorithm의 경로 선택 과정 ▶ Link State Algorithm의 동작 과정 ▶
▶ 라우팅(계속) Static Routing 관리자가 수동으로 네트워크의 모든 경로를 설정해 주는 방법. 정적 라우팅에서는 모든 경로를 관리자가 수동으로 설정해 주기 때문에 관리자는 네트워크에 대한 모든 정보를알고 있어야 한다. 이러한 관리자의 부담을 덜어주는 방법으로 Default Gateway가 있다. Default Gateway에 대한 예 ▶
라우팅 프로토콜 메트릭(metric) 패킷을 목적지까지 전달하기 위해서 인접한 라우터 사이에서 경로 정보를 주고 받는데 경로 정보를 작성하고 제어하는 프로토콜. 메트릭(metric) 라우터의 홉(Hop)수. 지연(Delay). 부하(Load). 전송에 필요한 비용(cost). QoS(Quality of Service). 거리(Distance).
라우팅 프로토콜(계속) 특징 문제점 RIP(Routing Information Protocol) 버클리 대학에서 개발했다. 라우팅 정보 프로토콜로서 UDP 520포트 사용. 특징 경로 정보를 기본 30초 간격으로 연결되어 있는 모든 인터페이스를 통해 Broadcasting한다. 경로 정보를 전송하기 위해 UDP 데이터 그램 방식을 사용함. 한번에 전송 가능한 경로 정보의 크기는 512Kbyte이다. 경로 설정 알고리즘은 Distance Vector Algorithm을 사용한다. 문제점 RIP의 문제점 해결방안 - Routing Loop - Counting to Infinity - Maximum Hop Count - Split Horizon - Route Poisoning - Poison Reverse - Triggered Update - Hold-down Timer
5. 응용 프로토콜 5-1. TELNET 5-2. FTP(File Transfer Protocol) 5-4. SMTP(Simple Mail Transfer Protocol) 5-5. POP(Post Office Protocol) 5-6. SNMP(Simple Network Management Protocol) 5-7. DNS(Domain Name Service) 5-8. DHCP(Dynamic Host Configuration Protocol) 20
TELNET 윈도우에서 텔넷 사용하기 브라우저에서 사용하는 방법 원격 접속 서비스로서 특정 사용자가 네트워크를 통해 다른 컴퓨터에 연결하여 그 컴퓨터에서 제공하는 서비스를 받을수 있게 하는 것. TELNET 접속방법 윈도우에서 텔넷 사용하기 브라우저에서 사용하는 방법 익스플로러나 넷스케이프에서 telnet://server.soo.to를 입력한다.
TELNET(계속) 텔넷 전용 프로그램 텔넷기본 명령어 iputty(http://www.kldp.net) SecureCRT (http://www.vandyke.com) 텔넷기본 명령어 텔넷 모드 명령에서 help입력하고 간략한 설명을 볼수 있다. open : 다른 사이트로 연결하는 명령어. close : 현재 연결을 끊는 명령어. quit : 텔넷모드에서 빠져 나가는 명령어.
▶ TELNET(계속) SSH Telnet은 기본적으로 암호화 하지 않기 때문에 보안에 취약하다. iPutty를 이용하여 SSH로 리눅스 서버에 접속한 화면 ▶
FTP(File Transfer Protocol) 파일전송에 사용되는 프로토콜로서 TCP 20번과 21번을 사용함. 20번은 FTP를 사용해 파일을 전송할 때 사용하는 포트번호. 21번은 FTP서버와 클라이언트간의 신호 접속용 포트번호. Anonymous FTP 사용자 아이디와 패스워드를 가진 사람만이 이용할 수 있는 데 반해 anonymous FTP는 파일을 보거나 다운로드 하기 위해 해당 서버에 부여된 사용자 아이디나 패스워드가 없더라도 작업이 가능함.
▶ ▶ ▶ FTP(File Transfer Protocol)계속 FTP 프로그램의 사용 예 Windows 실행창에서 ftp 실행 ▶ Windows 기본 FTP로 리눅스 서버에 접속한 화면 FTP 전용 프로그램을 사용하여 서버에 접속한 경우 ▶ ▶
TFTP(Trivial File Transfer Protocol) FTP(File Transfer Protocol)계속 TFTP(Trivial File Transfer Protocol) 이더넷을 이용하여 파일을 다운 받는 프로토콜로 UDP방식을 사용. 동작 방식 필요성 FTP 프로토콜은 TCP프로토콜을 사용하지만 TFTP는 UDP 프로토콜을 사용하여 전송함. 리눅스 다운로드 방식 : 시리얼, 랜 시리얼 : 전송속도가 매우 늦다. 랜 : TFTP를 사용하면 매우 빠른 속도로 다운, 개발속도가 향상 될 수 있다. 장점 단점 거의 모든 유닉스의 구현에 있어서 TFTP 서버를 포함하고, 스스로 설치할 일이 없다. 하나의 블록 전송이라도 실패하면 전송을 중지하므로 패킷 손실이 많은 환경에서는 사용이 곤란하다.
HTTP(Hypertext Transfer Protocol) HTTP의 개요 하이퍼 텍스트 형식의 문서를 인터넷에서 주고받을때 사용하는 프로토콜로서 TCP 80번을 사용. HTTP 관련 표준 RFC 1945 : Hypertext Transfer Protocol – HTTP/1.0 RFC 2068 : Hypertext Transfer Protocol – HTTP/1.1 FRC 2069 : An Extension to HTTP : Digest Access Authentication HTTP 트랜잭션 1) 연결 당 하나의 트랜잭션을 수행한다. 2) 각 트랜재션들은 상호 무관하다.
▶ HTTP(계속) HTTP 작동 과정 1) 브라우저는 서버 호스트에 접속한다. 2) 브라우저는 사용자의 요청 혹은 입력에 따라 request를 생성한다. 3) 브라우저는 request를 보낸다. 4) 서버는 브라우저의 request를 분석하여 응답을 보낸다. 5) 서버는 response를 보낸 직후 강제를 접속을 끊는다. HTTP 트랜잭션 과정 ▶
SMTP(Simple Mail Transfer Protocol) 단순 메일 전송 시 사용되는 프로토콜로서 TCP 25번 포트를 사용하며 메일을 전송 하는데 SMTP 프로토콜은 메일을 호스트와 호스트끼리만 전송해주는 프로토콜. 1) HELLO : 메일 개시를 알려준다. 2) MAIL : 메일을 보내는 사람에 대한 정보를 전송. 3) RCPT : 메일을 받는 사람에 대한 정보를 전송. 4) DATA : 실제 메일 원문을 전송할 때 사용하는 메시지. 5) QUIT : 메일 전송이 완료됐다는 명령어. 6) RSET : 지금 까지 보낸 정보를 리셋할 경우 사용. SMTP 명령어
SMTP(계속) SMTP 전송 과정과 응답 코드 SMTP 전송과정 2. 응답 메시지 코드 - 220 : 서비스가 준비됨. - CONNECTION SOCK -> 소켓 접속. - HELLO -> 1단계 : 클라이언트 측 도메인 정보 전송 - MAIL -> 2단계 : 리턴메일 주소 전송. - RCPT -> 3단계 : 받는 사람의 메일 주소 전송. - DATA-> 4단계 : 메일 원문을 전송. - QUIT -> 전송 완료. 2. 응답 메시지 코드 - 220 : 서비스가 준비됨. - 221 : 메일전송 완료 의미. - 250 : OK. - 354 : 원문을 전송해도 된다는 코드. - 421 : 서비스가 수행되지 않음. - 450 : 받는 쪽 메일 계정 에러. - 451 : 요청된 행위가 강제 종료됨. - 452 : 메일 서버의 하드의 용량이 부족. - 500 : 메시지 형식이 잘못된 경우. - 503 : 명령들의 순서가 틀림. - 550 : 메일함이 이용 될 수 없음. - 551 : 해당 메일 계정이 존재하지 않음. - 552 : 받는 쪽 메일 계정의 용량이 부족. - 553 : 우편한 이름 사용 불가. - 554 : 거래 실패.
POP(Post Office Protocol) 서버와 클라이언트 간에 메일을 주고 받을 때 사용하는 프로토콜. 현재 버전(Version) 3까지 나와 있다. POP3으로 메일 소프트웨어에 자신의 우편함이 등록되어 메일 서버에 수신 우편을 가지고 올 수 있다.
▶ POP(계속) POP의 작동방식 클라이언트 접속 완료 시 POP3 서버는 ‘greeting’이라는 회신을 보냄. 서버로부터 회신을 받은 클라이언트는 메일 서버에 수신되어 있는가를 문의.(APOP명령) 클라이언트의 POP3 서버는 모든 우편의 크기를 순서대로 보내준다.(LIST명령) 지정된 우편 번호의 우편을 클라이언트에게 보낸다.(PERT명령) 수신 우편의 취득이 종료.(QUIT명령) POP3 ▶
SNMP(Simple Network Management Protocol) 단순 망 프로토콜로서 SNMP 프로토콜은 UDP161번 포트를 사용함. NMS(Network Management System) 네트워크 관리를 위한 시스템 장애 관리 기능 (Fault Management) 장애 관리 기능이란 관리하고 있는 네트워크에 문제가 발생했을 경우 그 문제의 위치를 파악하고, 그 문제를 발생시킬 수 있는 원인을 최소한으로 줄이고 문제가 발생한 요소를 최대한 빨리 수리하거나 교체를 할 수 있는 기능을 말한다. 과금 관리 (Account Management) 과금 관리 기능이란 망의 자원을 사용할 수 있도록 허가 해주기 위한 관리로 보통 사용자에게 요금을 청구할 때 사용되나, 기록된 정보는 주로 다른 용도로 많이 사용된다. 성능 관리 기능 (Performance Management) 성능 관리 기능이란 현재 구성된 네트워크 장비 또는 회선이 얼마만큼의 성능을 유지하고 있는지 측정하는 기능이다. 네트워크를 구성하는 장비들을 감시하면서 특정 장비 또는 회선의 성능이 기준치 이하로 내려가면 보고를 하는 기능을 담당한다. 이러한 성능의 요인으론 자연적인 영향이 있고 인위적인 영향이 있다. 구성 관리 (Configuration Management) 구성 관리 기능이란 네트워크 토폴로지 변화에 의해서 동작을 하고, 망에 관련된 요소들을 첨가하거나, 변경된 정보를 수집하여 망의 최종 종결을 시키는 작업을 수행한다. 보안 관리 (Security Management) 보안 관리 기능이란 네트워크로 모든 접근을 감시하여 불법적인 침투를 방어하거나, 접근하는 사용자들을 제어를 하는 기능을 말한다.
CMIP(Common Management Information Protocol) SNMP(계속) CMIP(Common Management Information Protocol) OSI 7 Layer에 의해 동작하는 네트워크 관리 프로토콜로서 양 종단 시스템의 CMISE라는 응용 프로그램의 PDU를 전송하는 일을 담당한다. M-GET 관리 정보 요청. M-ACTION 어떤 ACTION을 수행하도록 요청. M-CANCEL-GET 선행하는 관리 정보 요청을 취소하고, 현재의 M-GET요청을 실행. M-CREATE MO instance를 생성하도록 요청. M-EVENT-REPORT 관리 객체에 관한 동등한 CMISE서비스를 가지고 있는 사용자에게 보고한다. M-DELETE MO instance를 삭제하도록 요청. M-SET 관리 정보 수정 요청.
● SNMP(계속) SNMP SNMP의 출현 배경 SNMP를 표준으로 채택 Ping을 통해 ICMP를 이용. TCP/IP 프로토콜에 의해서만 동작을 하는 망 관리 프로토콜로 UDP 데이터 그램 방식을 사용하여 전송. SNMP의 출현 배경 ● SNMP를 표준으로 채택 Ping을 통해 ICMP를 이용. 88년 초 IAB에서 표준화 작업 시작
▶ SNMP(계속) SNMP의 작동 GET : 관리자가 대리인에 있는 객체의 값을 가져온다. SET : 관리자가 대리인에 있는 객체의 값을 변경한다. TRAP : 대리인의 특정 상황 발생을 관리자에게 알린다. 정 방향 조회의 예 ▶
▶ ▶ SNMP(계속) SNMP 메시지의 타입의 종류 SNMP PDU 타입 SNMP 메시지 작동과정 Get-Request Manager가 Agent에게 MIB관리 정보를 요청한다. Get-Next-Request Manager가 Agent에게 MIB관리 정보를 순차적으로 여러 개 가져올 것을 요청한다. Set-Request Manager가 Agent에게 MIB관리 정보의 값을 설정한다. Get-Response Agent가 Manager의 질의에 대한 응답을 보내준다. TRAP Agent에서 특별한 이벤트가 발생할 경우 Manager의 질의가 없어도 능동적으로 Manager에게 알려준다. SNMP PDU 타입 ▶ SNMP 메시지 작동과정 ▶
▶ DNS(Domain Name Service) DNS구조 숫자로 된 주소를 문자로 된 주소에 대응 시켜주는 서비스.
▶ DNS(계속) 정방향 조회의 절차 (1) 1차(Top Level) 도메인 (2) 2차(Second Level) 도메인 (3) 정 방향 조회와 역 방향 조회 정 방향 조회의 예 ▶ 정방향 조회의 절차 1. 요청을 받은 DNS 서버는 먼저 자신의 캐시에 내용이 있는지 확인한다. 2. 자신의 캐시에서 내용을 찾지 못하면 ROOT Domain에게 해석 요청을 한다. 3. ROOT Domain은 요청을 받고 .com의 주소를 알려준다. 4. .com 의 주소를 받은 도메인 서버는 다시 .com도메인에게 해석 요청을 한다. 5. .com도메인 서버는 다시 .co.kr 도메인의 주소를 알려 준다. 6. .CO.KR 도메인의 주소를 받은 도메인 서버는 다시 .CO.KR 도메인에게 해석 요청을 한다. 7. .CO.KR 도메인 서버는 asin21.com 주소를 알려 준다. 8. asin21.com 도메인 서버는 www.asin21.com주소를 알려 준다. 9. .asin21.com 도메인 서버는 www.asin21.com의 주소를 알려 준다. 10. www.asin21.com 의 주소를 해석한 도메인 서버는 해당 주소 정보를 HOST에게 알려준다.
▶ ▶ DNS(Domain Name Service)계속 DNS형식 식별자는 클라이언트에 의해 설정되고, 서버에 의해 되돌려진다. DNS 조회와 응답의 일반 형식 ▶ DNS 헤더의 플래그 필드 ▶
DHCP(Dynamic HostConfiguration Protocol) 네트워크 관리자들이 조직 내의 네트워크상에서 IP주소를 중앙에서 관리하고 할당해 줄 수 있도록 해주는 프로토콜. DHCP 주소할당 방법 수동할당, 자동할당, 동적할당 DHCP 사용 장점 TCP/IP 정보를 중앙에서 할당하여 관리할 수 있기 때문에 관리자의 수고를 덜어준다. 네트워크에서 사용하지 않는 IP를 회수해 다른 사용자에게 할당해 줄 수 있기 때문에 네트워크로 접속할 수 있는 기회가 동등하게 주어짐. IP충돌을 예방할수 있다. 호스트는 별도의 변경 없이 네트워크를 사용할수 있다.
▶ DHCP(계속) DHCP 동작 과정 1. 최초 부팅 시 네트워크로 DHCP Discover 메시지를 브로드캐스팅 한다. 2. 해당 호스트가 이전에 사용했던 정보가 있을 경우 IP 주소, Subnet Mask등을 DHCP Offer 메시지를 호스트에게 전송한다. 3. 정보를 확인한 후 사용하겠다는 DHCP Request 메시지를 DHCP 서버에게 전송한다. 4. 클라이언트 정보를 자신의 테이블에 기록하고 허가 메시지인 DHCP ACK 메시지를 호스트에게 전송한다.