Download presentation
Presentation is loading. Please wait.
Published by두심 목 Modified 8년 전
1
TCP / IP
2
TCP & UDP TCP (Transmission Control Protocol) - Connection-Oriented Protocol - Error 체크기능 - Sequencing - Acknowledgments - Flow Control - Congestion Control - Packet Recovery - FTP, Mail - 1 : 1 통신 (unicast) UDP(User Datagram Protocol) - 최소한의 Service - Unreliable 통신 - Not-Guaranteed - TCP 의 Overhead 가 없다. - Header 가 작다. - 오류제어 및 흐름제어가 없다. - Audio, Video - unicast, multicast, broadcast TCP 는 Handshaking 과정이 필 요하기 때문에 초기 연결시간이 필요하다.
3
Three-Way Handshake SYN(Synchronize) ACK(Acknowlege) Establish Data transfer 호스트 A 가 호스트 B 와 TCP 통신을 하기 위해서는 먼저 호스트 A 가 SYN 을 보내면 이를 받은 호스트 B 는 SYN + ACK 로 응답한다. 호스트 A 는 호스트 B 에게서 받은 SYN + ACK 를 받으면 마지막으로 ACK 를 보내서 세션이 Establish 한다.
4
Four-Way Handshake TCP 연결 종료 1) A --> B FIN : " 나 끝내겠소 " 2) A <-- B ACK : " 그래 알겠소, 끝낼 준비 완료 " 3) A -- >B FIN : " 나도 준비 완료. 끝냅시다." 4) A <-- B ACK : " 그럽시다." Host A Host B 1 2 3 4 PC / Workstation
5
TCP Basic Window Window size 수신 단말로부터의 긍 정 응답을 기다리지 않 고 연속적으로 논리적 통신로를 통하여 송출 할 수 있는 패킷이나 프 레임의 수 윈도 크기는 수신 단말 의 수신 능력 즉 버퍼 수 처리 능력 등에 의해 제 한된다
6
Send SYN (seq=100 ctl=SYN) SYN received Host AHost B 1 TCP Three Way Handshake/Open Connection TCP Three Way Handshake
7
Send SYN (seq=100 ctl=SYN) SYN received Send SYN, ACK (seq=300 ack=101 ctl=syn,ack) Host AHost B SYN received 1 2 TCP Three Way Handshake/Open Connection TCP Three Way Handshake
8
Send SYN (seq=100 ctl=SYN) SYN received Send SYN, ACK (seq=300 ack=101 ctl=syn,ack) Established (seq=101 ack=301 ctl=ack) Host AHost B 1 2 3 SYN received TCP Three Way Handshake/Open Connection TCP Three Way Handshake
9
TCP Simple Acknowledgment Window size = 1 Sender Receiver TCP Sliding Window
10
Window size = 1 Sender Receiver Send 1 Receive 1 TCP Simple Acknowledgment TCP Sliding Window
11
Window size = 1 Receive ACK 2 Send ACK 2 TCP Simple Acknowledgment Sender Receiver Send 1 Receive 1 TCP Sliding Window
12
Window size = 1 Receive ACK 2 Send ACK 2 TCP Simple Acknowledgment Sender Receiver Send 1 Receive 1 Send 2 Receive 2 TCP Sliding Window
13
Window size = 1 Receive ACK 2 Send ACK 2 TCP Simple Acknowledgment Sender Receiver Send 1 Receive 1 Send 2 Receive 2 Receive ACK 3 Send ACK 3 TCP Sliding Window
14
Window size = 1 Receive ACK 2 Send ACK 2 TCP Simple Acknowledgment Sender Receiver Send 1 Receive 1 Send 2 Receive 2 Receive ACK 3 Send ACK 3 Send 3 Receive 3 TCP Sliding Window
15
Window size = 1 Receive ACK 2 Send ACK 2 TCP Simple Acknowledgment Sender Receiver Send 1 Receive 1 Send 2 Receive 2 Receive ACK 3 Send ACK 3 Send 3 Receive 3 Receive ACK 4 Send ACK 4 TCP Sliding Window
16
TCP & UDP Segment Format TCP Segment Format UDP Segment Format Source port (16) Destination port (16) Sequence number (32) Header length (4) Acknowledgement number (32) Reserved (6) Code bits (6) Window (16) Checksum (16)Urgent (16) Options (0 or 32 if any) Data (varies) 20 Bytes Bit 0 Bit 15Bit 16 Bit 31 Source port (16) Destination port (16) Length (16) Data (if any) Bit 0 Bit 15 Bit 16 Bit 31 Checksum (16) 8 Bytes
17
Well-Known Port (1024 이하 ) 서버에서 사용 Random Port (1024~65535) Client 에서 사용 TCP and UDP Port Numbers
18
IP (Internet Protocol) IP Protcol 은 정보 (Data) 를 나르기 위해서 Packet 이라는 PDU(Protocol Data Unit) 를 사 용한다. Packet 을 라우팅 시키기 위해 여러 라우팅 프로토콜을 사용한다. 패킷을 보내면, 중간 의 라우터가 특정한 라우팅 프로토콜을 사용하여 얻은 정보를 이용하여 다음 라우터 로의 경로를 결정하고 그 경로로 패킷을 전송해 주는 식으로 목적지 호스트까지 패킷 이 도달된다. IP 는 Internet 에서 각각의 Host 를 구별해 주는 32 Bit Address 를 사용한다. IPv6 128 Bit 비 연결형 (Connectionless) 프로토콜로 Packet 의 전달은 보장되지 않는 Best-Effort 전 송서비스 이다. 네트워크에 과부하가 걸리면 패킷을 폐기 (Discard) 하고 폐기된 Packet 이나 문제가 있 는 Packet 은 Recover 되지 않는다.
19
Version (4) Destination IP Address (32) Options (0 or 32 if any) Data (varies if any) 1 Bit 0 Bit 15Bit 16Bit 31 Header Length (4) Priority & Type of Service (8) Total Length (16) Identification (16) Flags (3) Fragment offset (13) Time to Live (8) Protocol (8)Header Checksum (16) Source IP Address (32) 20 Bytes IP Datagram Format
20
MTU(Maximum Transfer Unit) 는 두 노드간 물리적 네트워크에 대 한 데이터 필드 최대 크기이다. Datagram 이 MTU 보다 클 경우각 데이터 그램은 여러 개의 조각으 로 분리된.(fragmentation) 경유 라우터는 단편들을 재 조립 하지 않고, 목적지의 IP 가 단편화 된 패킷을 재조립한다. IP Fragmentation 네트워크 종류 MTU Size Ethernet1500 bytes IEEE 802.31492 bytes IEEE 802.48166 bytes 토큰링 (4Mbps) 4400 bytes 토큰링 (16Mbps) 17940 bytes FDDI4352 bytes SMDS9180 bytes
21
ARP (Address Resolution Protocol) 172.16.3.1 WHO 172.16.3.2 ? 누가 나를 찾고 있네 ! 나의 Ethernet address 를 알려줌 176.16.3.2 가 누구세요 ? Mapping : IP Ethernet Address 동일서브넷에 있는 IP Address 로 패킷을 보내는 경우 해당 IP Address 에 대한 ARP Cache 를 참조 하여 Mapping 정보가 없다면 해당 IP Address 의 MAC 을 찾는 ARP Request 를 한다. 다른 서브넷에 있는 IP Address 인 경우 Default Gateway 에 대한 ARP Cache 를 참조 하여 Mapping 정보가 없다면 Default Gateway 의 IP Address 의 MAC Address 를 찾는 ARP Request 한다. 172.16.3.2 MAC Address
22
PC 1 PC 3 PC 4 목적지 IP : 211.253.120.12 주소 : IP 211.253.120.11 주소 : IP 211.253.120.12 주소 : IP 211.253.120.13 누가 211.253.120.12 ? MAC Address 가 뭐야 ? ARP Request ? ARP Reply ! MAC 주소 : 3333.3333.333 3 ARP Cache 에서 찾 아보니 없군. ARP Broadcast 나를 찾고 있네 !!! 답변해야지 내 IP 가 아니네 버려라 겠다. 내 IP 가 아니네 버려라 겠다. PC 1 PC 2 PC 1 주소 : IP 211.253.120.10 누가 211.253.120.12 ? MAC 을 물어봐야 되겠군 ! ARP 야 물어봐라 !
23
ARP Cache Broadcast 無 목적지 IP : 211.253.120.12 주소 : IP 211.253.120.11 주소 : IP 211.253.120.12 주소 : IP 211.253.120.13 주소 : IP 211.253.120.10 누가 211.253.120.12 ? MAC Address 가 뭐야 ? PC 3 PC 4 PC 2 PC 1 누가 211.253.120.12 야 ? MAC 을 물어봐야 되겠군 ! ARP Cache 에서 찾 아보자 2 번 포트에 있군 1 2 3
24
TYPECODECHECKSUM VARIABLE FIELDS DEPENDING ON ICMP TYPE 0 8 16 31 [bits] ICMP 란 TCP/IP 기반의 인터넷 통신 서비스에서 인터넷 프로토콜 IP 와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로의 변경 등을 위한 제어 메시지를 취급하는 connectionless transmission 용 프로토콜 RFC 792 OSI 기본 참조 모델의 망 계층에 해당한다 ICMP 의 기능 Network 상의 Error 보고 / Network 혼잡 보고 / Troubleshooting / Timeout 보고 ICMP (Internet Control Message Protocol) ICMP Format
25
DHCP Client DHCP Lease Request DHCP Lease Offer DHCP Lease Selection DHCP Lease Ack DHCP 정의 TCP/IP 통신을 실행하기 위해 필요한 설정 정보를 자동적으로 할당, 관리하기 위한 통신규약으로 RFC 1541 에 규정되어 있다. UDP 프로토콜로서 DHCP 서버는 DHCP 클라이언트의 요구에 따라서 IP 주소를 할당하며, IP 임대기간 설정이 가능하다 DHCP (Dynamic Host Configuration Protocol ) DHCP Client 동작원리 클라이언트가 서버에게 IP 주소 임대 요청 서버가 지정한 IP 정보를 클라이언트에게 사용할 것인지를 요청 클라이언트가 사용한다고 함 서버가 IP 할당
Similar presentations