6. TCP/IP /* 컴퓨터 네트워크 -안순시,김은기 저- 참조 */

Slides:



Advertisements
Similar presentations
(C) Ho-Won Jung, Korea University 1 Chapter 13:Accessing and Using the Internet College of Business Administration Korea University Ho-Won Jung, office.
Advertisements

AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www. nms4you.com 1 AMAN2002 추가 기능 실습 Chapter 13:
멀티미디어 서비스를 위한 IP 네트워크 순천향대학교 정보기술공학부 이 상 정
Chapter 7 ARP and RARP.
Chapter 03. 네트워크 보안 : 길을 지배하려는 자에 대한 저항
TCP/IP 통신망 특론 3장 인터넷프로토콜( IP ).
Internet Protocol Version4
Chapter 8 Authorization
파이프라인된 프로토콜 파이프라이닝: 송신자는 확인 응답을 기다리지 않고 여러 패킷을 전송하도록 허용
IP 주소와 서브넷.
Chapter 7 Networking.
컴퓨터 네트워크 Chapter 5-2 컴퓨터 네트워크.
Next Generation: IPv6 and ICMPv6
Chapter 06. 프로토콜.
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
제 1장 인터네트워킹.
SNMP의 개요와 동작 서상인 정태명 임원균.
Dept. of Computer Engineering, Hannam Univ. Won Goo Lee
IP addressing - 2 진수 (10진수) | (2진수)
SNMP (Simple Network Management System)
20 장 네트워크층 프로토콜 : ARP, IPv4, ICMP, IPv6, ICMPv6
Internet Group Management Protocol (IGMP)
Delivery and Routing of IP Packets
Internet Control Message Protocol (ICMP)
Network 네트워크 이론 및 실습 TCP / IP 4장.
Web Servers (IIS & Apache)
PART 01 개념 컴퓨터 네트워크 Chapter 3 OSI 참조모델과 인터넷 임효택.
10. About TCP / IP SPARCS 08 우성필.
제 18 장 TCP/IP 연결 확립과 종료 정보통신연구실.
Internet 및 EC 관련 기술들.
Domain Name System (DNS)
네트워크 보안 TCP/IP 네트워크통신 개념.
Chapter 02 네트워크에 대한 이해.
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
Chapter 2 OSI 모델과 TCP/IP 프로토콜.
Chapter 11 Unicast Routing Protocols.
1. SNMP SNMP(Simple Network Management Protocol)은 네트워크의 중앙집중화된 관리를 목적으로 만들어졌으며, 현재까지 버전 3까지 세가지 버전이 만들어졌다. 각 버전의 차이는 대부분 보안상의 문제에 의한 것이다. SNMP 발전 과정 버전.
Underlying Technologies
PART 02 프로토콜 컴퓨터 네트워크 chapter 06 트랜스포트 계층 임효택.
Network Socket Programming
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
PPP (Point-to-Point Protocol)
S N M P (Simple Network Management System).
Web상에서의 Network Management
Chapter 05 목록화.
Network Security Footprint & Scan.
세미나.. NETWORK??!! 저자 : 장경칩 도전하라 창조의 세계로(SINCE 1992) - 장경칩.
Access Control Lists Access Control List
Network Layer: ARP, ICMP (IGMP).
제 4 장 IP 주소지정 진 표기법 4.2 클래스 4.3 특수 주소 4.4 예제 인터넷
PART 01 개념 컴퓨터 네트워크 Chapter 3 OSI 참조모델과 인터넷 임효택.
3부 해킹 전 정보 획득 Chapter 6. 풋프린팅과 스캔
TCP/IP 통신망 특론 2장 Link Layer 컴퓨터 네트워크 실험실 이희규.
Chapter 5 IPv4 주소.
IP(Internet Protocol)
Chapter 15 Transmission Control Protocol (TCP).
IPv 이 동 주 HONGIK UNIVERSITY.
네트워크와 소켓 프로그래밍 Chapter 01. * 학습목표 TCP/IP 프로토콜의 동작 원리를 개관 소켓의 기본 개념을 이해
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
Chapter 04. OSI 참조 모델.
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
5장. 네트워크 계층과 라우팅 내용 네트워크 계층(Network Layer) 소개 라우팅 알고리즘 IP 프로토콜
Chapter 4 네트워크 계층 소개.
Internet & WWW Protocols
김 형 진 전북대학교 IT응용시스템공학과 네트워크의 기본 Chapter 김 형 진 전북대학교 IT응용시스템공학과.
TCP/IP 인터네트워킹 INTERNETWORKING with TCP/IP <vol
Part TCP / IP 1. TCP / IP 프로토콜 2. 기본 프로토콜.
제 9 장 ICMP 9.1 메시지 유형 9.2 메시지 형식 9.3 오류 보고 9.4 질의 9.5 검사합 9.6 ICMP 설계
Internet 인공지능연구실
Presentation transcript:

6. TCP/IP /* 컴퓨터 네트워크 -안순시,김은기 저- 참조 */ 주요 내용 TCP/IP services TCP/IP addressing IP/ARP/RARP/ICMP TCP/UDP

TCP/IP Overview TCP is the most widely-used transport protocol in the world TCP/IP was developed for the U.S. DOD Arpanet. TCP/IP was designed in early 1970s. TCP/IP Delivered in 4.2BSD Unix as a complete software package. The success of the applications layer software on top of TCP solidified the hold of TCP in the transport layer.

TCP and the “little person” On the bottom side, TCP does not see routers and LANs. From its perspective, everyone is attached to a “cloud” via an IP quadword address. Routers are invisible On the top side, TCP provides a connection-oriented service to the application layer. Think of TCP as an efficient secretary. It gets from the layer above a source port a destination port and a destination IP address a message. TCP is also aware that messages may have to be broken up into packet-sized chunks.

TCP/IP 용어 The nodes on an IP network, the ones that implement the full stack: hosts. Those that don’t implement the full stack : routers, or gateways. Hosts are physically attached to layer 2 networks (usually LANs). Each host has a MAC address for each subnetwork it is connected to. Each host usually has an IP address for each subnetwork connection Two services, TCP and UDP, sit on top of the IP layer. TCP is connection-oriented UDP adds little to IP. Applications use the services.

Hosts are multitasking, have many processes. Each process participating in the TCP/IP stack is associated with a port. When an application wants to talk to another it uses the IP address and port of the other application.

TCP/IP 응용 계층 구조

TCP/IP 서비스 사용자 서비스 및 프로토콜 ping 연결시험을 위해 ICMP 프로토콜을 사용 telnet rsh ftp 인터넷상의 임의의 두 호스트간에 연결이 되어있는지 테스트하기 위해 사용 연결시험을 위해 ICMP 프로토콜을 사용 telnet rsh ftp 지원 서비스 및 프로토콜 DNS SMTP RPC [그림 6.1], [그림 6.2] 참조

Internet Services finger time email/SMTP news/NNTP archie/veronica telnet/rlogin gopher WAIS World Wide Web SNMP NFS FTP DNS Moo/MUD IRC others?

Email Background Email is a rewiring technology, changing social patterns. Until the appearance of the Web, it was by far the single most important application layer service of the Internet. Email in internetworking is bigger than the Internet, since many other networks provide email gateways into the Internet (the old usenet, for example)

How email works: Programs Three host programs are involved A mail agent for the user (e.g., mail, elm, pine) A transfer agent (e.g. sendmail) to move the mail around A POP or IMAP agent to communicate with remote clients (e.g. Eudora)

SMTP 동작절차 SMTP 클라이언트와 서버간의 연결이 확립 전자메일이 연결을 따라 전송 보낼 메일이 있을 때 SMTP 클라이언트는 TCP 포트번호 25를 사용하여 SMTP 서버와의 TCP 연결을 개방: HELO 명령어 SMTP 서버는 메일을 수신하기 위한 상태를 나타내는 응답을 클라이언트에게로 보낸다. 전자메일이 연결을 따라 전송 메일 전송은 메시지를 보내는 사용자의 이름을 포함하는 Mail 명령어로 시작 그 다음으로 메시지의 수신자를 표시하는 하나 이상의 Rcpt 명령어

연결해제 Data 명령어가 실제의 메시지 문서의 전송 SMTP 서버는 각각의 명령에 대하여 적절한 응답으로 대응 오류 점검과 재전송에 대한 TCP 메카니즘이 메일 메시지의 성공적인 전송을 보증하기 위하여 사용 연결해제 SMTP 클라이언트는 Quit 명령어를 보냄으로서 연결을 폐쇄 양쪽 모두 TCP 연결을 해제하기 위하여 TCP 폐쇄동작을 수행

>>>로 시작하는 줄은 SMTP 클라이언트가 보내는 명령어 [그림6.3] 실험 예 kowon [htlim ~ {5}]mailx -v htlim@syscom.dongseo.ac.kr Subject: test this is test. . >>>로 시작하는 줄은 SMTP 클라이언트가 보내는 명령어 3자리 응답 코드로 시작하는 문장은 SMTP 서버가 보내는 문장 SMTP 관련 명령어들은 ASCII로 된 4-바이트 명령어로 시작 [그림 6.4]

FTP(File Transfer Protocol) 교재 페이지 183

TELNET 원격지 호스트에의 연결에 사용 과정 RLOGIN(Remote Login)과 유사 클라이언트: 입력된 사용자 데이타(명령)를 서버에 전송 서버: 수신된 명령을 수행 결과를 클라이언트에 전송 클라이언트: 수신된 결과를 화면에 출력 RLOGIN(Remote Login)과 유사

SNMP(Simple Network Management Protocol) 망 관리 기능 서버는 관리되는 객체(managed object)에 관한 정보를 MIB(Management Information Base)에 계층적으로 저장

DNS(Domain Name System) 계층적 인터넷 주소 응용 계층: 문자 주소 예: kowon.dongseo.ac.kr IP 계층: 숫자 주소 예: 203.241.176.13 응용 계층 주소로부터 IP 계층 주소로의 매핑

TCP/IP 주소지정 세가지 호스트 식별자 Host name IP address Physical Hardware address 예: kowon.dongseo.ac.kr IP address 예: 203.241.176.13 Physical Hardware address 48비트 MAC address

식별자 변환 호스트 이름을 인터넷 주소로의 변환 인터넷 주소를 물리적인 하드웨어 주소로의 변환 DNS /etc/hosts 인터넷 주소를 물리적인 하드웨어 주소로의 변환 ARP: Address Resolution Protocol RARP: Reverse ARP

인터넷 주소지정 32비트 길이이며 두 부분 즉 네트워크 식별자와 호스트 식별자로 구성 IP는 IP 데이타그램이 송신측 호스트에서 목적지 호스트로 전송되는 라우팅(routing)기능을 수행 인터넷을 통해 전달되는 IP 데이타그램 각각의 헤더는 송신측 호스트의 인터넷 주소와 목적지 호스트의 인터넷 주소를 포함 인터넷 주소 형식 32비트 길이이며 두 부분 즉 네트워크 식별자와 호스트 식별자로 구성 네트워크 식별자의 앞쪽 비트들은 인터넷 주소가 어느 등급(class)에 속해있는지를 식별

IP address 구조

점-십진(Dotted-decimal) 표기 등급 B는 128.0.0.1에서 191.255.255.254까지의 범위 등급 C는 192.0.0.1에서 223.255.255.254까지의 범위

Subnetting 원래 TCP/IP 주소지정 방식은 네트워크 식별자와 호스트 식별자로 단지 2단계 계층만을 허용 서브넷 식별자: [그림 6.9] 서브넷 마스크(mask): [그림 6.10] 인터넷 주소중 몇 비트가 네트워크를 식별하기 위해 사용되는지 그리고 몇 비트가 호스트를 식별하기 위해 사용되는지 구분 예: 등급 A: 255.0.0.0, 등급 B: 255.255.0.0

주소 구조(하나의 서브넷에 여러개의 망)

IP(Internet Protocol) IP는 TCP/IP 인터넷 계층에서 동작되며 데이터 단위를 출발지 호스트에서 목적지 호스트로 전달 IP에서의 데이터 단위: IP 데이타그램 또는 패킷 IP 데이타그램의 헤더부분 출발지 호스의 인터넷 주소와 목적지 호스트의 인터넷 주소를 포함 IP는 비연결 데이터 전달 서비스를 제공 흐름제어나 오류회복을 하지 않는다. 가능한 오류 손실된 IP 데이타그램 순서화 되지 않은(out-of-sequence) IP 데이타그램 복제(duplicate) IP 데이타그램 TCP : 오류들을 탐지해서 회복할 수 있는 기능을 책임

IP 데이타그램(패킷) 구조

IP routing [그림 6.12] Sample Network

Node a.ncat.edu wants to send one IP packet to www.acme.com. 가정:None of the nodes have any cached data. The only information they have is what is shown in the diagram. The table below shows all of the packets that would be sent.

IP routing 동작절차 [그림 6.13] 호스트에서의 IP routing할때 두가지 경우 목적지가 같은 네트워크내에 있는 경우 바로 목적지 호스트에게 IP 데이타그램 전달 목적지가 다른 네트워크에 있는 경우 IP 라우팅 기능을 사용하여 라우터에게 전달 각 호스트는 각각의 라우팅 테이블을 유지 라우팅 테이블은 적어도 하나의 default router의 주소를 포함하는 엔트리를 포함

3) 호스트 A의 IP 프로세스는 ARP 캐쉬를 조회 같은 네트워크 상에서의 데이타그램 전달의 예 [그림 6.13]에 있는 호스트 A에서 호스트 B로 IP 데이타그램 전달 1) B의 네트워크 ID 값과 A 자신의 네트워크 ID 값을 비교하기 위해 서브넷 마스크를 사용 2) A와 B의 네트워크 ID 값은 서로 같으므로 IP 데이타그램을 직접 전달하기 위해 B의 물리적인 하드웨어 주소를 알아야 함 3) 호스트 A의 IP 프로세스는 ARP 캐쉬를 조회 4-1) 조회하여 있으면 호스트 IP 데이타그램을 직접 호스트 B로 전달 4-2) 조회하여 없으면 ARP 프로토콜 동작

3) A의 IP 프로세스는 default router의 물리적인 하드웨어 주소를 알기 위하여 다시 ARP 캐쉬를 조회 다른 네트워크로의 데이타그램 전달 [그림 6.13]에 있는 호스트 A에서 호스트 D로 IP 데이타그램 전달 1) D의 네트워크 ID 값과 A 자신의 네트워크 ID 값을 비교하기 위해 서브넷 마스크를 사용 2) A와 D의 네트워크 ID 값은 서로 다르므로 IP 데이타그램의 A는 자신의 라우팅 테이블을 검색(이경우 default router 사용) 3) A의 IP 프로세스는 default router의 물리적인 하드웨어 주소를 알기 위하여 다시 ARP 캐쉬를 조회 4-1) 조회하여 있으면 호스트 IP 데이타그램을 직접 default router로 전달 4-2) 조회하여 없으면 ARP 프로토콜 동작 5) default router는 1) ~4) 동작을 반복

Introduction - the future of IP (IPv6) Current version of IP - version 4 - is 20 years old IPv4 has shown remarkable ability to move to new technologies IETF has proposed entirely new version to address some specific problems IP has accommodated dramatic changes since original design Basic principles still appropriate today Scaling Size - from a few tens to a few tens of millions of computers Speed - from 56Kbps to 1Gbps

IP 변화의 필요성 Address space Type of service Multicast 32 bit address space allows for over a million networks But...most are Class C and too small for many organizations 2**14 Class B network addresses already almost exhausted Type of service Different applications have different requirements for delivery reliability and speed Current IP has type of service that's not often implemented Multicast

New features Address size - IPv6 addresses are 128bits Header format - entirely different Extension headers - Additional information stored in optional extension headers, followed by data Support for audio and video - flow labels and quality of service allow audio and video applications to establish appropriate connections Extensible - new features can be added more easily

IPv6 address notation 128-bit address--> dotted decimal; requires 16 numbers 105.220.136.100.255.255.255.255.0.0.18.128.140.10.255.255 Groups of 16-bit numbers in hex separated by colons- colon hexadecimal (or colon hex) 69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF Zero-compression - series of zeroes indicated by two colons FF0C:0:0:0:0:0:0:B1 FF0C::B1 IPv6 address with 96 leading zeros is interpreted to hold an IPv4 address

ARP(Address Resolution Protocol) 계층간의 주소 구조 IP 계층: IP 주소 IP 하위 계층: 물리적인 하드웨어 주소(PHA) 동일한 망내 호스트 들간의 패킷 교환 IP 계층에 망내 호스트 들의 “IP 주소, PHA 주소” 테이블 (ARP cache) IP 계층 동작 패킷의 수신지 IP 주소에 해당하는 PHA 주소로 패킷 전송 ARP IP 주소에 해당하는 PHA 주소를 모르는 경우

ARP의 동작 절차 1) ARP request packet 을 LAN상에 broadcast ARP request packet 내용: 알고자 하는 호스트의 IP 주소 자신의 IP 주소, PHA 주소 2) LAN상의 모든 호스트에서 동작하는 ARP 프로세스는 ARP request packet 수신 3) B는 자신의 PHA 주소를 포함하는 ARP response packet을 송신측에 전송 4) A가 ARP 응답 패킷을 받을 때 호스트 A는 그 ARP 캐쉬 내에 호스트 B의 물리적인 하드웨어 주소를 저장 5) A는 ARP 캐쉬 엔트리에 있는 정보를 사용 [그림 6.16], [그림 6.17], [그림 6.18]

RARP(Reverse ARP) PHA 주소를 알고, 그에 해당하는 IP 주소를 모르는 경우 디스크 없는 워크스테이션(Diskless Workstation)에서 사용

인터넷 제어 메시지 프로토콜(ICMP) ICMP(Internet Control Message Protocol)의 기능 에러 보고(Error Reporting) 도착 가능 검사(Reachability Testing) 혼잡 제어 수신측 경로 변경 [그림 6.19] [그림 6.20] [그림 6.21]

TCP(Transmission Control Protocol) Features of TCP Connection oriented Point-to-point: A TCP connection has two endpoints Reliability: TCP guarantees data will be delivered without loss, duplication or transmission errors Full duplex Stream interface: Application delivers data to TCP as a continuous stream Reliable connection startup: Three-way handshake guarantees reliable, synchronized startup between endpoints Graceful connection shutdown: TCP guarantees delivery of all data after endpoint shutdown by application

TCP 프로토콜 상위 계층의 구조

TCP 계층 서비스 수행 과정의 예

TCP 계층 PDU 구조

TCP/IP 계층의 주소 구조

TCP 프로토콜 메카니즘 Connection establishment: Three-way handshake Data transfer Error detection and retransmission Sequence Number, Ack. Number, Checksum field 재전송 timer Flow control Window size Congestion control Connection release: Three-way handshake

Three-way handshake TCP uses three-way handshake for reliable connection establishment and termination Host 1 sends segment with SYN bit set and random sequence number Host 2 responds with segment with SYN bit set, acknowledgment to Host 1 and random sequence number Host 1 responds with acknowledgment TCP will retransmit lost segments Random sequence numbers ensure synchronization between endpoints

Opening a connection Closing a connection Two-army Problem [그림 6.25] [그림 6.26] Two-army Problem Computer Networks(3rd ed.)-Tanenbaum

UDP(User Datagram Protocol) UDP 프로토콜 PDU 구조

TCP와 UDP의 비교