1.47k likes | 1.91k Views
TCP/IP. ㈜ 올앳 나익채. 목차. 가 . TCP/IP 개요 나 . Network Interface Layer 다 . Internet Layer 라 . Transport Layer 마 . 프로토콜 취약점을 이용한 대표적인 공격 바 . TCP/IP 관리 명령어. 가 . TCP/IP 개요. 역사 1969 년 미국방성의 ARPANet 를 위하여 개발된 프로토콜 1982 년 프로토콜 모델이 공개되면서 , TCP/IP 가 인터넷 프로토콜로 지정 1990 년 ARPANet 없어짐 1992 년
E N D
TCP/IP ㈜ 올앳 나익채 Transmission Control Protocol/Internet Protocol
목차 가. TCP/IP 개요 나. Network Interface Layer 다. Internet Layer 라. Transport Layer 마. 프로토콜 취약점을 이용한 대표적인 공격 바. TCP/IP 관리 명령어 Transmission Control Protocol/Internet Protocol
가. TCP/IP 개요 • 역사 • 1969년 • 미국방성의 ARPANet를 위하여 개발된 프로토콜 • 1982년 • 프로토콜 모델이 공개되면서, TCP/IP가 인터넷 프로토콜로 지정 • 1990년 • ARPANet 없어짐 • 1992년 • WWW 시작 Transmission Control Protocol/Internet Protocol
OSI 7계층과 TCP/IP 프로토콜 Transmission Control Protocol/Internet Protocol
TCP/IP에서 데이터의 전달 과정 T.H : TCP Header I.H : IP Header F.H : Frame Header F.T : Frame Trailer Transmission Control Protocol/Internet Protocol
응용층에서 제공하는 주요 프로토콜 FTP : File Transfer Protocol NFS : Network File System SMTP : Simple Mail Transfer Protocol POP : Post Office Protocol Telnet : Telecommunication Network Protocol SNMP : Simple Network Management Protocol DNS : Domain Name System HTTP : Hyper Text Transfer Protocol Transmission Control Protocol/Internet Protocol
나. Network Interface Layer • Network Interface Layer 개요 • 실제 네트워크에서 전송매체에 프레임 전송 • IP층에서 받은 패킷에 Preamble와 CRC 추가 • Preamble : 프레임의 시작을 정의하는 바이트 • CRC : 프레임이 손상되지 않았음을 검증하는 수학적 계산값 Transmission Control Protocol/Internet Protocol
다. Internet Layer • IP (Internet Protocol) Address • 각각의 컴퓨터를 네트워크에서 유일하게 구분해 줄 수 있는 고유번호 Transmission Control Protocol/Internet Protocol
ipconfig를 이용한 TCP/IP 구성 확인 Transmission Control Protocol/Internet Protocol
IP 주소의 이해 • IP Address = Network ID + Host ID • 집 주소 = 시/도/동 + 번지 • 다음 예제에서의 2가지 가정 • 편지의 주소는 "동"과 "번지"만으로 이루어진다. • 같은 동에 속한 사람들끼리는 직접 편지를 교환하고, 다른 동으로 편지를 보내기 위해서는 반드시 우체국을 이용해야 한다. Transmission Control Protocol/Internet Protocol
Network ID의 이해 1 • 삼성동 100번지"에 사는 사람이, "대치동 100번지"로 편지를 발송하는 상황 동 = Network ID 번지 = Host ID 우체국 = Router Transmission Control Protocol/Internet Protocol
Network ID의 이해 2 • 같은 "동"에 있는 "삼성동 200번지"로 편지를 배달 동 = Network ID 번지 = Host ID 우체국 = Router Transmission Control Protocol/Internet Protocol
Network ID의 이해 3 • "삼성동 200번지"에 살던 [B]라는 사람이 "대치동"으로 이사를 했지만, 주소는 그대로 "삼성동 200번지"를 사용하고 있다고 가정해 보자. Transmission Control Protocol/Internet Protocol
IP Address(주소지정) • 32비트 4바이트로 구성 • 0-255 사이의 숫자 지정 • 10진수로 표기하며, dot로 구분 Transmission Control Protocol/Internet Protocol
IP Address 표기 Transmission Control Protocol/Internet Protocol
IP Address 체계에서의 가장 큰 수 • IANA(Internet Assigned Numbers Authority)에서 관리 • ISP (Internet Service Provider)에게 발급 • 일반 사용자들은 ISP로부터 할당 Transmission Control Protocol/Internet Protocol
IP Address 구분 • A Class = Network ID(1바이트) + Host ID(3바이트) • B Class = Network ID(2바이트) + Host ID(2바이트) • C Class = Network ID(3바이트) + Host ID(1바이트) Transmission Control Protocol/Internet Protocol
첫 번째 옥텟의 계산 근거 Transmission Control Protocol/Internet Protocol
첫 번째 옥텟의 계산 근거 • A Class • 00000000 (가장 작은 수) -> 0, this Network • 00000001 (유효한 가장 작은 수) -> 1 • 01111110 (유효한 가장 큰 수) -> 126 • 01111111 (가장 큰 수) -> 127 Loopback Address • B Class • 10000000 (가장 작은 수) -> 128 • 10111111 (가장 큰 수) -> 191 • C Class • 11000000 (가장 작은 수) -> 192 • 11011111 (가장 큰 수) -> 223 Transmission Control Protocol/Internet Protocol
Host ID 범위의 계산 예제 Transmission Control Protocol/Internet Protocol
클래스별 Network ID & Host ID Transmission Control Protocol/Internet Protocol
Subnet Mask & Default Gateway Transmission Control Protocol/Internet Protocol
Subnet Mask & Default Gateway • B가 C에게 메시지를 보내고자 할 때, • C가 자신과 같은 네트워크에 있는지(로컬인지)?, • 다른 네트워크에 있는지(원격지인지)? 결정 • IP Address를 이용하는데 IP Address중에서 Network ID부분을 가려낸 다음 Network ID를 서로 비교 • 자신의 Network ID와 상대방 컴퓨터의 Network ID가 같다면 당연히 같은 네트워크임을 의미 • Network ID가 서로 다르다면 서로 다른 네트워크임을 의미 Transmission Control Protocol/Internet Protocol
Subnet Mask • IP Address중에서 네트워크ID 부분을 가려내는 역할 • 잘못 입력하면 통신 불가능 • Subnet Mask를 이용하여 상대방 컴퓨터가 로컬인지 원격지인지 판단 • 예제 • B의 Network ID와 C의 Network ID를 계산하는 방법을 그림으로 표현 Transmission Control Protocol/Internet Protocol
로컬인지 원격인지 결정하는 방법 Transmission Control Protocol/Internet Protocol
Subnet Mask 결정 방법 • IP Address 중 Network ID 부분은 “1”로 기록하고, Host ID 부분은 “0”으로 기록한다. Transmission Control Protocol/Internet Protocol
Default Gateway • 목적지 호스트가 자신과 같은 로컬에 있는지 원격지에 있는지를 판단하여, • 원격지에 있는 결과가 나오면 Default Gateway를 이용하여 통신 • 자신의 네트워크에 있는 라우터의 로컬 인터페이스의 IP Address • 만일 목적지 호스트가 자신의 로컬 네트워크에 있다면, Default Gateway는 쓰임새가 없다. Transmission Control Protocol/Internet Protocol
CIDR (Classless InterDomain Routing) • 문제가 되는 네트워크에서 Broadcast 통신을 줄이는 방법으로, • OSI 네트워크계층의 장비인 Router를 통하여 네트워크를 여러 개의 Broadcast Domain으로 세그먼트화하는 방법 • 네트워크를 여러 개로 나누면, 각각의 네트워크에서 발생되는 Broadcast 패킷은 해당 네트워크에 한정되기 때문에, 그만큼 효율적인 네트워크의 사용이 가능해 진다. Transmission Control Protocol/Internet Protocol
Subnetting 계산 방법 • 회사에서 필요로 하는 네트워크의 수 결정 • 향후 확장을 고려 • 예제에서는 4개의 네트워크가 필요 • 필요한 Network ID를 만들기 위해, bit의 수 결정 • 22= 4 (4개의 네트워크는 2비트 필요) • 서브넷 마스크(User defined Subnet Mask) 계산 Transmission Control Protocol/Internet Protocol
Subnetting 계산 방법 • 서브넷 ID 계산 • 서브넷팅된 Network ID (Subnet ID)를 계산 Transmission Control Protocol/Internet Protocol
Subnetting 계산 방법 • 서브넷별 호스트ID의 범위 계산 • 예외 • 000000 : 해당 네트워크 주소 • 111111 : 해당 네트워크 브로드케스트 주소 • 207.46.230.1 ~ 207.46.230.62 • 207.46.230.65 ~ 207.46.230.126 • 207.46.230.129 ~ 207.46.230.190 • 207.46.230.193 ~ 207.46.230.254 Transmission Control Protocol/Internet Protocol
Subnetting 계산 방법 Transmission Control Protocol/Internet Protocol
서브넷팅 빠른 계산 방법 • 문제 • 218.55.9.0 C Class Network ID하나를 할당 받았다. • 회사에서는 6개의 물리적인 네트워크로 나뉘어 있다. • 6개의 네트워크를 지원하기 위한 Subnet ID와 각 서브넷별 Host ID의 범위를 구하면? Transmission Control Protocol/Internet Protocol
서브넷팅 빠른 계산 방법 • 6개의 네트워크를 지원하기 위해 필요한 비트의 개수 산출 : 3개(6<23) • 사용자정의 서브넷 마스크를 계산하면 • 255.255.255.224 • Subnet ID 계산 • 0, 32, 64, 96, 128, 160, 192, 224 • Host ID 계산 • 다음 그림 참조 Transmission Control Protocol/Internet Protocol
서브넷팅 빠른 계산 방법 Transmission Control Protocol/Internet Protocol
CIDR 표기법 • 207.46.230.2/26 • 26비트가 Network ID • Subnet Mask : 255.255.255.192 Transmission Control Protocol/Internet Protocol
2. Internet Layer 프로토콜 • 역할 • 패킷을 목적지까지 전달 • 종류 • IP (Internet Protocol) • ICMP (Internet Control Message Protocol) • IGMP (Internet Group Message Protocol) • ARP (Address Resolution Protocol) • RARP (Reserve Address Resolution Protocol) • IP는 패킷의 최단경로 제공하지만, 신뢰성은 없다. • Transport Layer의 TCP가 재전송 기능을 담당 Transmission Control Protocol/Internet Protocol
IP Header의 형식 Transmission Control Protocol/Internet Protocol
IP Header의 형식 Transmission Control Protocol/Internet Protocol
IP와 TCP/UDP와의 관계 Transmission Control Protocol/Internet Protocol
ICMP (Internet Control Message Protocol) • IP 프로토콜 내의 에러제어를 위한 프로토콜 • ICMP의 제어 메시지는 IP 데이터그램의 데이터부에 실리어 전송 • 인터넷 초창기에는 통신회선이 끊어지거나 라우터나 서버가 다운돼 패킷을 전달할 수 없을 경우, 이를 해결할 수 있는 메커니즘이 없었다. • 따라서 이러한 문제점을 극복하기 위해 패킷을 전달하지 못하는 것에 대한 정보나 에러를 보고할 수 있는 기능을 추가 Transmission Control Protocol/Internet Protocol
ICMP (Internet Control Message Protocol) • ICMP 메시지 유형 • Error-Reporting Message • Destination Unreachable (목적지 전달 불가) : 3 • Time Exceeded (시간 초과) : 11 • Source Quench (발신지 억제) : 4 • Redirect (방향 재설정) : 5 • Query Message • Echo Request (응답 요구) : 8 • Echo Reply (응답 : 정상 상태) : 0 • Address Request(주소 요청) : 17 • Address Reply(주소 응답) : 18 Transmission Control Protocol/Internet Protocol
ICMP 메시지 유형 Transmission Control Protocol/Internet Protocol
ARP (Address Resolution Protocol) • IP Address를 알고 Mac Address를 모를 때, • Data Link 계층의 Mac Address를 알아내는 프로토콜 • Local Computer 에서의 ARP 통한 Mac Address 파악 Transmission Control Protocol/Internet Protocol
ARP (Address Resolution Protocol) • Remote Computer에서 ARP 통한 Mac Address 파악 Transmission Control Protocol/Internet Protocol
RARP (Reverse ARP) • Mac Address는 알고 있는데 IP Address를 모를 경우 • Network 계층인 IP Address 알아내는 프로토콜 • Local Computer 에서의 RARP 통한 IP Address 파악 Transmission Control Protocol/Internet Protocol
RARP (Reverse ARP) • Remote Computer에서의 RARP 통한 IP Address 파악 Transmission Control Protocol/Internet Protocol
IGMP (Internet Group Message Protocol) • Multicast 메시지와 관련 • IGMP를 사용하는 라우터는 멀티캐스트를 받아야할 호스트 컴퓨터를 판단하고, 다른 라우터로 멀티캐스트 정보를 전달 • IGMP 패킷은 IP 데이타그램을 통해서 전달 • 참고 : TCP/IP 통신의 유형 • Unicast : 1:1 통신 • Multicast : 1:多 통신 • Broadcast : 1:all 통신 Transmission Control Protocol/Internet Protocol
Ethernet에서 TCP/IP를 이용한 데이터 전달과정 T.H : TCP Header I.H : IP Header E.H : Ethernet Header E.T : Ethernet Trailer Ethernet Frame = Ethernet Header(14Byte) + IP Header(20Byte) + TCP Header(20Byte) + Data + Ethernet Trailer(4byte) Transmission Control Protocol/Internet Protocol
라. Transport Layer • Application Layer로부터 받은 Data를 Segment 형태로 만들어 네트워크를 통해 목적지까지 전달 • TCP 와 UDP 두 가지 프로토콜 제공 Transmission Control Protocol/Internet Protocol